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
AtlasC2 — C# C2 Framework centré sur les opérations de la phase 1 | Kitploit
Outils/GitHubGitHub/gr1mmie/atlasc2
Frameworks d'ExploitationPost-ExploitationCommandement et ContrôleRed TeamingDéveloppement de Charges Utiles
GitHubgr1mmie/atlasc2

AtlasC2

C# C2 Framework centré sur les opérations de la phase 1

Voir le dépôt
21142il 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
Site web

AtlasC2

Framework C2 en C# axé sur les opérations de premier niveau (Stage 1)

Atlas est conçu pour obtenir un point de départ dans un environnement, puis l'utiliser pour introduire en contrebande des armes en C# (actuellement uniquement du C#) via un implant HTTP. Dans son état actuel, il n'est pas vraiment sûr d'un point de vue OPSEC... pas du tout. Il cible actuellement uniquement les environnements Windows.

Remarque : Les paramètres de connexion par défaut de l'implant sont configurés pour se connecter à localhost sur le port 8080. Cela peut être modifié ici

Utilisation

Démarrage du TeamServer

Après avoir généré un exécutable du client, du teamserver et de l'implant, exécutez simplement Teamserver.exe pour lancer le teamserver.

Démarrage/Gestion des écouteurs

Pour démarrer un nouvel écouteur, utilisez la commande StartListener. Cette commande prend deux paramètres : le nom de l'écouteur et le port sur lequel l'exécuter.

image

La commande Listeners liste tous les écouteurs, ViewListener renvoie les données sur l'écouteur spécifié, et RemoveListener peut être utilisé pour supprimer un écouteur de la liste.

image

Interaction avec les implants

La liste des implants connectés peut être obtenue avec la commande Implants.

image

Se connecter à un implant est aussi simple que Connect <ImplantId>. Vous avez vu ce que j'ai fait là ?... Bon, je me retire. Comme la commande Connect est utilisée pour sélectionner un implant, ViewImplant permet d'afficher plus d'informations sur l'implant sélectionné. La commande Disconnect désélectionne l'implant actuellement sélectionné, comme indiqué ci-dessous.

image

Exécution de tâches

Pour utiliser une tâche, celle-ci doit d'abord être sélectionnée avec SetTask. Les options peuvent être visualisées avec TaskOpts et définies avec SetTaskOpt. Les tâches sont exécutées avec SendTask.

image

Visualisation des tâches précédentes

Il est possible de visualiser la sortie d'une tâche précédemment exécutée avec TaskOut. TasksOut peut être utilisé pour afficher toutes les tâches précédemment exécutées relatives à l'implant sélectionné.

image

Exécution de shell

Atlas permet aux opérateurs d'exécuter des commandes PowerShell et Cmd en utilisant respectivement les tâches PSShell et CMDShell. PSShell ouvre un nouveau runspace et exécute la commande, de sorte que même si powershell.exe est sur liste noire, les commandes PowerShell peuvent toujours être exécutées. Cette méthode contourne également le Mode Langage Contraint. CMDShell ouvre un processus cmd.exe et transmet la commande à ce processus. L'exécution d'une commande PowerShell a été montrée ci-dessus, donc elle ne sera pas répétée ici. Note concernant CMDShell : de nombreuses commandes courantes exécutées, y compris (mais sans s'y limiter) whoami, ipconfig, pwd et cd, ont été implémentées dans les fonctionnalités de l'implant pour éviter d'avoir à exécuter ces commandes via un processus cmd.exe.

image

Chargement d'assemblages C# en mémoire

Le chargement d'assemblages nécessite plusieurs étapes, contrairement à des outils comme CobaltStrike qui font tout avec execute-assembly. Tout d'abord, un opérateur doit utiliser l'utilitaire ByteConvert (ByteConvert doit être informé si le fichier est local ou distant) pour convertir un fichier stocké localement ou distant en un tableau d'octets et stocker ceci dans la variable assemBytes. Une fois cela fait, la tâche Load est utilisée pour charger l'assemblage dans le processus de l'implant.

image

Visualisation des assemblages chargés

Pour visualiser les assemblages chargés dans le processus de l'implant, les opérateurs peuvent utiliser les tâches AssemQuery et AssemMethodQuery. La première retourne tous les assemblages chargés tandis que la seconde retourne toutes les méthodes publiques liées à un assemblage chargé.

image

La capture d'écran confirme que l'assemblage TestAssem a bien été chargé dans le processus de l'implant.

AssemMethodQuery peut ensuite être utilisé pour retourner des informations sur TestAssem qu'un opérateur peut utiliser pour exécuter des méthodes publiques.

image

Exécution d'assemblages chargés

Atlas offre la possibilité d'exécuter un assemblage à partir de son point d'entrée ou d'une méthode exposée spécifiée. ExecuteAssem peut être utilisé pour exécuter à partir du point d'entrée. Cette tâche ne prend que le nom de l'assemblage. ExecuteAssemMethod permet l'exécution d'autres méthodes en utilisant les informations récupérées de AssemMethodQuery.

image

Pour une liste complète des fonctionnalités, rendez-vous sur le wiki

Compilation

Ouvrez le .sln et compilez les 3 composants en mode Release, les fenêtres de console et les exécutables doivent être générés dans \bin\debug de chaque composant. Je dois améliorer ça.

À faire

  • Authentification
  • Encoder les commandes PowerShell
  • Ajouter des utils admin :
    • cp
    • upload/download
  • Keylogger (probablement à créer en standalone à charger dans l'implant)
  • Quelques commandes de persistance basiques (je ne sais pas, par exemple créer un utilisateur via ADSI, création d'abonnement WMI. Probablement en faire des assemblages standalone à charger dans l'implant)
  • Permettre le changement du timing de veille sur l'implant et implémenter le jitter
  • Permettre à l'opérateur de changer le port sur lequel TeamServer démarre via CLI
  • Communications chiffrées (oups, je sais)
  • Manipulation d'AppDomain - Permettre la création/suppression d'AppDomains et permettre à l'opérateur de sélectionner quel AppDomain charger les assemblages
  • Meilleures capacités d'extensibilité
  • Implémenter une sorte de système de profilage
  • Compilation automatisée :
    • implant
    • droppers/loaders/stagers
  • Génération de shellcode via Donut
  • Les BOFs seraient cool

Avertissement

Atlas a été conçu uniquement à des fins éducatives/éthiques. Je n'approuve pas et ne suis pas responsable des actions des utilisateurs d'Atlas.

Télécharger l’outil