Keksec & Tsunami-Ryuk - Lacework

Keksec & Tsunami-Ryuk

Lacework Labs

June 10, 2021

Chris Hall
Cloud Security Researcher – Lacework Labs

 

Points clés 

  • Keksec exploite désormais un nouveau malware Tsunami DDoS appelé « Ryuk » (qui n'est pas de la famille des ransomwares).
  • Le groupe a mis à jour son algorithme DGA utilisé par le malware python Necro.
  • Nous fournissons une liste des infrastructures de distribution de malwares de Keksec.
  • De nouvelles informations sur les personas sont incluses.

 

Keksec (ou Necro ou Freakout) est un acteur prolifique ciblant les infrastructures cloud dans le but d'effectuer des opérations de cryptomining et DDoS. Le groupe a récemment refait parler de lui après avoir étendu ses infrastructures et ses capacités de sorte à atteindre de nouvelles attaques et techniques de propagation. Dans cet article, nous vous proposons une vue complète de l'infrastructure d'intrusion de Keksec, y compris des contenus jusqu'alors non signalés comme l'utilisation d'une nouvelle variante Tsunami (Ryuk), d'un nouvel algorithme DGA et de nouvelles informations de persona.

 

Necro – DGA

Necro correspond au nom du malware et botnet IRC Python de Keksec dans la dernière version connue de Talos. Ce malware se caractérise par son obfuscation unique qui exploite une compression zlib et une clé XOR multioctets. En mars 2021, Lacework Labs a publié un script qui décode également cette dernière variante.

D'importantes mises à jour ont été apportées à la version la plus récente qui comprend des attaques visant Vesta Control Panel, ZeroShell 3.9.0, SCO OpenServer 5.0.7 et VMWare vCenter (CVE-2021-21972). Le malware tente actuellement aussi de se propager au moyen d'attaques bruteforce SSH. Un nouvel algorithme DGA, très similaire à la version Necro précédente, mais avec quelques petites mises à jour des paramètres d'affichage et de la plage aléatoire a également été inclus.

DGA component old new
seed 0x7774DEAD 0x7228827A
randrange parameters range(random.randrange(10,19)))).lower() range(random.randrange(8,19)))).lower()

 

Deux domaines DGA ont été observés. Il existe un total de 255 domaines possibles. Auparavant, Keksec utilisait uniquement les quelques premiers domaines avant de changer le schéma DGA. Il est possible que ce soit également le cas cette fois.

  • ngiwge486ln9daoo.hopto.org
  • can6dodp.servepics.com

Ce script peut être utilisé pour créer ces nouveaux domaines DGA.

 

Infrastructure de distribution de malwares

L'infrastructure de Keksec se compose pour l'essentiel de 20 hôtes et est structurée autour des noms de chemin URI dans les URL de téléchargement. Parmi les plus utilisés, on trouve : ‘’/Ryuk/’,’/Simps/’ and ’/S1eJ3/’. Exemples :

  • http://107.172.156.158/Ryuk/ur0a.x86_64
  • http://206.81.26.46/Simps/mipsel
  • http://23.95.80.200/SimpsX/m68k
  • http://45.144.225.65/S1eJ3/IObeENwjspc

Le tableau suivant répertorie les hôtes classés par nombre de malwares (du 1/01/2021 au 9/06/2021). Certains hôtes sont exclusifs aux chemins URI mentionnés ci-dessus alors que d'autres se chevauchent.

Host ASN country Hosted malware count URI Path name(s)
195.133.40.24 “SPDNet Telekomunikasyon Hizmetleri Bilgi Teknolojileri Taahhut Sanayi Ve Ticaret A.S.” Russia 235 S1eJ3 & Simps
45.145.185.83 213035:”Des Capital B.V.” Netherlands 81 S1eJ3
45.14.224.127 62068:”SpectraIP B.V.” Netherlands 55 Ryuk & Simps
185.224.129.235 62068:”SpectraIP B.V.” Netherlands 54 Ryuk & Simps
185.224.129.224 62068:”SpectraIP B.V.” Netherlands 40 Simps
45.144.225.65 35913:”DEDIPATH-LLC” United States 39 S1eJ3
23.95.80.200 36352:”AS-COLOCROSSING” United States 34 fagggotbaggot, Simps, SimpsX
45.144.225.96 35913:”DEDIPATH-LLC” United States 29 S1eJ3
45.153.203.124 213035:”Des Capital B.V.” Netherlands 18 S1eJ3
206.81.26.46 14061:”DIGITALOCEAN-ASN” Germany 15 Simps
45.14.224.197 62068:”SpectraIP B.V.” Netherlands 15 Simps
185.203.116.7 44901:”Belcloud LTD” Bulgaria 14 S1eJ3
172.245.36.128 36352:”AS-COLOCROSSING” United States 13 S1eJ3
b0tz.xyz NA NA 8 Simps & SimpsX
107.172.156.158 36352:”AS-COLOCROSSING” United States 5 Ryuk
45.14.224.200 62068:”SpectraIP B.V.” Netherlands 4 Simps
164.90.164.132 14061:”DIGITALOCEAN-ASN” Germany 3 S1eJ3
134.122.78.91 14061:”DIGITALOCEAN-ASN” Germany 1 Simps
192.236.146.182 54290:”HOSTWINDS” United States 1 Ryuk & S1eJ3

 

L'hôte le plus actif est toujours IP 195.133.40.43, principalement utilisé dans la portion ‘S1eJ3’ de l'infrastructure pour diffuser la variante Tsunami basée sur Tor de Keksec. Lacework Labs présente ce malware plus en détail dans l'article « The “Kek Security” Network » Au moment de cette analyse, Keksec utilisait l'hôte c2 .onion vp3te7pkfczmnnl.onion, mais de nouveaux spécimens utilisent l'hôte dimumdjenyy4jwlc.onion avec la même clé de chiffrement utilisée pour le décryptage :

%q*KC)&F98fsr2to4b3yi_:wB>z=;!k?”EAZ7.D-md<ex5U~h,j|[email protected]

 

Tsunami-Ryuk

Un nouveau composant de l'inventaire des malwares de Keksec est un autre malware DDoS basé sur Tsunami surnommé « Ryuk ». 83 spécimens au total ont été repérés entre la mi-mai et juin. Il ne doit pas être confondu avec le ransomware Ryuk. Le nom fait très probablement référence au personnage de fiction du manga « Death Note ». En outre, certains éléments indiquent que le malware est utilisé comme charge utile dans les campagnes SSH par bruteforce de Necro, car des commentaires dans VirusTotal signalent que les fichiers ont été observés dans des honeypots SSH.

Il existe plusieurs variantes de Ryuk qui sont hébergées par le composant « Ryuk » de l'infrastructure Keksec, décrit précédemment. De nombreux spécimens sont compressés par UPX et exploitent également une méthode d'encodage simple pour obfusquer les IP C2, ainsi qu'un message qui est écrit dans un fichier journal. La version encodée s'observe statiquement dans la chaîne suivante :

Ymnx2Ij{nhj2Nx2Nskjhyji2G~2W~zp2Gtysjy2Nsxyflwfr?Ezw5fdInxhtwi?ZW5F(76>>2W~zp(9;:7

Le message décodé révèle des comptes Instagram et Discord.

This-Device-Is-Infected-By-Ryuk-Botnet-Instagram:@ur0a_Discord:UR0A#2199-Ryuk#4652

La fonction du binaire responsable du décodage se nomme « util_encryption ». La routine décrémente simplement chaque caractère de la chaîne par 5. L'examen de la fonction xrefs a révélé qu'elle exploite le décodage du contenu du fichier journal, C2 et les commandes DDos. La recherche sur cet artefact dans VirusTotal a révélé un certain nombre d'autres variantes Tsunami associées à un routage de décodage similaire du même nom, mais dont la valeur de décrément est de 1 au lieu de 5.

   

Figure 1. Routine de décodage Tsunami-Ryuk IDA Pro

 

Le script python suivant peut être utilisé pour décoder ces configurations Ryuk ainsi que d'autres malwares utilisant des méthodes similaires.

 

ryuk_strings = ['Ymnx2Ij{nhj2Nx2Nskjhyji2G~2W~zp2Gtysjy2Nsxyflwfr?Ezw5fdInxhtwi?ZW5F(76>>2W~zp(9;:7','9:3693779367<']
for str_ in ryuk_strings:
  decoded_ = []
  for s in str_:
    decrement = chr(ord(s) - 5)
    decoded_.append(decrement)
  print ''.join(decoded_)

Decoding Script for Ryuk configs

There are a few other Ryuk variants, with plaintext versions of the log file contents and c2 IP addresses. This message is consistent with Keksec’s habit of self-attributing malware and infrastructure.

This Device Has Been Infected by Ryuk Botnet Made By ur0a And Keksec Group 🙂

Additionally, the ‘ur0a’ handle is also used for several of the Ryuk payload names. For example:

  • ur0a.mipsel
  • ur0a.mips
  • ur0a.i686

 

Réseaux sociaux

Comme TeamTNT, Kekek est connu pour son autopromotion. Cela a été illustré par les artefacts du malware Ryuk qui répertoriaient les informations des réseaux pour Discord et Instagram. Le compte Discord était une impasse, mais celui d'Instagram est en ligne.

   

Figure 2 : Compte Instagram d'acteurs

Le compte Instagram ur0a_ ne présente aucune publication, mais plusieurs des comptes qu'il suit sont dignes de notre intérêt. L'un d'entre eux se nomme « hellabootersonbotnet ». Le 10 mai, ce compte a publié une capture d'écran d'un canal de contrôle Necro IRC. Elle a été identifiée comme Necro par les messages IRC, en particulier le total de Mo de RAM et les artefacts [HAX| dans les messages IRC. Ces derniers s'observent sous la forme de chaînes de formatage dans le code source Necro. En outre, le compte mentionne « Freakout » dans un commentaire de la publication « Freak out on top ».

 

   

Figure 3 : bots Necro IRC – Instagram « hellabootersonbotnet »

 

Comme Keksec met régulièrement à jour ses outils et sa suite d'attaques, c'est une menace qui évolue. Heureusement, son habitude de s'autoattribuer les malwares et les infrastructures facilite son suivi. Vous pourrez trouver les indicateurs et les outils associés à cette activité dans notre GitHub. Si vous avez trouvé cet article intéressant, partagez-le et suivez-nous sur LinkedIn et Twitter !