Uma nova variante de ransomware chamada Nemty apareceu na rede, que supostamente é o sucessor do GrandCrab ou Buran. O malware está sendo disseminado principalmente através de um site falso do PayPal e possui várias características interessantes. Detalhes sobre como esse ransomware funciona estão abaixo.

O novo ransomware Nemty foi descoberto por um usuário 7 de setembro de 2019. O malware foi distribuído por meio de um site , e também existe a possibilidade de o ransomware infiltrar o computador por meio do kit de exploração RIG. Os cibercriminosos usaram métodos de engenharia social para levar o usuário a executar o arquivo cashback.exe, que supostamente ele recebe do site do PayPal. Curiosamente, o Nemty especifica uma porta incorreta para o serviço proxy local Tor, o que impede o malware de enviar dados para o servidor. Portanto, o usuário terá que fazer o upload dos arquivos criptografados na rede Tor, caso pretenda pagar o resgate e esperar pela decodificação por parte dos criminosos.
Alguns fatos curiosos sobre o Nemty sugerem que foi desenvolvido pelas mesmas pessoas ou por cibercriminosos relacionados ao Buran e GrandCrab.
- Assim como no GandCrab, o Nemty contém uma 'easter egg' — um link para uma foto do presidente da Rússia, Vladimir Putin, com uma piada ofensiva. O antigo ransomware GandCrab tinha uma imagem com o mesmo texto.
- Os artefatos linguísticos de ambos os programas indicam os mesmos autores que falam russo.
- Este é o primeiro ransomware a usar uma chave RSA de 8092 bits. Embora não faça sentido: uma chave de 1024 bits é suficiente para proteção contra ataques.
- Assim como o Buran, o ransomware foi escrito em Object Pascal e compilado no Borland Delphi.
Análise estática
A execução do código malicioso ocorre em quatro etapas. O primeiro passo é a execução do cashback.exe, um arquivo executável PE32 para MS Windows com 1198936 bytes. Seu código foi escrito em Visual C++ e compilado em 14 de outubro de 2013. Ele contém um arquivo zip que é automaticamente descompactado ao executar cashback.exe. O software utiliza a biblioteca Cabinet.dll e suas funções FDICreate(), FDIDestroy() e outras para obter arquivos do arquivo .cab.


SHA-256: A127323192ABED93AED53648D03CA84DE3B5B006B641033EB46A520B7A3C16FC
Após a descompactação do arquivo, três arquivos aparecerão.

Em seguida, o temp.exe é executado, um arquivo executável PE32 para MS Windows com 307200 bytes. O código foi escrito em Visual C++ e compactado com o empacotador MPRESS, semelhante ao UPX.

SHA-256: EBDBA4B1D1DE65A1C6B14012B674E7FA7F8C5F5A8A5A2A9C3C338F02DD726AAD
O próximo passo é ironman.exe. Após a execução, temp.exe decifra os dados incorporados em temp e os renomeia para ironman.exe, um arquivo executável PE32 com tamanho de 544768 bytes. O código foi compilado no Borland Delphi.
![]()
SHA-256: 2C41B93ADD9AC5080A12BF93966470F8AB3BDE003001492A10F63758867F2A88
O último passo é reiniciar o arquivo ironman.exe. Durante a execução, ele transforma seu código e se inicia a partir da memória. Esta versão do ironman.exe é maliciosa e é responsável pela criptografia.
Vetor de ataque
Atualmente, o ransomware Nemty é distribuído através do site pp-back.info.

É possível ver toda a cadeia de infecção em sandbox.
Instalação
Cashback.exe é o início do ataque. Como mencionado, cashback.exe descompacta o arquivo .cab contido. Em seguida, ele cria uma pasta TMP4351$.TMP do tipo %TEMP%IXxxx.TMP, onde xxx é um número de 001 a 999.


Em seguida, é configurada uma chave de registro que se apresenta assim:
[HKLMSOFTWAREWOW6432NodeMicrosoftWindowsCurrentVersionRunOncewextract_cleanup0]
“rundll32.exe” “C:Windowssystem32advpack.dll,DelNodeRunDLL32 «C:UsersMALWAR~1AppDataLocalTempIXPxxx.TMP»”
Ela é usada para remover arquivos descompactados. Finalmente, cashback.exe inicia o processo temp.exe.

Temp.exe é a segunda etapa na cadeia de infecção
É um processo iniciado pelo arquivo cashback.exe, o segundo passo na execução do vírus. Ele tenta baixar o AutoHotKey — uma ferramenta para executar scripts no Windows — e executar o script WindowSpy.ahk, localizado na seção de recursos do arquivo PE.

O script WindowSpy.ahk decifra o arquivo temp em ironman.exe, usando o algoritmo RC4 e a senha IwantAcake. A chave da senha é gerada através do algoritmo de hashing MD5.
Em seguida, temp.exe chama o processo ironman.exe.
![]()
Ironman.exe é o terceiro passo
Ironman.exe lê o conteúdo do arquivo iron.bmp e cria um arquivo iron.txt com o crypto-locker que será iniciado em seguida.


Depois disso, o vírus carrega iron.txt na memória e o reinicia como ironman.exe. Em seguida, iron.txt é deletado.
ironman.exe é a parte principal do ransomware NEMTY, que criptografa os arquivos no computador infectado. O malware cria um mutex chamado hate.

Primeiro, ele determina a localização geográfica do computador. Nemty abre o navegador e obtém o IP em . No site [IP]/countryName, com base no IP obtido, identifica o país e, se o computador estiver localizado em uma das regiões listadas abaixo, a execução do código do malware é interrompida:
- Rússia
- Bielorrússia
- Ucrânia
- Cazaquistão
- Tajiquistão
Provavelmente, os desenvolvedores não querem atrair a atenção das autoridades em seus países de residência e, por isso, não criptografam arquivos nas jurisdições "nativas".
Se o endereço IP da vítima não estiver na lista acima, o vírus criptografa as informações do usuário.

Para evitar a recuperação de arquivos, suas cópias de sombra são removidas:

Em seguida, é criada uma lista de arquivos e pastas que não serão criptografados, bem como uma lista de extensões de arquivos.
- windows
- $RECYCLE.BIN
- rsa
- NTDETECT.COM
- ntldr
- MSDOS.SYS
- IO.SYS
- boot.ini AUTOEXEC.BAT ntuser.dat
- desktop.ini
- CONFIG.SYS
- BOOTSECT.BAK
- bootmgr
- programdata
- appdata
- osoft
- Common Files
log LOG CAB cab CMD cmd COM com cpl
CPL exe EXE ini INI dll DDL lnk LNK url
URL ttf TTF DECRYPT.txt NEMTY Ofuscação
Para ocultar URLs e dados de configuração incorporados, o Nemty utiliza um algoritmo de codificação base64 e RC4 com a frase-chave fuckav.

O processo de descriptografia usando CryptStringToBinary é o seguinte

Criptografia
O Nemty utiliza criptografia em três camadas:
- AES-128-CBC para arquivos. Uma chave AES de 128 bits é gerada aleatoriamente e a mesma é usada para todos os arquivos. Ela é armazenada em um arquivo de configuração no computador do usuário. O IV é gerado aleatoriamente para cada arquivo e é armazenado no arquivo criptografado.
- RSA-2048 para criptografar o IV dos arquivos. Uma chave de sessão é gerada. A chave privada da sessão é armazenada no arquivo de configuração no computador do usuário.
- RSA-8192. A chave pública principal está embutida no programa e é usada para criptografar o arquivo de configuração, no qual está armazenada a chave AES e a chave secreta para a sessão RSA-2048.
- Primeiro, o Nemty gera 32 bytes de dados aleatórios. Os primeiros 16 bytes são usados como a chave AES-128-CBC.

O segundo algoritmo de criptografia é o RSA-2048. A chave de sessão é gerada pela função CryptGenKey() e importada pela função CryptImportKey().

Depois que a chave de sessão é gerada, a chave pública é importada para o Provedor de Serviços Criptográficos da Microsoft.

Exemplo da chave pública gerada para a sessão:

Em seguida, a chave privada é importada para o CSP.

Exemplo da chave privada gerada para a sessão:
E, finalmente, temos o RSA-8192. A chave pública principal é armazenada de forma criptografada (Base64 + RC4) na seção .data do arquivo PE.

A chave RSA-8192 após a decodificação base64 e descriptografia RC4 com a senha fuckav é assim.

Como resultado, todo o processo de criptografia é o seguinte:
- Geração de uma chave AES de 128 bits, que será usada para criptografar todos os arquivos.
- Criação de um IV para cada arquivo.
- Criação de um par de chaves para a sessão RSA-2048.
- Descriptografando uma chave RSA-8192 existente usando base64 e RC4.
- Criptografando o conteúdo dos arquivos usando o algoritmo AES-128-CBC do primeiro passo.
- Criptografando o IV com a chave pública RSA-2048 e codificando em base64.
- Adicionando o IV criptografado ao final de cada arquivo criptografado.
- Adicionando a chave AES e a chave privada da sessão RSA-2048 na configuração.
- Os dados de configuração, descritos na seção do computador infectado, são criptografados usando a chave pública RSA-8192.
- Um arquivo criptografado se parece com o seguinte:
Exemplo de arquivos criptografados:
Coleta de informações sobre o computador infectado
O ransomware coleta chaves para descriptografar os arquivos infectados, permitindo que o criminoso realmente consiga criar um descriptografador. Além disso, o Nemty coleta dados do usuário, como nome de usuário, nome do computador e perfil de hardware.

Ele chama as funções GetLogicalDrives(), GetFreeSpace(), GetDriveType() para coletar informações sobre os discos do computador infectado.
As informações coletadas são armazenadas em um arquivo de configuração. Decodificando a string, obtemos uma lista de parâmetros no arquivo de configuração:

Exemplo de configuração do computador infectado:

O modelo de configuração pode ser representado da seguinte forma:
{«General»: {«IP»:»[IP]»,«Country»:»[Country]»,«ComputerName»:»[ComputerName]»,«Username»:»[Username]»,«OS»:»[OS]»,«isRU»:false,«version»:«1.4»,«CompID»:»{[CompID]}»,«FileID»:»_NEMTY_[FileID]_»,«UserID»:»[UserID]»,«key»:»[key]»,«pr_key»:»[pr_key]
Os dados coletados pelo Nemty são armazenados no formato JSON no arquivo %USER%/_NEMTY_.nemty. O FileID, com um comprimento de 7 caracteres, é gerado aleatoriamente. Por exemplo: _NEMTY_tgdLYrd_.nemty. O FileID também é adicionado ao final do arquivo criptografado.
Mensagem de resgate
Após a criptografia dos arquivos, um arquivo _NEMTY_[FileID]-DECRYPT.txt aparece na área de trabalho com o seguinte conteúdo:

No final do arquivo, há informações criptografadas sobre o computador infectado.

Comunicação em rede
O processo ironman.exe baixa a distribuição do navegador Tor do endereço e tenta instalá-lo.
Em seguida, o Nemty tenta enviar os dados de configuração para o endereço 127.0.0.1:9050, onde espera encontrar um proxy funcional do navegador Tor. No entanto, por padrão, o proxy do Tor escuta na porta 9150, enquanto a porta 9050 é usada pelo daemon do Tor no Linux ou pelo Expert Bundle no Windows. Assim, os dados não são enviados para o servidor do invasor. Em vez disso, o usuário pode baixar o arquivo de configuração manualmente visitando o serviço de decodificação do Tor pelo link indicado na mensagem de resgate.
Conexão com o proxy Tor:

![]()
HTTP GET cria uma solicitação para 127.0.0.1:9050/public/gate?data=

Aqui você pode ver as portas TCP abertas que estão sendo usadas pelo proxy TORlocal:

Serviço de decodificação do Nemty na rede Tor:

É possível fazer upload de uma foto criptografada (jpg, png, bmp) para testar o serviço de decodificação.

Depois disso, o invasor pede o pagamento de um resgate. No caso de não pagamento, o preço dobra.

Conclusão
Até o momento, não é possível decifrar arquivos criptografados pelo Nemty sem o pagamento do resgate. Essa versão do ransomware possui semelhanças com os criptografadores Buran e o antigo GandCrab: compilado em Borland Delphi e com imagens contendo o mesmo texto. Além disso, é o primeiro criptografador a usar uma chave RSA de 8092 bits, o que, repetimos, não faz sentido, pois uma chave de 1024 bits é mais do que suficiente para proteção. Finalmente, curiosamente, ele tenta usar a porta incorreta para o serviço proxy local do Tor.
No entanto, as soluções e não permitem que o ransomware Nemty alcance os PCs e dados dos usuários, e os provedores podem proteger seus clientes com . A proteção não só fornece backup, mas também proteção utilizando , uma tecnologia especial baseada em inteligência artificial e heurística comportamental, que permite neutralizar até mesmo malware desconhecido.
Fonte: habr.com
