Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
antnium — Un framework C2 per l'accesso iniziale in Go | Kitploit
Strumenti/GitHubGitHub/dobin/antnium
Esfiltrazione DatiPost-ExploitCommand and ControlRed TeamingSviluppo PayloadTrojan di Accesso RemotoArchived
GitHubdobin/antnium

antnium

Un framework C2 per l'accesso iniziale in Go

Vedi Repository
200374 anni faRevisionato da Kitploit

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Antnium

root@kitploit:~
Anti Tanium

Un framework C2 e RAT scritto in Go.

Questo codice sorgente è pubblicato come riferimento per la mia presentazione Develop your own RAT - AV & EDR Defense. Antnium è pensato per soddisfare i miei requisiti personali, e non quelli di altri. Funziona per le campagne che ho condotto, ma non è necessariamente pensato per essere un framework C2 generico.

Ci sono due componenti:

  • client.exe: Il vero RAT / beacon / agente / implant
  • server.exe: Il server C2

Caratteristiche

  • Canale di comunicazione HTTP/S e Websocket
  • Supporto proxy (manuale, Windows, autenticato e Kerberos)
  • Esecuzione comandi
    • LOLbins diretti
      • Copia prima il file
      • Process hollowing
    • Shell interattiva cmd.exe/PowerShell
    • Codice gestito e non gestito remoto
      • Usando donut
      • PE in shellcode
      • Crittografato
      • Bypass AMSI
  • Bypass EDR con Reflexxion (ripristino di ntdll.dll)
  • Comunicazione crittografata
  • C2 malleabile
  • Caricamento / download di file
  • Browser di file

Guida rapida

Scarica e installa Go (e Git).

Qui usiamo 127.0.0.1:8080 come dominio C2 (localhost, dato che avviamo sia client.exe che server.exe sullo stesso host). Questo è anche il valore predefinito, quindi non c'è bisogno di modificare nulla.

Controlla la campagna in campaign/campaign.go:

  • serverUrl = "http://127.0.0.1:8080"

Compilalo su Windows:

root@kitploit:~
> .\makewin.bat deploy

Compilalo su Linux:

root@kitploit:~
$ make deploy

Avvia il server e il client:

root@kitploit:~
cd build\
.\server.exe
.\static\client.exe

Accedi alla WebUI aprendo il seguente URL nel browser dopo aver avviato server.exe:

root@kitploit:~
http://localhost:8080/webui/

Directory

static/: Directory pubblica per gli strumenti

Metti qui i file che vuoi scaricare su altre macchine. Come client.exe, wingman.exe. E i tuoi strumenti, come mimikatz.exe o seatbelt.exe. Ma usa nomi di file meno sospetti.

I file sono disponibili anche tramite l'API /secure, richiesti con nomi di file crittografati, e come risposta un file crittografato e codificato in base64.

I file dotNet possono essere eseguiti usando l'opzione di esecuzione remote (accessibile tramite /secure).

upload/: Directory privata per l'esfiltrazione dei dati

I file caricati dal client verranno salvati qui.

Istruzioni dettagliate di compilazione

Installazione di Go:

  • Windows: https://golang.org/doc/install
  • Linux: apt install golang gcc-mingw-w64

Compila client.exe e server.exe:

root@kitploit:~
> .\makewin.bat deploy

Questo creerà:

  • /build/server.exe
  • /build/server.elf
  • /build/static/client.exe
  • /build/static/client.elf
  • /build/static/wingman.exe
  • /build/upload/
  • /build/webui/

Avvia server.exe:

root@kitploit:~
> cd build
> .\server.exe

Antnium 0.1
Loaded 0 packets from db.packets.json
Loaded 0 clients from db.clients.json 
Periodic DB dump enabled
Starting webserver on 127.0.0.1:8080  

Avvia client.exe:

root@kitploit:~
> .\build\static\client.exe

Antnium 0.1
time="2021-09-02T21:48:16+02:00" level=info msg="UpstreamHttp: Use WS"
time="2021-09-02T21:48:16+02:00" level=info msg="Connecting to WS succeeded"
time="2021-09-02T21:48:16+02:00" level=info msg=Send 1_computerId=c4oil02sdke2sp3nfngg 2_packetId=0 3_downstreamId=client 4_packetType=ping 5_arguments="map[]" 6_response=...
time="2021-09-02T21:48:16+02:00" level=info msg=Send 1_computerId=c4oil02sdke2sp3nfngg 2_packetId=0 3_downstreamId=client 4_packetType=ping 5_arguments="map[]" 6_response=...

Note sulla cross-compilazione

Compilare il client Windows da Linux funziona, ma richiede un po' di magia manuale con la riga di comando di GO/gcc, a causa di alcune dipendenze Windows. Se non funziona subito, compila il client Windows direttamente su Windows (makewin.bat client).

Note sulla configurazione della campagna

pkg/campaign/campaign.go collega un client.exe compilato con uno specifico server.exe, formando una campagna. Una campagna ha chiavi di crittografia e autenticazione individuali, condivise tra server e client.

root@kitploit:~
type Campaign struct {
	ApiKey      string  // Key used to access client facing REST
	EncKey      []byte  // Key used to encrypt packets between server/client

	ServerUrl   string  // URL of the server, as viewed from the clients
}

E la chiave dell'admin UI / operatore in pkt/server/config.go:

root@kitploit:~
type Config struct {
	AdminApiKey string
}

Nota che ServerUrl è l'URL usato dal client per ogni interazione con il server. È l'URL pubblico del server, ad es. http://totallynotmalware.ch. Il vero server.exe può essere dietro un reverse proxy e avviato con server.exe --listenaddr 127.0.0.1:8080 (quindi ServerUrl non è necessariamente uguale a listenaddr).

Note sull'accesso al server

Quando ti colleghi per la prima volta al server, devi prima accedere e configurare la UI.

I file della UI Angular sono pubblicamente accessibili. Supponiamo ServerUrl="http://localhost:8080" e listenaddr=0.0.0.0:8080. Puoi:

  • usare la antniumui integrata, disponibile come http://localhost:8080/webui nel tuo browser
  • oppure ng serve dalla directory antniumui, e poi aprire http://localhost:4200 nel tuo browser

Quando ti colleghi alla UI dal browser, devi prima configurare l'IP del server e la sua password:

  • AdminApiKey (default: "Secret-AdminApi-Key", come nel default di config)
  • ServerIP (default: "http://localhost:8080")
  • User (opzionale, può essere scelto casualmente)

Client

Testato su:

  • Windows 10
  • Ubuntu 20.04 LTS

Compila su Windows:

root@kitploit:~
> .\makewin.bat client

Distribuiscilo sul tuo target.

Server

Testato su:

  • Funziona: Ubuntu 20.04 LTS, Go 1.13.8
  • Funziona: Windows 10, Go 1.16.6
  • Compilazione fallita: Ubuntu 16.04 LTS, Go 1.6.2

Su Linux:

root@kitploit:~
$ make server
$ mkdir -p static upload
$ ./server --listenaddr 0.0.0.0:8080

Il risultato è server.exe. Assicurati di eseguirlo nella directory in cui hai o prevedi di avere:

  • upload/
  • static/
  • db.*.json come directory di lavoro.

Avvierà un server REST su quella porta, offrendo:

  • /: REST per i client
  • /ws: Websocket per i client
  • /admin: REST per l'interfaccia admin (aggiungi pacchetti, ottieni client)
  • /adminws: Websocket per l'interfaccia admin (push dei pacchetti)
  • /webui: File HTML per l'interfaccia admin (sorgente e html Angular, accede a REST e websocket)

Metti un reverse proxy davanti (assicurati che supporti i websocket!) o inoltra le porte.

Opzioni

Per il proxy manuale, usa l'URL HTTP completo:

root@kitploit:~
client.exe -proxy http://proxy:8080

oppure tramite variabili d'ambiente:

root@kitploit:~
export PROXY http://localhost:8080
./client

Wingman

Wingman è sostanzialmente il Client, ma senza connessione diretta al C2. Può connettersi a un client esistente su localhost:50000 (assicurati che sia avviato, se Campaign.AutoStartDownstreams è false)

Si connette alla porta locale 50000:

root@kitploit:~
wingman.exe

Oppure usa rundll32.exe per caricare la dll (la versione a 64 bit di rundll32 in system32, non la versione a 32 bit in C:\Windows\SysWOW64\rundll32.exe):

root@kitploit:~
C:\Windows\System32\rundll32.exe .\wingman.dll,Start

Apparirà come downstream net#0.

Test

root@kitploit:~
go test ./...

Potrebbero esserci ancora race condition. Se fallisce una volta, eseguilo di nuovo.

Scarica lo strumento