Selon McAfee Labs, une nouvelle campagne du trojan bancaire Astaroth abuse de GitHub pour héberger et mettre à jour sa configuration via des images contenant des données stéganographiées, permettant à l’opération de perdurer même si l’infrastructure C2 est perturbée. Les dépôts malveillants ont été signalés et retirés en collaboration avec GitHub.

• Synthèse 🕵️‍♂️: l’infection commence par un e-mail de phishing menant au téléchargement d’un ZIP contenant un fichier LNK. À l’exécution, un enchaînement JavaScript → AutoIt → shellcode charge un DLL (Delphi) qui injecte la charge finale (Astaroth) dans un nouveau processus RegSvc.exe. Le malware détecte l’accès à des sites bancaires/crypto et enregistre les frappes pour voler les identifiants. L’exfiltration s’effectue via le reverse proxy Ngrok. Pour la résilience, la configuration est récupérée périodiquement depuis GitHub, dissimulée dans des images (stéganographie). La campagne cible majoritairement le Brésil.

• TTPs clés 🔬:

  • Initial access: phishing avec lien vers ZIP contenant .lnk; exécution via mshta.exe d’un JavaScript ofbusqué.
  • Téléchargements conditionnés par géorestriction des liens (pays ciblés).
  • Loader: AutoIt (script + interpréteur) qui construit et exécute un shellcode; hook de Kernel32!LocalCompact pour rediriger l’exécution; chargement d’un DLL Delphi puis injection dans RegSvc.exe.
  • Anti-analyse: multiples vérifications d’outils d’analyse; arrêt si détection; vérification que la locale n’est pas liée aux États-Unis/à l’anglais.
  • Vol: keylogging lorsque des fenêtres de navigateurs (classes contenant chrome, ieframe, mozilla, xoff, xdesk, xtrava, sunawtframe) affichent des sites bancaires ou crypto.
  • Exfiltration: Ngrok (reverse proxy) via un protocole binaire custom.
  • Résilience/MAJ: toutes les 2 heures, Astaroth met à jour sa configuration à partir d’images hébergées sur GitHub (stéganographie) référencées via bit.ly.
  • Persistance: dépôt d’un LNK dans le dossier Startup lançant l’AutoIt.

• C2 et infrastructure 🧩: la communcation C2 utilise un protocole binaire custom, avec des endpoints Ngrok (plusieurs sous-domaines/ports). La configuration chiffrée est stockée localement (dump.log) et peut être remplacée par un nouveau fichier récupéré depuis GitHub (images .png contenant la config cachée). Les dépôts GitHub identifiés ont été signalés et supprimés par GitHub.

• Ciblage et périmètre 🌎: la famille Astaroth cible de nombreux pays d’Amérique du Sud (notamment Brésil, mais aussi Mexique, Uruguay, Argentine, Paraguay, Chili, Bolivie, Pérou, Équateur, Colombie, Venezuela, Panama) et peut aussi viser le Portugal et l’Italie; la campagne récente est surtout axée sur le Brésil. Exemples de domaines visés pour la capture de frappes: banques (caixa.gov.br, safra.com.br, Itau.com.br, bancooriginal.com.br, santandernet.com.br, btgpactual.com) et crypto (etherscan.io, binance.com, bitcointrade.com.br, metamask.io, foxbit.com.br, localbitcoins.com).

• IOCs et artefacts 🧾:

  • Hashes: 7418ffa31f8a51a04274fc8f610fa4d5aa5758746617020ee57493546ae35b70; 7609973939b46fe13266eacd1f06b533f8991337d6334c15ab78e28fa3b320be; 11f0d7e18f9a2913d2480b6a6955ebc92e40434ad11bed62d1ff81ddd3dda945; LNK: 34207fbffcb38ed51cd469d082c0c518b696bac4eb61e5b191a141b5459669df; JS downloader: 28515ea1ed7befb39f428f046ba034d92d44a075cc7a6f252d6faf681bdba39c; AutoIt script: a235d2e44ea87e5764c66247e80a1c518c38a7395291ce7037f877a968c7b42b; Injector DLL: db9d00f30e7df4d0cf10cee8c49ee59a6b2e518107fd6504475e99bbcf6cce34; Payload: 251cde68c30c7d303221207370c314362f4adccdd5db4533a67bedc2dc1e6195; Startup LNK: 049849998f2d4dd1e629d46446699f15332daa54530a5dad5f35cc8904adea43.
  • URLs/domains: ZIP -> https://91.220.167.72.host.secureserver[.]net/peHg4yDUYgzNeAvm5.zip; Downloaders: clafenval.medicarium[.]help, sprudiz.medicinatramp[.]click, frecil.medicinatramp[.]beauty, stroal.medicoassocidos[.]beauty, strosonvaz.medicoassocidos[.]help; Download servers: gluminal188.trovaodoceara[.]sbs, scrivinlinfer.medicinatramp[.]icu, trisinsil.medicesterium[.]help, brusar.trovaodoceara[.]autos, gramgunvel.medicoassocidos[.]beauty, blojannindor0.trovaodoceara[.]motorcycles.
  • C2 (Ngrok): 1.tcp.sa.ngrok[.]io:20262; 1.tcp.us-cal-1.ngrok[.]io:24521; 5.tcp.ngrok[.]io:22934; 7.tcp.ngrok[.]io:22426; 9.tcp.ngrok[.]io:23955; 9.tcp.ngrok[.]io:24080.
  • Config update: https://bit[.]ly/49mKne9; https://bit[.]ly/4gf4E7H; https://raw.githubusercontent[.]com/dridex2024/razeronline/refs/heads/main/razerlimpa.png.
  • Repos GitHub liés: https://github[.]com/dridex2024/razeronline; https://github[.]com/Config2023/01atk-83567z; https://github[.]com/S20x/m25; https://github[.]com/Tami1010/base; https://github[.]com/balancinho1/balaco; https://github[.]com/fernandolopes201/675878fvfsv2231im2; https://github[.]com/polarbearfish/fishbom; https://github[.]com/polarbearultra/amendointorrado; https://github[.]com/projetonovo52/master; https://github[.]com/vaicurintha/gol.

En somme, il s’agit d’une publication de recherche technique documentant une campagne Astaroth, ses mécanismes d’infection, de résilience via GitHub/stéganographie, ainsi que des IOCs pour la détection.

🧠 TTPs et IOCs détectés

TTP

[‘Initial Access: Phishing avec lien vers ZIP contenant .lnk; exécution via mshta.exe d’un JavaScript ofbusqué.’, ‘Téléchargements conditionnés par géorestriction des liens (pays ciblés).’, ‘Loader: AutoIt (script + interpréteur) qui construit et exécute un shellcode; hook de Kernel32!LocalCompact pour rediriger l’exécution; chargement d’un DLL Delphi puis injection dans RegSvc.exe.’, ‘Anti-analyse: multiples vérifications d’outils d’analyse; arrêt si détection; vérification que la locale n’est pas liée aux États-Unis/à l’anglais.’, ‘Vol: Keylogging lorsque des fenêtres de navigateurs affichent des sites bancaires ou crypto.’, ‘Exfiltration: Ngrok (reverse proxy) via un protocole binaire custom.’, ‘Résilience/MAJ: toutes les 2 heures, Astaroth met à jour sa configuration à partir d’images hébergées sur GitHub (stéganographie) référencées via bit.ly.’, ‘Persistance: dépôt d’un LNK dans le dossier Startup lançant l’AutoIt.’]

IOC

{‘hashes’: [‘7418ffa31f8a51a04274fc8f610fa4d5aa5758746617020ee57493546ae35b70’, ‘7609973939b46fe13266eacd1f06b533f8991337d6334c15ab78e28fa3b320be’, ‘11f0d7e18f9a2913d2480b6a6955ebc92e40434ad11bed62d1ff81ddd3dda945’, ‘34207fbffcb38ed51cd469d082c0c518b696bac4eb61e5b191a141b5459669df’, ‘28515ea1ed7befb39f428f046ba034d92d44a075cc7a6f252d6faf681bdba39c’, ‘a235d2e44ea87e5764c66247e80a1c518c38a7395291ce7037f877a968c7b42b’, ‘db9d00f30e7df4d0cf10cee8c49ee59a6b2e518107fd6504475e99bbcf6cce34’, ‘251cde68c30c7d303221207370c314362f4adccdd5db4533a67bedc2dc1e6195’, ‘049849998f2d4dd1e629d46446699f15332daa54530a5dad5f35cc8904adea43’], ‘domains’: [‘91.220.167.72.host.secureserver.net’, ‘clafenval.medicarium.help’, ‘sprudiz.medicinatramp.click’, ‘frecil.medicinatramp.beauty’, ‘stroal.medicoassocidos.beauty’, ‘strosonvaz.medicoassocidos.help’, ‘gluminal188.trovaodoceara.sbs’, ‘scrivinlinfer.medicinatramp.icu’, ’trisinsil.medicesterium.help’, ‘brusar.trovaodoceara.autos’, ‘gramgunvel.medicoassocidos.beauty’, ‘blojannindor0.trovaodoceara.motorcycles’, ‘1.tcp.sa.ngrok.io’, ‘1.tcp.us-cal-1.ngrok.io’, ‘5.tcp.ngrok.io’, ‘7.tcp.ngrok.io’, ‘9.tcp.ngrok.io’, ‘bit.ly’, ‘raw.githubusercontent.com’, ‘github.com’], ‘ips’: [‘91.220.167.72’]}


🔗 Source originale : https://www.mcafee.com/blogs/other-blogs/mcafee-labs/astaroth-banking-trojan-abusing-github-for-resilience/