|
|
KreiosC2 Botnet conceptuel et modulaire qui permet de basculer dynamiquement entre des canaux C&C de type Twitter, TinyURL et JPEG
Par Xavier Poli,
secuobs.com
Le 24/11/2009
Résumé : KreiosC2 v3 est une preuve de concept modulaire permettant de basculer dynamiquement la gestion d'un Botnet entre différents types de canaux de commande et de contrôle. Ces canaux utilisent par ailleurs des vecteurs inhabituels comme des images JPEG valides ou les services Twitter et TinyURL. - Lire l'article
Initialement, KreiosC2 est une preuve de concept, développée en Ruby, qui permet d'utiliser Twitter en tant que canal de commande et de contrôle pour gérer un réseau de type Botnet ( lien ). Les commandes sont ici transmises via des messages postés sur un compte Twitter unique et protégé. Le client infecté va vérifier périodiquement ce compte afin de récupérer les commandes qu'il devra traiter. Ces commandes peuvent être représentées selon quatre formats différents.
Le format par défaut utilise les commandes brutes, l'identification se faisant par une chaîne spécifique placée en début de message (:cmd ping 88.191.75.173). Le second format privilégie lui des phrases, en anglais, qui correspondent chacune à une commande. Les correspondances sont gérées par des tables internes. Ces phrases sont suivies d'une somme de contrôle, soit les dix derniers octets du MD5 du message, afin de bien discerner les messages à traiter (do stuff on 88.191.75.173 #7266bb357d).
Ce format permet par ailleurs de modifier régulièrement les tables de concordance afin de minimiser les risques de détection par recherche de motifs. Alors que le format suivant privilégie l'encodage base64 pour l'obfuscation des commandes (xxcGluZyA4OC4xOTEuNzUuMTcz), le dernier format emprunte lui des caractéristiques propres à chacun des trois autres. A savoir, la syntaxe brute du premier, l'encodage base64 du second et les sommes de contrôle du troisième, il utilise néanmoins SHA1 cette fois-ci.
Un chiffrement AES (h+Mxms5NyvKajSH2EUyeyTmtECg1P) est également appliqué aux commandes avec ce format. Les dernières versions de KreiosC2 se basent par ailleurs sur l'utilisation de fichiers autonomes pour la gestion des formats et des canaux. Les ajouts et les mises à jour de ces éléments se font dès lors de façon dynamique puisqu'elles ne nécessitent pas que l'attaquant redémarre les applications principales ou qu'il intervienne manuellement au niveau du client infecté.
Chaque format est par exemple géré à travers deux fichiers, le premier servant à l'encodage des commandes coté serveur et le second à leur décodage coté client. Il en va de même pour la gestion des canaux. Outre ces fonctions de maintenance, KreiosC2 permet également d'effectuer, coté client, un ping sur l'adresse IP d'une machine distante, comme vu précédemment, mais également de télécharger des exécutables ou des scripts dont il facilitera ensuite l'exécution sur le client infecté.
A noter que, par défaut, les messages antérieurs ne sont pas traités afin de faciliter la mise en place du dispositif, un paramètre permet néanmoins de modifier ce comportement par la suite. Dans la dernière version de KreiosC2, des canaux additionnels sont de plus disponibles, TinyURL et JPEG. TinyURL autorise l'abus des raccourcissements personnalisés d'URL afin de passer les commandes au client, alors que le format JPEG offre lui le champ commentaire de ses entêtes pour l'injection de commandes au sein d'images valides.
La multiplication des canaux et le fait de pouvoir basculer dynamiquement entre eux permettent de réduire le temps d'exposition consécutif sur un même canal et donc les risques de détection. L'automatisation de la mise en ligne et de la gestion d'images multiples, voir multi-sites, sont par ailleurs de futures pistes de développement. A l'avenir, l'utilisation de Twitter pourrait aussi évoluer de façon à mettre en place des systèmes beaucoup plus complexes pour le passage des commandes vers le client infecté.
Ce dernier pourraient par exemple reconstituer les commandes en récupérant des caractères, à position fixe ou évolutive, dans des messages qui seraient postés sur un ensemble de comptes protégés. Des tables de concordance aideraient alors à définir la liste de ces comptes et leur ordre d'utilisation. Des ensembles différents de comptes pourraient même être définis pour chaque client infecté et par période. On pourrait de plus imaginer des permutations en fonction des messages pairs/impairs pour chaque compte.
Les séparations entre les commandes pourraient elles être gérées selon des intervalles de temps donnés ou de façon plus pratique par l'intermédiaire de motifs spécifiques postés sur les comptes de terminaison. La commande reconstituée pourrait de plus être chiffrée préalablement à sa dé-construction. Le nombre journalier de messages postés et la qualité de son API font de Twitter un idéal de furtivité pour ce genre d'opérations. La détection d'un tel système serait en effet assez complexe.
A noter finalement qu'un module additionnel est dès à présent disponible au téléchargement pour KreiosC2 et qu'il permet de dissocier les commandes et les arguments lors de l'utilisation du service Twitter en tant que canal de commande et de contrôle. L'activation de ce module implique donc que le client infecté doit récupérer, depuis le compte Twitter, deux messages distincts, postés consécutivement, avant de se charger de les ré-associer et d'effectuer les traitements demandés.
Démonstration de KreiosC2 en vidéo :
Le site officiel ( lien )
KreiosC2 PoC v3 ( lien )
Module Split Langage ( lien )
Source : DigiNinja ( lien )
- Article suivant : Videojak, un outil pour le hijacking et le DoS des appels et flux vidéo
- Article précédent : Publication de la version stable 3.3 de la plateforme d'exploitation Metasploit
- Article suivant dans la catégorie Outils : Videojak, un outil pour le hijacking et le DoS des appels et flux vidéo
- Article précédent dans la catégorie Outils : Publication de la version stable 3.3 de la plateforme d'exploitation Metasploit
| Mini-Tagwall des articles publiés sur SecuObs : | | | | sécurité, exploit, windows, microsoft, attaque, réseau, outil, vulnérabilité, audit, système, virus, internet, données, metasploit, présentation, linux, bluetooth, protocol, source, vista, scanner, réseaux, shell, rootkit, engineering, conférence, trames, paquet, téléphone, wishmaster, sysun, mobile, noyau, mémoire, botnet, https, rapport, libre, téléphones, google, patch, reverse, scapy, security, navigateur |
| Mini-Tagwall de l'annuaire video : | | | | security, vmware, biometric, virus, metasploit, windows, password, botnet, lockpicking, tutorial, attack, exploit, network, linux, source, crypt, iphone, server, secconf, shmoocon, conficker, engineering, virtual, ettercap, wimax, rootkit, wireshark, reverse, hackitoergosum, cisco, internet, hacker, systm, openssh, firewall, wireless, openbsd, openvpn, meterpreter, access, conference, arduino, knoppix, backtrack, brucon |
| Mini-Tagwall des articles de la revue de presse : | | | | security, microsoft, windows, hacker, attack, network, vulnerability, google, exploit, malware, internet, remote, iphone, server, inject, patch, apple, twitter, mobile, virus, ebook, facebook, vulnérabilité, crypt, source, linux, password, intel, research, virtual, phish, access, tutorial, trojan, social, privacy, firefox, adobe, overflow, office, cisco, conficker, botnet, pirate, sécurité |
| Mini-Tagwall des Tweets de la revue Twitter : | | | | security, linux, botnet, attack, metasploit, cisco, defcon, phish, exploit, google, inject, server, firewall, network, twitter, vmware, windows, microsoft, compliance, vulnerability, python, engineering, source, kernel, crypt, social, overflow, nessus, crack, hacker, virus, iphone, patch, virtual, javascript, malware, conficker, pentest, research, email, password, adobe, apache, proxy, backtrack |
|
|
|
|
|