<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Deno Runtime on CyberVeille</title>
    <link>https://cyberveille.ch/tags/deno-runtime/</link>
    <description>Recent content in Deno Runtime on CyberVeille</description>
    <generator>Hugo -- 0.146.0</generator>
    <language>fr-fr</language>
    <copyright>Cyberveille CC BY-NC-SA 4.0</copyright>
    <lastBuildDate>Fri, 24 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://cyberveille.ch/tags/deno-runtime/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>DinDoor : analyse du backdoor Deno lié à MuddyWater et cartographie de 20 serveurs C2 actifs</title>
      <link>https://cyberveille.ch/posts/2026-04-24-dindoor-analyse-du-backdoor-deno-lie-a-muddywater-et-cartographie-de-20-serveurs-c2-actifs/</link>
      <pubDate>Fri, 24 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://cyberveille.ch/posts/2026-04-24-dindoor-analyse-du-backdoor-deno-lie-a-muddywater-et-cartographie-de-20-serveurs-c2-actifs/</guid>
      <description>&lt;h2 id=&#34;-contexte&#34;&gt;🔍 Contexte&lt;/h2&gt;
&lt;p&gt;Publié le 21 avril 2026 par Hunt.io, cet article présente une analyse technique approfondie de &lt;strong&gt;DinDoor&lt;/strong&gt;, un backdoor basé sur le runtime &lt;strong&gt;Deno&lt;/strong&gt;, variante du &lt;strong&gt;Tsundere Botnet&lt;/strong&gt;, précédemment documenté par Broadcom en mars 2026 et attribué au groupe APT iranien &lt;strong&gt;Seedworm (MuddyWater)&lt;/strong&gt;.&lt;/p&gt;
&lt;h2 id=&#34;-vecteur-dinfection-et-chaîne-dexécution&#34;&gt;🎯 Vecteur d&amp;rsquo;infection et chaîne d&amp;rsquo;exécution&lt;/h2&gt;
&lt;p&gt;Deux échantillons MSI ont été analysés :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;migcredit.pdf.msi&lt;/strong&gt; (SHA256: &lt;code&gt;7b793c54a927da36649eb62b9481d5bcf1e9220035d95bbfb85f44a6cc9541ae&lt;/code&gt;) : utilise une double extension pour se faire passer pour un PDF, cible apparente d&amp;rsquo;une entreprise russe de microcrédit (MigCredit). Dépose &lt;code&gt;Juliet_widget15.ps1&lt;/code&gt; dans &lt;code&gt;AppData\Local\documents\&lt;/code&gt;, écrit le payload JS sur disque (&lt;code&gt;Uniform_system17.js&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Installer_v1.21.66.msi&lt;/strong&gt; (SHA256: &lt;code&gt;2a09bbb3d1ddb729ea7591f197b5955453aa3769c6fb98a5ef60c6e4b7df23a5&lt;/code&gt;) : construit avec WiX Toolset, signé avec le certificat &amp;lsquo;Amy Cherne&amp;rsquo; lié à MuddyWater et CastleRAT. Exécute &lt;code&gt;error.vbs&lt;/code&gt; pour afficher une fausse erreur, puis lance silencieusement &lt;code&gt;Viper_controller36.vbs&lt;/code&gt; → &lt;code&gt;tango_utility84.ps1&lt;/code&gt;. Le payload JS est exécuté &lt;strong&gt;entièrement en mémoire&lt;/strong&gt; via URI &lt;code&gt;data:application/javascript;base64&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;-comportement-du-payload-deno&#34;&gt;⚙️ Comportement du payload Deno&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mutex via TCP&lt;/strong&gt; : bind sur &lt;code&gt;127.0.0.1:10091&lt;/code&gt; (migcredit) ou &lt;code&gt;127.0.0.1:10044&lt;/code&gt; (Installer) ; si le port est occupé, &lt;code&gt;Deno.exit(1)&lt;/code&gt; est appelé.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Fingerprinting&lt;/strong&gt; : hash dual rolling initialisé à &lt;code&gt;0x9E3779B9&lt;/code&gt;, combinant USERNAME, hostname, mémoire totale et OS release → identifiant hexadécimal 16 caractères envoyé à chaque requête C2.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Health check&lt;/strong&gt; : GET &lt;code&gt;/health&lt;/code&gt; avec timeout 3 secondes, attend HTTP 200 avec corps &lt;code&gt;ok&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;C2 URL&lt;/strong&gt; (Installer) : &lt;code&gt;http://serialmenot[.]com/mv2/&amp;lt;JWT&amp;gt;/&amp;lt;victim_hash&amp;gt;&lt;/code&gt; avec JWT hardcodé exposant des métadonnées de campagne.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Détection sandbox&lt;/strong&gt; : énumération GPU via &lt;code&gt;Get-WmiObject Win32_VideoController&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Beacon&lt;/strong&gt; : toutes les secondes (Installer) ou toutes les 30 secondes (migcredit), rotation d&amp;rsquo;index C2 en cas d&amp;rsquo;échec.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;-infrastructure-c2-et-pivoting&#34;&gt;🌐 Infrastructure C2 et pivoting&lt;/h2&gt;
&lt;p&gt;La réponse HTTP des serveurs DinDoor présente une empreinte distinctive :&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
