O documento apresenta uma palestra sobre o uso do Nmap Scripting Engine (NSE) para realizar testes de invasão. Ele discute como o NSE pode ser usado para obter informações sobre alvos, identificar vulnerabilidades e explorar vetores de ataque, fornecendo exemplos de scripts úteis em cada etapa do teste. Também aborda o desenvolvimento de novos scripts em Lua e as funcionalidades do NSE.
Slides Webinar #9 As provas e as Evidências na Investigação dos Crimes Inform...
Palestra "Teste de Invasão com o Nmap Scripting Engine"" FISL 13
1. Teste de Invasão com o
Nmap Scripting Engine
Henrique Soares
Clavis Segurança da Informação
henrique@clavis.com.br
2. $ whoami
• Grupo Clavis
• Analista de Segurança da Informação
• Mestrando em Informática
• Testes de invasão em redes, sistemas e
aplicações
• Detecção e resposta a incidentes de segurança
3. Agenda
• Introdução
• Utilizando os Scripts
• Teste de Invasão com o NSE
• Desenvolvimento de Scripts
• Conclusão
4. Agenda
• Introdução
• Utilizando os Scripts
• Teste de Invasão com o NSE
• Desenvolvimento de Scripts
• Conclusão
5. Introdução
Nmap Security Scanner
• Varredura de portas, detecção de serviços,
versões e SOs, mapeamento de redes, etc...
• Ferramenta livre e código aberto
• Criado por Gordon “Fyodor” Lyon
• Projeto ativo e mantido pela comunidade
6. Introdução
Nmap Scripting Engine
• NSE → funcionalidade poderosa e flexível
• Automatização de diversas tarefas
• Integrado à varredura tradicional do Nmap
• Scripts desenvolvidos em Lua
• Black Hat 2010: http://nmap.org/presentations/BHDC10/
10. Utilizando os Scripts
Sintaxe de uso do NSE
• Uso padrão do NSE
-A ou -sC ou --script=default
• Sintaxe de uso
--script script|categoria|diretório|expressão|all
• Uso de expressões
--script "default or safe"' ou '--script "default,safe"
--script "not intrusive"
--script "http-* and not (brute or dos or exploit)"
11. Utilizando os Scripts
Passando Parâmetros
• Passando parâmetros para os scripts
--script-args "[scr.]arg1=val1[,[scr.]argN=valN]"
--script-args-file <arq>
• Limitando escopo dos parâmetros
--script-args 'user="foo",pass="bar"'
--script-args 'smtp.domain="alvomail.com",
domain="alvo.com"'
--script-args 'userdb=user1.txt,passdb=pass1.txt,
smtp-brute={userdb=user2.txt,passdb=pass2.txt}'
12. Agenda
• Introdução
• Utilizando os Scripts
• Teste de Invasão com o NSE
• Desenvolvimento de Scripts
• Conclusão
13. Teste de Invasão com NSE
Antes de Começarmos
• Máquina alvo: Metasploitable
• Fases do Teste de Invasão:
Obtenção de Informação
Identificação de Vulnerabilidades
Análise e Exploração
• Objetivo
Mostrar funcionalidades do NSE úteis em TDIs
Realizar um TDI completo só com Nmap e NSE
15. Teste de Invasão com NSE
Obtenção de Informação
• Tradicionalmente, o Nmap é usado nesta etapa
• Etapa com maior quantidade de scripts
• Objetivos desta etapa
Obter informações relevantes sobre os alvos
Descobrir vetores de ataque a explorar depois
• Categorias de scripts úteis para esta etapa:
broadcast, default, discovery, external, safe,
version
16. Teste de Invasão com NSE
Informações Interessantes
• Arquivo "descoberta_01.nmap
17. Teste de Invasão com NSE
Identificação de Vulnerabilidades
• O Nmap já executa alguns ataques nesta etapa
• Etapa com menos scripts disponíveis
• Objetivos desta etapa
Averiguar vetores de ataque a explorar depois
Identificar vulnerabilidades conhecidas nos alvos
• Categorias de scripts úteis para esta etapa:
malware, vuln
18. Teste de Invasão com NSE
Informações Interessantes
• Arquivo "identificacao_01.nmap
19. Teste de Invasão com NSE
Análise e Exploração
• Etapa dos ataques
• Alguns scripts são os mesmos da etapa anterior
• Objetivos desta etapa:
Executar vetores de ataque encontrados nas
etapas anteriores
Explorar vulnerabilidades conhecidas encontradas
• Categorias de scripts úteis para esta etapa:
auth, brute, dos, exploit, fuzzer, intrusive (malware,
vuln)
20. Teste de Invasão com NSE
Informações Interessantes
• Arquivo "exploracao_01.nmap
21. Agenda
• Introdução
• Utilizando os Scripts
• Teste de Invasão com o NSE
• Desenvolvimento de Scripts
• Conclusão
22. Desenvolvimento de Scripts
Lua
• Criada pelo TecGraf/PUC-Rio em 1993
• Características da Linguagem
Sintaxe simples e fácil de aprender
Pequena e Extensível
Portável para diversas plataformas
Gerenciamento de memória
• Muito usada pela industria dos jogos
• É usada em outras ferramentas de segurança
Exemplos: Wireshark, Snort 3.0
23. Desenvolvimento de Scripts
Adições do Nmap
• Bibliotecas de protocolo ou de suporte
Facilitam o uso de protocolos mais usados
Oferecem suporte a diversas operações
• Módulos de força bruta
Manipulação de wordlists
• Suporte a SSL
• Sistema de dependências de scripts
Utilização da saída de um script em outro
26. Agenda
• Introdução
• Utilizando os Scripts
• Teste de Invasão com o NSE
• Desenvolvimento de Scripts
• Conclusão
27. Conclusão
NSE como ferramenta de TDI
• O NSE não é uma solução completa
Base de Vulnerabilidades pequena
Poucos Exploits
• Lado positivo
Melhora da fase Obtenção de Informação
• Mas foi divertido!!!