Exponer la máquina virtual a Internet

Exponer la máquina virtual a Internet

Me gustaría crear una máquina virtual usando una caja virtual para crear un laboratorio de piratería y permitir que alguien intente piratearla desde Internet. (Entonces la máquina virtual sería la víctima). ¿Cómo puedo hacer eso? Supongo que todos los dispositivos en mi LAN, incluidas las máquinas virtuales, comparten una IP única, entonces, ¿cómo puedo exponer mi máquina virtual? ¿Hay alguna manera? ¿Debo configurar el reenvío de puertos o utilizar alguna otra configuración? Pido disculpas si esta es una pregunta estúpida. Espero que alguien pueda ayudarme si es posible. Gracias de antemano.

Respuesta1

Debes tener mucho cuidado con lo que planeas hacer. Si desea exponer la VM a Internet, debe asegurarse absolutamente de que la VM no pueda comunicarse con los otros dispositivos de su red. Sin embargo, el atacante podrá utilizar su conexión a Internet para actividades ilegales. Será difícil evitarlo y requiere una sólida comprensión de las técnicas de networking. Considerándolo todo, mi consejo es: no lo hagas, a menos que sepas absolutamente lo que estás haciendo.

Respuesta2

¿Qué tipo de dispositivo tienes para un enrutador? ¿Tienes acceso de shell?

Tuve que ayudar a alguien a obtener acceso completo a su caja desde Internet. No pude encontrar una opción en la interfaz de usuario web del enrutador (que ejecuta Tomato), así que apliqué los cambios directamente y luego los guardé en/etc/iptables. Estos cambios se borrarán cuando se cambie la configuración, aunque esto podría no ser un problema dependiendo del enrutador que elija.

La regla SNAT hace que el paquete parezca provenir de su dirección local (censurada a 1.1.1.1 en este caso) cuando el paquete sale de su red hacia Internet. A muchas distribuciones de enrutadores de Linux les gusta implementar el reenvío de puertos con SNAT en lugar de la regla MASQUERADE que se puede encontrar de forma predeterminada.

iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -o vlan1 -j SNAT --to-source 1.1.1.1

Cuando alguien externo intenta conectarse a su IP pública, la conexión se envía a la máquina local (192.168.0.123). Antes de que pueda llegar a la máquina, primero debe ser aceptado por la cadena ADELANTE.

iptables -t nat -A PREROUTING -d 1.1.1.1 -j DNAT --to-destination 192.168.0.123

Si lo hace, se acepta y se reenvía a la máquina local.

iptables -A FORWARD -d 192.168.0.123 -j ACCEPT

Para su ejemplo de honeypot, es posible que desee una aceptación global como la que publiqué anteriormente, aunque para mi caso de uso quería restringir el acceso a una IP confiable conocida, en lugar de usar esto:

iptables -A FORWARD -d 192.168.0.123 -s 2.2.2.2 -j ACCEPT

Si permite que absolutamente cualquier persona se conecte a su ubicación, lo colocaría en una subred/dominio de colisión completamente separado de sus computadoras normales y haría que su iptablesconfiguración prohíba todo acceso a ese dominio.

información relacionada