Eu quero pentest uma aplicação móvel. Para fazer isso, quero interceptar todo o tráfego WiFi e encaminhá-lo para o Burp, que é executado em uma VM.
Eu ativei o "Compartilhamento de Internet" no meu Macbook para que meu telefone agora se conecte ao laptop usando WiFi. Desejo encaminhar todo o tráfego para o proxy Burp, que está em 172.16.122.128:8080.
Redirecionando para trabalhos localhost:
rdr pass on bridge100 inet proto tcp from any to any port {80,443} -> 127.0.0.1 port 8080
Coloquei essa regra em um arquivo e carregue-a pfctl -f pf.rules
. Depois disso, listei na porta 8080 usando nc -l -p 8080
e quando eu navego em algum lugar no meu telefone, ele realmente se conecta ao host local.
No entanto, quando tento encaminhar para 172.16.122.128, ele não funciona:
rdr pass on bridge100 inet proto tcp from any to any port {80,443} -> 172.16.122.128 port 8080
Os pacotes acabam na VM (testados com Wireshark), mas nenhuma conexão é feita. Isso pode ser porque eles se originam de 192.168.2.3. Preciso de NAT em algum lugar? Como posso configurar isso corretamente?
Tirei uma foto do meu layout de rede. (A VM, na verdade, é executada no meu laptop, mas eu a separei aqui.)
nc
, e isso funciona bem. A VM é o Kali Linux.Respostas:
Eu acho que o problema é que você não configurou o encaminhamento entre 2 redes, (1) rede VM (172.16.122.0/24) e (2) sua LAN (192.168.2.0/24). Para configurar o encaminhamento no seu Mac, você provavelmente precisará fazer o seguinte (desculpe, eu não tenho um Mac, então não posso tentar):
1) Conforme escrito em https://apple.stackexchange.com/a/192183 :
2) adicione rotas estáticas às duas redes, se necessário (eu acho, você já a possui, pois você pode se conectar com a nc do seu Mac à VM)
Por fim, outra opção (sem configurar o Mac como um roteador) é configurar o NAT usando o software de virtualização e encaminhar uma porta para a VM. Se você usa o VMware Fusion, dê uma olhada aqui ou aqui .
Em vez de encaminhar o tráfego para a porta na sua VM, encaminhe-o para a porta encaminhada na interface vmnet8:
(a porta 8080 no vmnet8 deve ser encaminhada para a porta 8080 na sua VM pelo VMware Fusion)
fonte
As seguintes regras de PF funcionam:
Isso encaminha todas as solicitações para 172.16.122.128, enquanto executa o NAT no meio.
O NAT é necessário para converter entre os endereços das duas redes, ou seja, 192.168.2.0/24 e 172.16.122.0/24. A parte anterior já funcionou (como descrito na minha pergunta), mas os pacotes foram encaminhados com o endereço de origem errado. O NAT altera esse endereço de origem para 172.16.122.1, para que a VM saiba enviar pacotes de volta ao meu MacBook, que os encaminha para o telefone novamente.
fonte
Se a VM for Linux, você precisará do tráfego de entrada do Nat e o poderá alterar. Isso é:
Comandos de firewall
fonte