BotConf 2022 J3
Bridging the air-gap
Les malwares capables de franchir de l’air-gap sont rares et fournissent un canal de communication discret. Les orateurs ont identifié 17 frameworks air-gap développés par des menaces étatiques.
Les frameworks connectés gèrent une machine connectée à internet et une de l’autre-côté de l’air-gap. Souvent ils vont transformer la clef usb en un vecteur d’attaque via une vulnérabilité ou un document piégé. Une fois l’exécution obtenue côté air-gap, les données à exfiltrer sont replacés sur la clef. Pour fournir quelquechose de plus interactif, on peut observer un véritable protocole réseau.
Les frameworks non-connectés sont totalement automatisés et font leur travail sans aucune intervention d’un opérateur. L’exécution automatique est souvent réalisée par un exploit sans interaction comme le LNK d’equation-group dans le malware fanny & miniflame. L’autre approche est de piéger un utilisateur pour qu’il exécute du code, via les autoruns, via des documents piégés ou l’ajout de code dans les documents existants. Il existe aussi des malwares air-gap ou le composant est exécuté volontairement par un humain. C’est le cas de RedCore par Goblin Panda. ESET à découvert un malware sans exécution automatisée du groupe Lambert. L’agent compromis crée une version backdoorée de Notepad++ ou Firefox, ou TrueCrypt.
L’orateur passe ensuite en revue les différentes techniques employées par les malwares air-gap. Ceci dit le vecteur commun de tous ces malwares ce sont les clefs usb. On privilégiera donc un moyen de contrôler les clefs USB avant de les passer d’un système a l’autre. Sur un malware air-gap il y a forcément deux composants, dont un côté air-gap, il faut donc trouver les deux pièces du puzzle.
Detection de compromission comportementale
L’objectif est de détecter les domaines malveillants communiquant avec des ordinateurs compromis. Lorsqu’un attaquant utilise un service web légitime comme un canal de c&c, il faut identifier le bot pour permettre à l’entreprise de nettoyer le PC. Lorsqu’une machine est compromise, elle doit communiquer de façon régulière avec le serveur de c&c. Pour détecter ces comportements, l’oratrice utilise le PSD power spectrum density. C’est une technique du traitement du signal qui transforme le temps en fréquence permettant d’identifier des périodicités dans les échanges.
Lors de la phase d’apprentissage, les graphes PSD sont produits pour chaque machine et sont donnés à manger à un réseau de neurones. L’approche à été testée sur de vrais systèmes et a permis de détecter un malware communiquant via DNS: Fsysna.
ProxyChaos
Revue d’un an sur les exploitations de proxylogon et proxyshell. Proxylogon est une chaine de vulnérabilités permettant d’exécuter des commandes arbitraires à distance et sans pré-requis particulier sur des serveurs Exchange. D’après Volexity les premières exploitations datent de janvier 2021 alors que la diffusion des early warning date de mars.
Eset a mappé les webshells détectés sur sa télémétrie, avec de gros pics après la publication du patch et des exploits. L’attaquant peut soit uploader un webshell, soit télécharger les boites mails. Plus de 10 groupes d’attaquants pouvaient passer sur un même serveur web… Hafnium était le premier à exploiter la vulnérabilité, avant mars, après mars c’est d’autres groupes qui ne sont pas hafnium.
Tick à exploité la vulnérabilité avant mars, il cible les secteurs industriels, gouvernementaux et militaires en Russie, Japon et Corée du Sud. Il utilise Royal Road, Shadowpad, Lilith. Son Webshell est nommé aspnet.aspx et il a essayé de déployer une backdoor Delphi.
Luckymouse (aka emissary panda) cible les organisations au Moyen Orient. Il a accès a Plugx et Sysupdate. Ils ont déployé nbtscan dans c:\programdata et le webshell ReGeorg.
Calypso le même jour a compromis l’Amérique du Sud, et des entreprises en Afrique, Asie et Europe. Il cible les gouvernements et utilise Plugx, Calypso rat et Whitebird. Ils ont utilisé du dll search order hijacking sur le serveur pour déployer leur backdoor.
Websiic est actif depuis 2021 et cible des gouvernements. Il a déployé des google.aspx et google.log comme webshell. La configuration est dans un access.log chiffré ?
Winnti a eu aussi accès a la vulnérabilité avant le patch. Ils ont compromis deux entreprises en Asie. Ils existent depuis 2012 et tapent un peu sur tout et n’importe quoi. Ils aiment bien signer leur malwares avec des certificats volés.
Après la diffusion du patch Microsoft, c’est Tonto qui rentre dans la danse. Il utilise RoyalRoad et ShadowPad. Leur webshell s’appelle dukybySSSS.aspx et ont utilisé un downloader Powershell.
ShadowPad a été observé sur des serveurs mails en Asie de l’est et au moyen orient. Comme cet outil est partagé entre de nombreux threat actors, il est difficile d’attribuer l’outil a un groupe spécifique.
Opera cobaltstrike ont utilisé le répertoire « owa\auth\redirsuiteserverproxy.aspx » et utilise du search order hijacking avec Opéra pour charger cobaltstrike, d’ou leur nom.
ProxyShell a été exploité au moins la veille de la publication des détais par orange-tsai à Blackhat. Il s’agit d’une chaine d’exploit permettant de lancer des commandes exchange sur le serveur.
ApplicationUdate est un threat actor inconnu qui a attaqué des serveurs aux US. deux exe ont été déposés createhidetask.exe et ApplicationUpdate.exe. TA410 à compromis une organisation religieuse en europe centrale. ils ont déployé plugix avec un hellokety.ini pour les logs. TA428 est passé après. Il vise la Mongolie et la Russie.
Suricata and IOCs
Suricata est né en 2010 codé en Rust et C et il est maintenu par deux fondations à but non-lucratif. Il est donc impossible que le projet soit locké par une entreprise. L’écriture des règles est facilitée par un preparsing des paquets et la reconstruction du protocole, ce qui évite de faire des regex sur des paquets et de devoir tout gérer dans la signature.
Les résultats de suricata sont au format json, ce qui le rend facilement intégrable à n’importe quel siem. Chaque alerte contiens l’extrait complet du protocole dans l’event, du coup il est plus simple de faire le tri des alertes.
On peut déclarer des listes d’IOCs et les utiliser dans des alertes. Une même liste peut servir dans plusieurs règles. Il est aussi possible de construire des listes dynamiquement à partir des éléments observés sur le réseau.
IOCmite est un combo entre MISP et Suricata, ou les flux d’IOC de MISP sont envoyés dans Suricata, et renvoyer les sightings dans MISP.
PrivateLoader – the malware behind a havoc wrecking pay per install service.
Le pay per install est un service ou les cybercriminels revendent l’installation de malwares tiers sur les victimes. Ces services sont publics ou privés, et on peut acheter l’installation sur certains types de machines ou à certains volumes. Du coup les opérateurs de botnets de ppi disposent de loader customisé pour installer le malware. Seule la quantité compte pour faire du chiffre, et du coup une même machine peut se voir installer de grandes quantités de malwares.
L’orateur décrit en suite comment fonctionne PrivateLoader pour l’installation des malwares commandés. Après avoir analysé en détail le loader, les orateurs ont créé un émulateur capable de se faire passer pour une machine victime, et de récupérer les malwares distribués.
QBot code evolution
Avec leur outil d’analyse de code threatray, ils ont construit une timeline des évolutions de QBot. QBot a un stager, un c2 dans une grosse dll, et il dispose d’un fichier contenant la config et les webinjects. Pour plus de détails cf whitepaper. Les orateurs détaillent en suite les différentes évolutions de QBot et ses modifications.