自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Powershell Empire 繞過(guò)AV實(shí)現(xiàn)遠(yuǎn)控

安全 漏洞
誰(shuí)都喜歡框架。無(wú)論對(duì)于是平時(shí)出于各種目的游走在網(wǎng)頁(yè)和服務(wù)器中的黑客,還是從事網(wǎng)絡(luò)安全測(cè)試的安全人員來(lái)說(shuō),一個(gè)好的漏洞框架發(fā)揮的作用不言而喻。這其中的Metasploit脫穎而出。

1. 前言

誰(shuí)都喜歡框架。無(wú)論對(duì)于是平時(shí)出于各種目的游走在網(wǎng)頁(yè)和服務(wù)器中的黑客,還是從事網(wǎng)絡(luò)安全測(cè)試的安全人員來(lái)說(shuō),一個(gè)好的漏洞框架發(fā)揮的作用不言而喻。這其中的Metasploit脫穎而出。雖然這款框架集成了從漏洞發(fā)現(xiàn)到漏洞利用的幾乎所有功能,但是不得不承認(rèn)其在木馬后門的免殺方面現(xiàn)如今已經(jīng)不足以應(yīng)付一些流氓殺軟了。但是,Powershell Empire可以。本篇文章是筆者在一次偶然的機(jī)會(huì)中接觸到powershell empire后進(jìn)行簡(jiǎn)單初步的摸索,由于關(guān)于這款工具的文章很少,大部分都沒(méi)有涉及到里面模塊作用和原理,官方文檔能提供的信息也不多。所以我也是盡力把自己理解的寫出來(lái),筆者能力有限,更深層次的利用和原理剖析還在逐步進(jìn)行。請(qǐng)諒解。

[[208684]]

2. 為什么是Powershell?

empire選擇了poweeshell作為攻擊平臺(tái)總是有原因的。其作為windows平臺(tái)下的一種命令行外殼程序和腳本環(huán)境,它可以使命令行用戶和腳本編寫者利用.NET Farmework。 說(shuō)到這里,你可能還是一臉懵逼,我也是,畢竟這只是powershell的官方解釋。那我們來(lái)看下empire開(kāi)發(fā)者是怎么講的:

其中重要的一段是:"Scripting languages offer an advantage to an attacker because they provide a layer of abstraction that AV has no idea how to interpret. For example, a common AV bypass technique is to package malicious Python scripts into an executable. AV has a hard time distinguishing the resulting binary as malicious or legitimate because the Python interpreter itself has plenty of legitimate uses. PowerShell offers a distinct advantage in this scenario due to its tight integration with the Windows OS and considering it’s based upon the .NET framework. With such a powerful scripting environment, there is no need to drop files on disk. Everything, with the possible exception of the script itself run entirely memory-resident."

大致意思是:腳本語(yǔ)言為攻擊者提供了一個(gè)優(yōu)勢(shì),因?yàn)樗鼈兲峁┝艘粋€(gè)抽象層,殺軟(AV)不知道如何解釋。例如,常見(jiàn)的殺軟旁路技術(shù)是將惡意Python腳本打包成可執(zhí)行文件。殺軟很難將生成的二進(jìn)制文件區(qū)分為惡意的或合法的,因?yàn)镻ython解釋器本身有很多合法用途。PowerShell在這種情況下提供了明顯的優(yōu)勢(shì),因?yàn)樗cWindows操作系統(tǒng)的緊密集成,并考慮到它基于.NET框架。使用如此強(qiáng)大的腳本環(huán)境,不需要將文件放在磁盤上。所有的東西,除了腳本本身的可能例外,它完全是內(nèi)存駐留的。

no need to drop files on disk:無(wú)需寫入硬盤,內(nèi)存駐留。empire使攻擊者能在內(nèi)存中運(yùn)行命令,也就是empire使用powershell作為攻擊平臺(tái),并且有大概率成功繞過(guò)AV的原因。

這種內(nèi)存中運(yùn)行的命令是否會(huì)讓后來(lái)的入侵取證出現(xiàn)困難?這個(gè)我還未咨詢相關(guān)的大佬和老師,暫時(shí)就不得而知了。

3. 初識(shí)Empire

和Metasploit一樣,empire集成了對(duì)主機(jī)控制提權(quán),內(nèi)網(wǎng)主機(jī)探測(cè)等主流的滲透測(cè)試功能。

其重要的由四大部分:listeners(偵聽(tīng)器)、stagers(驛站)、agents(會(huì)話代理)、modules(模塊)

  • listeners相當(dāng)于msf中的監(jiān)聽(tīng)模塊,用來(lái)設(shè)置本地IP進(jìn)行會(huì)話監(jiān)聽(tīng)的。
  • stargers就是一段惡意代碼,它通過(guò)本機(jī)的會(huì)話代理(agent)實(shí)現(xiàn)本機(jī)與被攻擊主機(jī)的會(huì)話通道。
  • agents相當(dāng)于msf中的session,當(dāng)我們?cè)诒还糁鳈C(jī)上成功執(zhí)行惡意代碼(即木馬后門) 時(shí),會(huì)反彈一個(gè)shell,并通過(guò)agent構(gòu)建本地和被害主機(jī)會(huì)話。
  • modules這是一個(gè)我們?cè)诳刂屏四繕?biāo)主機(jī)后,對(duì)目標(biāo)內(nèi)網(wǎng)或域進(jìn)行滲透所要使用的主要模塊,其包含了很多功能,具體的筆者還在摸索中。

3.1 配置偵聽(tīng)器(Listener)

使用listeners命令,加載當(dāng)前活動(dòng)的偵聽(tīng)器。沒(méi)有的話也會(huì)提示你。你可以輸入help查看幫助,選擇Listeners下可以使用的命令。這里我們首先創(chuàng)建一個(gè)活動(dòng)的偵聽(tīng)器。

  1. (Empire: listeners) > uselistener 

TAB鍵彈出可用的偵聽(tīng)建立途徑

從圖中可以看出具體有七種偵聽(tīng)途徑建立方式,其中有五種是通過(guò)http協(xié)議進(jìn)行建立通信的,他們之間具體的差別主要在于目標(biāo)主機(jī)的第三方軟件配置的差別,關(guān)于這一點(diǎn),empire的官方文檔給出了解釋:傳送門。剩下的是我們熟悉的msf中常用的meterpreter以及使用條件需要目標(biāo)主機(jī)安裝第三方軟件dropbox的dbx途徑。這里我們選擇比較通用的http通道。使用info查看詳細(xì)配置信息。

  1. (Empire: listeners) > uselistener http 
  2. (Empire: listeners/http) > info 

然后進(jìn)行配置:

  1. (Empire: listeners/http) > set Host 192.168.1.144 
  2. (Empire: listeners/http) > set Port 1234 

然后execute生成偵聽(tīng)

然后main指令回到主菜單,可以看到一個(gè)偵聽(tīng)已經(jīng)激活。listener列表顯示詳細(xì)信息。

3.2 配置Stagers

配置好偵聽(tīng)后就要配置我們的攻擊代碼了,也就是木馬后門。使用usestager命令TAB鍵可以看到所有根據(jù)不同系統(tǒng)的生成木馬后門的文件類型。

其中multi為通用模塊、osxmac操作系統(tǒng)、另外還有l(wèi)inux與windows模塊。 生成的文件類型有.dll,bat,vbs等等。其中就包括前段時(shí)間office宏命令漏洞的主角windos/macro模塊。

實(shí)戰(zhàn)中直接命令usestager [具體模塊]就可以在/tmp目錄下生成一個(gè)特定文件格式的木馬后門,然后通過(guò)webshell上傳運(yùn)行就可以了。這里因?yàn)檠菔拘枰筒贿M(jìn)行具體文件生成,直接使用launcher+語(yǔ)言類型(這里是powershell)+偵聽(tīng)的名字(這里是偵聽(tīng)的默認(rèn)名字是http,也可以在設(shè)置偵聽(tīng)時(shí)自己更改),如下:

  1. (Empire) > launcher powershell http 

生成一個(gè)powershell語(yǔ)言的內(nèi)容,直接在powershell目錄下執(zhí)行就行了:

運(yùn)行,發(fā)現(xiàn)殺軟并沒(méi)有有明顯變化,但也并不能證明其免殺效果,因?yàn)椴磺宄④浭欠駥?duì)powershell的行為流量進(jìn)行監(jiān)控。

3.2.1 由此衍生的騷操作

從上面這里我們可以看到執(zhí)行惡意的 powershell命令時(shí)殺軟并沒(méi)有給出任何報(bào)毒反映,那么我們?cè)诖嘶A(chǔ)上進(jìn)一步將這個(gè)利用點(diǎn)擴(kuò)大化,進(jìn)行一次模擬網(wǎng)絡(luò)釣魚。如何實(shí)現(xiàn)?這里我們就要用到最近才出現(xiàn)的office無(wú)宏命令執(zhí)行漏洞了。

這個(gè)office漏洞的原理簡(jiǎn)單的說(shuō)就是,在office中可以通過(guò)一種存在于windows內(nèi)部程序進(jìn)行數(shù)據(jù)動(dòng)態(tài)交換的DDE協(xié)議進(jìn)行命令執(zhí)行,從而達(dá)到調(diào)用windows內(nèi)其他程序的目的??吹竭@里,你應(yīng)該有點(diǎn)想法了。沒(méi)錯(cuò),我們就是用這個(gè)命令執(zhí)行的漏洞,執(zhí)行我們前面的powershell惡意命令,看會(huì)不會(huì)有我們想要的那種效果。

(1)先將上面生成的攻擊代碼寫成psl文本,放入本地lamp環(huán)境根目錄:

先將上面生成的攻擊代碼寫成psl文本,放入本地lamp環(huán)境根目錄

(2) 編寫釣魚的word文檔:

(3) 先用 殺軟掃下有沒(méi)有報(bào)毒,再發(fā)送至虛擬機(jī)。這里因?yàn)樘摂M機(jī)的win7沒(méi)有word,我就暫時(shí)以我的物理機(jī)來(lái)實(shí)驗(yàn)吧(拼了)

結(jié)果殺軟未報(bào)毒 最終,反彈了自己物理機(jī)的shell..............

再此過(guò)程中殺軟除了powershell啟動(dòng)的一瞬間給了一次見(jiàn)慣不怪的警告(原來(lái)警告確實(shí)重要!),之后的會(huì)話一直沒(méi)結(jié)束。成功驗(yàn)證操作。

言歸正傳,此時(shí),empire的agent已有反應(yīng),遠(yuǎn)控回話已開(kāi)啟。此時(shí),我們使用命令interact進(jìn)入已經(jīng)建立的會(huì)話名。

help查看我們?cè)谝呀⒌臅?huì)話中所能使用的命令,查看目標(biāo)主機(jī)信息。

能成功執(zhí)行,繼續(xù)深入,使用mimikatz命令可以查看目標(biāo)主機(jī)的用戶名以及密碼,但是我么可以看到這里失敗了。

爆出了needs to elevated content的錯(cuò)誤,這里大家應(yīng)該明白需要提權(quán)了。那么empire有沒(méi)類似于msf中的提權(quán)命令呢?有的。     

  1. (Empire PHWC8BT4) >bypassuac [偵聽(tīng)名] 

就可以進(jìn)行提權(quán)。

但是如果運(yùn)氣不好也會(huì)出現(xiàn)提權(quán)不成功的情況。剛剛說(shuō)過(guò)它和msf一樣有相應(yīng)的提權(quán)方式,empire中的module模塊中含有相應(yīng)的掃描模塊可以在一鍵命令提權(quán)失敗的情況下,進(jìn)行掃描,找出對(duì)應(yīng)的提權(quán)方法,這是后話了。雖然它和msf在提權(quán)上的成功率上的比較,筆者還沒(méi)比較過(guò),但應(yīng)該是有差別的。

list列出提權(quán)后的會(huì)話列表,發(fā)現(xiàn)多出一個(gè)和原來(lái)會(huì)話主機(jī)名相同,但Username前多一個(gè)星號(hào)的會(huì)話,這個(gè)帶星號(hào)的用戶就是提權(quán)后的高權(quán)限用戶了。我們現(xiàn)在interact進(jìn)入這個(gè)高權(quán)限用戶的會(huì)話中,查看用戶密碼。

可以看出,提權(quán)后我們可以對(duì)目標(biāo)主機(jī)進(jìn)行更多的操作,可以直接找出目標(biāo)的用戶名和密碼的hash,如果用戶密碼是弱口令的話,甚至可以直接爆出密碼明文。接著如果目標(biāo)主機(jī)有其他內(nèi)網(wǎng)主機(jī)的話就可以進(jìn)一步地“為所欲為”了。

在控制目標(biāo)主機(jī)后,我們可以將這個(gè)會(huì)話發(fā)送給msf,使用meterpreter進(jìn)行更多操作。

4. 我們的殺軟在做什么

首先實(shí)驗(yàn)一開(kāi)始,我們使用了惡意的powershell的命令進(jìn)行攻擊。殺軟并沒(méi)有進(jìn)行報(bào)錯(cuò),毫無(wú)反應(yīng),證明殺軟暫時(shí)對(duì)Powershell的執(zhí)行并沒(méi)有多少設(shè)防,但此時(shí)我們的攻擊端也未進(jìn)入agent會(huì)話,因?yàn)椴欢畾④浭窃鯓踊谛袨檫M(jìn)行查殺的,所以我們暫時(shí)不能說(shuō)明它不可以攔截惡意行為。 而后,攻擊端interact連接進(jìn)會(huì)話,攻擊機(jī)和目標(biāo)靶機(jī)形成數(shù)據(jù)交互,而且是我們通過(guò)http通道建立的。我們?cè)倏纯茨繕?biāo)靶機(jī),依舊毫無(wú)反應(yīng),這其實(shí)很奇怪了,現(xiàn)在的殺軟既然已經(jīng)開(kāi)始對(duì)于電腦中的可以行為進(jìn)行檢測(cè),特別是這種很有疑點(diǎn)的外部通訊,應(yīng)該是重點(diǎn)查殺的對(duì)象,但這里殺軟并沒(méi)有給出任何反應(yīng)。難道是因?yàn)槲覀兊膫陕?tīng)模塊是使用的http通道?大膽猜測(cè)下,應(yīng)該是的。 接下來(lái)的操作目標(biāo)靶機(jī)的殺軟都沒(méi)有反應(yīng)。到了提權(quán)的那一步我就開(kāi)始使用殺軟進(jìn)行主動(dòng)掃描,按照殺軟的描述,其對(duì)磁盤和內(nèi)存進(jìn)程都會(huì)掃描。但是結(jié)果提醒我是安全的。

一片綠色,完全沒(méi)有問(wèn)題。就和我們前面的釣魚一樣,木馬后門如入無(wú)人之境。 為了體現(xiàn)這種powershell馬的特點(diǎn)和優(yōu)勢(shì),我有生成了幾個(gè)msf下典型的木馬,其中包括未經(jīng)過(guò)編碼處理的木馬,經(jīng)過(guò)encode十多次的木馬和加殼木馬,無(wú)一例外被殺軟查殺,只是后兩種有概率在種入木馬時(shí)運(yùn)行前不會(huì)報(bào)毒,但是在運(yùn)行時(shí),無(wú)一例外均被殺。甚至加殼的馬會(huì)直接被我物理機(jī)上的殺軟查出。

5. 最后

empire雖然已經(jīng)比較強(qiáng)大了,但是使用工具的意義并不是它能給我們帶來(lái)的效益和那種快感,其真正意義在于研究其背后所利用的漏洞原理。這里利用powershell進(jìn)行攻擊,并建立有效的攻擊機(jī)與目標(biāo)機(jī)的連接,最吸引人的是原始開(kāi)發(fā)者的思路,這才是empire帶給我最大的收獲。順著這個(gè)思路似乎已經(jīng)有其他發(fā)現(xiàn)了。

責(zé)任編輯:趙寧寧 來(lái)源: 安全客
相關(guān)推薦

2017-09-12 14:46:54

2015-10-12 11:37:07

2023-09-26 08:25:37

CobaltStri模式Agent

2020-09-21 10:23:12

c++解析PE

2017-09-07 15:39:27

2017-05-08 08:32:51

2015-07-16 10:56:01

2019-01-17 04:41:38

2012-12-27 10:44:05

2015-07-16 15:52:30

2010-11-04 14:01:59

PowerShell

2012-12-17 11:25:09

工程機(jī)

2022-08-11 13:25:35

遠(yuǎn)控木馬Woody RAT威脅情報(bào)

2012-04-05 15:33:41

JavaEmpire-db

2011-05-11 12:54:05

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)