slide1
Download
Skip this Video
Download Presentation
Automatizando o Nmap com NSE

Loading in 2 Seconds...

play fullscreen
1 / 31

Automatizando o Nmap com NSE - PowerPoint PPT Presentation


  • 89 Views
  • Uploaded on

Automatizando o Nmap com NSE. Tiago Natel de Moura. About Me. Tiago Natel de Moura aka i4k Co-Fundador do BugSec Security Team http://bugsec.googlecode.com/ Co-Fundador do OWASP Florianópolis. Consultor de Segurança na SEC+ www.secplus.com.br. Porque automatizar?.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Automatizando o Nmap com NSE' - kareem


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Automatizando o Nmap com NSE

Tiago Natel de Moura

slide2

About Me

  • Tiago Natel de Moura aka i4k
  • Co-Fundador do BugSec Security Team
    • http://bugsec.googlecode.com/
  • Co-Fundador do OWASP Florianópolis.
  • Consultor de Segurança na SEC+
    • www.secplus.com.br
porque automatizar
Porque automatizar?
  • O processo do teste de penetração é repetitivo.
  • Deixe a parte chata para a máquina e use seu tempo para estudar coisas novas ou fazer testes mais avançados.
  • Diminui o tempo de pentest ...
porque automatizar1
Porque automatizar?
  • Rede
    • Levantamento de Informações
      • Footprinting
      • Enumeration (dns-discover, network map)
      • Fingerprinting
    • Análise de Vulnerabilidades
      • Análise de Vulnerabilidades em serviços.
porque automatizar2
Porque automatizar?
  • Aplicações Web
    • Levantamento de Informações
      • Footprinting
      • Enumeration (spidering, brute directories and files)
      • Fingerprinting (Versão de tecnologias)
    • Análise de Vulnerabilidades
      • Testes de Autenticação
      • Validação de entradas
      • Gerencia de Sessões
      • Testes da Regra de Negócio
      • Testes de WebService
      • outros
slide6
Nmap

Nmap (Network Mapper) é uma ferramenta opensource para descobrimento e auditoria de redes.

slide7
Nmap
  • Network Mapper
  • Port Scanner
  • OS Fingerprinter
  • Service Fingerprinter
  • Traceroute
  • Ping
  • Security
nse nmap scripting engine
NSE – Nmap Scripting Engine
  • NSE é uma das funcionalidades mais poderosas do Nmap.
  • Permite que usuários escrevam scripts em Lua para automatizar tarefas ou estender as funcionalidades do Nmap.
  • Scripts executados em paralelo usando toda a eficiência e velocidade da API do Nmap.
slide9
NSE
  • NSE iniciou com o Nmap 5 e durante esse release foram criados 59 scripts homologados.
  • O Nmap 6 foi lançado dia 21/05/2012 com 6x mais scripts, agora possui 348 homologados.
  • Alguns scripts não criam nenhum tráfego, simplesmente consomem dados de outros scripts (address-info, creds-summary, etc).
nmap 6
Nmap 6
  • Adicionado a biblioteca “vulns”, que pode ser usada por scripts para reportar e armazenar vulnerabilidades num formato comum.
  • Adicionado uma biblioteca “httpspider” para crawling de páginas web.
  • Adicionado 54 scripts para web scanner (http-title, http-backup-finder, http-enum, http-grep, etc).
  • Completo suporte ao IPv6 (Raw IPv6, OS IPv6 Detection, etc).
objetivos do nse
Objetivos do NSE
  • Sofisticadas técnicas de detecção.
  • Detecção de vulnerabilidades.
  • Detecção de backdoors.
  • Exploração de vulnerabilidades.
linguagem lua
Linguagem Lua
  • Criada no Brasil (PUC-RJ)
  • Opensource (MIT License)
  • Programada em ISO C
  • Extensivel através de uma pequena API C.
  • Leve e Rápida. Versão 5.2.0 têm 241Kb com docs e 20k LoC.
  • Multiparadigma (OOP, procedural, funcional, etc).
categorias de scripts
Categorias de Scripts
  • Auth: x11-access, ftp-anon,oracle-enum-users
  • Broadcast: Scripts para descobrimentos de outros hosts não passados na linha de comando.
  • Brute: http-brute, oracle-brute, snmp-brute
  • Default
  • Discovery: smb-enum-shares
  • Dos: Denial Of Service
  • Exploit: Explora vulnerabilidades
categorias de scripts1
Categorias de Scripts
  • External: Scripts que enviam dados para um banco de dados de terceiros ou algum recurso remoto.
  • Fuzzer: dns-fuzz
  • Intrusive: Scripts que não podem estar na categoria “safe” pois possuem riscos de danos aos hosts ou a rede. (snmp-brute)
  • Malware: Verifica se o alvo está infectado (smtp-strangeport).
  • Safe: html-title, ssh-hostkey, etc
  • Version: skypev2-version, pptp-version, iax2-version.
  • Vuln: realvnc-auth-bypass, afp-path-vuln, etc.
tipos de scripts e fases
Tipos de Scripts e Fases
  • Prerule Scripts: Estes scripts rodam antes da fase de scan do Nmap, então ele não tem nenhuma informação coletada sobre a rede. Ex.: Query DHCP ou DNS.
  • Host Scripts: Scripts nesta fase rodam durante o processo normal de scaneamento. Depois do host discovery, port scanning, version detection e OS detection. Este tipo de script é invocado sempre que o host casa com algum valor em “hostrule”.
  • Service Scripts: Estes scripts rodam contra serviços. Estes são os scripts mais comuns e são distinguidos por possuirem a função “portrule” para decidir contra qual serviço detectado o script deve rodar.
  • Postrule Scripts: Estes scripts rodam depois que o Nmap scaneou todos os alvos.Eles são úteis para report e apresentação das informações.
linha de comando
Linha de comando
  • -sC
    • Utiliza o conjunto de scripts default
  • --script <filename>|<category>|<directory>|<expression>[…]
    • Roda o scanner usando a lista de arquivos separados por virgula, categorias de scripts e diretórios.
  • --datadir
    • Diretório de dados (scripts, wordlists, executavel, etc)
  • --script-args <args>
    • Argumentos para os scripts.
  • --script-args-file
    • Passa um arquivo para o script.
  • --script-help <filename>|<category>|<directory>|all[…]
    • Help about script.
linha de comando1
Linha de comando
  • --script-trace
    • Debug script
  • --script-updatedb
    • Atualiza o banco de scripts.
formato nse
Formato NSE
  • Um script NSE consiste em:
    • Campos de descrição:
      • Description
      • Categories
      • Author
      • License
      • Dependencies
formato nse1
Formato NSE
  • Rules:
    • Rules são usados pra decidir quando que o script pode executar contra o alvo.
    • Deve conter um dos seguintes tipos:
      • prerule() : Roda 1x antes, antes de qualquer host ser escaneado.
      • hostrule(host) : Recebe uma tabela de hosts e deve verificar nessa tabela se pode executar.
      • portrule(host, port) : Utiliza uma tabela de hosts e portas pra decidir se deve rodar.
      • postrule() : Roda 1x depois de todos os hosts escaneados.
formato nse2
Formato NSE
  • Action: Todas as instruções que devem ser executadas quando alguma das rules for satisfeita.
nse library
NSE Library
  • NSE Library é composta de módulos Lua e C/C++. Recomenda-se escrever todos os módulos em Lua, mas sempre há casos que se precise do C para otimização ou porque precisa-se linkar com alguma biblioteca externa.
use nmap
Use Nmap
  • O Nmap já tem toda a parte difícil pronta (TCP/UDP scan, Raw scan, bypass IDS/IPS, OS version detection, Advanced Service Version Detection, etc). Utilize todo esse poder com Lua e estenda o poder do seu pentest.
jboss exploit
Jboss Exploit
  • Exploit que desenvolvi para explorar o CVE-2010-0738 do JBoss.
  • Simplesmente reescrita em Lua/NSE do exploit daytona_bsh.pl do Kingcope.
  • Retorna uma shell reversa na máquina alvo.
  • Mais informações: https://github.com/tiago4orion/nmap-scripts
slide31
Fim
ad