Automatizando
Download
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

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
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


Nmap

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


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.


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



Fim

  • Obrigado!

  • Perguntas & Respostas

  • [email protected]


ad