Estou trabalhando em um cliente muito limitado (baseado no Poky do Yocto Project), no qual quero redirecionar todas as solicitações http/https para minha outra máquina na mesma rede. Tenho nftables
disponível no alvo e verifiquei isso, descartando com sucesso todos os pacotes direcionados para a porta 80.
sysctl net.ipv4.ip_forward
mostra 1
.
Tentei usar o seguinte script/lista de comandos nft:
nft flush ruleset
nft add table ip nat
nft add chain ip nat prerouting { type nat hook prerouting priority 0 \; }
nft add chain ip nat postrouting { type nat hook postrouting priority 100 \; }
nft add rule ip nat prerouting tcp dport 80 dnat to 10.0.0.2:8080
nft add rule ip nat prerouting tcp dport 443 dnat to 10.0.0.2:8080
nft add rule ip nat postrouting masquerade
nft list ruleset
Para testar a configuração, configurei o domínio test.test
para 10.0.0.2 (via /etc/hosts
) no cliente. Na minha segunda máquina, tenho o Burp escutando em todas as interfaces na porta 8080 e um servidor web simples na porta 80 ( python3 -m http.server 80
).
Então eu executo curl http://test.test
no cliente. Eu obtenho a listagem de diretórios da minha máquina Burp, mas nenhum redirecionamento pelo burp ocorre.
O que mais eu poderia tentar, para forçar todos os pacotes de saída para a porta 80 ou 443 a passarem pelo meu Burp. Problemas de certificado podem ser ignorados para a configuração base.