terça-feira, 15 de janeiro de 2013

Testando Regras do Snort

Estou começando a brincar com o snort novamente e algo importante depois de configurar e customizar o snort é testar suas regras. Na verdade minha brincadeira começa ai. A ideia é propor um cenário onde você possa testar as regras do snort, com isso você poderá ter as seguintes informações: quanto tempo que suas regras demoram para serem atualizadas depois que saiu algum exploit novo e poderá verificar se uma regra nova esta funcionando.

Neste post não vou entrar em detalhes como o LAB foi montado, apenas irei expor minha ideia para que se possa realizar os testes necessários. Para o nosso teste podemos usar o Metasploit ou outra ferramenta do tipo, podendo até mesmo usar um exploit especifico se for o caso. Veja abaixo como ficou o nosso cenário de teste:



Na máquina A temos um windows (xp, vista, 7, etc), rodando alguma aplicação vulnerável onde já tenha o exploit no Metasploit. Sempre aparece falhas de segurança no Java e no Internet Explorer, então escolha uma das duas aplicações ou utilize a ferramenta autopwn do projeto metasploit, veja o vídeo abaixo:




Na máquina B temos um Linux, onde iremos instalar o metasploit e o tcpdump. O snort pode ser opcional porque poderemos testar em outra máquina onde já tenha o snort instalado e configurado.

Segue os procedimentos necessários:

1 - rode o tcpdump para salvar em arquivo todo o tráfego gerado
2 - Execute metasploit autopwn (conforme no vídeo acima)

Na máquina rodando o snort rode o seguinte comando:
#snort -c /usr/local/etc/nsm/snort.conf -r /tmp/autopwn-trafego.pcap -l /tmp/ -A full -b

autopwn-trafego.pcap = é o arquivo salvo com o comando tcpdump.

Agora rode o grep para ler o arquivo alert que foi gerado dentro do diretório /tmp:

#grep '\[\*\*\]' /tmp/alert

Agora é só analisar o que foi detectado pelo snort.

Outra maneira de gerar esse tráfego para ser salvo pelo tcpdump seria utilizando a ferramenta hping. Pegue o valor do campo "content" de alguma regra do snort e passe esse valor para o hping. Digamos que tem uma regra com "content:"AAAAAAAAAAAAAAAAAAAAAAAAA";", agora criamos um arquivo com o valor "AAAAAAAAAAAAAAAAAAAAAAAAA" e chamamos esse arquivo com o comando:

#hping3 -P -i eth1 -s 3434 -p 81 -d 26 -E ./payload.txt 192.168.1.37

Agora sim vamos começar a brincar de verdade, check os links abaixo:

https://community.rapid7.com/community/metasploit/blog/2011/07/08/testing-snort-ids-with-metasploit-vsploit-modules

https://community.rapid7.com/community/metasploit/blog/2011/06/13/emulating-suspicious-dns-traffic-with-metasploit-framework

http://vimeo.com/24571294

http://vimeo.com/24572815
Bom Proveito.

Nenhum comentário:

Postar um comentário