Mostrando postagens com marcador Pentest. Mostrar todas as postagens
Mostrando postagens com marcador Pentest. Mostrar todas as postagens

sexta-feira, 17 de outubro de 2014

Mini guia do Nmap: Parte 2

Dando continuidade ao mini guia do Nmap, vamos verificar alguns dos parâmetros mais úteis para realizar a varredura em hosts remotos. Se você quer ver a primeira parte desse guia, acesse: Mini guia do Nmap: Parte 1. Uma informação importante que não coloquei na primeira parte, mas que sempre vale a pena reforçar: consulte o manual da ferramenta através do comando "man nmap". É sempre muito útil consultar a própria documentação da ferramenta.


-sO: detecção de Sistema Operacional

O parâmetro "-sO" habilita a detecção de versão do Sistema Operacional. Essa é uma das funções mais importantes do Nmap, pois descobrir o sistema operacional que roda no host remoto facilita e muito a descoberta de possíveis vulnerabilidades. Este parâmetro permite realizar o footprinting/fingerprinting pois permite descobrir informações como o tipo de dispositivo (roteador, servidor, estação de trabalho, switch, etc), sistema operacional (nome e versão), distância na rede (distância em saltos entre o alvo e o atacante).

O Nmap possui uma base de dados chamada "nmap-os-db", que contém informações de mais de 2.600 sistemas operacionais (haja sistema hein =)). O que o Nmap faz é mandar pacotes TCP e UDP para o alvo e comparar as respostas com as suas informações na base de dados. 

Veja no conteúdo da base de dados, informações sobre o iPhone 4 e diferentes versões de Windows XP Service Pack 3:


Obviamente essa varredura é mais lenta, pois envolve o processo de descobrir portas abertas no alvo. Se o Nmap não conseguir detectar nenhuma porta aberta na detecção de S.O. do alvo, ele retorna o erro: "Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port" (Aviso: Os resultados da varredura de O.S. não são confiáveis pois não conseguimos encontrar nem ao menos uma porta aberta e uma fechada).

ex: nmap -O 192.168.1.120

-sV: detecção de versão

O parâmetro "-sV" habilita a detecção de versão do serviço. É uma das funções mais "queridas" do Nmap e é muito útil para identificar vulnerabilidades de segurança ou certificar-se que um serviço está rodando numa determinada porta. 
Veja a diferença das varreduras a seguir (quando scaneado com o parâmetro -sV, surge uma coluna chamada "Version" na saída do comando).

ex: nmap 192.168.1.120
ex: nmap -sV 192.168.1.120


O parâmetro "-sV" permite ainda alterar o nível de intensidade da detecção com o argumento "--version-intensity [0-9]" que vai de 0 (menos intenso) a 9 (mais intenso).

ex: nmap -sV --version-intensity  9  192.168.1.120


-sS: varredura TCP SYN

Também chamado de "half-open scanning", pois essa técnica permite ao Nmap buscar informações do host remoto, sem completar o TCP handshake. O Nmap manda pacotes "SYN" para o alvo, porém nunca estabelece uma conexão. Como resultado, o alvo não cria logs dessa interação pois nenhuma sessão foi iniciada.

ex: nmap -sS 192.168.1.120

-sT: varredura TCP Connect()

Uma varredura comumente utilizada quando é impossível utilizar a opção "-sS" (pois essa requer privilégios de root). A varredura TCP Connect, ao contrário da "SYN", completa o TCP handshake e solicita que o sistema faça uma chamada connect(). Obviamente esse tipo de informação gera logs, portanto procure sempre utilizar outras opções. É preciso ter em mente que essa técnica se aplica apenas às portas TCP e não às UDP.
 
ex: nmap -sT 192.168.1.120

-sU: varredura UDP

Como o nome sugere, essa técnica é utilizada para descobrir portas UDP abertas na máquina alvo. Não necessita que um pacote "SYN" seja enviado pois busca por portas UDP (não é necessário o handshake). Apesar disso, usar os parâmetros "-sS" e "-sU" juntos é mais efetivo.
 
ex: nmap -sU 192.168.1.120
-sF: varredura TCP FIN

Como o nome sugere, nessa técnica um pacote com o flag "FIN" é enviado ao alvo remoto. Dessa maneira, não há necessidade de fazer o TCP handshake. Essa técnica é utilizada geralmente quando existe a presença de um Firewall na rede, bloqueando pacotes "SYN", logo, sem a possibilidade de usar o "-sS". Assim como  a varredura TCP FIN, é possível utilizar as varreduras "xmas" (-sX) e "Null" (-sN). A ideia é a mesma, sendo a única diferença que, o xmas envia pacotes com os flags FIN, PSH e URG ligados, enquanto o Null não envia nenhum flag ligado no pacote.
 
ex: nmap -sF 192.168.1.120
-A: detecção agressiva

O Nmap tem um parâmetro especial que ativa a detecção agressiva. O modo agressivo habilita a detecção de Sistema Operacional (-O), detecção de versão (-sV), script scanning (-sC), e traceroute (--traceroute). Esse parâmetro obviamente, faz muito mais alarde o que aumenta suas chances de ser detectado. 

ex: nmap -A 192.168.1.120 
Note que o comando acima poderia ser substituído por:  nmap -O -sV -sC   192.168.1.120

-sI: varreduras Idle

Técnica bem interessante e muito "furtiva". Nas varreduras "Idle", o Nmap não manda os pacotes para o alvo usando seu IP real. Ao invés de gerar os pacotes usando o IP da máquina do atacante, o Nmap usa o IP de outra máquina ativa na rede para enviar os pacotes ao alvo. Para entender em detalhes o funcionamento da varredura Idle, acesse: http://nmap.org/idlescan-pt-br.html. Considere por exemplo que estamos no computador com o IP 192.168.1.10 e queremos scanear as portas do alvo 192.168.1.120. Na nossa rede, existe uma outra estação de IP 192.168.1.100. Essa técnica permite enviar os "probes" do nmap, como se fossemos a máquina ".100", permitindo que façamos a varredura "anonimamente".

ex: nmap -sI   192.168.1.100   192.168.1.120

-sP: varreduras Ping

As varreduras Ping se diferenciam dos demais tipos de varreduras, pois elas não são utilizadas para identificar portas abertas, e sim para identificar se um host está ativo ou não. Esse tipo de varredura exige privilégios administrativos, uma vez que pacotes ICMP precisam ser enviados, mas caso o usuário não tenha esse privilégio, serão utilizadas chamadas "connect()".

ex: nmap -sP 192.168.1.120

Na parte 3 desse mini guia vamos explorar mais algumas funcionalidades do Nmap. Até o próximo.

t+

Cristiano
"A grandeza não consiste em receber honras, mas em merecê-las." - Aristóteles

quinta-feira, 16 de outubro de 2014

Mini guia do Nmap: Parte 1


Não se assuste com o tamanho do post, trata-se de um mini guia mesmo. Bem mini, pois o Nmap é uma das ferramentas que mais têm parâmetros de utilização no mundo Linux, tanto que nem todos foram documentados ainda. O Nmap (Network Map) é uma ferramenta utilizada para auditoria de segurança e exploração de redes, tanto por pentesters quanto por hackers, crackers e script kiddies, mas creio que essa breve descrição, não lhe seja totalmente justa. O Nmap tem muitas outras funcionalidades e, obviamente, é tarefa hercúlea (e sequer é minha intenção), esgotá-lo num único post do blog. O nmap também pode ser uma ferramenta de inventário, pode verificar quais são os hosts ativos da rede, verificar as portas abertas desses hosts, serviços e respectivas versões escutando nessas portas, detectar quais os sistemas operacionais e IPs dos hosts, detectar brechas de segurança e vulnerabilidades (através dos "nmap scripts"), detectar se um firewall está em uso numa determinada estação ou rede, dentre outras funcionalidades.
A página oficial do projeto é http://nmap.org/ e, para você ter uma ideia, o seu criador, Gordon “Fyodor” Lyon (fyodor@insecure.org), levou quase 4 anos para escrever o livro “Nmap Network Scanning”, acessível online em http://nmap.org/book/toc.html (ISBN: 978-0-9799587-1-7 - ISBN-10:s 0-9799587-1-7). 

http://nmap.org/
Gordon "Fyodor" Lion - Criador do Nmap 

http://nmap.org/book/toc.html
 O livro: NMAP Network Scanning

A ferramenta possui inclusive um site, no qual você pode direcionar gratuitamente seus testes com o nmap, acessível em http://scanme.nmap.org (o desenvolvedor só pede que você "pegue leve" com o servidor, fazendo apenas algumas poucas varreduras diárias =)).

http://scanme.nmap.org

O Nmap é multiplataforma. Roda em Linux, BSD, Windows e Mac OS. Para você ter uma ideia da popularidade da ferramenta, o autor mantém a página http://nmap.org/movies/ onde registra as aparições do “PopStar” nmap nos filmes de Hollywood. Acha que é pouca coisa? Entre os filmes listados estão: Matrix Reloaded, O Ultimato Bourne, Elysium, Millenium - Os Homens que Não Amavam as Mulheres, G.I.Joe – Retaliação, Duro de Matar 4 entre diversos outros.

http://nmap.org/movies/
 Cena de Matrix Reloaded, onde Trinity está "mitando" com o nmap =)

 Vale lembrar que o Nmap possui uma versão gráfica chamada Zenmap, mas sempre recomendo a versão em linha de comandos pois você se obriga a pesquisar bem os parâmetros para não cometer erros simplórios. 
 
Porém vamos ao que interessa: verificar algumas das funcionalidades dessa poderosa ferramenta. Veja que, o uso do Nmap pode ser absolutamente básico ou avançado; tudo depende do cenário onde você irá utilizá-lo. É crítico lembrar que, as opções exibidas abaixo, podem ser combinadas para formar a sintaxe desejada.

IMPORTANTE:  Para entender as respostas do Nmap, é importante informar que ele categoriza as portas de acordo com os seguintes estados (tradução livre da página do nmap):
  • Open: Uma aplicação está ativa nesta porta e aceitando conexões TCP, datagramas UDP ou associações SCTP. Encontrar essas informações geralmente é o objetivo primário do "port scanning". Pessoas cientes da segurança sabem que cada porta aberta é um possível vetor de ataque. Atacantes e pentesters tentam explorar essas portas abertas enquanto os administradores tentam fechá-las ou protegê-las com firewall, sem causar danos a  usuários legítimos. Portas abertas também são interessantes para varreduras não relacionadas a segurança pois elas mostram os serviços disponíveis para uso na rede.  
  • Closed: Uma porta fechada é acessível, mas não existe nenhuma aplicação escutando nela (ela recebe e responde aos "probe packets" do Nmap). Elas podem ajudar a mostrar que um host num determinado IP está no ar (descoberta de host ou varredura de ping),  e fazem parte de uma detecção de sistema operacional. Como as portas fechadas podem ser alcançadas, pode valer a pena scaneá-las posteriormente, para ver se alguma delas abriu. Os administradores devem considerar bloquear tais portas com um firewall. Dessa maneira, elas aparecerão no estado "Filtered", discutido a seguir. 
  • Filtered: O Nmap não consegue determinar se a porta está aberta pois uma filtragem de pacotes impede seus "probes" de atingirem a porta. Essa filtragem pode ser proveniente de um firewall dedicado, regras de roteadores, ou firewalls de desktop baseado em host no computador remoto. Essas portas frustram os atacantes, pois elas fornecem muito pouca informação. As vezes elas respondem com mensagens de erro ICMP do tipo 3, código 13 (destino inalcançável: comunicação proibida administrativamente), porém filtros que dropam o pacote sem dar qualquer tipo de resposta são muito mais comuns. Isto força com que o Nmap tente novamente por diversas vezes, caso o "probe" tenha sido dropado por congestionamento da rede ao invés de filtragem. Isso reduz a drasticamente a velocidade da varredura.
  • Unfiltered: Significa que a porta está acessível, porém o Nmap foi incapaz de determinar se a porta está aberta ou fechada. Somente a varredura "ACK", que é utilizada para mapear regras de firewall, classifica as portas nesse estado. Escaneando portas com o estado "unfiltered" com outros tipos de varredura como a "Window scan", "SYN" ou "FIN", podem ajudar a determinar se a porta está aberta.
  • Open/Filtered: O Nmap define portas com esse estado, quando não consegue determinar se a porta está aberta ou filtrada. Isto ocorre nos tipos de varredura em que portas abertas não dão nenhuma resposta. A falta de resposta também pode significar que um filtro de pacotes descartou o "probe" ou qualquer resposta é suscitada, logo, o Nmap não sabe com certeza quando a porta está aberta ou sendo filtrada. As varreduras "UDP", "protocolo IP", "FIN", "NULL" e "XMAS" classificam as portas dessa maneira.
  • Closed/Filtered: Este estado é utilizado quando o Nmap não consegue determinar se uma porta está fechada ou filtrada. Se é utilizada pela varredura de IP "ID idle".
CENÁRIO: Na rede onde os exemplos estão sendo executados, existem duas máquinas virtuais. Lembrando que, como a ideia é executar esses comandos em ambiente controlado apenas para aprendizagem, recomendo-o também fazer esses exemplos num ambiente virtual. Qualquer uso desses comandos num ambiente real (produção) é por sua conta e risco. Não invada a rede de ninguém e estude bem a ferramenta antes de executar suas funções.
- Backtrack: 192.168.1.10 (máquina onde os comandos são executados)
- Slackware: 192.168.1.120 (única máquina ativa na rede 192.168.1.0/24)
- Note que, quando você ler "alvo" na sintaxe, pode estar se referindo tanto a um IP (ex: 192.168.1.120) quanto a um domínio (ex: scanme.nmap.org).

- Scanear um único host:

nmap [alvo]
ex: nmap  scanme.nmap.org
ex: nmap  192.168.1.120


- Scanear diversos hosts:

nmap [alvo1] [alvo2] [alvo3] [alvo_"n"]
ex: nmap  192.168.1.120   192.168.1.121  192.168.1.200

- Scanear diversos IPs através de um arquivo de hosts:
O nmap permite especificar um arquivo contendo o endereço de diversos hosts. Uma vez que o arquivo foi criado, é possível scaneá-los usando-se os parâmetros "-iL" no nmap.

nmap -iL [arquivo_alvos]
ex: nmap -iL alvos.txt 


- Scanear um intervalo contíguo dentro de uma rede:

nmap [alvo_inicial]-[alvo_final]
ex: nmap  192.168.1.120-200

- Scanear toda uma rede:

nmap [rede/CIDR]
ex: nmap 192.168.1.0/24

- Scanear toda uma rede, excluindo alguns hosts:

Pode acontecer de você precisar scanear toda uma rede mas ter a necessidade de excluir um host da varredura (um sistema que sabidamente possui um IDS, por exemplo). Você pode executar a busca com o parâmetro "--exclude".
nmap [rede/CIDR] --exclude [ip_indesejado]
ex: nmap 192.168.1.0/24 --exclude 192.168.1.120


- Scanear uma rede excluindo determinados hosts de um arquivo:

Assim como o nmap permite definir um arquivo com os hosts que devem ser scaneados, ele também permite usar um arquivo para definir quais hosts não devem ser scaneados. Para isso, usa-se o parâmetro "--excludefile". 

nmap [rede/CIDR] --excludefile  [arquivo_ips_indesejados]
ex:  nmap  192.168.1.0/24  --excludefile  exclusoes.txt


- Scanear portas específicas:

Por padrão, o Nmap scaneia as chamadas portas baixas (de 0 a 1024) e as portas presentes no arquivo "nmap-services". Ou seja, ele não escaneia por padrão todas as portas de um determinado servidor, e sim as mais comuns. Se você precisa especificar portas específicas ou se precisa scanear todas as portas de um alvo, pode utilizar o parâmetro "-p". Abaixo seguem 2 exemplos distintos:

nmap -p [porta1],[porta2],[porta3],[porta_"n"]  [ip_alvo] -> verifica apenas portas específicas de um determinado alvo.
ex: nmap -p80,443,3128,8080 192.168.1.120

nmap -p [porta_inicio]-[porta_final]  [ip_alvo]  -> verifica todo o intervalo de portas especificado no intervalo.
ex:  nmap -p 0-65535 192.168.1.120


O que vimos até agora é a maneira mais básica de utilizar o Nmap. NA parte 2 desse mini guia, vamos explorar algumas das técnicas utilizadas pelo Nmap para encontrar e obter informações dos hosts na rede.

Para saber mais:

t+

Cristiano
"A grandeza não consiste em receber honras, mas em merecê-las." - Aristóteles

Conheça o KeepNote


O KeepNote é uma ótima ferramenta para organizar anotações sobre um determinado “alvo”. Conforme estudamos em aula, é imprescindível que façamos primeiramente o Fingerprint/Footprint/Enumeração do alvo, para que se possa analisar e logo, escolher, quais as possíveis vulnerabilidades a serem exploradas num determinado ambiente. Esse processo, pode exigir que muita informação seja coletada e armazenada e uma ferramenta como o KeepNote, ajuda a manter a organização dessas informações.

O Keep note permite registrar anotações, pensamentos, fazer esboços e rascunhos e muito mais, de forma hierarquizada e em Rich-Text. Permite o uso de imagens, adicionar anexos e permite até mesmo o uso de plug-ins. A página do projeto é http://keepnote.org .

http://keepnote.org/http://keepnote.org/

 O KeepNote roda em Linux, Mac OS e Windows. Assemelha-se muito em funcionalidade ao Microsoft OneNote, porém, obviamente open source.

Seu desenvolvedor Matthew Rasmussen (@mattrasmus), gosta de pensar que um software de anotações não é como um simples editor de texto ou uma página web e sim de um novo tipo de ferramenta que precisa de sua própria interface. Como menciona o autor, ele gosta de pensar que “anotações são como e-mails para mim mesmo”, e logo, você notará que a interface do programa se assemelha bastante a interface de um gerenciador de e-mail.
http://keepnote.org/

Veja abaixo mais screenshots da ferramenta, retiradas do próprio site do produto:

http://keepnote.org/ 
  t+


Cristiano
"A grandeza não consiste em receber honras, mas em merecê-las." - Aristóteles

terça-feira, 10 de setembro de 2013

Quebrando redes sem fio: WPA/WPA2

Este material é um complemento ao material de quebra de redes sem fio, cuja primeira parte referia-se às redes WEP. Nesse post inclusive, partiremos diretamente para a quebra de protocolo propriamente dita, uma vez que os procedimentos para ativar a interface de monitoramento e spoofar o MAC Address dessa interface podem ser vistos no primeiro artigo.

O WPA (Wifi Protected Access ou Acesso Protegido de Redes Sem Fio) usa o algoritmo de criptografia TKIP (Temporal Key Integrity Protocol ou Protocolo de Integridade de Chave Temporária), que foi desenvolvido para aprimorar o protocolo WEP (Wired Equivalent Privacy) sem a necessidade de aquisição de um hardware totalmente novo para rodá-lo. Já o WPA2 usa o algoritmo de encriptação AES-CCMP (Advanced Encryption Standard - Counter Mode with Cipher Block Chaining Message Authentication Code Protocol ou Padrão de Encriptação Avançada - Modo de Contagem com Protocolo de Código de Autenticação de Mensagem CBC), que é muito mais poderoso e robusto que o TKIP e precisa de hardware específico. Ambos os mecanismos permitem autenticação baseada em EAP (Extensible Authentication Protocol ou Protocolo de Autenticação Extensível), utilizando um esquema de autenticação de servidores Radius (Enterprise) ou uma PSK (Pre-Shared Key ou Chave Pré Compartilhada). Nesse post discutiremos sobre a chave PSK.

O WPA/WPA2 PSK é vulnerável a ataques de dicionário, diferentemente do WEP que é suscetível a ataques de força bruta. A grosso modo, numa comunicação através do WPA uma combinação de "Passprhase" (frase-senha) e SSID são enviados através do PBKDF2 (Password Based Key Derivation Function ou Função de Derivação da Chave Baseada em Senha), onde a saída dessa combinação é a Pre-Shared Key 256 bits (ou chave compartilhada de 256-bits).


Para a autenticação são utilizados os seguintes parâmetros:
  • chave pré-compartilhada.
  • SSID da rede.
  • Anúncio do autenticador (Authenticator Nounce).
  • Anúncio do suplicante (Supplicant Nounce).
  • MAC Address do Autenticador (Authenticator MAC Address ou Access Point MAC).
  • MAC Address do Suplicante (Supplicant MAC Address ou Wi-fi Client MAC).

A combinação desses parâmetros irá gerar as chaves transitórias PTK (Pairwise Transient Key). A chave transitória PTK será então utilizada para verificar o MIC (Message Integrity Check ou Checagem de Integridade da Mensagem). Se a combinação bater, então a chave pré-compartilhada estava correta e o cliente será autenticado, caso contrário não.

Sniffando a rede, o único parâmetro que um atacante não consegue obter é a chave pré-compartilhada (pois não tem a passphrase para compô-la). Entretanto o SSID da rede, o anúncio do autenticador, o anúncio do suplicante, o MAC Address do autenticador e o MAC Address do suplicante podem ser obtidos sniffando-se a rede. Por isso realiza-se o ataque de dicionário, pois é a única maneira de gerar chaves pré-compartilhadas para tentar gerar PTKs que passem na checagem de integridade (MIC).  Dessa maneira, cada palavra no arquivo de dicionário será utilizada para a geração de uma chave que será testada contra o protocolo de autenticação. Logo, a qualidade do seu arquivo de dicionário é uma peça fundamental nesse tipo de ataque, uma vez que a senha deverá estar contida nele. Irrelevante dizer que o sucesso desse ataque, depende exclusivamente da qualidade da senha configurada na rede sem fio.
 

Muitos dos utilitários para ataques de dicionário  permitem que você especifique arquivos de dicionários de terceiros chamadas "wordlists", que você cria ou baixa da Internet. Aqui segue uma lista com alguns sites populares onde você pode baixar diversas wordlists:

ftp://ftp.cerias.purdue.edu/pub/dict
ftp://ftp.ox.ac.uk/pub/wordlists
http://packetstormsecurity.nl/Crackers/wordlists
http://www.outpost9.com/files/WordLists.html
http://rs159.rapidshare.com/files/184075601/BlackKnightList.rar
http://wordlist.sourceforge.net/

Note que estas listas estão todas em inglês, portanto é imprescindível que você procure por listas que utilizam palavras da língua portuguesa também bem como em outros idiomas (italiano, espanhol, "Klingon" ;o) e etc).

Uma outra possibilidade é utilizar programas que criam wordlists "personalizadas", como o "Cupp". O Cupp é uma ferramenta que roda em Python e já vem junto com o BT5. Para rodá-lo, você abre um terminal, entra no diretório "/pentest/passwords/cupp" e digita "./cupp.py" (sem as aspas).

Para gerar uma wordlist digite "./cupp.py -i". Ao rodar o programa, ele fará perguntas sobre a vítima como nome, sobrenome, apelido e data de nascimento do alvo, da esposa e do seu filho(a). O programa também pergunta o nome do animal de estimação do alvo e a empresa onde trabalha. É possível escolher se serão adicionadas algumas informações aleatórias sobre a vítima (aqui é possível inserir nomes de agremiações esportivas, ou outras palavras que são comumente associadas ao alvo, por exemplo), se é preciso adicionar números aleatórios ao final das palavras, entre outras opções.
Após fornecidas as informações sobre o usuário, será criada uma wordlist específica, personalizada para ele. No exemplo acima, apenas inserindo informações sobre a vítima, sem gerar caracteres aleatórios, foi criado um arquivo com 3400 palavras. Para exemplificarmos melhor o risco que é utilizar senhas inseguras, com nomes de familiares, datas de aniversário e etc, vamos supor que o nosso alvo chama-se "Francisco", é casado com a "Paula" e ambos têm um filho chamado "Guilherme" que nasceu em 01/02/2012. Como Francisco não tem muito conhecimento sobre como criar senhas fortes, ele cadastrou a senha da rede wifi como "Gu1lh3rm32012" (que é apenas Guilherme 2012, trocando-se alguns caracteres numéricos por letras).

Para esse cenário precisaremos de:
- um roteador wi-fi configurado com o protocolo WPA ou WPA2. 


- um computador/laptop com interface de rede sem fio, rodando o Linux BackTrack.
- um cliente legítimo conectado a esse roteador;

Uma vez que o BackTrack 5 já está bootado e com um adaptador sem fio funcional, vamos ao ataque ;)

Vamos utilizar o "airodump-ng" na interface "mon0" para verificar as redes disponíveis:

- airodump-ng mon0


A exemplo do ataque WEP, utilizaremos o airodump-ng para sniffar o tráfego da rede wi-fi:

– airodump-ng –c 9 –w CENARIO_WPA2 --bssid 00:1E:58:C3:2C:35 mon0 (lembrando que serão criados arquivos CENARIO_WPA2*)

Também como no cenário WEP, precisamos de um cliente conectado ao AP. Podemos esperar uma nova conexão ou forçar uma reconexão com um pacote de de-autenticação de broadcast, forçando os clientes atuais a se reconectarem.

- aireplay-ng -0 5 -a 00:1E:58:C3:2C:35 mon0


Tão logo conseguimos capturar o WPA Handshake, podemos finalizar a captura.


O próximo passo é tentar quebrar a o arquivo capturado, sempre lembrando que, a eficiência do ataque depende absolutamente do arquivo de dicionário utilizado. O Backtrack fornece um arquivo padrão (darkc0de.lst), mas é possível que ele seja insuficiente, principalmente porque questões regionais sempre devem ser levadas em consideração. O ideal é sempre procurarmos uma wordlist da região onde nos encontramos. Como o nosso caso é realizar um ataque personalizado, utilizaremos o arquivo "francisco.txt" que foi gerado com o "cupp".

De posse da wordlist, podemos tentar quebrar o arquivo com o aricrack-ng:

– aircrack-ng CENARIO_WPA2-01.cap –w /root/francisco.txt


Veja na imagem acima que a wordlist personalizada funcionou neste caso, encontrando a senha: Gu1lh3rm32012

Da mesma maneira que o WEP, se for necessário decriptografar os pacotes de dados capturados anteriormente, podemos utilizar o comando "airdecap-ng":

– airdecap-ng –p Gu1lh3rm32012 CENARIOWPA2-01.cap –e “CENARIO_WPA2”

O arquivo resultante CENARIO_WPA2-01-dec.cap, poderá ser aberto com o Wireshark ou outro sniffer.




Apesar de todo o procedimento aqui explicado ser amplamente difundido Internet afora, é sempre bom reforçar o caráter educacional desse post e recomendar o uso de todo e qualquer conhecimento, tanto obtido nesse artigo como em outras postagens, com responsabilidade. Não invada redes alheias e muito cuidado, até porque você nunca sabe quem pode estar do outro lado.

Importante ressaltar que, a vítima nesse cenário, apesar de usar uma senha relativamente forte (com 13 caracteres maiúsculos, minúsculos e números, faltando apenas algum símbolo), esqueceu-se de uma regra básica para a criação de senhas: jamais utilizar nomes de parentescos, datas de aniversários etc, nem mesmo combinadas, pois programas como o "Cupp", servem justamente para esse tipo de situação. Se o cenário fosse sobre uma quebra de senha por força bruta, segundo o site "How Secure is my Password" contabiliza, precisaríamos de 1 milhão de anos para quebrar essa senha utilizando o poder de processamento de um computador desktop comum (e veja que o site ainda sugere que sejam inseridos símbolos nessa senha).


Porém como esse foi um ataque de dicionário, e o usuário utilizava uma senha fraca, a quebra aconteceu em poucos minutos. Conscientize-se e crie senhas fortes. O WPA2 permite senhas de até 63 caracteres ASCII, se for necessário, utilize-os.


Bons estudos.

P.S.: No segundo parágrafo, como eram muitas referências a serem feitas e o objetivo do post não era fornecer documentação sobre cada protocolo específico e sim mostrar a quebra do WPA, foram utilizados diversos links que apontam apenas para a Wikipedia. Sugiro que você procure por fontes adicionais caso você queira se aprofundar em algum desses protocolos e não permaneça numa única fonte. 

t+
Cristiano
"A grandeza não consiste em receber honras, mas em merecê-las." - Aristóteles
Related Posts Plugin for WordPress, Blogger...