Malware faz ataque DDoS em sites

A maioria de Malwares são enviados pela internet para infectar vitimas, mas pode acontecer que a vitima seja infectada com dispositivo como o Pen Drive. Este worm  foi envido por e-mail, pode vim como um ícone de uma PASTA ou de imagem conforme a manipulação da extensão. Ele pode se replicar em USBs e Pen drives. e etc.

Ao abrir o malware no identificador DIE, o resultado que ele retornou que esta com um packer chamado  MEW ( conhecido como MORPHINE ), provavelmente  v1.1. O atacante faz esse tipo proteção do malware para não só diminuir o tamanho mas para ofuscar o código e dificultar o trabalho na hora de analisar. Essa e outros tipos de proteção que o malware foi submetido é uma técnica chamada de anti-revese, é a onde o autor do malware submete a varias camadas de proteção, para deixar  indetectável pelo anti-virus, bypass firewall, e etc. Na verdade deixa ele camuflado.


Para tirar essa proteção utilizei o XVOLKOLAK que tirou o packer do nosso arquivo, depois fiz outra verificação para ver se tirou totalmente o packer nos identificadores DIE, PEID, RDG  que retornou a linguagem de programação Microsoft Visual Basic 5.0 / 6.0. Quando sabemos a linguagem de programa ficar mais fácil analisar o artefato utilizando ferramentas especificas para determinada linguagem.


Strings:

Com o malware sem o packer outras informações que o autor do malware tentou esconder, ficam visíveis para nos, como as strings, ou seja, todos os textos, com o software STRINGS que o nome já diz vamos analisar todos os texto do artefato, o interessante nesse programa que ele te dar a opção de seta todos as strings para um arquivo de texto com mostra o exemplo a seguir  (ex: strings malware.exe > strings_do_malware.txt), eu fiz um script em python que automatiza isso, existem muitas ferramentas que podem ser feitas em python para ajudar na Engenharia reversa de malware.
O que chamou atenção de começo foi essas strings locais sem sentido, algumas com um .exe no final e selecionei algumas em especial.

Orf1Pdlo1Eurq1Wrn
zlqorjrq1h{h>vhuylfhv1h{h>ovdvv1h{h>lqhwlqir1h{h>fvuvv1h{h>vpvv1h{h
VHUYLFHV>OVDVV>LQHWLQIR>ZLQORJRQ>FVUVV>VPVV
vpvv1h{h/vhuylfhv1h{h/ovdvv1h{h/lqhwlqir1h{h/fvuvv1h{h
VRIWZDUH_Plfurvriw_Zlqgrzv#QW_FxuuhqwYhuvlrq_Zlqorjrq
SYSTEMPROFILE
System
\ShellNew
\sempalong.exe
\eksplorasi.exe
\WowTumpeh.com
mspaint.exe
explorer.exe


Outra vez mas técnicas anti-reverse do autor, algumas strings que por algum motivo o autor do malware quis esconder de nos, e deixou as principais criptografadas. Futuramente em outra aula posso ensina como quebrar essa criptografia.

Submeti o malware no IDA, sem executar o malware ainda, e foi logo ver os imports , ou seja, as funções que o malware importa da API do Windows, e encontrei imports que pode dizer muita coisa sobre o nosso malware, essa parte de imports do IDA é de grande funcionalidade na hora de analisar. Listei alguns.

rtcShell
rtcSetFileAttr
rtcMakeDir
rtcFormtDateTime
rtcGetPresentDate
rtcFileCopy

Com essa pequena lista podemos deduzir o que faz o malware , o uso de rtcShell nos diz que ele vai executa command line, um comado dentro do windows (ex. shutdown /p). O uso da função  rtcSetFileAttr como nome diz vai seta um atributo para um arquivo, essa função sera usada para ocultar o malware dentro da pasta do windows. rtcMakeDir quando o malware fizer uso desta função podemos deduzir que em algum momento ele irar criar uma pasta ou uma arquivo.
O malware também pegar o formato da hora da maquina infectada com rtcFormtDateTime e com rtcGetPresentDate pegar o dias e as horas.
Como o nome mesmo diz rtcFileCopy, vai copia em algum momento um arquivo para um diretório.

Todo malware acessa a internet para baixar enviar dados, porque se não fosse assim, qual seria o objetivo? só apagar os dados e pronto?
Nao é bem assim, com o disassembly não encontrei nenhuma dll pra fazer requisição na web. Então analise as strings novamente, e pingo encontrei mas imports da win32api.

advapi32.dll
RegOpenKeyExA
RegSetValueExA
RegCloseKey
RegCreateKeyExA
shell32.dll
SHGetPathFromIDList
SHGetSpecialFolderLocation
wininet.dll
InternetOpenA
InternetOpenUrlA
InternetReadFile
GetCurrentProcess
CekRemDiskXDBAQ
InternetCloseHandle
GetWindowTextA
GetWindowTextLengthA
GetForegroundWindow
ExitWindowsEx
RtlMoveMemory
advapi32
OpenProcessToken
LookupPrivilegeValueA
AdjustTokenPrivileges
GetDriveTypeA
ShellExecuteA
wsock32.dll
closesocket
connect
inet_addr
recv
hHm@
send
DownloadFileXDBAQ
CekUpdateXDBAQ
socket
gethostbyname
WSAStartup
WSACleanup
WSAAsyncSelect
FindFirstFileA
MutMutexXDBAQ
MutCrXDBAQ
FindNextFileA
GetFileAttributesA
FindClose


Bastante informação sobre o malware, podemos ver e deduzir mais situações que o artefato em algum momento pode agir. Agora que encontramos os imports que o worm utiliza para acessar a internet, wsock32.dll, wininet.dll, e também podemos nota que o worm faz alterações no registro do windows RegOpenKeyExA, RegSetValueExA, RegCloseKey, RegCreateKeyExACom GetWindowTextA e GetWindowTextLengthA nessa duas funções da APIs, o artefato vai pegar os títulos das janelas que estivem abertas, é utilizado para desligar a maquina quando um determinado titulo como "antivirus, firewall, e etc." e aberto no windows.
Para descobrir o que cada função faz, consulte o site da MSDN, pode-se buscar no Google: “NomedaFuncao msdn”. 




O que vale ressaltar aqui, que em nenhum momento executei o malware, só utilizei ferramentas especificas que são capazes de extrair informações sem algum execução. Podemos ver que temos muitas informações sobre as funcionalidades do malware, altera registro, cria pasta, se auto-copia, supostamente acessa o servidor, já podemos seguir em frente e ir mas afundo.


Analisando o Codigo:

No offset 40FD11 me chamou atenção  por colocar na pilha a string ".JPG" o que sera isso ? se você pensou que ele vai baixar um jpg e fazer uma ação maliciosa, se enganou, se trata de um paramento onde o malware vai checar se seu download foi feito com a extenção .jpg ou .exe, ou seja, se foi como imagem ou executável.

Na legenda VERIFICAÇÃO abaixo aponta um jz short 40FD93 (JAMP is ZERO), no opcode test eax,eax checa se eax é zero, se o resultado for 0 "zero" ele abre o explorer.exe, se for 1 abre o paint.exe, ou seja, ele pegar o nome da forma que foi baixado e  no final ele checa a extensão se é ( .jpg ou .exe ), conforme for a extensão sera executado alguma ação no paint para imgem ou explorer para executavel. Quando o malware abre a janela o explorer do windows ou paint, é mais uma façanha para disfarçar quando é executado.





Analisando mas afundo pode descobri que ele criar com a função rtcMakeDir uma pasta chamada ShellNew dentro do windows, ou seja, ele se auto-copia para essa pasta e ainda mas, com um novo nome de sempalong.exe, mais outra copia foi feita para pasta windows com nome de eksplorasi.exe.

O autor do malware teve uma preocupação maior em não deixar um curioso descobri e deletar o malware, fazendo varias copias



Analise dinâmica:

A confirmação veio com a analise dinamica com a ferramenta Regshot que ver todas as modificações que são feitas a partir de um snap antes da execução do malware e um segundo snap depois da execução, que pegou mais  arquivos do malware csrss.exe, inetinfo.exe, isass.exe, services.exe, smss.exe, winlogon.exe em um novo diretório em %localappdata%  que vai direto para C:\Documents and Settings\Administrador\Configurações locais\Dados de aplicativos\

Como você podemos  ver o malware se renomeia com os mesmo nomes de softwares que são usados pelo windows, mais uma vez para dificulta a descoberta do mesmo. Se um tec. de informática que não tem tanto conhecimento ver smss.exe, csrss.exe, winlogon.exe, etc. No gerenciado de tarefas vai passar a limpo, pesando que são software do próprio windows. mais artimanhas.


Para conseguimos mais resultados utilizei Process Monitor e de fato pegamos mais resultados para nossa analise reversa. Esse malware faz alterações no registro no windows que responsável por todas as configurações internas do windows. Na chave RUN que ficam  todos os programas inicializáveis, ou seja, o antivirus, o programa de limpeza,  etc. Ele setou uma chave Tok-Cirrhatus com valor smss.exe, como a imagem mostra abaixo.


Outra chave chamada Shell e setada em Winlogon que também é inicializável com o valor eksplorasi.exe

Foi setada mais uma chave Bron-Spizaetus em RUN com valos sempalong.exe


Com uma ferramenta para check o MD5, comparei com o arquivo que principal todos o arquivos, copiados citados acima, o resultados que são todos iguais.


Emais:

abri a pasta APPDATA do windows e dentro de uma sub pasta do Malware me deparei com esses arquivos de suposto emais que de algumas forma ele pega da maquina infectada para se replicar.



Ataque DDoS:

Chegamos na parte que deu titulo ao post, é onde o malware executa tarefas que foi programado a fazer. Nessa função o artefato utiliza um comando do próprio windows PING que é usado para fazer ataque, como a imagem mostra abaixo.


ping kaskus.com -n 250 -l 747 
Ping ou latência é um comando que serve para testar a conectividade entre equipamentos de uma rede utilizando o protocolo ICMP. A palavra "ping" é a abreviação do termo em inglês "Packet Internet Network Grouper", que significa algo como "Agrupador de Pacotes da Internet". Esse comando basicamente envia dados para esses equipamentos e fica aguardando respostas
kaskus.com e basicamente o site que sera atacado.
-n essa flag é quando voce define o número de solicitações de eco a serem enviadas. no nosso caso 250.
-l essa outra flag tem como função envia o tamanho de buffer. logo o artefato envia 747.

obs: esse site ainda esta no ar.



Bom pessoal, esse é uma das minha primeiras analises de malware, e a primeira que estou postando. espero que alguém aprenda alguma coisa, curta ou compartilhe. Isto e resultados do meus estudos  independente e estou apenas começando.

abraço a todos.


Comentários

Postar um comentário

Postagens mais visitadas deste blog

Ollydbg em Portugues

Ofuscando Código de Malware e software

Como usar xvolkolak