
Un semplice sistema di beaconing C&C estensibile.
Il repository C2 mira a fornire un'implementazione pratica delle idee contenute nella Red Team Infrastructure Wiki all'indirizzo https://github.com/bluscreenofjeff/Red-Team-Infrastructure-Wiki. In particolare, questo repository fornisce due pacchetti Go, uno per i beaconer e uno per i downloader. Inoltre, il repository fornisce implant di esempio che utilizzano questi beaconer e downloader. Infine, il repository contiene server DNS e HTTP backend per il C2 e le informazioni di configurazione per realizzare server redirector front-end.
La cartella implants contiene due implant che mostrano come utilizzare i pacchetti beaconer e downloader. Questi implant possono essere usati come riferimento per creare i propri implant. L'idea generale è selezionare un beaconer e un downloader e avvolgerli in un ciclo con qualche meccanismo di temporizzazione per controllare la frequenza con cui l'implant effettuerà il beacon.
Per creare nuovi beaconer e downloader è necessario costruire una struct che soddisfi l'interfaccia appropriata. Le directory beaconer e downloader contengono esempi sia HTTP che DNS.
La directory servers contiene sia un server DNS che un server HTTP utilizzabili come server backend per i vari beacon e downloader. Questi server non sono stati progettati pensando all'uso in produzione, ma possono essere usati in produzione se necessario. Inoltre, la cartella servers contiene un file payload, che può essere compilato con go build -o payload.bin payload.go. I server si aspettano di trovare un file payload.bin nella directory corrente, che verrà servito ai downloader ed eseguito sul client.
La cartella docs contiene le informazioni di configurazione necessarie per realizzare redirector front-end per il sistema C2. La configurazione consente di reindirizzare il traffico C2 al server C2 in base a criteri specifici e invia tutto il resto del traffico a un server benigno.
Non sono un esperto di C2. Ho letto la Red Team Infrastructure Wiki e ho deciso di costruire un'implementazione pratica. Detto questo, accetto volentieri pull request per nuovi beaconer e downloader. Se non ti senti a tuo agio a scrivere il codice, fammi sapere quali tecniche di beacon o downloader vorresti fossero implementate aprendo una issue.