Intrinsec était présent lors de la seconde édition de la Botconf qui s’est déroulée du 3 au 5 décembre à Nancy. Les vidéos et les slides sont disponibles à l’adresse suivante : https://www.botconf.eu/botconf-2014/documents-and-videos/
Ce compte-rendu concerne la deuxième journée du 4 décembre 2014.
Feedback on WinDBG usage – Paul Rascagnères (G-Data)
Slides : https://www.botconf.eu/wp-content/uploads/2014/12/2014-2.1-Workshop-Feedback-on-Windbg-Usage.pdf
Lors de ce Workshop (qui s’est avéré être plutôt une présentation), Paul Rascagnères a présenté l’outil WinDBG, qui est un debugger développé par Microsoft.
Cet outil peut être utilisé à la fois pour debugger des logiciels (niveau utilisateur) que le kernel Windows. Mais, d’après l’auteur, son intérêt tient surtout du fait que c’est le seul outil permettant de debugger le kernel Windows.
Paul Rascagnères rappelle ensuite qu’il est possible d’adopter deux approches :
- Live debugging : dynamique, peut être utilisé pour debugger une machine à distance. Cependant, le processus est très lent, certains outils ou configurations peuvent accélérer le processus
- Debugging d’une image Windows (Crash dump) : statique, seul une vue du système à un instant t est disponible.
Ensuite, les principales commandes ont été présentées.
Pour finir, l’utilisation de cet outil est illustrée sur le malware Uroboros qui utilise un faux driver pour dissimuler ses activités.
A timeline of mobile botnets – Ruchna Nigam (Malware Analyst, Fortiguard Labs) – @_r04ch_
La conférencière commence par dresser une chronologie des malwares visant les terminaux mobiles :
- 2009 : apparition des premiers bots pour Symbian et iOS ;
- 2010 : version Symbian de ZeuS, elle vient compléter la version PC du banker pour contourner les mécanismes de protection mis en place par les banques, en interceptant les codes de confirmation SMS utilisés pour protéger les transactions. Des versions Blackberry, Windows CE et Android sont développées dans les deux années qui suivent.
- 2012-13 : années marquées par de nombreux malwares de type banker ;
- 2014 : les ransomwares arrivent sur terminaux mobiles avec Pletor.
Aujourd’hui, 93% des malwares mobiles visent Android. Le chiffre est probablement lié à la facilité de développement et à la part de marché que représente cette plateforme.
En ce qui concerne les C&C, la majorité des bots communiquent via HTTP, dont une faible partie utilise HTTPS. Le reste s’appuie sur les SMS, et une petite quantité de malwares mélangent HTTP et SMS.
Chez les différents malwares, on retrouve généralement des fonctionnalités d’espionnage (géolocalisation, collecte des SMS, surveillance des appels) ou financières (envoi de SMS vers des numéros surtaxés, interception des SMS de contrôle bancaires). Ils présentent également fréquemment des fonctionnalités de propagation vers d’autres appareils.
Certains bots présentent des fonctionnalités particulières :
- Tascudap est utilisé pour lancer des attaques DDoS ;
- Twikabot utilise notifications Twitter comme C&C ;
- NotCompatible agit comme un proxy et redirige toutes les communications du terminal vers les serveurs C&C ;
- Claco est un malware PC qui déploie sa version mobile lorsqu’un appareil est connecté en USB.
Les bots font généralement preuve d’une maturité faible dans l’utilisation de la cryptographie. On retrouve des algorithmes de chiffrement faits maison facilement cassés, ou des algorithmes symétriques simples (XOR, DES) avec des clés codées en dur.
Quant aux moyens de distribution, les malwares peuvent prendre la forme d’applications en apparence inoffensives, distribuées via sites Web ou magasins d’applications. Certains se propagent également lorsqu’un terminal est connecté à un PC infecté.
Dans certains cas, des moyens de distribution ciblés ont été utilisés. Deux exemples sont présentés :
- Les participants à une conférence du Congrès mondial des Ouïghours ont reçu un e-mail prétextant leur fournir en pièce jointe l’application officielle pour suivre la conférence ;
- Les manifestants durant les évènements d’automne 2014 à Hong-Kong ont reçu des messages WhatsApp en apparence légitimes qui contenaient le malware d’espionnage AndroRAT.
Pour conclure, la conférencière indique que les botnets de terminaux mobiles sont une réalité, pas un simple sujet de recherche académique. Ils présentent de plus un potentiel de résilience plus important que leurs contreparties « fixes » vu le plus grand nombre de canaux disponibles pour les C&C.
Elle présente également les évolutions possibles. On peut s’attendre à une progression des attaques multiplateformes (comme les infections d’appareils connectés en USB présentées plus tôt) parallèle à celle des objets connectés.
Pour les analystes, il faudra se tourner vers de nouvelles méthodes, par exemple, étudier les possibilités de détecter les comportements malveillants au niveau des réseaux mobiles.
Ad Fraud Botnets – Oleksandr Tsvyaschenko & Sebastian Millius (Google)
Au début de cette présentation, le malware ZeroAccess (de la famille des clickfraud) est présenté, celui-ci a infecté plus d’ordinateurs que le malware Zeus et il est estimé qu’il est responsable d’environ 150 millions de requêtes par jour et génère $50 000 de revenus par jour à ses créateurs. L’argent récupéré de ces campagnes est ensuite réinjecté dans les marchés underground, d’où l’intérêt de limiter ce type de fraude.
Ensuite, le fonctionnement de l’écosystème des publicités est présenté. Au départ, celui-ci était simple et reposait sur un « advertister » et un « publisher », mais afin de faciliter la gestion des publications, des entités appelées « network » ont été ajoutées comme intermédiaire.
Plusieurs systèmes de paiement existent : CPC (Coût par clic), CPM (Coût pour 1000 affichages, c’est-à-dire que l’affichage de 1000 publicités est rémunéré) et enfin CPE (Coût par engagement).
À l’intérieur de cet écosystème, chaque entité tente de faire de l’argent, développant ainsi le besoin de fraude pour certains.
Dans la seconde partie de la présentation, l’accent est mis sur la difficulté de filtrer ce type de fraude, en effet, les malwares modifient de manière aléatoire leur user-agent, utilisent des fonctions des navigateurs et simulent aussi le mouvement de la souris (selon des algorithmes de plus en plus complexes).
Enfin, les auteurs expliquent le takedown réalisé sur ZeroAccess en décembre 2013 mais constatent que celui-ci est de nouveau en service depuis le 21 mars 2014. L’accent est ensuite mis sur les difficultés à trouver les responsables étant donné l’écosystème.
Encore une fois, la présentation se termine sur une demande pour plus de collaboration dans la communauté et avec les forces de l’ordre.
CONDENSER : a graph based approach for detecting botnets
Pedro Camelo – Master spécialisé à l’université de Lisbonne – Equipe R&D de AnubisNetworks
João Moura – Doctorant en intelligence artificielle à l’université de Lisbonne – Equipe R&D de AnubisNetworks
Professeur Ludwig Krippahl – Docteur en biochimie – Master spécialisé en intelligence artificielle appliquée à l’université de Lisbonne
Les conférenciers présentent leurs travaux sur des nouvelles méthodes de détection de botnets. En s’appuyant sur l’infrastructure de sinkholing d’AnubisNetworks, ils développent les aspects suivants :
- Analyse et classification des communications interceptées selon les motifs récurrents détectés ;
- Etudes statistiques sur les noms de domaines utilisés pour identifier ceux utilisés par les bots ;
- Organisation des données collectées sous formes de graphes pour extraire de nouvelles informations à partir de requêtes spécifiques.
Les méthodes d’analyses utilisent des principes de recherche en intelligence artificielle, comme les réseaux de neurones pour apprendre les motifs dans l’analyse de trafic.
Ces méthodes ne sont pas infaillibles, elles se heurtent notamment aux techniques d’évasion des malwares, au fait que les topologies peuvent radicalement varier d’un botnet à l’autre. Elles génèrent également une quantité de données très importante. Ces points sont traités par des approches complémentaires : corrélation des informations pertinentes (évolution chronologique du comportement des botnets, prise en comptes des travaux d’analyse de malwares de la communauté et développement de nouvelles méthodes d’apprentissage automatisé.
APT investigation backstage – Ivan Fontarensky & Ronan Mouchoux (Airbus Defense and Space)
Cette conférence avait pour objectif de présenter les différentes questions qui peuvent se poser lors de l’investigation d’une menace type APT.
Tout d’abord, les auteurs ont rappelé comment pouvait se passer le début d’une investigation : en rencontrant une donnée suspecte que ce soit une adresse IP, un exécutable ou encore des identifiants. Ces suspects peuvent ensuite être retrouvés depuis une base de connaissances (réputation, compétence, motivation) ou encore depuis une étude comportementale, en effet, l’utilisation de serveur anonyme ou de chiffrement indique une attitude suspecte. De manière similaire, quelqu’un proposant des services rémunérés en bitcoins attire généralement l’attention.
Une fois, une piste trouvée, il est temps de choisir son équipe. Les auteurs ont ensuite expliqué à quel point cette étape est importante. En effet, plus une équipe est fournie et plus il y a de compétences, mais il est aussi plus difficile de communiquer et de partager des connaissances au sein d’une large équipe. D’où l’importance de partager l’avancement le plus souvent possible, d’utiliser les mêmes outils afin de faciliter l’étape d’assemblage et de consolidation des résultats.
Pour finir, une fois l’investigation terminée et les rapports terminés, il est important de se poser les questions concernant l’anonymisation des données. Y compris des données de l’attaquant, après tout, celui-ci possède aussi une vie privée. Aussi, concernant l’attribution, quand est-il nécessaire d’attribuer une campagne à une entité ? Dans quel but ? Et enfin, quand peut-on publier les informations d’une campagne, sans mettre en danger les travaux réalisés jusqu’à présent ?
Middle Income Malware Actors in Poland – VBKlip and Beyond
Łukasz Siewierski – CERT-PL – @maldr0id – maldr0id.blogspot.com
Le conférencier montre que les malwares ne jouent pas tous dans la même cour. Il compare FinFisher et Citadel, des malwares très avancés mais difficilement accessibles, à VBKlip et Aux Logger, qui eux ont des fonctionnalités bien plus basiques mais ont plus de visibilité.
Le principe de VBKlip est simple : il surveille le contenu du presse-papier de la machine infectée et, lorsqu’il détecte un motif correspondant à un compte en banque, remplace la chaîne par l’identifiant d’un compte contrôlé par l’attaquant. Même si capacités malveillantes sont sommaires, le malware a été développé proprement : il utilise un dropper, peut se propager et possède un système de notification SMTP pour le contrôleur du botnet. Les vecteurs d’infections sont également simples, qui passent généralement par du spam à destination d’utilisateurs polonais.
Le conférencier illustre la simplicité d’un tel malware en montrant le code source d’un dérivé .Net de VBKlip, dont l’intégralité tient sur une dizaine de lignes. Il présente ensuite d’autres malwares de la même famille :
- Banatrix, qui s’accroche aux processus des navigateurs Web et cherche les motifs correspondant aux numéros de compte directement en mémoire ;
- Bitcurex, qui lui cherche et remplace les identifiants de portefeuilles Bitcoin ;
- Aux Logger et Carbon Grabber, qui se concentrent sur l’enregistrement des frappes clavier et de capture d’écran.
Bypassing sandboxes for fun – Paul Jung (Excellium)
Le conférencier commence par rappeler l’intérêt principal d’utiliser des sandbox : le gain de temps. Les malwares sont quasi-systématiquement obfusqués par une ou plusieurs couches de packing, et tout analyser à la main prend beaucoup de temps. Les auteurs de malware cherchent de leur côté à détecter les sandboxes pour ne s’exécuter que sur les cibles désirées, ralentir les analystes et gagner du temps pour la propagation de leur charge.
Comment détecter une sandbox ? Il s’agit de détecter les caractéristiques des environnements virtualisés : services, fichiers ou outils spécifiques (ex. VMWare Tools), entrées dans la base de registre, adresses MAC propres à certains constructeurs, numéros de série (disques dur, système d’exploitation), historique de navigation, applications en cours d’exécution, appartenance à un domaine Windows, interactions de l’utilisateur, etc.
Vérifier ces éléments en utilisant les API est généralement voué à l’échec. Les sandboxes positionnent des hooks sur certaines fonctions et détectent ce comportement. L’idée est donc d’employer des moyens détournés identifier ou perturber les sandboxes, notamment :
- Utiliser des fonctionnalités non documentées de certains hyperviseurs ;
- Analyser les résultats de l’instruction x86 CPUID (valeur de l’attribut hypervisor, valeurs de mémoire cache incohérentes, etc.) ;
- Lire le Process Environment Block (PEB) pour en extraire le nombre de cœurs et de processeurs ;
- Parcourir la structure LDR du PEB qui contient des informations sur les DLL chargées pour détecter les modules présents propres aux sandboxes ;
- Exploiter le comportement des fonctions hookées, par exemple exécuter un long sleep en parallèle d’une plus courte (ex. resoudre un nom de domaine). Si le sleep se termine en premier, il est manifestement hooké.
Pour les analystes, il faut donc émuler un maximum un environnement non-virtualisé pour tromper les malwares : configurer plusieurs processeurs, vérifier la cohérence des résultats de CPUID, ne jamais installer les outils sur les systèmes invités, faire une image d’un véritable poste de travail, etc.
Pour conclure, le conférencier indique que les sandboxes ne sont pas magiques et qu’il ne faut pas plus leur faire confiance qu’aux antivirus. Il renvoie le public vers de nombreuses ressources pouvant servir au durcissement de configuration de sandbox :
- Batterie de tests de détection d’environnements virtualisés développée par le conférencier : https://github.com/Th4nat0s/No_Sandboxes
- Bible pour CPUID : etallen.com/cpuid.html
- Guide de configuration VirtualBox : http://kernelmode.info/forum/viewtopic.php?f=11&t=3478
- Génération de machines virtuelles pour Cuckoo : https://github.com/jbremer/vmcloak
- Papier présentant des résultats de tests d’évasion de sandbox : https://blog.mrg-effitas.com/wp-content/uploads/2014/11/Crysys_MRG_APT_detection_test_2014.pdf
Learning attribution techniques by researching a Bitcoin stealing cybercriminal – Mark Arena (INTEL471)
La conférence présentée par Mark Arena abordait aussi le thème de l’attribution, qui consiste à considérer un incident et tenter de découvrir qui et pourquoi. Connaitre seulement l’identité ou l’adresse email d’un attaquant ne suffit pas, il faut aussi connaitre le mobile et les méthodologies utilisées. Parfois, la réutilisation d’une adresse email, d’un mot de passe ou encore de pseudo permet d’identifier que plusieurs attaques ont été réalisées par la même entité.
Dans la suite de la présentation, l’auteur a illustré l’attribution par l’histoire d’un voleur de Bitcoin distribuant un malware qui vole les portefeuilles Bitcoins (wallet.dat) ainsi que d’autres monnaies virtuelles. Juste en se basant sur un commentaire d’une victime dans un forum contenant un pseudo et des identifiants de portefeuille, Mark Arena a réussi (via des outils comme Google, Domains Tools, etc.) a retrouvé d’autres victimes, des analyses Virus Total, d’autres pseudos et même des commentaires en français vraisemblablement postés par l’attaquant sur des forums de bitcoins.
Cependant, même en connaissant les malwares ainsi qu’une méthode d’infection (binaires placés sur des serveurs de partages), l’auteur ne sait toujours pas qui est derrière le clavier, même si sa nationalité semble avoir été découverte.
The Russian DDoS One: Booters to Botnet – Dennis Schwartz (Arbor Networks)
La présentation s’orientait sur les services de DDoS disponibles sur Internet (et principalement en Russie). En effet, il est possible, lorsque l’on sait où chercher, de trouver des plateformes proposant des DDoS contre rémunération. Il était intéressant d’apprendre qu’un DDoS d’une heure contre une cible peut vous coûter entre 5 et 15 dollars. À l’instar de n’importe quel business, ce genre de plateforme décline ses prix et ses services (ICMP flood, HTTP flood, durée du DDoS, etc.).
Naturellement, les administrateurs de telles plateformes sont méfiants, les communications se font principalement via des protocoles ICQ, Jabber ou encore Skype qui ne sont pas faciles à tracer.
Ensuite, l’auteur a présenté différentes plateformes proposant ce genre de services comme Stelios, Ayabot ou encore Copyleft. La plupart de ces services reposent sur l’emploi de botnets. Les structures des C&C et le fonctionnement des botnets ont été présentés pour chaque plateforme.
Chinese Chicken: Multiplatform DDoS Botnets – Peter Kalnai & Jaromir Horejsi (Avast)
Nous restons toujours dans l’univers des DDoS avec cette présentation. Il s’agit cependant, de botnets basés sur des systèmes Unix.
Tout d’abord, les auteurs présentent les différents moyens d’infections :
- Exploit de vulnérabilité type Shellshock, Apache Struts, Apache Tomcat, Elastic Search, etc.
- Bruteforce SSH
Ensuite, des outils différents sont présentés pour réaliser les scans de port (ScanPort ou WinEggDrop) et les bruteforcers SSH (SSH2.1, DUBrute). Puis, les différents payloads avec leurs caractéristiques sont présentés :
- Elknot
- Bill Gates
- Mr Black
- IptabLes/IptabLex
- DDoS
- gh0st RAT
Enfin, la présentation se termine sur les cibles de ces botnets qui sont principalement des sites de jeux en ligne, de casino, d’e-commerce ou encore de forums.
Ponmocup Hunter 2.0 — The Sequel – Tom Ueltschi
L’auteur ayant déjà présenté le botnet Ponmocup lors de la précédente édition de la Botconf, il s’est concentré cette année sur la procédure d’infection et la structure réseau du botnet.
Pour compromettre de nouveaux clients, le botnet dispose de sites compromis. Ces sites hébergent un fichier .htaccess qui, d’une part, filtre les clients en fonction de leur User Agent et, d’autre part, redirige les clients vers un exploit kit. L’utilisation d’un .htaccess pour rediriger les clients permet donc même d’infecter les clients venant de moteurs de recherche. Pour ce qui est de l’exploit kit utilisé, dans ce cas, il s’agit de Zuponcic. Cet outil, lors de la visite d’un utilisateur, teste un grand nombre d’exploits différents afin de pouvoir exécuter du code sur la machine cliente et ainsi l’infecter.
Ensuite, l’auteur a présenté une technique utilisée par les C&C de Ponmocup pour limiter les possibilités de Sinkhole. Lorsque le malware effectue une requête vers le C&C, une ressource chiffrée est placée dans un cookie. Cette ressource est ensuite déchiffrée en utilisant la résolution DNS et l’IP du C&C.
Enfin, la présentation se termine sur les statistiques mesurées par Passive DNS qui indiquent que des millions d’ordinateurs sont aujourd’hui encore infectés par ce malware.
Lightning talks – seconde session
La deuxième séance de lightning talks regroupe les sujets suivants :
Hidden C&C par Peter Wälti : présentation d’un échantillon de malware PHP obfusqué dont le conférencier ne comprenait pas le fonctionnement, même après transformations du code… jusqu’à ce qu’il comprenne que les communications étaient « chiffrées » en whitespace.
Unusal Android malware par Łukasz Siewierski : présentation d’une analyse préliminaire d’un échantillon obtenu sur VirusTotal. Il s’agit d’un malware Android, mais dont les fonctionnalités utilisent du LUA traité par du .Net utilisant la bibliothèque Mono pour Android. Le conférencier bute sur l’analyse de cette couche, et demande aux analystes ayant déjà rencontré ce type de malware de le contacter.
Grading Intelligence in the UK system par Stewart Garrick : présentation du modèle d’évaluation de renseignements entre les agences britanniques. L’évaluation se fait selon une « grille » 5x5x5 :
- Qualité de la source (A-E) : « fiable » jusqu’à « inconnue »
- Qualité de l’information (1-5) : « vraie avec certitude » jusqu’à « semble fausse »
- Protocole de partage (1-5) : « l’information peut être partagée avec les autres agences » jusqu’à « procédure spécifique à respecter »
Ce protocole est interfaçable avec le Traffic Light Protocol (TLP). Le conférencier invite également les intéressés à se pencher sur les codes de l’Amirauté et de l’OTAN.
Stop using MD5 par Nick Sullivan : démonstration par la pratique de l’intérêt d’abandonner MD5 : le site Hashclash qui propose de générer des collision pour deux fichiers arbitraires en entrée.
Radare2 par Maxime Morin : présentation de l’outil radare2 et des nouvelles fonctionnalités, appel à contribution pour les personnes motivées.
Water torture par Pierre-Edouard Fabre : présentation d’un type d’attaque de déni de service utilisé par les botnets, à savoir la saturation DNS présentée un peu plus tôt par CloudFlare.