Eu gostaria de criar uma máquina virtual usando uma caixa virtual para fazer um laboratório de hacking e permitir que alguém tente hackeá-la pela Internet. (Então a máquina virtual seria a vítima). Como eu posso fazer isso? Todos os dispositivos em minha LAN, incluindo máquinas virtuais, compartilham um IP exclusivo, eu acho, então como posso expor minha máquina virtual? Há algum caminho? Devo configurar o encaminhamento de porta ou usar alguma outra configuração? Peço desculpas se esta é uma pergunta estúpida. Espero que alguém possa me ajudar, se possível. Desde já, obrigado.
Responder1
Você deve ter muito cuidado com o que planeja fazer. Se quiser expor a VM à Internet, você deve ter certeza absoluta de que a VM não consegue se comunicar com os outros dispositivos da sua rede. No entanto, o invasor poderá usar sua conexão com a Internet para atividades ilegais. Será difícil evitar isso e requer um conhecimento sólido das técnicas de rede. Resumindo, meu conselho é: não faça isso, a menos que você saiba absolutamente o que está fazendo.
Responder2
Que tipo de dispositivo você possui para roteador? Você tem acesso ao shell?
Tive que ajudar alguém a obter acesso total à sua caixa pela internet. Não consegui encontrar uma opção na interface da web do roteador (executando o Tomato), então apliquei as alterações diretamente e salvei-as em/etc/iptables. Essas alterações seriam apagadas quando a configuração fosse alterada, embora isso possa não ser um problema dependendo da sua escolha de roteador.
A regra SNAT faz com que o pacote pareça vir do seu endereço local (censurado para 1.1.1.1 neste caso) quando o pacote sai da sua rede para a Internet. Muitas distribuições de roteadores Linux gostam de implementar seu encaminhamento de porta com SNAT em vez da regra MASQUERADE que pode ser encontrada por padrão.
iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -o vlan1 -j SNAT --to-source 1.1.1.1
Quando alguém de fora tenta se conectar ao seu IP público, a conexão é enviada para a máquina local (192.168.0.123). Antes que possa chegar à máquina, deve primeiro ser aceito pela corrente FORWARD.
iptables -t nat -A PREROUTING -d 1.1.1.1 -j DNAT --to-destination 192.168.0.123
Caso seja aceito, encaminhado para a máquina local.
iptables -A FORWARD -d 192.168.0.123 -j ACCEPT
Para o seu exemplo de honeypot, você pode querer uma aceitação global como postei acima, embora para meu caso de uso eu quisesse restringir o acesso a um IP confiável conhecido, em vez disso, use isto:
iptables -A FORWARD -d 192.168.0.123 -s 2.2.2.2 -j ACCEPT
Se você permitir que qualquer pessoa se conecte ao seu local, eu o colocaria em uma sub-rede/domínio de colisão completamente separado dos seus computadores normais e faria com que sua iptables
configuração barrasse todo o acesso a esse domínio.