那些年,我們用來“躲避”殺毒軟件的工具

責任編輯:editor005

作者:felix

2016-04-26 14:14:00

摘自:FreeBuf

在滲透測試的時候,我們可能需要規(guī)避殺軟程序,特別是在post攻擊階段要在目標機器上執(zhí)行特定文件的時候。我們以默認的參數(shù)執(zhí)行這個腳本

在滲透測試的時候,我們可能需要規(guī)避殺軟程序,特別是在post攻擊階段要在目標機器上執(zhí)行特定文件的時候。有時候,繞過特定的殺軟是一個挑戰(zhàn),因為并沒有標準的規(guī)避殺毒軟件的方法和技術。因此,我們需要嘗試一個不同的方法來繞過它們。這篇文章將介紹常用的規(guī)避殺軟的工具。

文件分割和十六進制編輯器

我們要討論的第一個技術就是使用文件切割工具來定位殺軟檢測的特征,然后修改它。這是一個比較老的繞過殺軟的辦法。如果我們能夠精確定位出被檢測的特征,這個技術是很有效的。然而,這個技術也有限制。如果我們破壞了應用程序的功能,即便我們規(guī)避了殺軟也是無用的。所以,只要我們在修改特征的時候沒有改變它的功能,就是可以的。

這可以使用文件分割工具來實現(xiàn),它能把二進制分割成多個部分。分割方式應該是這樣的,每一個部分都比前一個部分多一個固定大小的內(nèi)容。然后,我們使用殺軟掃描這些分割好的塊兒,判斷哪一個塊兒被首先標記為惡意軟件。我們需要重復這個過程直到定位出特征的確切位置。“Dsplit”和“Evade”之類的工具就可以用來分割文件。一旦定位出特征,我們需要修改它然后保存。

讓我們用一個例子來說明它是怎樣對抗殺軟的吧。

我從這里下載了wce.exe。這是在post攻擊階段常用的獲取明文口令的工具。

當我們在virustotal.com上掃描這個工具時,56個殺軟中有47個把它識別為惡意軟件。

那些年,我們用來“躲避”殺毒軟件的工具

通過使用Dsplit,我們發(fā)現(xiàn)殺毒軟件使用歡迎字符串來檢測它,這個字符串會在工具運行時顯示。因此,我用十六進制個編輯器打開wce.exe,通過把大寫轉換為小寫,小寫轉換為大寫的方式改變其特征。如下所示:

那些年,我們用來“躲避”殺毒軟件的工具

在對二進制文件作了上面的修改后,再次在virustotal.com上掃描,這次發(fā)現(xiàn)56個殺軟中有42個將其標記為惡意軟件。

那些年,我們用來“躲避”殺毒軟件的工具

然而,這樣并不能繞過大多數(shù)殺毒軟件程序,如果我們能夠準確定位出被哪些殺軟檢測的特征的話,我們就可以規(guī)避它們。

作為一個例子,下面是原始的wce程序,從內(nèi)存中提取口令。

那些年,我們用來“躲避”殺毒軟件的工具

  原始wce.exe的輸出

在修改了二進制文件后,功能沒有變化。它依然可以從內(nèi)存中得到口令。如下圖。

那些年,我們用來“躲避”殺毒軟件的工具

  修改后的wce.exe的輸出

Hyperion

加密二進制也是一種常用的過殺軟的方法。加密器的原理就是混淆二進制來對抗殺軟。當二進制文件運行的時候加密的內(nèi)容會被還原。Kali Linux有一個開源的加密器,名為Hyperion,已經(jīng)可以下載使用。

我用的是從上面的鏈接處下載的工具。讓我們看看這個工具怎么用。

在我們使用Hyperion之前,首先讓我們在virustotal.com上掃描wce.exe的32位版本。

那些年,我們用來“躲避”殺毒軟件的工具

  正如我們看到的,有44個殺軟把它識別為惡意軟件。

讓我們用Hyperion加密這個文件,如下:

那些年,我們用來“躲避”殺毒軟件的工具

  讓我們再次掃描這個新生成的文件,看看檢測率。

那些年,我們用來“躲避”殺毒軟件的工具

  如上圖所示,與未加密的文件相比,這個得到了更低的檢測率。

Veil-Evasion

Veil-Evasion是另外一個用python寫的流行的框架。我們可以用這個框架生成能夠規(guī)避大多數(shù)殺軟的載荷。

可以從其官網(wǎng)上下載到Veil-evasion。

首先,下載并安裝Veil-Evasion,然后運行它,命令為:

“veil-evasion”

那些年,我們用來“躲避”殺毒軟件的工具

正如我們看到的,已經(jīng)加載了46個載荷。我們可以使用“use”命令選擇特定的載荷。

那些年,我們用來“躲避”殺毒軟件的工具

我選擇第31個,創(chuàng)建一個python/meterpreter/rev_tcp可執(zhí)行載荷。實際上,它創(chuàng)建了一個python腳本,然后會使用工具轉換為可執(zhí)行文件,比如:pyinstaller。

那些年,我們用來“躲避”殺毒軟件的工具

在上圖中,我們設置LHOST為192.168.56.101,輸入命令“generate”生成載荷。

接下來,它會讓我們輸入載荷的名稱,我將其命名為“backdoor”。如上面提及的,Veil會把python文件轉為exe,它詢問我們選擇什么工具來轉換。我個人而言,喜歡Pyinstaller,我輸入1選擇它。這兩步如下圖所示

那些年,我們用來“躲避”殺毒軟件的工具

  一旦完成,它就會創(chuàng)建出最終的載荷,并顯示它的路徑,如下:

那些年,我們用來“躲避”殺毒軟件的工具

正如我們在上圖看到的,這個框架的作者不建議我們把樣本上傳到網(wǎng)上。因此,我在Avast殺軟的沙盒環(huán)境中測試這個載荷,沒有被檢測到。

那些年,我們用來“躲避”殺毒軟件的工具

  這些載荷在目標機上也會工作得很好。

下圖展示了使用上面創(chuàng)建的載荷獲取的一個meterpreter shell。

那些年,我們用來“躲避”殺毒軟件的工具

  可以試試帶加密的其它載荷,效果會更好。

peCloak

peCloak是另外一個有趣的工具,我是從下面的鏈接處下載的。

http://www.securitysift.com/pecloak-py-an-experiment-in-av-evasion/

這個腳本自動采用多種技巧規(guī)避殺軟。作者為了自己使用開發(fā)了這個工具,之后公開發(fā)行了beta版。這個腳本可以啟發(fā)我們寫出自己的規(guī)避殺軟的腳本。

讓我們看看怎么用它

為此,我要用msfvenom創(chuàng)建一個meterpreter載荷。如下圖:

那些年,我們用來“躲避”殺毒軟件的工具

  讓我們在virustotal.com上掃描這個載荷“test.exe”,如下圖。

那些年,我們用來“躲避”殺毒軟件的工具

56個殺軟中有36個殺軟將其標記為惡意軟件?,F(xiàn)在,讓我們執(zhí)行peCloadk.py腳本。我們以默認的參數(shù)執(zhí)行這個腳本,如下:

那些年,我們用來“躲避”殺毒軟件的工具

 

那些年,我們用來“躲避”殺毒軟件的工具

 

它創(chuàng)建了一個名為“cloaked.exe”的文件,如上圖所示。

讓我們掃描這個新載荷,看看有多少殺毒軟件引擎將其識別為惡意軟件。

那些年,我們用來“躲避”殺毒軟件的工具

  56個中只有26個將其識別為惡意軟件。

結論

除了這篇文章中提到的工具外,還有很多其它的工具,比如Metasploit的編碼器。寫一個定制的能規(guī)避殺軟檢測的載荷比使用流行的框架創(chuàng)建載荷要好。注意:在你閱讀這篇文章的時候,這篇文章中顯示的結果可能有所變化,因為殺軟的特征也在不斷地更新。

鏈接已復制,快去分享吧

企業(yè)網(wǎng)版權所有?2010-2024 京ICP備09108050號-6京公網(wǎng)安備 11010502049343號