
Ein Gopher Assassin eines Drittanbieters für das Havoc Framework.
Ein Gopher-Assassine von Drittanbietern für das Havoc Framework
ist wie das Videospiel :D
Dies ist ein Agent von Drittanbietern für das Havoc C2, geschrieben in Golang, hauptsächlich als Lernprojekt, aber ich bin sicher, es ist trotzdem nützlich.
Wenn das hier draußen ist, kannst du mehr darüber lesen, was und warum das ist, in meinem Blog: hier
Beiträge sind willkommen! Ich habe nicht vor, das allzu regelmäßig zu aktualisieren, aber wenn mir das Erstellen Spaß macht, füge ich im Laufe der Zeit vielleicht mehr Zeug hinzu.
| Befehl | Beschreibung | Beispiel |
|---|---|---|
checkin | Gibt grundlegende Systeminformationen zurück | checkin |
shell | Führt einen Befehl aus (ausgeführt über Go's os/exec) | shell netstat -ano |
kill | Beendet einen Prozess anhand der PID | kill 31337 |
ls | Listet Dateien in einem angegebenen Verzeichnis auf | ls C:\Users\Administrator\Desktop |
ps | Listet aktuell laufende Prozesse auf | ps |
upload | Lädt eine Datei in einen entfernten Pfad hoch | upload /opt/chisel.exe C:\Windows\Temp\Bruh.exe |
download | Lädt eine entfernte Datei in den Loot-Ordner herunter | download C:\passwords.txt pwd.txt |
portscan | TCP-Portscan auf ein einzelnes Ziel. | portscan common 192.168.13.37 4 |
shellcode | Lädt Shellcode mithilfe von CreateThread in den Implant-Prozess | shellcode 9090ccc3 |
execute-assembly | Führt .NET-Assemblys im Speicher aus | execute-assembly /opt/tools/Seatbelt.exe -group=user -q |
o7 | Der Gopher stirbt :( | o7 |
Sobald dein Teamserver läuft, ist es so einfach wie das Ausführen der folgenden Befehle:
python handler.py./gopher47Du kannst die Havoc-GUI verwenden, um es zu kompilieren, oder du kannst den Quellcode einfach nach Belieben bearbeiten und mit der Makefile herumspielen, es gibt nicht viel davon.
Ich wollte einfach ein echtes Golang-Projekt zusammenstellen, auf das ich verweisen kann. Aber Golang eignet sich auch hervorragend für Cross-Kompilierung, hat ein gutes Entwicklungsumfeld und ist viel einfacher zu schreiben als C/C++.
Keine Ahnung, aber werd erwachsen. Verschleiere und passe es selbst an, hör auf, ein Baby zu sein.
Golang kompiliert zusammen mit Rust und anderen Sprachen statisch, das heißt, alle Bibliotheken, die zum Ausführen der ausführbaren Datei benötigt werden, sind in die Binärdatei eingebacken, was sich summiert. Wenn du die Größe reduzieren willst, mache ich das nicht standardmäßig, aber schau dir diesen Link für einige Tipps an. UPDATE: Ich habe eine Option hinzugefügt, um einen Teil davon zu erledigen, aber ich bin sicher, dass es noch mehr Anpassungsmöglichkeiten gibt :/
Schlechte Frage. Wenn du den Code liest, wirst du eine Reihe von Dingen finden, die nicht ideal sind. Wenn du dir wirklich Sorgen um OPSEC machen würdest, hättest du inzwischen angefangen, den Code zu lesen und Korrekturen vorzunehmen, wo sie nötig sind.
Im Moment eher nicht. Die aktuelle Havoc-API erlaubt nur, dass ein Handler von einem Agent verwaltet wird, und es gibt wirklich keinen guten, sauberen Weg, mehrere gleichzeitig laufen zu lassen. Umbauten sind in Arbeit, aber vorerst kann es nur einen Gopher47 geben.
Nein. Ab Version 0.4 von Havoc gibt es keine Möglichkeit, einen sicheren Schlüsselaustausch durchzuführen, ohne die Schlüssel direkt zu gefährden. Sobald das System im havoc-py-Interface überarbeitet ist, werde ich das erledigen. DAHER IST DIES NICHT OPSEC-SICHER bitte sei nicht dumm und nutze das in einem echten Einsatz; CTFs/Labs sind aber in Ordnung
HTTPS bietet Verschlüsselung, aber auf eigene Gefahr.
Ich habe dafür um 1:00 Uhr morgens einem Golang-Gopher eine Waffe in die Hand fotoschopiert.
Es gibt keine Möglichkeit, ein für offensive Sicherheit relevantes Forschungswerkzeug zu entwickeln und als Open Source zu veröffentlichen, ohne dass es in die falschen Hände geraten könnte. Dieses Tool darf nur für legale, ethische Zwecke verwendet werden, einschließlich, aber nicht beschränkt auf Forschung, Sicherheitsbewertung und Bildung.
TL;DR: Bleibt legal, Leute.