1 points par GN⁺ 2025-01-13 | 1 commentaires | Partager sur WhatsApp
  • watchTowr Labs a réenregistré des domaines expirés ou abandonnés afin d’intercepter les callbacks de backdoor présents dans des web shells, et a observé le trafic rapporté par plus de 4 000 backdoors uniques encore actives
  • Si un web shell comporte une fonction cachée qui envoie son emplacement de déploiement ou son mot de passe au domaine de son créateur initial, le nouveau propriétaire peut recevoir les logs de callback après l’expiration du domaine
  • Les cibles observées incluaient des systèmes gouvernementaux au Bangladesh, en Chine et au Nigeria, ainsi que des universités et établissements d’enseignement supérieur en Thaïlande, en Chine, en Corée du Sud, entre autres ; les logs ont dépassé 300 Mo
  • Les chercheurs ont enregistré plus de 40 domaines, puis configuré AWS Route53, un certificat TLS wildcard et un serveur de logs Apache ; ils ont enregistré les requêtes et n’ont renvoyé que des réponses 404
  • Une infrastructure abandonnée peut devenir un véritable chemin d’accès non seulement dans la validation des AC TLS/SSL, mais aussi dans l’écosystème des web shells utilisés par les attaquants ; les domaines concernés seront repris par The Shadowserver Foundation pour être traités en sinkhole

Une infrastructure expirée devient un chemin d’accès aux backdoors

  • Dans son étude de 2024 sur .MOBI, watchTowr Labs avait montré que des domaines non enregistrés pouvaient influer sur le processus de validation de la propriété d’un domaine par les AC TLS/SSL ; Google a ensuite demandé au CAB Forum l’abandon de la validation de propriété basée sur WHOIS
  • Cette nouvelle étude applique la même famille de problèmes, celle des infrastructures expirées ou abandonnées, à l’écosystème des web shells et des backdoors
  • Les chercheurs ont réenregistré des domaines expirés dont dépendait une autre backdoor intégrée dans des backdoors, afin d’observer le trafic envoyé par des hôtes infectés
  • Cette méthode crée théoriquement une position permettant de prendre le contrôle et de piloter des hôtes compromis, mais les chercheurs ont masqué la plupart des noms d’hôte afin de ne pas créer de risque supplémentaire pour les systèmes
  • À ce jour, plus de 4 000 backdoors uniques et actives ont été observées, et ce chiffre continue d’augmenter

Les web shells sont des moyens de contrôle à distance laissés après une compromission

  • Un web shell est du code déployé après la compromission d’un serveur web, qui sert de backdoor permettant à l’attaquant de mener des actions ultérieures
  • Dans sa forme la plus simple, il peut s’agir en PHP d’un code exécutant des commandes, comme <?php system($_GET['exec']);?>
  • Des formes plus complexes incluent des web shells comme c99shell, r57shell ou China Chopper, qui peuvent proposer les fonctions suivantes
    • Exécution de commandes
    • Suppression, modification, téléversement, déplacement et renommage de fichiers
    • Exécution de code
    • Auto-suppression
    • Déploiement de backdoors supplémentaires comme connect-back ou bindshell
    • Brute force FTP
    • Client SQL
  • c99shell et r57shell sont présentés comme des web shells largement utilisés par le passé

L’emplacement fuit vers le créateur du web shell

  • r57shell contenait du code chargeant une image de taille nulle depuis rst.void.ru, ce qui donnait en apparence l’impression d’envoyer des informations sur la version actuelle du shell
  • En réalité, l’emplacement du web shell fraîchement déployé était exposé au propriétaire de rst.void.ru via l’en-tête Referer de la requête HTTP
  • Même si un attaquant compromet une cible et y installe un web shell, la structure permet au créateur du web shell d’en recevoir l’emplacement
  • Dans le cas de c99shell, les identifiants sont codés en dur, mais l’appel @extract($_REQUEST["c99shcook"]) peut écraser les variables de la portée courante
  • extract n’est pas sûr avec des données non fiables ; un attaquant peut injecter les valeurs md5_pass et login via le paramètre de requête c99shcook, remplacer les variables d’authentification existantes et passer l’authentification

Plus de 40 domaines utilisés uniquement pour enregistrer les callbacks

  • Les chercheurs ont collecté des web shells de différentes langues, cibles et époques, puis désobfusqué du code masqué notamment en base64 afin d’extraire des domaines non enregistrés semblant utilisés pour des callbacks
  • Ils ont ensuite enregistré en masse plus de 40 domaines via l’API AWS Route53
  • Parmi les exemples de domaines figuraient aljazeera7.com, alturks.com, caspian-pirates.org, h0ld-up.info, w2img.com, odayexp.com, nettekiadres.com, etc.
  • Ils ont configuré un certificat TLS wildcard et un serveur web Apache, puis fait pointer les nouveaux domaines vers le serveur de logs
  • Le serveur de logs s’est contenté d’enregistrer les requêtes entrantes et de renvoyer une 404 ; les chercheurs n’ont fait que recevoir les requêtes envoyées spontanément par les systèmes et n’ont pas répondu de façon à faire exécuter du code

Des callbacks de web shells semblant liés à des outils Lazarus

  • Des milliers de requêtes récupérant des images .gif via des domaines de la famille w2img.com ont été observées
  • Les chercheurs ont trouvé un échantillon de backdoor générant ces requêtes et ont estimé qu’il était similaire à une version connue pour avoir été utilisée par Lazarus en 2020
  • Une fois l’obfuscation retirée, le code apparaît sous la forme CSS background:url(...), chargeant un fichier .gif depuis img2.w2img.com
  • Quand le navigateur demande l’image, les logs du serveur conservent le Referer avec la requête, ce qui permet de connaître l’emplacement où le web shell a été déployé
  • Cette seule backdoor a permis d’observer plus de 3 900 domaines compromis uniques
  • Les navigateurs récents ont évolué pour n’exposer que le domaine dans le Referer, mais certains attaquants utilisant d’anciens navigateurs ont envoyé l’URL complète du web shell

Des domaines gouvernementaux et des établissements d’enseignement supérieur aussi concernés

  • La recherche de domaines .gov dans les Referer des logs a fait apparaître plusieurs domaines liés à des gouvernements
  • Les exemples confirmés sont les suivants
    • fhc.gov.ng : Federal High Court du Nigeria
    • Domaines de la famille gov.cn
    • Domaines de la famille gov.bd
    • Domaines de la famille court.gov.cn
  • Dans le cas de la Federal High Court du Nigeria, quatre backdoors différentes envoyaient des informations, chacune vers un domaine de réception différent
  • Les chercheurs résument que, sur environ 4 000 systèmes compromis, quatre étaient des systèmes .gov
  • Des universités et établissements d’enseignement supérieur en Thaïlande, en Chine, en Corée du Sud et ailleurs ont aussi été observés parmi les cibles compromises

Des web shells qui envoient les mots de passe en clair

  • Un autre type de backdoor ne s’appuie pas sur le chargement d’images et le Referer, mais envoie directement l’URL et certaines informations sous forme de paramètres
  • Les requêtes vers odayexp.com incluaient un paramètre p en plus du paramètre url
  • Dans le code du web shell ASP, la valeur p correspondait à la variable UserPass, c’est-à-dire le mot de passe nécessaire pour se connecter au web shell
  • L’attaquant avait protégé le web shell par mot de passe, mais ce mot de passe était transmis en clair à odayexp.com
  • Une fois watchTowr propriétaire de ce domaine, l’emplacement du web shell et le mot de passe ont été transmis au serveur de logs des chercheurs
  • Les logs contenaient aussi des requêtes incluant localhost, des adresses IP privées et des chemins de test, laissant penser que quelqu’un avait modifié ou testé cette fonctionnalité

Limites d’interprétation et suites données

  • Les shells observés étaient fortement orientés vers des cibles chinoises, mais les chercheurs estiment que cela pourrait refléter les données d’échantillon
  • Les adresses IP source sont difficiles à utiliser comme preuve en raison de la facilité d’emploi de proxys, mais les requêtes semblant relever du trafic d’attaquants ou de modes d’administration inhabituels étaient fortement concentrées dans des plages IP de Hong Kong et de Chine
  • Les web shells ouverts, les domaines expirés et l’utilisation de logiciels contenant des backdoors montrent que les attaquants commettent eux aussi des erreurs, comme les défenseurs
  • Comme dans l’étude précédente sur .MOBI, laisser les domaines expirer à nouveau pourrait reproduire le même problème, ce qui laisse subsister une question de responsabilité
  • The Shadowserver Foundation reprendra les domaines concernés par cette étude pour les traiter en sinkhole

1 commentaires

 
GN⁺ 2025-01-13
Commentaires sur Hacker News
  • Je n’oserais pas essayer moi-même à cause de la CFAA, mais ce travail est vraiment génial. Le plus drôle, c’est surtout qu’un domaine gouvernemental avait 4 backdoors parasites accrochées à lui.
    Je me demande si, quand les script kiddies prennent le contrôle d’un système, ils ne suppriment pas les backdoors des autres script kiddies pour l’avoir pour eux seuls.
    J’aimerais qu’on arrête tous d’utiliser les mots « acheter » ou « posséder » à propos des domaines. « Louer » serait plus juste ; si on pouvait vraiment les acheter, ils ne redeviendraient pas disponibles comme dans ce cas.

    • Dans ce contexte, ce que « acheter » signifie exactement est assez flou. Même un État peut difficilement être considéré comme « propriétaire » de son propre ccTLD, mais l’ICANN a beaucoup travaillé sa politique pour éviter les tensions autour de l’espace de noms Internet : « les ccTLD doivent être traités comme s’ils appartenaient au pays concerné ».
      C’est pourquoi la plupart des règles des gTLD ne s’appliquent pas aux ccTLD. On peut dire qu’un État ne les « possède » que dans le sens où il peut défendre militairement l’usage de son ccTLD si l’ICANN ou les serveurs root-servers.net cessent de résoudre correctement le TLD.
    • Vu de très loin, toute propriété physique ou numérique peut aussi être considérée comme louée.
    • C’est la nature humaine, et la « fonction » de l’anglais. Les gens disent « ma voiture » ou « mon numéro » même pour une voiture en leasing ou un numéro de téléphone, et « ma maison » même avec un prêt immobilier quasiment sans apport.
      C’est une réduction conceptuelle : la réalité compliquée est soit tenue pour évidente, soit considérée comme hors sujet.
  • L’article était vraiment bon. Il se lit facilement tout en étant conscient de l’impact que sa publication pouvait avoir ; tout est étayé, sans se prendre excessivement au sérieux.
    C’est agréable à lire tout en traitant bien un problème de sécurité grave.

    • J’ai eu la même impression avec cet article et le précédent sur .mobi. Il y a suffisamment de contexte, les explications sont bonnes, le ton est léger et élégant sans jargon à la mode ni volonté forcée de paraître cool.
      Le contenu est solide et sans gras, ce qui est rafraîchissant par rapport à beaucoup de billets de blog ou d’analyses de sécurité qui ratent souvent ces points.
    • J’ai aussi aimé l’apparition de WordArt, même si je regrette l’absence de l’effet arc-en-ciel.
  • Je me demande ce qui se passerait si on utilisait ce webshell backdooré à rebours pour supprimer le webshell.

  • Je ne suis pas sûr d’avoir bien compris cette partie. Il est expliqué que le CSS charge une image de fond depuis une URL précise, ce qui fait que le navigateur demande un fichier .gif sur w2img.com ; et que les navigateurs récents ne divulguent que le domaine dans le référent, mais qu’un attaquant utilisant un vieux navigateur envoyait l’URL complète du shell.
    Mais l’idée que « l’attaquant utilise un vieux navigateur » me semble étrange. À l’origine, l’attaquant contrôle le serveur qui fournit le CSS, et le navigateur appartient à un utilisateur innocent qui visite le serveur compromis, non ? Dans ce cas, celui qui utilise le navigateur est la victime, pas l’attaquant.
    Je ne comprends pas dans quel scénario l’attaquant utilise un navigateur.

    • Un webshell est une page, généralement un fichier .php, qu’un attaquant téléverse sur un site après une compromission comme une RCE ; l’attaquant ouvre ensuite cette page dans son propre navigateur pour effectuer d’autres actions sur le serveur web compromis.
      Mais ces fichiers de webshell prêts à l’emploi ont été créés par un autre attaquant et sont distribués avec une backdoor déjà implantée. Dans ce cas, le CSS du webshell fait fuiter, via le navigateur de l’attaquant, l’emplacement du webshell vers un domaine contrôlé par l’auteur original.
  • Petite digression, mais je ne comprends pas pourquoi, dans cet article, la police rend la lettre y de cette façon. Elle ressort beaucoup trop et me gêne visuellement.

    • Ce genre de chose m’agace assez souvent, donc j’ai désactivé downloadable_fonts. Je considère que le Web sert à lire du texte, et je n’apprécie pas les polices personnalisées qui nuisent à la lisibilité.
      Je comprends qu’un designer veuille un style distinctif, mais en tant qu’utilisateur final, c’est rarement ce que je souhaite.
    • C’est le design même de la police : https://abcdinamo.com/typefaces/favorit
    • Certaines polices semblent intégrer volontairement ce genre d’éléments pour avoir un trait distinctif. Le marché des polices est très saturé, et cela peut aider à se démarquer parmi des clones très similaires.
      Le détail qui ressort peut être destiné à agacer un peu, mais comme une déclaration provocatrice, il doit quand même avoir un minimum de sens. Ça ressemble à la stratégie de certaines personnalités en ligne qui prononcent volontairement certains mots de travers ou exagèrent leur accent de façon répétée.
      Pour revenir aux polices, il me semble que le site de paroles Genius a utilisé une approche similaire pendant un temps. À l’époque où il s’installait, il utilisait les formes de lettres carrées de la police Programme, visibles dans le lien ci-dessous. Il utilise encore Programme aujourd’hui, mais depuis un moment, il semble employer les formes normales, probablement parce que cela devenait vraiment agaçant et nuisait à la lisibilité.
      https://www.typewolf.com/programme
  • Il y a quelques coquilles dans l’article. Dans « with the hopes of painting a paint a clear picture », a paint est superflu, et dans « we the following stood out », we est superflu.
    « Atleast » dans « Atleast there will be memes... » est aussi une faute.

  • Voir h0no mentionné m’a vraiment rappelé de vieux souvenirs. J’ai eu l’impression de revenir à l’époque de darpanet/m00/#darknet/dikline.

  • Je me demande pourquoi presque tous les domaines ont été masqués, sauf celui de la Federal High Court of Nigeria.
    Ce n’est pas explicitement indiqué, mais j’espère qu’une procédure de divulgation responsable a été suivie.

  • On dirait que 99 % de l’affaire repose sur la récupération de domaines expirés, mais ils ne disent rien sur la manière dont ils ont procédé ?

    • Je ne sais pas si tu as réellement lu l’article. C’est expliqué avec suffisamment de détails. Ils n’ont pas « détourné » les enregistrements DNS ; ils ont acheté des domaines expirés redevenus disponibles.
      La seule partie qui n’est pas expliquée, c’est comment ils ont trouvé les shells en ligne, pour des raisons évidentes, et parce que, selon les mots des auteurs, ils sont « tombés du camion ».