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.
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.
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. |