Botconf 2018 - J2

ça commence par du TLP Amber pour le premier talk 😉

[Edit: le cr en anglais par @xme pour le 2ème jour ici ]

Botception: a bot spreading scripts with bot capabilities

Durans le monitoring du botnet Necurs, l’orateur à découvert une campagne d’installation d’un autre bot. Necurs est apparu en 2012,  et il a eu les plus grosses campagnes de spam à ce jour. Necurs est modulaire, avec un protocole de C&C pair à pair. Pour monitorer le botnet, les orateurs ont développé un client qui émule le protocole de Necurs. Chaque branche de Necurs est identifié par un secret partagé au niveau du protocole de C&C. Le panel est en PHP, et son chemin & nom varie d’une branche à l’autre.

Lors d’une campagne, un e-mail était propagé avec un lien vers un fichier vbs. La propagation se faisait via un partage SMB que les orateurs on pu browser et ils y on récupéré toutes les campagnes préparés par le cybercriminel. Ils ont même reçu un message de sa part sous la forme d’un fichier dans le partage qui disait « fuck you! ». Le C&C du script VBS était codé en dur dans le script, et communique avec un gate.php sur un serveur web en POST. En récupérant l’exécutable

Le loader VBS était aussi disponible sur le marché noir. Après analyse du mécanisme de drop, ils sont tombé sur le RAT Flawed Ammyy. Une version modifiée issue du leak du code source.

Stagecraft of malicious office document – a look at recent campaign

La majorité des documents malicieux sont des .doc avec des macros, dont certaines contiennent des messages incitant à activer le contenu dynamique pour afficher les informations. Le scénario typique consiste en une campagne de spam avec un lien ou une pièce jointe. La macro télécharge et exécute le malware, qui procède à un fingerprint du système avant de dropper le RAT ou le malware de vol d’information. 
Pour éviter l’affichage de messages d’erreur, un « On Error Resume Next » est utilisé dans le code. PowerShell sert à télécharger la dernière payload (le RAT ou le stealer). Le code powershell est souvent « chiffré ». Une autre métode consiste à faire de l’obfuscation avec du junk code. pour l’évasion de sandbox, ils utilisent mshta.exe pour télécharger le second stage du malware.

Une autre campagne utilisait le powershell sous forme de propriété contenue dans des formulaires vbs ou des textbox. l’obfuscation consiste en des caractères morts et un décalage des valeurs ascii de la chaîne de caractères. Une autre variante utilisait BITSAdmin pour télécharger le malware. Le code VB contenait beaucoup de boucles pour ralentir l’analyse.  Une autre variante stockait le script sous forme d’un .bat dans %APPDATA%, mais le doc ne fonctionnait pas avec office 2007.

Souvent toutes ces campagnes comportent un grand nombre d’étapes et de vérifications pour éviter les sandboxes avec des mécanismes d’obfuscation ou de chiffrement très faibles.

Hunting and detecting APTs using Sysmon and PowerShell logging

@c_APT_ure [Edit: slides ]
L’objectif derrière ces techniques de monitoring c’est de coller à la matrice Att&ck et aux règles sigma pour écrire des règles de détection indépendantes des SIEM. Pour exploiter les techniques de l’orateur, il faut avoir les fonctions de logging activés, une centralisation des logs, la dernière version de powershell. Sur 25k machines, ça génère 150Gb par jour de donnés, ce qui fait un beau volume à indexer.

Quand on regarde les sources d’info à surveiller dans Att&ck, le cycle de vie du process ne peut être récupéré que depuis Sysmon. Crowdstrike à fait une heatmap de genre de monitoring. Les events WMI peuvent servir à la persistance. Mandiant & FireEye ont détaillé le fonctionnement de cette technique. Hexacorn à publié un article sur un ensemble de technique d’exécution au démarrage dont une à été utilisé par le groupe d’attaquant Strontium. L’orateur décrit les logs powershell qui correspondent à l’ajout de ces clefs de registres pour la persistance, et comment les extraire. PowerShell étant très utilisé par un grand nombre de cybercriminels dont des groupes d’attaquants. Le monitoring de powershell à été grandement couvert à BSides Washington par Sean Metcalf.

Pour échapper au monitoring, certains attaquant copient l’exécutable powershell et le déplace dans un répertoire random avant de l’exécuter. Pour éviter les faux positifs, on peu par exemple rechercher « Description: PowerShell » et exclure ceux qui s’appellent powershell.exe. Autre exemple avec le stager d’Empire et comment le détecter.

Autre technique: comment automatiser les screenshots avec PowerShell issu d’un blogpost d’un pentester qui s’est en suite retrouvé dans le code de plusieurs cybercriminels. L’outil powerpick utilise rundll32 pour exécuter du powershell.

C’est pas le tout de chasser les trucs malveillants que l’on connait, il faut aussi pouvoir chasser ce qu’on ne connaît pas. On peut construire une whitelist de fonctions powershell les plus connues et exécutés par des scripts légitimes, et s’en servir pour filtrer tout ça et surveiller les fonctions les moins utilisés qui apparaîtraient éventuellement et investiguer à partir de là.

Combattre le Cybercrime à la gendarmerie

La difficulté pour la Gendarmerie, c’est de s’assurer que les équipes techniques ont suffisament de moyens et le soutien qui leur permet de rendre leur missions. L’autre soucis c’est le partage du Threat Intel, qui ne peut pas toujours être obtenu de manière adéquate si l’on considère les contraintes d’une procédure judiciaire (validité de la preuve, etc…). Les Gendarmes ne travaillent pas pour le gouvernement, mais pour la justice et la sécurité des personnes. C’est eux aussi qui mènent l’enquête sur la base de signalement individuels. Autre difficulté, traduire les éléments techniques en quelque-chose de compréhensible pour Mr tout le monde afin de les sensibiliser sur les nouvelles arnaques. La lutte contre la pédopornographie est aussi dans leurs mission, avec comme objectif principal de sauver les enfants victimes de ces trafics.

En plus d’une unité structurée autour de nombreux experts, techniciens et gendarmes formés aux action forensics de base, la gendarmerie collabore activement avec la police, l’ANSSI, Europol et des partenaires internationaux comme le FBI. La vitesse de traitement du problème est crucial. Il faut sur la base du renseignement, être capable de mettre en oeuvre une solution judiciairement viable et techniquement valide tout en respectant des contraintes budgétaires inévitables.

Traiter avec des criminels classique qui opèrent sur le darknet pour vendre leur marchandises n’est pas très simple. Etre capable de faire sauter son anonymat numérique n’est pas toujours simple, même s’ils ont du mal à justifier la provenance de leur argent, il n’ont pas d’éléments incriminent chez eux lorsque la perquisition tombe.  Il n’est pas possible d’inculper quelqu’un sur la base d’hypothèses, il faut des preuves acquises avec méthode. Transformer un tuyau reçu par un expert en une enquête fait partie des missions du C3N. Reprendre l’initiative sur les cybercriminels et anticiper les plaintes qui découlerons de leurs activités est un sacré challenge. Le Cybercrime est le crime le plus difficile à résoudre.

Pour compenser le manque de techniciens et d’experts, la Gendarmerie peut recruter des experts et en faire des enquêteurs pour permettre aux enquêtes de fonctionner dans un environnement technique complexe.

Everything about panda banker.

Le malware est nommé panda à cause de l’anti-virus panda, et le titre panda dans le panel. l’autre nom c’est Zeus/Panda parcequ’il est basé sur le code source de Zeus.  Il y a eu 45 versions du malware jusqu’à ce jour. La version est stocké dans un DWord. Les api sont résolu par leur hash, technique classique d’anti-analyse. En version 2.2.9 les chaines de caractères sont chiffrés, et finissent par faire appel à une mécanique maison et différente de Zeus. De même les mécaniques de configuration ont lentement évolué de la version employé par Zeus à un système dédié à Panda.  Bien entendu, le malware fait appel à un mécanisme de DGA pour protéger son serveur de C&C. Comme de nombreux malwares, il est distribué & utilisé par plusieurs groupes de cybercriminels avec différentes activités.

The dark side of the ForSSHe

Windigo est une opération qui consistait à piper dans une session SSH un script perl qui collectais plein d’infos sur le serveur SSH. Perl est un peu obfusqué naturellement, mais c’est lisible par un être humain.  A partir de l’analyse du script PErl, ils ont recherché avec Yara des échantillons de malwares SSH. Ces backdoors SSH sont des versions patchés d’OpenSSH avec du vol d’identifiants de connexion intégré. Pour ce faire, les cybercriminels ont modifié les fonctions userauth_passd, ssh_askpass, try_challenge_response_auth, etc… qui servent à l’authentification de l’utilisateur.

L’exfiltration des informations se fait sur du GET ou du POST sur le port 80 du serveur C&C, ou par du DNS, ou encore l’envoi d’un e-mail sur SMTP. Voir des protocoles maison sur udp ou tcp.

Kamino par exemple vole les usernames & pass, les exfiltre avec la clef de session. L’opérateur peut se logguer comme root avec un password et une clef publique codée en dur. Kamino est apparemment lié aux groupes d’attaquants Carbanak et Darkleech.

Kessel utilise une fonction de chargement de configuration qui appelle une tartine de fonctions. c’est une famille de backdoors très complexes. Il leak les identifiants et les fichiers de clefs privés, peut exfiltrer par de nombreux protocoles, utiliser un proxy. Il dispose d’une fonction de C&C via les champs TXT de DNS, et il peut créer un tunnel SSH à la demande. Il utilise RC4 pour le chiffrement avec des clefs ssh en dur.

Bonadan réutilise le code d’Ondaron, une backdoor SSH publiquement disponible. Elle communique via un protocole UDP maison. Le mineur de bitcoin associé est pré-compilé sur le C&C, et correspond à l’OS de la victime.

Pour piéger les attaquant, les orateurs ont mis en place un honeypot capable d’être suffisament interractif pour que les attaquants y déposent des échantillons récents.

Borleias backdoor le client SSH, l’attaquant c’est connecté très rapidemnet après le leak des identifiants, via TOR. Il utilise OpenSSH sur Far-NEtbox, il es ttrès prudient quand à son éventuelle détection, et il nettoie l’historique après chaque connexion. Il effectue une reconnaissance en exfiltrant ssh, sshd et cron. La backdoor dispose d’un mécanisme anti-log et utilise RC4+ pour le chiffrement. Il chiffre ses rapports avec une clefs de session chiffré avec RSA.

Chandrila est une backdoor ssh qui peut recevoir des commandes sous la forme de mots de passes. Si elle reçoit un premier mot de passe elle crée un shell. Si elle reçoit un second mot de passe, elle crée un reverse-shell.

Pour échaper à ce type de backdoors, il vaut mieux utiliser l’authentification par clef, plutôt que du login/pass. Il vaut mieux désactiver le login root, et utiliser du 2FA. Vérifiez les sommes de contrôles de ssh & sshd. Linux est bel et bien une cible des cybercriminels, et ils mettent parfois beaucoup d’énergie pour éviter la détection sur les systèmes compromis. 

Onyphe – uncovering darknet websites

Onyphe est un « siem de l’internet » et fournis une API pour récupérer des infos aggrégés sur une IP. Si on peut coreller des informations sur le serveur web avec le serveur sur le darknet, on peut avoir une correllation forte. Pour la correllation, Onyphe utilise un langage de requête similaire à splunk.  Environ 3,3% des .onion sont démasquables.

Living with Kodi and a hole in your network.

Kodi est un player multi-média qui fonctionne à coup d’add-on pour lire des vidéos sur netflix, youtube, etc… Il faut être sûr de soit si l’on veut installer un plugin non-vérifié. Avec quelques fichiers, on peut créer une extension malicieuse qui exécute du python. Vu que l’install des plugins se fait en HTTP, un Man in the middle suffit pour piéger un Kodi.

Why botnet spam is going down

Depuis 2008, le nombre d’e-mails de spam descend. Le top du spam par pays, c’est l’inde, le vietnam et le mexique… c’est parceque c’est de plus en plus dur de faire tourner du malware sur des windows à jour, alors que dans ces pays… Il n’y a pas de meilleur moyen pour une machine que d’annoncer à coup de spam qu’elle est infectée…. Mais bien que le volume du spam est plus faible, le nombre de spam dans les inbox reste important. Les spammeurs se sont adaptés.

3ve

Un takedown sur 2k serveurs sur un botnet qui visait les datacenters. le bot incorpore pas mal de techniques pour éviter de se faire détecter. L’infection est surtout aux us et en allemagne, avec pas mal de serveurs sur toute l’europe.

VTHunting

un petit outil en python pour centraliser les rapports VT et les samples au travers de l’api VT, et envoyer les rapports via email, slack, telegram. Il est directement utilisable en CLI.

Splunkup

un outil pour importer des données de MISP dans Splunk, ou pousser des informations depuis splunk vers MISP.  On peut faire des recherche dans MISP, importer des IOC, créer des alertes dans splunk. Créer des events MISP.

Anatomy of a Booter

equalit.ie – le DDoS quand on a de la chance, c’est un pic de traffic sur le graph de bande passante, mais parfois c’est un site HS. Dans les logs on peut trouver par exemple des pingback wordpress qui servent au DDoS. Comme WP ajoute l’ip à l’origine de la demande de pingback dans le user-agent, il est possible d’identifier l’IP de l’attaquant, avec un répertoire ouvert contenant tous ses outils, et la liste de ses relais.

mwdbv2

malware database version 2. Quand on upload un sample sur mwdb v2, on peut récupérer la configuration du malare extraite. c’est automatisé et ça supporte plus de 70 familles de malwares.
l’url: mwdb.cert.pl

Tsurugi Linux

Tsurugi est une distribution linux orienté DFIR et OSINT soutenue par OpenMinded et basé sur la dernière version d’Ubuntu 16.04 LTS. Turugi acquire est un mini-linux 32 bits conçu pour l’acquisition live. Bento est un windows de forensic maintenu par l’équipe Tsurugi.

A kind of funny story

(j’entend rien 🙁 une histoire de chat sur twitter entre un dev de malware et quelqu’un de MalwaresBytes)

 Bitcoin supply chain attack.

des hits sur un js modifié appellé statcounter.js. Une fois unpacké, on retrouve un js injecter depuis statconuter.com. Le site ciblé c’était gate.io. Dans le 2eme stage, le wallet de destination est remplacé par le wallet de l’attaquant. Un mec de Statcounter à posté qu’il avait installé ESET pour vérifier s’ils n’était pas compromis.

We need your IP Space

shadowserver est une association non-profit qui monitore les botnets et fait beaucoup de sinkholing. Ils partagent leurs infos avec les CERT et les forces de l’ordre gratuitement. Ils n’ont pas assez d’IP dans certains pays pour faire leur monitoring correctement.

Evil maids are evil

Quoi faire contre une attaque type evil maid ? vous pouvez utiliser les donnés SMART du hard drive. Par exemple on peut  monitorer le « power cycle count » qui compte le nombre de fois que le disque dur à été alumé. A chaque boot, s’il augmente que de 1, c’est qu’il n’a pas été booté entre temps. l’orateur à écrit un script sur son github.