Você está na página 1de 33

Malwares VS Antivrus

Wendel Guglielmetti Henrique


wendel at security dot org dot br
Security OpenSource
Intruders Tiger Team Security

(http://www.security.org.br/)
(http://www.intruders.com.br/)

H2HC Fourth Edition - 06, 07, 08 e 09 de Novembro.


Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

1/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Agenda
Definies:
Malwares.
Vrus.
Worms
Spywares.
Keyloggers.
Rootkits

Antivrus:
Definio.
Como funciona?

Exemplos de mtodos de Evaso:

Rootkit Hooking:
Exemplo de Processos Ocultos.
Exemplo de deteco.

Dicas.
Dvidas?
Links.

Assinaturas malfeitas.
Packers, Binders, Encryptao, etc.
Antivrus Killer.
Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

2/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Nota
Esta palestra e todos os seus exemplos (Proof Of Concept) foram criados em 2006
para o Unsecurity Day.
A ausncia de atualizaes na palestra e nos exemplos proposital para demonstrar
como os POCs (Proof Of Concept) criados e compilados a mais de 1 ano se mostram
efetivos contra os antivrus atuais (com todas as suas atualizaes).
Durante o H2HC 2007 todos os exemplos foram demonstrados ao vivo e com diversos
antivrus com as ltimas atualizaes.
As tcnicas apresentadas nesta palestra so efetivas contra vrios antivrus e no
apenas contra os antivrus apresentados nos vdeos.

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

3/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Definies:

- No existe um rgo ou instituio que regulamente a definio dos termos


Malwares, Vrus, Worms, Spywares, Keyloggers, Rootkits, etc.
- Conseqentemente existem algumas divergncias de opinies sobre as definies dos
mesmos.
- Utilizaremos a linha de definio que a maioria dos experts do seguimento adotam.
- A nica definio 100% correta : Malwares, Vrus, Worms, Spywares, Keyloggers
e Rootkits so simplesmente programas de computador.
Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

4/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Definies: Malwares

- Malwares so programas de computadores criados com a inteno de infiltrar


e/ou roubar dados e/ou espionar e/ou danificar e/ou esconder evidncias em um
sistema computacional.
- Vrus, Worms, Spywares, Keyloggers, Rootkits, Backdoors, Trojan Horses, etc,
so considerados Malwares.
- Como o prprio nome sugeri, a palavra Malware foi criada a partir da juno de
duas palavras em ingls Malicious e Software.

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

5/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Definies: Vrus

- Vrus de computador agem de forma parecida com os vrus biolgicos, que se


proliferam atravs da insero em clulas. Vrus de computador tem como principal
caracterstica se proliferam atravs da sua rotina de auto replicao, que visa inserir
o mesmo em outros arquivos (executveis, scripts, documentos, etc) do sistema
computacional.
- Os vrus antigamente se replicavam pelos meios existentes (como disquetes) e
conseqentemente precisavam de interao do usurio para ser executado, com o
advento das redes de computadores e a Internet os vrus passaram a se replicar
atravs de compartilhamentos de arquivos, e-mail, redes p2p, etc. Considerar que a
interao do usurio faz parte da definio de um vrus um erro!

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

6/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Definies: Vrus

- Em 1982 foi encontrado em ambiente real (in the wild) o primeiro vrus de
computador, que foi criado por Rich Skrenta e nomeado de Elk Cloner, o mesmo
infectava o sistema operacional DOS 3.3 do Apple II e se proliferava atravs de
disquetes.
- Fred Cohen em 1984 escreveu um artigo entitulado Experiments with Computer
Viruses, que pela primeira vez utilizou computacionalmente o termo vrus em um
artigo.
- Exemplos de vrus que ficaram mundialmente conhecidos so Mydoom, Ninda,
Zmist, ILOVEYOU, etc.

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

7/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Definies: Worms
- Worms se replicam de forma similar aos vrus, as duas principais caractersticas
de um Worm so:
No necessita infectar arquivos (executvel, script, documento, etc) como os vrus
para se proliferam.

Se prolifera com maior velocidade que os vrus, pois explorara vulnerabilidades


em sistemas e as utiliza para se replicar, pode utilizar os mesmos mtodos de
replicao dos vrus como compartilhamentos de arquivos, e-mail, redes p2p, etc.

- Robert Tappan Morris em 1988 criou o primeiro Worm que se proliferava pela
Internet, explorando vulnerabilidades (Sendmail, Finger e logins/senhas fracas em
rsh/rexec) em sistemas Unix BSD, afetando cerca de 6,000 mquinas
(aproximadamente 10% da Internet da poca).
Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

8/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Definies: Spywares

- Como o prprio nome sugere Spyware a juno das palavras SPY e


Software, ou seja software espio.
- Spywares no se auto-replicam como vrus e worms, porm podem explorar
vulnerabilidades (geralmente em browsers como Internet Explorer, Firefox, etc) ns
computadores dos usurios para se instalar.
- A criao de Spywares tem como objetivo principal o lucro financeiro, pois entre
suas atividades esto o marketing em geral (propagandas no solicitadas) e o furto
de informaes pessoais e sigilosas.

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

9/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Definies: Spywares

- Em 2000 Gregor Freund (Zone Labs) utilizou computacionalmente pela primeira


vez o termo Spyware em um documento (press release).
- Exemplos de Spywares abrangentemente conhecidos so 180 Solutions, Internet
Optimizer, CoolWebSearch, etc.

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

10/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Definies: Keyloggers
- Keyloggers tambm chamados de Keystroke logging so programas que capturam
as teclas pressionadas (incluindo senhas).
- Keyloggers podem ser utilizados para vrios fins como espionagem, fraudes
eletrnicas, monitoramento permitido de usurios, etc.
- Existem Keyloggers em hardware (como eu mostrei no Secomp 2005) e software.
- Existe uma variao chamada de ScreenLoggers que captura (screenshot) as telas
ao invs das teclas, geralmente utilizado para obter dados de teclados virtuais
(como os utilizados em bancos).
Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

11/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Definies: Rootkits

- Rootkit um software geralmente utilizado por invasores aps comprometer um


sistema, sua caracterstica principal auxiliar o invasor a manter acesso ao sistema
sem conhecimento de outros usurios (incluindo o Administrador).
- Os primeiros Rootkits foram feitos para Unix e continham um conjunto (Kit) de
ferramentas (ps, ls, netstat, etc) modificadas com objetivo de esconder o invasor, e
conseqentemente manter acesso de Administrador (Root) no sistema sem que
outros usurios percebam (incluindo o Administrador).

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

12/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Definies: Rootkits
- Existem basicamente 3 tipos de Rootkits:

Kernel Space = modifica estruturas internas do Kernel.

Bibliotecas e APIs = intercepta e modifica o fluxo de execuo das


Bibliotecas/APIs.

Aplicativos = modifica o prprio aplicativo por exemplo ps, ls, netstat, etc.

- Atualmente existem Rootkits para diversos sistemas operacionais como Windows,


Linux, Solaris, BSD-Like, HP-UX, etc.
- Exemplos de Rootkits abrangentemente conhecidos so SuckIT, Adore, NT
Rootkit, FU rootkit, AFX Rootkit, Vanquish, etc.
Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

13/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Antivrus: definio

- Antivrus so softwares que tentam identificar, tratar e eliminar vrus (atualmente


malwares).
- Softwares Antivrus utilizam basicamente duas linhas de identificao:
Assinatura um bloco (geralmente armazenado em hexadecimal) de dados que
identifica o vrus, esse bloco pode ser uma seqncia de instrues ou texto (string).

Anlise Heurstica baseado em analisar e/ou monitorar os executveis e procurar


(atravs de regras) por comportamentos similares aos de malwares.

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

14/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Antivrus: Como funciona?

- A anlise heurstica um recurso que muda muito de fabricante para fabricante de


Antivrus, de forma geral ela implementada superficialmente e acaba tornando-se
pouco eficiente.
- Assinaturas fico em um arquivo (geralmente formato proprietrio) indexado e
muitas vezes encriptados e assinados digitalmente que contem as informaes dos
vrus, as mais comuns so:
Name o nome pelo qual o vrus identificado, costuma seguir um padro de
nomes onde se identifica se um vrus, worm, backdoor, etc.

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

15/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Antivrus: Como funciona?

Signature o bloco (geralmente representado em hexadecimal) que contm o


fragmento viral para identificar o vrus.

FileType o tipo do arquivo (pode ser nulo), exemplos PE, ELF, HTLM, VBS, etc.

Offset o endereo (pode ser nulo) no arquivo de onde comparar com a


Signature. Exemplo compare a Signature no arquivo comeando no byte 0xb6.

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

16/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Exemplos de mtodos de Evaso: Assinaturas Malfeitas

- Um problema na deteco baseada em assinaturas a qualidade das mesmas,


como foi dito a assinatura pode ser um conjunto de instrues ou texto.
- A utilizao de texto como assinatura ruim pois pode gerar vrios falsos
positivos e facilita a evaso (utilize um editor hexadecimal e substitua o texto
utilizado como assinatura e o malware no ser mais detectado).

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

17/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Exemplos de mtodos de Evaso: Assinaturas Malfeitas

DEMONSTRAO
(Veja o vdeo acessando o arquivo Videos\BadSignature\index.htm)

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

18/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Como detectar a assinatura de um Malware?

A assinatura pode ser detectada de vrias formas, a mais simples atravs do


mtodo file split (fragmentao de arquivo).

O mtodo consiste em dividir o arquivo detectado pelo antivrus em diversas partes


comeando a partir do zero e incrementando em blocos de tamanho pr definidos.

Posteriormente os arquivos fragmentados so analisados pelo antivrus, a diferena


entre o ltimo arquivo no detectado e o primeiro detectado a assinatura utilizada
pelo antivrus para detectar o malware.

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

19/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Como detectar a assinatura de um Malware?

DEMONSTRAO
(Veja o vdeo acessando o arquivo Videos\HowToDetectAVSignatures\index.htm)

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

20/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Exemplos de mtodos de Evaso: Packers, Binders, Encryptao, etc.


- Packers so softwares que comprimem (alguns tambm encriptam) um arquivo
executvel, esse cdigo comprimido adicionado em um novo arquivo binrio que
tambm conter as rotinas de descompresso (e decriptao caso necessrio).
- Binders tambm conhecidos como Joiners so softwares que comprimem vrios
executveis em um nico arquivo executvel.
- Muitos Packers, Binders, etc tem rotinas para dificultar engenharia reversa (AntiDump, Disassembler Detection, etc).
- Binders, Packers, etc conseqentemente so utilizados para inviabilizar a deteco
de Malwares pelos softwares antivrus.

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

21/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Exemplos de mtodos de Evaso: Packers, Binders, Encryptao, etc.


Passo 1 (Packing)

Passo 2 (Scrambing)

C:\> PEspinScramb bagle-new.exe bagle-packed.exe


PEspin Private Scrambler by Dr. Spy
Analyzing bagle-new.exe...
Scrumbling...
Generated bagle-packed.exe

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

22/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Exemplos de mtodos de Evaso: Packers, Binders, Encryptao, etc.


Teste antes de utilizar o Packer (PEspin + Scramber) utilizando o Antivrus F-Prot:
/usr/bin/f-prot Bagle.exe -ai -archive -dumb -list -packed
F-prot 3.16c/20060217 found: W32/Bagle.AM.worm

Teste depois de utilizar o Packer (PEspin + Scramber) utilizando o Antivrus F-Prot:


./f-prot Bagle-packed.exe -ai -archive -dumb -list -packed
F-Prot 3.16c/20060217 found nothing

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

23/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Exemplos de mtodos de Evaso: Antivrus Killer


- Antivrus Killer outro mtodo extremamente difundido para inviabilizar as
deteces dos antivrus.
- A tcnica consiste em terminar o processo do antivrus, parar o servio do
antivrus, danificar a base de assinatura, etc.
- Essa tcnica funciona:
Devido aos usurios que utilizam o sistema operacional como Administrador,
root, etc.

Devido a falta de implementao de mtodos de segurana para prevenir a


finalizao indevida de softwares antivrus.

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

24/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Exemplos de mtodos de Evaso: Antivrus Killer


for(p=Process32First(proc,&entry); p; p=Process32Next(proc,&entry)) {
wsprintf(nproc,"%s", entry.szExeFile, sizeof(sproc));
WSstring2low(nproc);
if ((strstr(nproc, "avgamsrv.exe" )) == NULL){ // avgamsrv.exe AVG Alert Manager.
PID = entry.th32ProcessID;
GetPrivilegie();
hProc = OpenProcess(SYNCHRONIZE|PROCESS_TERMINATE, FALSE, PID);
TerminateProcess(hProc,0);
BackPrivilegie();
}
}
// Do bad stuff (Extract and execute a Malware, etc).
//Restart AV software
Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

25/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Exemplos de mtodos de Evaso: Antivrus Killers

DEMONSTRAO
(Veja o vdeo acessando o arquivo Videos\Kill&Launch\index.htm)

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

26/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Exemplos de mtodos de Evaso: Rootkits

Contedo removido para a apresentao no H2HC por questes de tempo.

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

27/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Exemplos de mtodos de Evaso: Rootkits

Contedo removido para a apresentao no H2HC por questes de tempo.

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

28/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Rootkit Hooking: Exemplo de Processos Ocultos.

Contedo removido para a apresentao no H2HC por questes de tempo.

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

29/30

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Rootkit Hooking: Exemplo de deteco.

Contedo removido para a apresentao no H2HC por questes de tempo.

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

30/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Dicas de segurana.

Contedo removido por no ser o foco do evento. ;)

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

31/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Dvidas?

?
Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

32/33

Malwares: Vrus, Worms, Spywares, Keyloggers e Rootkits VS Antivrus

Links

http://en.wikipedia.org/
http://www.intruders.com.br/
http://www.security.org.br/
http://www.h2hc.org.br/
http://www.hackaholic.org/
http://ws.hackaholic.org/

Wendel Guglielmetti Henrique - Intruders Tiger Team Security (http://www.intruders.com.br/)

33/33