Cyberdefenders: Malware Traffic Analysis 2 Challenge
Aqui vamos nós mergulhar no desafio de análise de tráfego de malware 2.
Aprenderemos algumas ferramentas comuns e novas ferramentas para analisar o arquivo pcap e também utilizar as regras Suricata encontradas no Brim para identificar trojan malicioso
Vamos começar!
Pergunta 1: Qual é o endereço IP da VM do Windows infectada?
Ao usar o NetworkMiner — podemos ver a seção de hosts e classificar os resultados por endereço IP.
Agora, enquanto olhamos para os resultados e procuramos os endereços IP privados, podemos observar o endereço IP 172.16.165.132 com as janelas do sistema operacional e esta é a resposta
Caso contrário, podemos verificar no Wireshark todos os endereços IP que fazem parte dos intervalos de IP privados e do protocolo DNS:
Com isso, podemos encontrar o IP de origem que consultou a tradução do domínio e aquele que respondeu:
(ip.src == 10.0.0.0/8 or ip.src == 172.16.0.0/12 or ip.src == 192.168.0.0/24) && dns
Resposta : 172.16.165.132
Questão 2 — Qual é o endereço MAC da VM infectada?
Usando a mesma ferramenta acima, podemos encontrar logo abaixo do campo IP — o endereço MAC que estamos procurando:
Resposta: 00:0c:29:c5:b7:a1
Pergunta 3 — Qual é o endereço IP e o número da porta que entregou o exploit kit e o malware?
Usando a segurança Brim e utilizando suas seções de detecções Suricata, podemos ver um IP identificado como um Trojan de rede e que o kit de exploração foi detectado:
Consultas > Alertas Suricata por origem e destino
Vamos encontrar o número da porta de onde veio a comunicação — para esta tarefa, basta clicar com o botão direito do mouse no resultado e clicar em “Pivot to logs”:
Então poderíamos ver a porta de origem:
Resposta: 37.143.15.180:51439
Questão 4 — Quais são os dois FQDNs que entregaram o exploit kit? separados por vírgula em ordem alfabética.
O Network Miner pode nos ajudar a encontrar todos os domínios relacionados ao IP específico.
Ao navegar para a guia Hosts, classifique os resultados por endereços IP e encontre o endereço IP que encontramos acima - podemos ver 2 FQDN encontrados nesse IP:
Resposta: g.trinketking.com, h.trinketking.com
Questão 5 + 6 — Qual é o endereço IP e FQDN do site comprometido?
Se o domínio do exploit kit foi lançado por um site comprometido e não diretamente pelo usuário, então vamos procurar todo o tráfego http onde o IP de destino é 37.143.15.180 e com isso encontraremos o domínio referenciador
ip.dst == 37.143.15.180 && http
Resposta : hijinksensue.com
Em seguida, procuraremos no NetworkMiner nosso FQDN — classificando os hosts de resultados por nome de host e encontraremos nosso endereço IP:
Resposta: 192.30.138.146
Pergunta 7 — Qual é o nome do kit de exploração (EK) que entregou o malware? (duas palavras)
Cada regra no Suricata contém sua categoria e sua assinatura, onde a assinatura é o nome do alerta quando a regra corresponde ao comportamento.
Ao olhar para a assinatura de Suricata do exploit kit IP — podemos prestar atenção ao seu nome “ET INFO WinHttpRequest Downloading EXE”
Uma simples pesquisa no Google revela o nome do exploit kit: Sweet Orange
Laranja Doce Explicação:
Resposta: Laranja Doce
Pergunta 8 — Qual é a URL de redirecionamento que aponta para a página inicial do exploit kit?
Meu pensamento foi:
Se o site comprometido não é aquele que redireciona para o site malicioso, provavelmente há um domínio que redireciona para o site malicioso apenas em tempo de execução e apareceu como parte do site comprometido em um estado estático, então vamos procurar por todos os domínios com o referenciador do site comprometido em momentos específicos em que a solicitação ao malicioso foi enviada… além disso, exclua o IP de destino do próprio site comprometido e procure por arquivos JavaScript.
Primeiro, vamos revisar novamente os pacotes do IP de destino malicioso e prestar atenção ao referenciador:
ip.dst == 37.143.15.180 && http
http.referer == "http://hijinksensue.com/" && frame.time < "2014-11-23 02:58:46" && frame.time > "2014-11-23 02:58:44" && !ip.dst == 192.30.138.146
Ao verificar a resposta do domínio “intensedebate.com” (IP: 192.0.65.226) — podemos ver claramente o script, e isso não parece um script ofuscado e malicioso:
frame.time < "2014-11-23 02:58:46" && frame.time > "2014-11-23 02:58:44" && ip.src == 192.0.65.226 && http
frame.time < "2014-11-23 02:58:47" && frame.time > "2014-11-23 02:58:44" && ip.src == 50.87.149.90 && http
var main_request_data_content='(6i8h(74$X7o4w(70(z3a)2fY_2f)[email protected]_O72x$P69Y;R6e=R6b;6v5j!74m;H6b=69)L6QeP_M6S7_2he@63R=6vfJ;6d;i3a,[email protected])33Z(39w$t2fw!T63(6fr(r6peV.P7X3,7P5t,6dx_z65,7V2J@Z2f)6V5(w6dJ$7U0!74W;p79q$s2f=K6k2x_69n=7o2=G64_73;Z2pe;Z70.68_7N0@3f(R7O7q,6Q9;S6Oej(K74(t65,7O2k$t3d,3i3';
Responder:http://static.charlotteretirementcommunities.com/k?tstmp=3701802802
Pergunta 9: Qual é o endereço IP da URL de redirecionamento que aponta para a página inicial do exploit kit?
Seguindo o domínio que encontramos na consulta acima — Também podemos encontrar o IP do domínio revisando a guia “Hosts” no NetworkMiner:
Resposta: 50.87.149.90
Pergunta 10: Extraia a carga útil do malware (arquivo PE) do PCAP. Qual é o hash MD5?
Conhecemos o IP e exceto os domínios do exploit kit, então vamos pesquisá-los novamente como o endereço de origem para ver as respostas e encontrar o exploit.
ip.src == 37.143.15.180 && http
Vamos exportar os bytes e usar a função do PowerShell “Get-FileHash” para recuperar o MD5 e verificá-lo no VT e BOOM!!!
Resposta: 1408275C2E2C8FE5E83227BA371AC6B3
Questão 11 — Qual é o CVE da vulnerabilidade explorada?
Sabemos por uma pergunta anterior que o malware se chamava “sweet orange”, então comecei a pesquisar no Google “sweet orange cve”.
Ao navegar no site abaixo, notei que o artigo enfatiza o tipo de conteúdo
https://www.malware-traffic-analysis.net/2014/04/20/index.html
Em seguida, combine os resultados para pesquisar no Google e crie este “Sweet orange octet stream cve”
https://malware.dontneedcoffee.com/2014/11/cve-2014-6332.html
Questão 12: Qual é o mime-type do arquivo que levou mais tempo (duração) para ser analisado pelo Zeek?
Mime é um tipo de mídia que indica a natureza e o formato de um documento.
O tipo mime comum pode ser visto aqui:https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
Para encontrar a duração mais longa do carregamento do tipo mime, veremos quais caminhos temos com todos os nossos dados no Brim fazendo esta consulta:
count() by _path | sort -r
_path=="files" | mime_type!=null | sort -r duration
Resposta: application/x-dosexec
Questão 13 — Qual foi o referenciador da URI visitada que retornou o arquivo “f.txt”?
Para encontrar o referenciador para o URI visitado que retornou o f.txt, podemos usar o Brim, onde simplesmente procuramos todas as solicitações HTTP com um nome de arquivo de resposta que contenha f.txt e usamos “cut” para filtrar apenas o URL do referenciador
_path=="http" | "f.txt" in resp_filenames | cut referrer
Questão 14 — Quando foi captado este PCAP?
Ao olhar para a hora dos pacotes capturados, cada pacote recebe um carimbo de data/hora - como resultado, podemos prestar atenção à hora mais cedo e à hora mais recente dos pacotes e perceber que eles são os mesmos, o que significa que este PCAP foi capturado em 23/11/2014
Resposta : 23/11/2014
Questão 15 — Quando o arquivo PE foi compilado?
Usando o software PEStudio, podemos obter uma análise estática completa do arquivo, incluindo strings, hashes e timestamp de compilação:
Resposta : 21/11/2014
Questão 16 — Qual é o nome do emissor do certificado SSL que apareceu apenas uma vez? (uma palavra)
Para recuperar todos os certificados — procurei todo o tráfego onde a porta é 443 e o destino é nosso IP privado com o objetivo de encontrar todas as respostas do “servidor”:
tcp.port == 443 && ip.dst == 172.16.165.132
Resposta: CYBERTRUST
Questão 17 — Quais foram os dois métodos de proteção habilitados durante a compilação do presente arquivo PE? Formato: separado por vírgula em ordem alfabética
Com o objetivo de encontrar a proteção do executável portátil (PE), podemos usar a ferramenta “winchecksec” no Github.
https://github.com/trailofbits/winchecksec/releases/download/v3.1.0/windows.x64.Release.zip
Depois de extrair os arquivos e usar o winchecksec.exe em nosso binário malicioso extraído que o domínio do kit de exploração entregou - podemos ver claramente 2 proteções que correspondem à nossa pergunta:
De acordo com o Google, NX é um não-Execute (segundo nome — DEP) que bloqueia a execução do código da memória marcada como não executável
A segunda proteção chamada SEH, relacionada à exploração do SEH, permite que o adversário sobrescreva um ponteiro e direcione o fluxo de execução para o código malicioso
Resposta : DEP, SEH