Botconf - J2

How to use WinDBG for Rootkit Analysis

(stream dispo ici)
Pour les rapport TLP est une proposition permettant de communiquer clairement sur la dangerosité d’une menace, comme ça manque un peu de précision, @RootBSD propose une version spécifique: TLP:RAINBOW.
Windbg c’est puissant, mais ça peut foutre la merde dans votre analyse, c’est comme utiliser une scie circulaire pour peler une orange. Volatility travaille à partir d’une image du système. Pour l’obtenir, soit vous utilisez moonsols, soit vous crashez votre système, du coup c’est pas très interactif, contrairement à Windbg. On peut travailler « à chaud », scripter des choses en python, bref on peut bosser avec sur de l’analyse dynamique de malwares.
lm: list modules, lm f pour les fichiers liés, lm v, etc… le terme pool désigne un morceau de mémoire système. certains malwares utilisent des pool tag connus pour masquer leur présense, c’est le cas notamment d’uroboros. !drvobj, !dbgobj. !chkimg nt -d permet de valider si il y a concordance entre l’image en mémoire et l’image de l’exe/lib/bin sur le disque. Bien entendu on peut faire du désassemblage avec, voir des données en mémoire sous divers formats. .tlist permet de lister les process en mémoire, avec !process on peut obtenir des détails sur un process spécifique. lorsque Windbg est attaché à un process, avec lm on peut voir les dll du process. Bien sûr c’est un debugger qu’on peut attacher à un process, faire du steb by step, mais pas avec les mêmes raccourcis, ça serait trop facile sinon. En gros, windbg tu connais pas les commandes tu peux pas les deviner, c’est pas intuitif, mais c’est très puissant.

A Timeline of Mobile Botnets.

Une histoire des botnets mobiles. En 2009, Yxes etait un botnet mobile sous symbian avec un c&c et la capacité de se propager par SMS, mais sans possibilités d’exécuter des commandes. Eeki.B se propageais sur les iPhone jailbreaké, et scannait le réseau local à la recherche d’autres iPhone via ssh et un pass par défaut. Il pouvait télécharger et exécuter des scripts depuis le c&c. Puis les malwares Android visant des applications bancaires ont débarqué sous Android. 93% des botnets mobiles sont sous android. 2013 à été marqué par une augmentation du nombre de malwares Android émergeants avec des fonctionnalités d’infection des pc via les montage USB (mode clef usb). en 2014, le 1er ransomware Android à vu le jour avec un C&C Tor. Avant, seul les malwares envoyaient des info sur le téléphone comme l’imei, le n° etc… maintenant des applications légitimes font la mêmes choses, rendant plus difficile la différentiation goodware/malware basé sur les informations exfiltrées. La plupart des botnets mobiles utilisent HTTP comme protocole de com. Lorsque HTTP est combiné à des com SMS, c’est souvent un canal de backup, ou de mise à jour du botnet. Globalement, la crypto employée dans ces botnets est très très basique (xor, obfuscation arithmétique, etc…). L’infection se fait via des applications sur le market google, mais elles sont vite retirées dès qu’elles sont identifiées. Les markets alternatifs sont aussi une bonne source d’infection. Le drive-by download est aussi une source émergente d’infections.

Ad Fraud Botnets 101

La structure de l’achat/revente d’affichages publicitaires rend très difficile la détection d’une fraude au click ou au traffic. Entre les marketeux et ceux qui affichent, des dizaines d’intermédiaires prospèrent et revendent de l’espace d’affichage et du traffic utilisateur. Du coup ce flou crée un écosystème profitable dans lesquels les botherders peuvent faire de l’argent « proprement » en manipulant les pubs affichés aux utilisateurs infectés, ou en les forçant à ouvrir ou à cliquer sur des pubs. On parle de clickfraud lorsque les publicités en « pay per click » sont détournés, et d’Adfraud lorsque c’est l’affichage de publicités qui est forcé. Le problème, c’est que c’est plus dur de détecter de l’affichage forcé que du click forcé, et il est possible de faire des erreurs en blacklistant des diffuseurs légitimes. L’Adfraud implique de l’automatisation du navigateur pour générer du traffic réaliste sur les régies publicitaires et les sites de diffusions sous contrôle des fraudeurs, ou des clients achetant du traffic pour leur site. Les fraudeurs utilisent des outils fournis pour l’automatisation comme ChromeDriver ou les API d’Internet Explorer. Les process de navigation sont cachés à l’utilisateur pour ne pas perturber sa navigation. Le bot génère aussi des déplacements aléatoires de la souris avant de cliquer sur les liens ou les pubs.

Condenser: a graph based approach for detecting botnets

Bon, détecter un botnet, c’est compliqué, fast-flux, double fast-flux, chiffrement, protocoles originaux, c’est compliqué à détecter au niveau réseau. Pour détecter des botnets au niveau réseau, les approches suivantes ont été privilégiée : l’inspection de paquets, l’analyse de flux réseaux (NetFlow ?) et l’analyse des requêtes DNS. Pour la détection, c’est des techniques de machine learning et d’IA qui sont utilisées : classifieurs et SVM sont de la partie. Les informations collectées sont corellées avec des infos extraites de sinkholes, et de bases de réputation comme mailspike et maltracker.

APT Investigation Backstage

Un backstage des méthodes utilisées dans l’analyse du cas d’APT pitty tiger.
les comportements de l’attaquant permettent de l’identifier: typosquatting, serveurs anonymes, soumission d’un malware jusqu’a sa non-détection sur un virustotal-like, etc… Les réseaux sociaux peuvent aussi faciliter l’identification des attaquants par leur liens sociaux. La communication avec l’attaquant l’identifie, sa volonté ou non de communiquer sur des liens non-chiffrés par exemple. les payement avec des monaies non-traçables indique que « l’employeur » est potentiellement un attaquant. Lors d’une analyse, à un moment, vous êtes confronté à une équipe, qui a des moyens et vous vous retrouvez très vite limité. C’est là qu’il faut réfléchir à l’équipe que vous voulez constituer pour couvrir vos besoins techniques sans crouler sous les problèmes de communication. Deux analystes ne vont pas nommer forcément les choses de la même façon, de la même façon que les anti-virus n’ont pas les mêmes noms d’un anti-virus à l’autre. Rien que la collecte et le nommage des éléments découverts peut générer de la confusion. Le rapport qui fournis la vision d’ensemble sur l’attaque est issu de la fusion de différentes vues, avec des approches différentes, ce qui rend la synthèse complexe. Pour éviter ce piège, il faut que l’analyse soit issue d’un consensus entre les différents intervenants, les faits, et les hypothèses.

Bypassing sandboxes for fun

(stream à ouvrir dans vlc: http://stream02.univ-lorraine.fr/live/mp4:loria-amphi.stream/playlist.m3u8 )
Les « bacs à sables » servent à analyser des malwares, et du coup certains veulent employer ces sandbox pour analyser tous les fichiers entrants dans l’entreprise à la manière d’un IDS. Les attaquants peuvent détecter ces sandboxes et programmer des comportements différents pour paraître inoffensifs dans ces environnements particuliers. Détection de virtualisation, clefs de registres, drivers spécifiques, identifiants de périphériques, etc, c’est pas les techniques qui manquent, ni les indices.

Learning Attribution Techniques by Researching a Bitcoin Stealing Cyber Criminal

L’attribution consiste à identifier le cybercriminel derrière les malwares. C’est un bon moyen de couper le problème des malwares à sa source.  Pour ce faire, il faut collecter beaucoup d’info sur le cybercriminel, pour lier les éléments entre eux. Cependant, s’attribuer cette identification peut engendrer beaucoup de problèmes si elle est diffusée publiquement. Une attribution, ce n’est pas juste l’obtention de l’identité de l’attaquant, c’est aussi obtenir une bonne connaissance de ses capacités, ses techniques, ses méthodes et ses objectifs. Dans le cas d’un détournement de bitcoins, la victime à identifier à partir des blockchains le nickname et les deux portefeuilles de bitcoins destinataires. La il s’agit de tirer sur le fil pour dérouler la pelote jusqu’au cybercriminel. La piste à remonté à un forum, et à une victime qui à téléchargé sur usenet un malware volant les bitcoins. En analysant les infos de VT, l’orateur a pu remonter à un utilisateur avec un pseudo similaire à celui du forum. Du coup avec une signature yara correspondant, l’orateur à pu détecter des malwares propagés par le cybercrimnel. Une autre victime s’est plainte d’un vol de bitcoin par le même cybercriminel dont les pseudos sont présent dans les blockchains. de pseudos en pseudos de plus en plus d’indices pointent vers le cybercriminel. Les e-mails liés à ses pseudos pointent sur des noms de domaines correspondant à ces pseudos, de même que des posts sur des forums avec un porte-feuille bitcoin déjà préalablement identifié dans un vol de bitcoins. Le cybercriminel s’est fait blacklister d’un hébergeur anonyme. Du coup il à mis en place un autre C&C à l’arach, le temps de monter un nouveau C&C chez un autre hébergeur anonyme.

Les outils utilisés pour traquer le cybercriminel: domaintools, maltego, passive dns provider, google, virustotal, les blockchains bitcoin, et bien entendu facebook.

The Russian DDoS One: Booters to Botnets

Petit coup d’oeil sur un forum de négociation de DDoS: DDoS as a service. L’accès se fait sur invitation ou recommendation, les admins du forum servent de cible de test pour valider les capacités de DDoS des cybercriminels. Les botherders revendant du DDoS avec des posts sur le forum. L’analyse de l’activité et des infos d’un de ces services de DDoS permet de remonter progressivement à un botnet de DDoS. Ces éléments remontent à un autre cybercriminel fournissant du DDoS, puis à un troisième.

Chinese Chicken: Multiplatform DDoS Botnets

Analyse d’un botnet multi-plateformes de DDoS relié à plusieurs intrusions et infections de serveurs linux. La compromission se fait principalement par du bruteforce SSH, shellshock, etc…  les binaires sont souvent packé avec un UPX modifié. Les outils sont cross-platform, avec des versions Windows, Linux et FreeBSD.

Ponmocup Hunter 2.0

L’infection commence avec un .htaccess malicieux qui redirige le traffic vers une gateway, qui effectue d’autres vérifications, et après d’autres vérifications par zuponcit, un agent d’infection est ajouté, qui lâche un adware s’il est mal analysé. A la fin, on se retrouve avec un bot ponmocup.
le Zuponcic fournis des .exe ou des .jar dont le nom est composé des critères de recherche utilisés dans Google pour tomber sur le serveur infecté. Les serveurs web sont infecté par un accès FTP faiblement protégé (bruteforce?). Le .htaccess utilise un cookie pour vérifier si la personne vient plus d’une fois, et vérifie le user(agent, ainsi que le referrer). Si les IP viennent de chez Google, aucune redirection n’est faite. Les serveurs infectés sont détectable à l’aide de ponmocup-finder. Pour trouver plus de domaines infectés, le script de découverte à été re-codé puis lancé sur l’alexa top 1M pour un scan de 2j (le taff est tellement gros que ça rentre pas dans le liveblogging 😉 ).