Anda di halaman 1dari 6

Sp0oKeR Labs

Funcionamento do SNORT

Objetivo

Como sempre vemos em artigos, o pessoal sempre explica como instalar o snort,
configurar, consultar relatorios / logs, mas ainda nao vi um paper (em portugues) explicando
como o snort funciona ( como ele pega os pacotes na redes, trabalha estes e toma alguma
acao.). Tentarei nesse artigo explicar esse funcionamento, para que pessoas instalem o snort e
saibam como ele funciona. =)

O que é o Snort?

Bom, o snort é um Sistema de detecção de Intruso de Redes (vulgo NIDS), que


trabalha no seu trafego de rede. O Snort tambem pode ser considerado WIDS ou seja,
Wireless IDS pois alguns desenvolvedores fizeram alguns patches para o mesmo trabalhar
nesse tipo de rede.
O Snort é opensource e sua pagina é http://www.snort.org

Quais os componentes do SNORT ?

O Snort possui 4 componentes principais, no qual o pacote capturado deve “passar”.


Ele se dividide em:

– Libcap
– Pre – Processadores
– Mecanismos de detecção (Assinaturas)
– Plugins de Saida

Abaixo irei detalhar o funcionamento dos mesmos.

1 - ) Libcap ou Libpcap

A libcap (Library Capture) ou libpcap ( Library Packet Capture ) trabalha na camada


ethernet, capturando todos os pacotes que passam por ela , ou seja, pegando todos os pacotes
dos nossos famosos Broadcast .

O que é Broadcast ?

Sempre que uma conexao é iniciada, para localizar o host, o pacote enviado faz um
broadcast, isto é, ele envia a mensagem para todos os hosts da rede, até que o verdadeiro (o
host de destino) responda e pegue o pacote.
Na figura abaixo tem uma ilustracao que da para se ter uma nocao de como funciona.

Sp0oKeR Labs – spooker@spooker.com.br http://www.spooker.com.br


Sp0oKeR Labs

a-) Máquina A quer comunicar-se com a B.


b-) Envia requisição para FF:FF:FF:FF:FF:FF perguntando quem é a máquina B (destino
comunicação)?
c-) Máquina B se identifica e recebe o que foi enviado.

OBS: a linha vermelha simula o pacote percorrendo todos os hosts da Rede.

Pronto , nossa maquina ( Sensor IDS) agora tenha uma copia do pacote que passou
pela rede. E agora, o que acontece?

2-) Pre – Processadores

Assim que o Snort captura uma copia do pacote circulado na Rede, ele manda o
pacote para os pre – processadores.

O que sao os pre-processadores ?


Os pre – processadores sao responveis por remontar os pacotes, ver possiveis
codificacoes como unicode , entre outras tarefas. O Snort possui plugins de RPC, IIS ,Telnet,
de fragmentacao entre outros diversos. Por exemplo se fizermos ums requisicao com \\ ou
com os famosos ataques de unicode , ou algo do genero, para tentar “enganar” o ids, esses pre
processadores remontam o pacote da maneira correta, para diminuir falso-negativos na hora
da comparacao com as assinaturas,e dar mais confiabilidade ao IDS.
Falso-negativo – é qdo uma pacote passa sem ser notificado pelo IDS , o IDS pensa
que o pacote é fluxo normal.
Falso-positivo – é qdo o pacote é notificado como intrusivo, mas na verdade é
somente um falso alerta, alarme falso.

## Retirado do snort.conf
# This preprocessor performs IP defragmentation. This plugin will also detect
# arguments loads the default configuration of the preprocessor, which is a
preprocessor frag2
preprocessor stream4: detect_scans, disable_evasion_alerts
preprocessor stream4_reassemble

Sp0oKeR Labs – spooker@spooker.com.br http://www.spooker.com.br


Sp0oKeR Labs

#This plugin takes the ports numbers that RPC


# The RPC decode preprocessor uses generator ID 106
preprocessor rpc_decode: 111 32771

#Outros
#preprocessor arpspoof
#preprocessor telnet_decode
#preprocessor http_decode: 80 unicode iis_alt_unicode double_encode

A Figura abaixo mostra o fluxo do pacote apos a captura, passagem pelos pre
processadores e encaminhamento para o sistema de detecção.

E agora....a parte que tem que funcionar =P!!!

Sp0oKeR Labs – spooker@spooker.com.br http://www.spooker.com.br


Sp0oKeR Labs

3-) Sistema de detecção ( Assinaturas )

Aqui podemos considerar a parte fundamental do Snort, pois aqui que as coisas irao
realmente acontecer, e dizer se é um ataque intrusivo ou um simples fluxo de rede.
Apos o encaminhamento do pacote pelos pre processadores para o sistema de
detecção, o snort compara o pacote (ja remontado e “legivel” para a comparacao com as
assinaturas) com a base de assinaturas de ataques e defini o que fazer com o pacote.
Para simplificar, mais uma figura ilustrando isso:

Conforme ilustrado na figura, o pacote é comparado com a base


de assinaturas, caso a comparacao retorne com valor positivo (sim), o Snort encaminha para
os plugins de saida, caso contrario ele descarta o pacote (considerado trafego normal da
rede).
Aqui um simples exemplo:

Assinatura / Ataque ( isso é ua exemplo, nao tente usar! )

alert tcp $EXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS (msg:"WEB-IIS


cmd32.exe access"; flow:to_server,established; content:"cmd32.exe"; nocase;
classtype:web-application-attack; sid:1661; rev:3;)

Ataque:

Sp0oKeR Labs – spooker@spooker.com.br http://www.spooker.com.br


Sp0oKeR Labs

http://www.spooker.com.br/XXXX/..system32/cmd32.exe?/c%20dir%20C:\

Com isso, da pra ter uma nocao de como é importante manter a base de assinaturas
sempre atualizadas, pois de nada adianta se nao tivermos uma base atualizada.
Finalmente, apos tudo isso, se o pacote é interpretado como positivo, os plugins de
saida entram em acao.

4-) Plugins de Saida

Os plugins de saida sao ferramentas que podem ser utilizadas para gerar alertas, logs
ou para tomar algumas medidas em imediato.
A figura abaixo exemplifica a continuacao das imagens e finalizacao do tratamento
do pacote capturado.

Os plugins de saida podem interagir com firewall, podem enviar alertas em


email, popups , gravar em arquivos textos, mysql entre outros.
Existe varias ferramentas como ACID, pigmeet ( projeto brasileiro), guardian
entre outros.
E finalmente o pacote passou por todas as etapas do Snort e que venha o proximo
pacote. =)!

Sp0oKeR Labs – spooker@spooker.com.br http://www.spooker.com.br


Sp0oKeR Labs

Conclusão
Com base nisso, e agora sabendo como funciona o snort (um IDS no geral), so
digitar:

#./configure
#make
#make install

E manter sua base atualizada.


Bom, como disse no inicio, nao iria ensinar a configurar, administrar, nada do Snort, so
apresentaria o seu funcionamento, e espero que seja de grande utilidade para quem o ler.

Links / Bibliografia

http://www.snort.org
Snort 2 – Sistema de detecção de Instrusos
http://www.spooker.com.br/snort-conisli/
http://pigmeet.databras.com.br/

Autor

Rodrigo Ribeiro Montoro - Sp0oKeR


http://www.spooker.com.br/
spooker@spooker.com.br

Sp0oKeR Labs – spooker@spooker.com.br http://www.spooker.com.br

Anda mungkin juga menyukai