
Un C2/teamserver multipiattaforma che supporta molteplici protocolli di trasporto, scritto in Go.
Un C2/teamserver cross-platform che supporta molteplici protocolli di trasporto, scritto in Go.
Nota: questo progetto è in fase di sviluppo e pertanto non è esattamente stabile. Anche la documentazione è carente, ma verrà migliorata gradualmente nel tempo.
Il sistema Meteor è suddiviso in diverse parti:
Clona il repository e crea le immagini compose richieste:
$ git clone https://github.com/degenerat3/meteor
$ cd meteor
$ docker-compose build
<wait patiently as Golang and docker stuff happens>
$ docker-compose up
Meteor è ora attivo! Nota che puoi rimuovere dal file compose i container che non userai; quindi, se vuoi usare solo il trasporto web, non c'è bisogno di creare ed eseguire anche Petrie/Cera. Una volta che i container sono in esecuzione, esegui una curl a localhost:8888 per assicurarti che il core sia attivo.
A questo punto dovrebbe essere già compilato un client Daddy Tops, quindi segui le istruzioni in meteor/docs/daddy_tops.md per scaricare il client e iniziare a creare agenti!
Quasi tutta la comunicazione nel sistema Meteor avviene tramite protobuf. Lo standard di comunicazione Meteor (MCS) definisce come formattare i dati affinché il Core possa elaborarli. I listener e gli agenti utilizzano anch'essi MCS per il trasferimento di azioni e risultati, e Daddy Tops utilizza MCS per tutto, dall'autenticazione alla registrazione di bot e gruppi. Il file proto MCS si trova in meteor/pbuf/mcs.proto.
Le attuali coppie agente/listener sono implementate, con piani per aggiungerne altre in futuro:
Sviluppare listener aggiuntivi dovrebbe essere abbastanza semplice, se lo desideri, poiché gran parte della funzionalità effettiva di Meteor è astratta nelle utility Agent e Listener. Nella maggior parte dei casi, l'unica cosa necessaria per creare un nuovo listener è un modo affidabile per inviare e ricevere una stringa di byte. Da lì, le utility del listener possono instradare i dati all'endpoint API Core appropriato, e le utility dell'agente possono eseguire le azioni e costruire i payload MCS corretti. C'è ancora molto da migliorare in questo senso, poiché una parte della logica e del parsing protobuf viene svolta al di fuori delle utility, nelle funzioni principali.
Il Nest viene utilizzato per compilare il codice Meteor (attualmente solo gli agenti), così non devi farlo tu. Puoi usare Daddy Tops (o qualcosa di personalizzato) per inviare i parametri richiesti. A differenza del resto del progetto, l'API del Nest è composta da endpoint JSON piuttosto che protobuf. Questo perché i binari possono essere compilati e scaricati con pochi semplici comandi curl, invece di richiedere l'uso di protobuf e codice più complicato.
La documentazione è piuttosto limitata al momento, ma migliorerà col tempo. Alcuni documenti per le API Core e Nest, oltre alle istruzioni per Daddy Tops, si trovano in meteor/docs.
DISCLAIMER: Questo strumento è solo a scopo educativo. Non armeggiare con macchine che non sono tue. Gli autori non sono responsabili di eventuali usi illeciti di questo codice.