Dans ce billet de blog, nous résumerons les résultats publiés dans notre white paper  « Okrum and Ketrican : Un aperçu de l'activité récente du groupe Ke3chang » (« Okrum and Ketrican: An overview of recent Ke3chang group activity »).

Le groupe Ke3chang, également connu sous le nom d'APT15, est un groupe menaçant dont on pense qu'il opère depuis la Chine. Ses activités remontent à 2010 dans le rapport FireEye 2013 sur l'opération Ke3chang - une campagne de cyberespionnage destinée aux organisations diplomatiques en Europe.

Nous avons suivi les activités malveillantes liées à cet acteur de la menace et avons découvert une famille de logiciels malveillants qui n'avaient pas encore été documentés et qui étaient étroitement liés au groupe Ke3chang - une porte dérobée que nous avons appelée Okrum. Selon la télémétrie ESET, Okrum a été détecté pour la première fois en décembre 2016 et a ciblé des missions diplomatiques en Slovaquie, en Belgique, au Chili, au Guatemala et au Brésil tout au long de 2017.

De plus, de 2015 à 2019, nous avons détecté de nouvelles versions de familles de logiciels malveillants connues attribuées au groupe Ke3chang - les backdoors BS2005 de l'opération Ke3chang et le logiciel malveillant RoyalDNS, rapportés par NCC Group en 2018.

Remarque : Les nouvelles versions des logiciels malveillants Ke3chang de 2015-2019 sont détectées par les systèmes ESET sous le nom de Win32/Ketrican et collectivement désignées sous le nom de portes dérobées/échantillons Ketrican, marquées de l'année correspondante, dans notre livre blanc et sur ce blog.

Les étapes de cette enquête

2015 : Ketrican

En 2015, nous avons identifié de nouvelles activités suspectes dans les pays européens. Le groupe à l'origine de ces attaques semble avoir un intérêt particulier en Slovaquie, où une grande partie des échantillons de logiciels malveillants découverts ont été détectés; la Croatie, la République tchèque et d'autres pays ont également été touchés.

Notre analyse technique des logiciels malveillants utilisés dans ces attaques a montré des liens étroits avec les portes dérobées BS2005 de l'opération Ke3chang, et avec une famille de logiciels malveillants TidePool découverte par Palo Alto Networks en 2016 et qui visait les ambassades indiennes à travers le monde.

2016-2017 : Okrum

L'histoire s'est poursuivie fin 2016, alors que nous avons découvert une nouvelle porte dérobée jusqu'alors inconnue que nous avons nommée Okrum. Les acteurs malveillants à l'origine du programme malveillant Okrum se sont concentrés sur les mêmes cibles en Slovaquie qui étaient auparavant ciblées par les portes dérobées de Ketrican 2015.

2017 : Ketrican et RoyalDNS

Nous avons commencé à établir les liens lorsque nous avons découvert que la porte dérobée Okrum était utilisée pour laisser tomber une porte dérobée Ketrican, fraîchement compilée en 2017.

En 2017, les mêmes entités qui ont été affectées par le malware Okrum (et par les portes dérobées Ketrican 2015) sont redevenues les cibles des acteurs malveillants. Cette fois, les attaquants ont utilisé de nouvelles versions du malware RoyalDNS et une porte dérobée Ketrican 2017.

2018 : Ketrican

En 2018, nous avons découvert une nouvelle version de la backdoor Ketrican, incorporant quelques améliorations au code. 

2019 : Ketrican

Le groupe continue d'être actif en 2019 - en mars 2019, nous avons détecté un nouvel échantillon de Ketrican qui a évolué depuis la porte dérobée Ketrican 2018. Il a attaqué les mêmes cibles que la porte de derrière à partir de 2018.

Cette chronologie des événements montre que les attaquants se concentraient sur le même type de cibles mais utilisaient des outils malveillants différents pour les compromettre. Ce faisant, ils ont exposé Okrum, un projet auparavant inconnu. La figure 1 montre les détections ESET liées à notre enquête dans le contexte de l'activité Ke3chang précédemment documentée.

Figure 1. Calendrier de l'activité du groupe Ke3chang et des détections ESET déjà documentées dans le cadre de notre enquête

Liens avec le groupe Ke3chang

Nos recherches ont montré que les portes dérobées Ketrican, Okrum et RoyalDNS détectées par ESET après 2015 sont liées à l'activité du groupe Ke3chang précédemment documentée, et les unes aux autres, de plusieurs façons. Voici les liens les plus importants :

  • Les portes dérobées Ketrican utilisées en 2015, 2017, 2018 et 2019 ont toutes évolué à partir de logiciels malveillants utilisés dans l'opération Ke3chang
  • La porte dérobée RoyalDNS détectée par ESET en 2017 est similaire à la porte dérobée RoyalDNS utilisée dans les attaques signalées précédemment
  • Okrum est lié à Ketrican backdoors en ce qu'il a été utilisé pour lâcher une backdoor Ketrican compilée en 2017
  • Okrum, Ketrican et RoyalDNS ciblent le même type d'organisations ; certaines des entités touchées par Okrum ont également été ciblées par une ou plusieurs portes dérobées Ketrican/RoyalDNS
  • Okrum a un modus operandi similaire à celui des logiciels malveillants Ke3chang documentés précédemment - il est équipé d'un ensemble de commandes de base et s'appuie sur la saisie manuelle de commandes shell et l'exécution d'outils externes pour la plupart de son activité malveillante.

Okrum

Distribution et objectifs

Selon notre télémétrie, l'Okrum a été utilisé pour cibler les missions diplomatiques en Slovaquie, en Belgique, au Chili, au Guatemala et au Brésil, les attaquants montrant un intérêt particulier pour la Slovaquie.

Les opérateurs du logiciel malveillant ont tenté de dissimuler le trafic malveillant avec son serveur C&C dans le trafic réseau normal en enregistrant des noms de domaine apparemment légitimes. Par exemple, les échantillons utilisés contre des cibles slovaques communiquaient avec un nom de domaine imitant un portail cartographique slovaque (support.slovakmaps[.]com). Une mascarade similaire a été utilisée dans un échantillon détecté dans un pays hispanophone d'Amérique du Sud - les opérateurs ont utilisé un nom de domaine qui se traduit par « soutiens aux missions » en espagnol (misiones.soportesisco[.]com).

La façon dont le logiciel malveillant Okrum a été distribué aux machines ciblées est une question qui demeure sans réponse.

Détails techniques

La backdoor Okrum est une bibliothèque de liens dynamiques qui est installée et chargée par deux composants antérieurs. Au cours de notre enquête, la mise en œuvre de ces deux composantes a été fréquemment modifiée. Tous les quelques mois, les auteurs changeaient activement l'implémentation des composants du chargeur et de l'installateur d'Okrum pour éviter la détection. Au moment de la publication, les systèmes ESET ont détecté sept versions différentes du composant chargeur et deux versions de l'installateur, bien que les fonctionnalités soient restées les mêmes.

La charge utile d'Okrum est cachée dans un fichier PNG. Lorsque le fichier est visualisé dans un visualiseur d'images, une image familière est affichée, comme le montre la Figure 2, mais les chargeurs d'Okrum sont capables de localiser un fichier chiffré supplémentaire que l'utilisateur ne peut voir. Cette technique de stéganographie est une tentative des acteurs malveillants de passer inaperçue et d'échapper à la détection.

Figure 2. Une image PNG à l'aspect inoffensif incluant une DLL malveillante chiffrée intégrée à l'intérieur

En ce qui concerne les fonctionnalités, Okrum n'est équipé que de commandes de base de porte dérobée, telles que le téléchargement et le chargement de fichiers, l'exécution de fichiers et de commandes shell. La plupart des activités malveillantes doivent être exécutées en tapant des commandes shell manuellement ou en exécutant d'autres outils et logiciels. Il s'agit d'une pratique courante du groupe Ke3chang, qui avait également été mentionnée précédemment dans les rapports d'Intezer et du NCC Group sur la surveillance des activités du groupe Ke3chang.

En effet, nous avons détecté divers outils externes utilisés par Okrum, tels qu'un enregistreur de frappe, des outils pour supprimer les mots de passe, ou pour énumérer les sessions réseau. Les portes dérobées Ketrican que nous avons détectées de 2015 à 2019 utilisaient des utilités similaires. Nous ne pouvons que deviner pourquoi l'acteur de Ke3chang utilise cette technique - peut-être la combinaison d'une simple porte dérobée et d'outils externes répond entièrement à leurs besoins, tout en étant plus facile à développer ; mais cela peut aussi être une tentative pour éviter la détection comportementale.

Les techniques de détection que nous avons observées dans le malware Okrum comprennent l'intégration de la charge utile malveillante dans une image PNG légitime, l'utilisation de plusieurs trucs anti-émulation et anti-sandbox, ainsi que des changements fréquents dans la mise en œuvre.

Conclusion

Notre analyse des liens entre les logiciels malveillants Ke3chang précédemment documentés et la nouvelle porte dérobée Okrum nous permet d'affirmer avec une grande confiance que Okrum est exploité par le groupe Ke3chang. Après avoir documenté l'activité du groupe Ke3chang de 2015 à 2019, nous concluons que le groupe continue d'être actif et de travailler à améliorer son code depuis.

Les noms des détecteurs ESET et d'autres indicateurs de compromis pour ces campagnes se trouvent dans le white paper intégral : « Okrum and Ketrican: An overview of recent Ke3chang group activity » (en français : Okrum et Ketrican : Un aperçu de l'activité récente du groupe Ke3chang).

Techniques MITRE ATT&CK

Tactic ID Name Description
Execution T1059 Command-Line Interface Okrum’s backdoor uses cmd.exe to execute arbitrary commands.
T1064 Scripting The backdoor uses batch scripts to update itself to a newer version.
T1035 Service Execution The Stage 1 loader creates a new service named NtmsSvc to execute the payload.
Persistence T1050 New Service To establish persistence, Okrum installs itself as a new service named NtmSsvc.
T1060 Registry Run Keys / Startup Folder Okrum establishes persistence by creating a .lnk shortcut to itself in the Startup folder.
T1053 Scheduled Task The installer component tries to achieve persistence by creating a scheduled task.
T1023 Shortcut Modification Okrum establishes persistence by creating a .lnk shortcut to itself in the Startup folder.
Privilege Escalation T1134 Access Token Manipulation Okrum can impersonate a logged on user's security context using a call to the ImpersonateLoggedOnUser API.
Defense Evasion T1140 Deobfuscate/Decode Files or Information The Stage 1 loader decrypts the backdoor code, embedded within the loader or within a legitimate PNG file. A custom XOR cipher or RC4 is used for decryption.
T1107 File Deletion Okrum’s backdoor deletes files after they have been successfully uploaded to C&C servers.
T1158 Hidden Files and Directories Before exfiltration, Okrum’s backdoor uses hidden files to store logs and outputs from backdoor commands.
T1066 Indicator Removal from Tools Okrum underwent regular technical improvements to evade antivirus detection.
T1036 Masquerading Okrum establishes persistence by adding a new service NtmsSvc with the display name Removable Storage in an attempt to masquerade as a legitimate Removable Storage Manager.
T1027 Obfuscated Files or Information Okrum's payload is encrypted and embedded within the Stage 1 loader, or within a legitimate PNG file.
T1497 Virtualization/Sandbox Evasion The Stage 1 loader performs several checks on the victim's machine to avoid being emulated or executed in a sandbox.
Credential Access T1003 Credential Dumping Okrum was seen using MimikatzLite and modified Quarks PwDump to perform credential dumping.
Discovery T1083 File and Directory Discovery Okrum was seen using DriveLetterView to enumerate drive information.
T1082 System Information Discovery Okrum collects computer name, locale information, and information about the OS and architecture.
T1016 System Network Configuration Discovery Okrum collects network information, including host IP address, DNS and proxy information.
T1049 System Network Connections Discovery Okrum used NetSess to discover NetBIOS sessions.
T1033 System Owner/User Discovery Okrum collects the victim user name.
T1124 System Time Discovery Okrum can obtain the date and time of the compromised system.
Collection T1056 Input Capture Okrum was seen using a keylogger tool to capture keystrokes.
Exfiltration T1002 Data Compressed Okrum was seen using a RAR archiver tool to compress data.
T1022 Data Encrypted Okrum uses AES encryption and base64 encoding of files before exfiltration.
T1041 Exfiltration Over Command and Control Channel Data exfiltration is done using the already opened channel with the C&C server.
Command And Control T1043 Commonly Used Port Okrum uses port 80 for C&C.
T1090 Connection Proxy Okrum identifies a proxy server if it exists and uses it to make HTTP requests.
T1132 Data Encoding The communication with the C&C server is base64 encoded.
T1001 Data Obfuscation The communication with the C&C server is hidden in the Cookie and Set-Cookie headers of HTTP requests.
T1071 Standard Application Layer Protocol Okrum uses HTTP for communication with its C&C.
T1032 Standard Cryptographic Protocol Okrum uses AES to encrypt network traffic. The key can be hardcoded or negotiated with the C&C server in the registration phase.