
Un Gopher Assassin di terze parti per il Havoc Framework.
Un Gopher Assassin di terze parti per il framework Havoc
è come il videogioco :D
Questo è un agente di terze parti per il C2 Havoc scritto in Golang, scritto principalmente come progetto di apprendimento, ma sono sicuro che sia comunque utile.
Quando questo verrà rilasciato, potrai leggere di più su cosa e perché questo è sul mio blog: qui
Contributi benvenuti! Non ho intenzione di aggiornarlo con troppa regolarità, ma se mi diverto a realizzarlo potrei aggiungere altre cose col tempo.
| Command | Description | Example |
|---|---|---|
checkin | Restituisce informazioni di base sul sistema | checkin |
shell | Esegue un comando (eseguito tramite os/exec di Go) | shell netstat -ano |
kill | Termina un processo tramite PID | kill 31337 |
ls | Elenca i file in una data directory | ls C:\Users\Administrator\Desktop |
ps | Elenca i processi attualmente in esecuzione | ps |
upload | Carica un file su un percorso remoto | upload /opt/chisel.exe C:\Windows\Temp\Bruh.exe |
download | Scarica un file remoto nella cartella loot | download C:\passwords.txt pwd.txt |
portscan | Scansione delle porte TCP su un singolo target. | portscan common 192.168.13.37 4 |
shellcode | Carica shellcode nel processo implant usando CreateThread | shellcode 9090ccc3 |
execute-assembly | Esegue assembly .NET in memoria | execute-assembly /opt/tools/Seatbelt.exe -group=user -q |
o7 | Il gopher muore :( | o7 |
Una volta avviato il tuo teamserver, è semplice come eseguire quanto segue:
python handler.py./gopher47Puoi usare la GUI di Havoc per compilarlo, oppure puoi semplicemente modificare il codice sorgente come preferisci e giocare con il Makefile; non è che ci sia molto.
Volevo solo avere un vero progetto Golang messo insieme a cui poter puntare. Ma anche, Golang è ottimo per la cross-compilazione, ha un buon ecosistema di sviluppo, ed è molto più facile da scrivere rispetto a C/C++.
Non lo so, ma cresci. Offuscalo e personalizzalo da solo, smettila di fare il bambino.
Golang, insieme a Rust e altri linguaggi, compila staticamente, il che significa che tutte le librerie necessarie per eseguire l'eseguibile sono incorporate nel binario, e questo si accumula. Se vuoi ridurre le dimensioni, non lo farò di default, ma dai un'occhiata a questo link per alcuni suggerimenti. AGGIORNAMENTO: ho aggiunto un'opzione per fare parte di questo, ma sono sicuro che ci siano altre personalizzazioni che potresti fare :/
Brutta domanda, se leggi il codice troverai una serie di cose che non sono ideali. Se fossi davvero preoccupato dell'OPSEC, avresti già iniziato a leggere il codice e a fare le correzioni dove necessario.
Per ora, non proprio. L'attuale API di Havoc consente solo a un agente di gestire un handler, e non c'è un buon modo pulito per averne più di uno contemporaneamente. Le rielaborazioni sono in corso, ma per ora può esserci solo un Gopher47.
No. A partire dalla versione 0.4 di Havoc, non c'è modo di fare uno scambio di chiavi sicuro senza compromettere direttamente le chiavi. Una volta che il sistema sarà rielaborato nell'interfaccia havoc-py, lo farò. PERTANTO QUESTO NON È OPSEC-SICURO per favore non essere stupido e non usarlo in un impegno reale, comunque i CTF/lab vanno bene
HTTPS fornirà la cifratura, ma usalo a tuo rischio.
Ho photoshoppato una pistola nella mano del gopher di Golang per questo alle 1:00 di notte.
Non c'è modo di creare uno strumento di ricerca rilevante per la sicurezza offensiva e rilasciarlo open source senza la possibilità che cada nelle mani sbagliate. Questo strumento deve essere usato solo per scopi legali ed etici, inclusi, ma non limitati a, ricerca, valutazione della sicurezza, istruzione.
TL;DR: Rimanete legali, gente.