<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    【技術分享】Powershell Empire 繞過AV實現遠控

    VSole2022-06-29 08:33:50

    一、前言

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

    二、為什么是Powershell?

    empire選擇了poweeshell作為攻擊平臺總是有原因的。其作為windows平臺下的一種命令行外殼程序和腳本環境,它可以使命令行用戶和腳本編寫者利用.NET Farmework。說到這里,你可能還是一臉懵逼,我也是,畢竟這只是powershell的官方解釋。那我們來看下empire開發者是怎么講的:傳送門: http://www.exploit-monday.com/2012/08/Why-I-Choose-PowerShell.html 。

    其中重要的一段是:"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."

    大致意思是:腳本語言為攻擊者提供了一個優勢,因為它們提供了一個抽象層,殺軟(AV)不知道如何解釋。例如,常見的殺軟旁路技術是將惡意Python腳本打包成可執行文件。殺軟很難將生成的二進制文件區分為惡意的或合法的,因為Python解釋器本身有很多合法用途。PowerShell在這種情況下提供了明顯的優勢,因為它與Windows操作系統的緊密集成,并考慮到它基于.NET框架。使用如此強大的腳本環境,不需要將文件放在磁盤上。所有的東西,除了腳本本身的可能例外,它完全是內存駐留的。

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

    這種內存中運行的命令是否會讓后來的入侵取證出現困難?這個我還未咨詢相關的大佬和老師,暫時就不得而知了。

    三、初識Empire

    和Metasploit一樣,empire集成了對主機控制提權,內網主機探測等主流的滲透測試功能。

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

    listeners相當于msf中的監聽模塊,用來設置本地IP進行會話監聽的。

    stargers就是一段惡意代碼,它通過本機的會話代理(agent)實現本機與被攻擊主機的會話通道。

    agents相當于msf中的session,當我們在被攻擊主機上成功執行惡意代碼(即木馬后門) 時,會反彈一個shell,并通過agent構建本地和被害主機會話。

    modules這是一個我們在控制了目標主機后,對目標內網或域進行滲透所要使用的主要模塊,其包含了很多功能,具體的筆者還在摸索中。

    3.1 配置偵聽器(Listener) 

    使用listeners命令,加載當前活動的偵聽器。沒有的話也會提示你。你可以輸入help查看幫助,選擇Listeners下可以使用的命令。這里我們首先創建一個活動的偵聽器。

    (Empire: listeners) > uselistener
    

    TAB鍵彈出可用的偵聽建立途徑 

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

    (Empire: listeners) > uselistener http(Empire: listeners/http) > info
    

    然后進行配置:

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

    然后execute生成偵聽 

    然后main指令回到主菜單,可以看到一個偵聽已經激活。listener列表顯示詳細信息。 

    3.2 配置Stagers

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

    其中multi為通用模塊、osxmac操作系統、另外還有linux與windows模塊。生成的文件類型有.dll,bat,vbs等等。其中就包括前段時間office宏命令漏洞的主角windos/macro模塊。詳情點擊:傳送門:http://bobao.#/learning/detail/3605.html

    實戰中直接命令usestager [具體模塊]就可以在/tmp目錄下生成一個特定文件格式的木馬后門,然后通過webshell上傳運行就可以了。這里因為演示需要就不進行具體文件生成,直接使用launcher+語言類型(這里是powershell)+偵聽的名字(這里是偵聽的默認名字是http,也可以在設置偵聽時自己更改),如下:

    (Empire) > launcher powershell http
    

    生成一個powershell語言的內容,直接在powershell目錄下執行就行了: 

    運行,發現殺軟并沒有有明顯變化,但也并不能證明其免殺效果,因為不清楚殺軟是否對powershell的行為流量進行監控。

    3.2.1 由此衍生的騷操作

    從上面這里我們可以看到執行惡意的 powershell命令時殺軟并沒有給出任何報毒反映,那么我們在此基礎上進一步將這個利用點擴大化,進行一次模擬網絡釣魚。如何實現?這里我們就要用到最近才出現的office無宏命令執行漏洞了。前幾天國內已經有人翻譯了原文:傳送門:http://bobao.#/learning/detail/4526.html 。

    這個office漏洞的原理簡單的說就是,在office中可以通過一種存在于windows內部程序進行數據動態交換的DDE協議進行命令執行,從而達到調用windows內其他程序的目的。看到這里,你應該有點想法了。沒錯,我們就是用這個命令執行的漏洞,執行我們前面的powershell惡意命令,看會不會有我們想要的那種效果。

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

    2. 編寫釣魚的word文檔: 

    3. 先用 殺軟掃下有沒有報毒,再發送至虛擬機。這里因為虛擬機的win7沒有word,我就暫時以我的物理機來實驗吧(拼了) 

    結果殺軟未報毒 最終,反彈了自己物理機的shell………….. 

    再此過程中殺軟除了powershell啟動的一瞬間給了一次見慣不怪的警告(原來警告確實重要!),之后的會話一直沒結束。成功驗證操作。

    言歸正傳,此時,empire的agent已有反應,遠控回話已開啟。此時,我們使用命令interact進入已經建立的會話名。 

    help查看我們在已建立的會話中所能使用的命令,查看目標主機信息。 

    能成功執行,繼續深入,使用mimikatz命令可以查看目標主機的用戶名以及密碼,但是我么可以看到這里失敗了。 

    爆出了needs to elevated content的錯誤,這里大家應該明白需要提權了。那么empire有沒類似于msf中的提權命令呢?有的。

    (Empire PHWC8BT4) >bypassuac [偵聽名]
    

    就可以進行提權。

    但是如果運氣不好也會出現提權不成功的情況。剛剛說過它和msf一樣有相應的提權方式,empire中的module模塊中含有相應的掃描模塊可以在一鍵命令提權失敗的情況下,進行掃描,找出對應的提權方法,這是后話了。雖然它和msf在提權上的成功率上的比較,筆者還沒比較過,但應該是有差別的。

    list列出提權后的會話列表,發現多出一個和原來會話主機名相同,但Username前多一個星號的會話,這個帶星號的用戶就是提權后的高權限用戶了。我們現在interact進入這個高權限用戶的會話中,查看用戶密碼。 

    可以看出,提權后我們可以對目標主機進行更多的操作,可以直接找出目標的用戶名和密碼的hash,如果用戶密碼是弱口令的話,甚至可以直接爆出密碼明文。接著如果目標主機有其他內網主機的話就可以進一步地“為所欲為”了。

    在控制目標主機后,我們可以將這個會話發送給msf,使用meterpreter進行更多操作。

    四、我們的殺欽在做什么

    首先實驗一開始,我們使用了惡意的powershell的命令進行攻擊。殺軟并沒有進行報錯,毫無反應,證明殺軟暫時對Powershell的執行并沒有多少設防,但此時我們的攻擊端也未進入agent會話,因為不懂殺軟是怎樣基于行為進行查殺的,所以我們暫時不能說明它不可以攔截惡意行為。而后,攻擊端interact連接進會話,攻擊機和目標靶機形成數據交互,而且是我們通過http通道建立的。我們再看看目標靶機,依舊毫無反應,這其實很奇怪了,現在的殺軟既然已經開始對于電腦中的可以行為進行檢測,特別是這種很有疑點的外部通訊,應該是重點查殺的對象,但這里殺軟并沒有給出任何反應。難道是因為我們的偵聽模塊是使用的http通道?大膽猜測下,應該是的。接下來的操作目標靶機的殺軟都沒有反應。到了提權的那一步我就開始使用殺軟進行主動掃描,按照殺軟的描述,其對磁盤和內存進程都會掃描。但是結果提醒我是安全的。

    一片綠色,完全沒有問題。就和我們前面的釣魚一樣,木馬后門如入無人之境。為了體現這種powershell馬的特點和優勢,我有生成了幾個msf下典型的木馬,其中包括未經過編碼處理的木馬,經過encode十多次的木馬和加殼木馬,無一例外被殺軟查殺,只是后兩種有概率在種入木馬時運行前不會報毒,但是在運行時,無一例外均被殺。甚至加殼的馬會直接被我物理機上的殺軟查出。

    五、最后

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

    powershell
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    PowerShell入門學習
    2022-03-13 06:42:08
    PowerShell簡介 PowerShell是一種命令行外殼程序和腳本環境,它置于Windows7/Windows Server2008 R2及以上更高的版本中。它可以執行Linux系統下的一些命令,這是非常強大的一點。它的腳本后綴為(.ps1),可在磁盤中執行,也可無需寫入磁盤直接在內存中運行。 PowerShell的優點 1、Windows7以上的操作系統默認安裝。 2、Power
    顧名思義,無需將惡意文件傳到目標服務器/機器上,直接利用powershell的特性加載到內存執行。為了在紅隊行動中更隱蔽的實施攻擊以及橫向移動,同時還可以解決目標不出網只能通過dns上線時的棘手問題,利用powershell可以避免一行行echo。
    powershell免殺之路
    2021-07-12 21:46:00
    Windows PowerShell 是一種命令行外殼程序和腳本環境,使命令行用戶和腳本編寫者可以利用 .NET Framework的強大功能
    powershell對抗AV技巧
    2021-06-30 22:32:22
    今天介紹利用powershell上線來繞過AV防護,并介紹繞過添加用戶的攔截的方式。
    PowerSploit這是眾多PowerShell攻擊工具中被廣泛使用的PowerShell后期漏洞利用框架,常用于信息探測、特權提升、憑證竊取、持久化等操作。Empire基于PowerShell的遠程控制木馬,可以從憑證數據庫中導出和跟蹤憑據信息,常用于提供前期漏洞利用的集成模塊、信息探測、憑據竊取、持久化控制。
    系統安全第41篇是PowerShell系列的基礎知識和注冊表操作,希望您喜歡
    把上線命令進行base64編碼成功上線結果:360全程沒有任何攔截繞過并創建計劃任務用PowerShell創建計劃任務發現被攔截把powershell進行base64編碼執行我們的powershell代碼結果:?
    這凸顯了開發檢測惡意 PowerShell 命令的有效方法的迫切需要。在這項工作中,我們通過實施幾個新穎的惡意 PowerShell 命令檢測器并評估它們的性能來應對這一挑戰。在這項工作中,我們使用 AMSI 提供的信息對惡意 PowerShell 代碼檢測進行了首次研究。
    這個樣本是在2019年5月中使用的一個powershell樣本。背景Turla,也被稱為 Snake,是一個
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类