quinta-feira, 25 de fevereiro de 2010

Zeus Botnet / Snort e falsos negativos

Nesse post farei breve comentários da Zeus Botnet e derivados, bem como como se proteger e as regras do snort para detecção do mesmo que tentam mitigar mas certamente também tomam um baile para gerar alertas devido as constantes mudanças .

Zeus ( http://en.wikipedia.org/wiki/Zeus_(trojan_horse) ) surgiu a longo tempo atrás e hoje em dia a Zeus Botnet também é conhecida como Zeus , Zbot, PRG, Wsnpoem, Gorhax ,Kneber . Um dos facilitadores e comum uso é a disponibilidade do codigo, add-ons, obfuscadores entre outros . Algumas informações aqui http://www.technologyreview.com/computing/24641/page2/ .

O único sistema operacional afetado é o windows (especialmente XP) como podem ver no gráfico abaixo:





As mais nova "versão" infectou milhares de computadores (incluindo empresas e governos, diferente das outras versões que visava mais home users) e foi chamada de Kneber (http://www.brc.com.br/index.php?option=com_content&task=view&id=1695&Itemid=362&lang=pt_BR )

O Snort possui por volta de 20 regras para detecção de atividades do Zeus e variáveis sendo 15 do Emerging-Threats e 5 do VRT da Sourcefire. As regras do VRT da Sourcefire são mais voltadas para monitoramento de User-Agent anomalos , enquanto do ET são mais genericas abrangendo comunicação com C&C , download de binarios infectados entre outros. Abaixo os alertas e sid das regras:

VRT

Alerta: "SPECIFIC-THREATS Zeus/Zbot malware config file download request" / sid: 15481
Alerta: "SPECIFIC-THREATS Possible Zeus User-Agent - Download" / sid: 16441
Alerta: "SPECIFIC-THREATS Possible Zeus User-Agent - Mozilla" / sid: 16442
Alerta: "SPECIFIC-THREATS Possible Zeus User-Agent - ie" / sid: 16440
Alerta: "SPECIFIC-THREATS Possible Zeus User-Agent - _TEST_" / sid: 16439


Emerging Threats

Alerta: "ET CURRENT_EVENTS NACHA/Zeus Phishing Executable Download Attempt" / sid: 2010342
Alerta: "ET CURRENT_EVENTS Zbot update (av-i386-daily.zip)" / sid: 2010568
Alerta: "ET CURRENT_EVENTS Zbot update (av_base/pay.php)" / sid: 2010566
Alerta: "ET CURRENT_EVENTS Zbot update (av_base/ip.php)" / sid: 2010567
Alerta: "ET CURRENT_EVENTS Zeus Bot / Zbot Checkin (/us01d/in.php)" / sid: 2010729
Alerta: "ET TROJAN PRG/wnspoem/Zeus InfoStealer Trojan Config Download" / sid: 2008100
Alerta: "ET TROJAN SpyBye Bot Checkin" / sid: 2010789
Alerta: "ET TROJAN Zbot/Zeus HTTP POST" / sid: 2008661
Alerta: "ET TROJAN Zbot/Zeus or Related Infection Checkin" / sid: 2008665
Alerta: "ET TROJAN Zbot/Zeus C&C Access" / sid: 2009175
Alerta: "ET TROJAN Zbot/Zeus Dropper Infection - /check" / sid: 2009212
Alerta: "ET TROJAN Zbot/Zeus Dropper Infection - /loads.php" / sid: 2009213
Alerta: "ET TROJAN - Possible Zeus/Perkesh (.bin) configuration download" / sid: 2010348
Alerta: "ET CURRENT_EVENTS MALWARE Potential Malware Download, trojan zbot" / sid: 2010448
Alerta: "ET TROJAN Zbot/Beomok/PSW - HTTP POST" / sid: 2009448


Infelizmente não possuo dados de alertas, infecção no Brasil (mas como podemos ver abaixo o Brasil não esta nos grandes alvos, pelo menos por enquanto ) , caso você tenha algo e possa colaborar terei enorme prazer em fazer um update desse post com informações das empresas/usuários nacionais . Se possuir samples ou mesmo tráfego e puder enviar também será de grande valia .




Abaixo uma análise basica de um sample

Malware Analysis

Submitted file: new4.exe
MD5: 05d2c93b2c8237dd17f0cdc2a0946cb0
SHA1: 87b32c9ca8bf58622e42a94db23ee95db309c9a1
Filesize: 135168
Analysis ID: 3095340
Sample ID: 1188540
Analysis result:
Your submitted sample has been successfully analyzed. You can find the report at https://mwanalysis.org/?site=1&page=details&id=1188540&password=szmtdbkrms

Parte do tráfego gerado na rede que é a parte que nos interessa

Download URLs
http://removed/new4.bin (91.201.28.35)
http://removed/gallery/portfolio/Kids_And_Adults/images/2k8.exe (php1.walkontheweb.com)

Data posted to URLs
http://removed/user3/gate.php (removed)
http://removed/user3/gate.php (removed)

Threat Expert

http://www.threatexpert.com/report.aspx?md5=05d2c93b2c8237dd17f0cdc2a0946cb0

* Trojan.Zbot [PCTools]
* Trojan.Zbot!gen3 [Symantec]
* Trojan-Spy.Win32.Zbot.gen [Kaspersky Lab]
* Generic PWS.y!bzs [McAfee]
* Mal/Generic-A [Sophos]
* Packed.Win32.Krap [Ikarus]
* Win-Trojan/Krap.135168.BA [AhnLab]


Anubis - http://anubis.iseclab.org/?action=result&task_id=10eabca7c3621d904e916a9fff3738c6f&format=html

O que mais curto no Anubis é que eles dão o pcap embora a melhor analise foi do malware analysis =)

GET /new4.bin HTTP/1.1
Accept: */*
Connection: Close
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: 91.201.28.35
Pragma: no-cache

HTTP/1.1 200 OK
Server: nginx/0.6.32
Date: Thu, 25 Feb 2010 11:29:06 GMT
Content-Type: application/octet-stream
Connection: close
Last-Modified: Mon, 22 Feb 2010 17:58:37 GMT
ETag: "750e46-abb2-480342eb34d40"
Accept-Ranges: bytescp em
Content-Length: 43954


Aproveitando o post e a analise simples tambem modifiquei a regra para ficar mais generica ficando:

alert tcp $HOME_NET any -> $EXTERNAL_NET $HTTP_PORTS (msg:"ET TROJAN - Possible Zeus/Perkesh (.bin) configuration download"; flow:established,to_server; content:"GET "; depth:4; content:"|0d 0a|Accept|3a| */*|0d 0a|"; uricontent:".bin"; pcre:"/\/[0-9A-Z]+\.bin$/Ui"; classtype:trojan-activity; reference:url,zeustracker.abuse.ch; reference:url,doc.emergingthreats.net/2010348; reference:url,www.emergingthreats.net/cgi-bin/cvsweb.cgi/sigs/VIRUS/TROJAN_Zeus,reference:url,anubis.iseclab.org/?action=result&task_id=10eabca7c3621d904e916a9fff3738c6f&format=html; sid:2010348; rev:5;)

Com isso teriamos o alerta:

# snort -c snort-ET.conf -K none -A console -q -r /LABS/PCAPS/zeus.pcap

02/25-08:28:02.537402 [**] [1:2010348:5] ET TROJAN - Possible Zeus/Perkesh (.bin) configuration download [**] [Classification: A Network Trojan was detected] [Priority: 1] {TCP} 192.168.0.2:1038 -> 91.201.28.35:80

Eu enviei a sugestão de mudanças para o ET mas temos sempre que ficar de olho se a mudanças não gerara muito Falso Positivo .

Como sempre vale dizer, mantenha seu AV atualizado, reforce as proteções com um bom filtro de conteúdo (interessante o que o Edison postou a pouco http://efigueira.blogspot.com/2010/02/boas-praticas-de-seguranca-na-empresa.html ) bem como reforce com um IDS e assinaturas. Infelizmente as mudanças são muitas e sempre e a chance de falsos negativos são grandes em todos os produtos e tecnologias por isso a necessidade de segurança em camadas para mitigar isso ao máximo possivel .

Happy Snorting!

Rodrigo Montoro(Sp0oKeR)

3 comentários:

Jeronimo Zucco, CISSP disse...

Legal o post, Sp0oKeR.

Você tem alguma estimativa se as regras para o Zeus no snort geram muito falso-positivos, em um ambiente de produção real ?

[]'s

Rodrigo "Sp0oKeR" Montoro disse...

Infelizmente não possuo esses numeros. O que comentei de FP foi a regra que modifiquei por não ter mtas caracteristicas unicas. As outras regras não vi comentarios nas listas de regras que participo e quando elas geram mto FP o pessoal remove visto que o ET em especial é algo admin para admin mais daily basis o que pode ter algo util hoje e inutil amanha =)

Edison Figueira Junior disse...

Muito bom o post, teoria e prática...