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 ».
- 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.
- 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.
- Lancer le serveur:
python3 C2/simple_server.py. - Charger l'extension en mode developpeur dans Chrome depuis le dossier
agent. - Interagir via les routes REST ou une interface qui frappe
/api/messagespour pousser les commandes mentionnees plus haut.
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.