Skip to content

Latest commit

 

History

History
27 lines (21 loc) · 2.21 KB

File metadata and controls

27 lines (21 loc) · 2.21 KB

Modern C2 via chrome extension

Ce projet de commande et controle tourne autour d'une extension Chrome et d'un petit serveur Flask. Le navigateur poll l'endpoint /api/messages, interprete les commandes puis renvoie ses reponses vers le C2. L'idee et la structure generale sont largement inspirees du billet de blog de Synacktiv qui introduit l'extension malveillante « extloader ».

Capacites cote navigateur

  • Collecte d'etat et de contexte: url, title, tabs, system, geo.
  • Exfiltration de donnees sensibles: cookies, clipboard, history, downloads, credentials, domdump.
  • Capture visuelle: screenshot, screenshot_auto_start <intervalle>, screenshot_auto_stop.
  • Keylogging dans l'onglet courant: keylog_start, keylog_stop, keylog_dump.
  • Observation et journalisation reseau: net_start, net_stop, net_recent, net_clear.
  • Controle de la navigation: tab_open, tab_close, tab_next, tab_prev, tab_activate, tab_duplicate.

Chaque commande est deduped cote agent pour eviter les executions multiples et, quand cela est pertinent, les donnees sont envoyees vers le serveur via les routes /api/screenshots ou /api/dumps.

Serveur Flask C2

  • Files d'attente des messages en memoire avec expiration rapide (5 s) et reponses automatiques contextuelles.
  • Endpoints REST pour deposer et recuperer des commandes (/api/messages), verifier l'etat (/api/status), consulter les captures (/screenshots/...) et les dumps texte (/dumps/...).
  • Stockage persistant des captures PNG et des dumps textes classes par type pour faciliter l'analyse posteriori.

Démarrage rapide

  1. Lancer le serveur: python3 C2/simple_server.py.
  2. Charger l'extension en mode developpeur dans Chrome depuis le dossier agent.
  3. Interagir via les routes REST ou une interface qui frappe /api/messages pour pousser les commandes mentionnees plus haut.

Credits

Concept base sur l'article de Synacktiv presentant extloader; ce depot adapte cette approche en l'etendant avec des commandes supplémentaires et un serveur autonome pour les besoins de demonstration.