Configurar OpenVPN en Kali Linux

 

https://www.onlinetis.com/es/ 

Configurar OpenVPN en Kali Linux

Configurar OpenVPN en Kali Linux es un proceso bastante directo, ya sea que quieras conectarte a un servidor de auditoría (como Hack The Box o TryHackMe) o a un servicio de VPN comercial.

Aquí tienes los pasos para hacerlo de forma rápida y efectiva:


1. Preparación del Archivo

Primero, necesitas el archivo de configuración con extensión .ovpn que te proporciona tu proveedor. Asegúrate de saber dónde lo has descargado (normalmente en la carpeta /home/kali/Downloads).

2. Método por Terminal (El más rápido)

Este es el método preferido por la mayoría de los usuarios de Kali porque te permite ver los logs de conexión en tiempo real.

  1. Abre una terminal.

  2. Navega hasta la carpeta del archivo:

    cd ~/Downloads

  3. Ejecuta el comando con privilegios de superusuario:

    sudo openvpn nombre_de_tu_archivo.ovpn

  4. No cierres la terminal. Si la cierras, la conexión se cortará. Verás el mensaje Initialization Sequence Completed cuando estés conectado con éxito.

3. Método por Interfaz Gráfica (Network Manager)

Si prefieres que la VPN esté integrada en la barra de tareas de Kali (XFCE):

  1. Haz clic derecho en el icono de red en la esquina superior derecha y selecciona Edit Connections... (Editar conexiones).

  2. Haz clic en el botón + (Añadir).

  3. En el menú desplegable, selecciona Import a saved VPN configuration... (Importar una configuración VPN guardada) y dale a Create.

  4. Selecciona tu archivo .ovpn.

  5. Se abrirá una ventana con los ajustes; revisa que todo esté correcto y dale a Save.

  6. Ahora puedes activar la VPN haciendo clic izquierdo en el icono de red y seleccionando la conexión en VPN Connections.


Comandos Útiles de Verificación

Para asegurarte de que tu tráfico está pasando por la VPN, puedes usar estos comandos en una nueva terminal:

  • Verificar tu nueva IP: curl ifconfig.me o ip addr show tun0

  • Verificar la ruta de red: ip route

Errores comunes

  • Permisos denegados: Recuerda usar siempre sudo.

  • Conflicto de DNS: Si puedes hacer ping a IPs pero no navegar por nombres de dominio, puede que necesites revisar el archivo /etc/resolv.conf.

  • Versión de OpenVPN: Asegúrate de tener el sistema actualizado con sudo apt update && sudo apt install openvpn.


Configurar un Kill Switch es fundamental en Kali Linux para evitar que tu verdadera dirección IP se filtre si la conexión VPN se interrumpe inesperadamente.

Usaremos ufw (Uncomplicated Firewall) porque es sencillo y muy robusto para este propósito.


Paso 1: Instalar y preparar el Firewall

Si no tienes ufw instalado, abre una terminal y ejecuta:

Bash
sudo apt update && sudo apt install ufw -y

Paso 2: Configurar las Reglas del Kill Switch

El objetivo es bloquear todo el tráfico, excepto el que pasa por el túnel de la VPN (tun0) y la conexión necesaria para establecer la VPN inicialmente.

  1. Restablecer las reglas:

    sudo ufw default deny outgoing

    sudo ufw default deny incoming

  2. Permitir tráfico a través de la interfaz de la VPN:

    sudo ufw allow out on tun0 from any to any

  3. Permitir la conexión al servidor VPN:

    Necesitas permitir la salida por el puerto que usa OpenVPN (normalmente el 1194 UDP o 443 TCP).

    sudo ufw allow out 1194/udp

    (Nota: Si tu archivo .ovpn indica un puerto o protocolo diferente, cámbialo aquí).

  4. Permitir tráfico en tu red local (Opcional):

    Si quieres seguir accediendo a dispositivos en tu misma red (como una impresora o un router en la 192.168.1.1):

    sudo ufw allow out to 192.168.1.0/24

Paso 3: Activar el Firewall

Una vez configuradas las reglas, enciende el firewall:

Bash
sudo ufw enable

¿Cómo probar si funciona?

Es vital verificar que el Kill Switch sea efectivo:

  1. Conéctate a tu OpenVPN: sudo openvpn tu_archivo.ovpn.

  2. Verifica que tienes internet: ping google.com.

  3. Corta la conexión VPN (presiona Ctrl+C en la terminal de OpenVPN).

  4. Intenta navegar o hacer ping de nuevo. No debería haber conexión. Si el tráfico se detiene por completo, ¡felicidades! Tu IP real está protegida.


Cómo volver a la normalidad

Si terminas tu sesión de auditoría y quieres usar tu internet normal sin la VPN, simplemente desactiva el firewall:

sudo ufw disable

 

Para automatizar esto, lo mejor es usar los scripts de eventos que tiene OpenVPN (up y down). Esto hará que el firewall se active automáticamente al conectar y se desactive al desconectar, evitándote el trabajo manual.

Sigue estos pasos para dejarlo configurado de forma profesional:


1. Crear los scripts de automatización

Vamos a crear dos archivos pequeños en la carpeta de OpenVPN.

Script para activar el Kill Switch (/etc/openvpn/ufw-up.sh):

Bash
#!/bin/bash
sudo ufw enable

Script para desactivar el Kill Switch (/etc/openvpn/ufw-down.sh):

Bash
#!/bin/bash
sudo ufw disable

2. Dar permisos de ejecución

Copia y pega estos comandos para que el sistema permita que OpenVPN ejecute los archivos:

Bash
sudo chmod +x /etc/openvpn/ufw-up.sh /etc/openvpn/ufw-down.sh

3. Modificar tu archivo .ovpn

Ahora, abre tu archivo de configuración de la VPN con un editor de texto (como nano o mousepad):

nano mi_configuracion.ovpn

Al final del archivo, añade estas líneas:

Plaintext
script-security 2
up /etc/openvpn/ufw-up.sh
down /etc/openvpn/ufw-down.sh

¿Cómo funciona ahora?

A partir de este momento, cuando lances tu VPN con:

sudo openvpn mi_configuracion.ovpn

  1. Al conectar: OpenVPN llamará al script up, que encenderá el firewall ufw. Si la VPN se cae, el firewall seguirá activo y bloqueará todo el tráfico (Kill Switch).

  2. Al desconectar (Ctrl+C): OpenVPN llamará al script down, que apagará el firewall para que recuperes tu conexión a internet normal.

Un detalle importante: DNS

A veces, al activar el Kill Switch, el sistema no puede resolver nombres (como google.com) porque el tráfico DNS está bloqueado. Si te pasa, añade esta regla a tu firewall:

sudo ufw allow out 53


Para verificarlo, solo tenemos que echar un vistazo rápido al contenido de tu archivo .ovpn. Como esos archivos son de texto plano, puedes usar el comando grep para filtrar la información que necesitamos sin tener que leer todo el código.

Ejecuta este comando en tu terminal:

Bash
grep -E "proto|remote " tu_archivo.ovpn

(Cambia tu_archivo.ovpn por el nombre real de tu archivo).

Cómo interpretar el resultado:

Dependiendo de lo que aparezca, ajustaremos la regla del firewall así:

  1. Si dice proto udp y algo como remote 1.2.3.4 1194:

    • Tu VPN usa el puerto 1194 sobre UDP (es lo más común y rápido).

    • Tu regla de firewall debe ser: sudo ufw allow out 1194/udp

  2. Si dice proto tcp y algo como remote 1.2.3.4 443:

    • Tu VPN usa el puerto 443 (el de navegación web segura) sobre TCP. Esto es útil para saltar bloqueos en redes restringidas.

    • Tu regla de firewall debe ser: sudo ufw allow out 443/tcp


Un último consejo de "Hacker":

Si estás usando esto para TryHackMe o Hack The Box, a veces el servidor VPN cambia. Si ves que un día no conecta, es posible que el puerto haya cambiado en un nuevo archivo de configuración que descargues.

 

¡Esta es una de las mejores mejoras de calidad de vida que puedes hacer en Kali! Tener tu IP de la VPN siempre visible en el prompt (la línea donde escribes los comandos) te evita tener que estar ejecutando ip addr a cada rato para saber si sigues conectado.

En Kali Linux el shell por defecto es ZSH. Vamos a editar su configuración:

1. Abrir el archivo de configuración

Abre el archivo .zshrc que está en tu carpeta personal:

Bash
nano ~/.zshrc

2. Añadir la función de detección de IP

Baja hasta el final del archivo y pega este bloque de código. Este script busca la IP de la interfaz tun0 (la de OpenVPN) y, si no existe, simplemente no muestra nada:

Bash
# Función para obtener la IP de la VPN (tun0)
function vpn_ip() {
  IP=$(ip addr show tun0 2>/dev/null | grep "inet " | awk '{print $2}' | cut -d/ -f1)
  if [ -n "$IP" ]; then
    echo " %F{yellow}[VPN: $IP]%f"
  else
    echo ""
  fi
}

# Insertar la función en el prompt de Kali
PROMPT=$PROMPT'$(vpn_ip)'

3. Aplicar los cambios

Guarda con Ctrl+O, presiona Enter y sal con Ctrl+X. Para que los cambios surtan efecto de inmediato en la terminal actual, ejecuta:

Bash
source ~/.zshrc

¿Cómo se verá ahora?

Ahora, cada vez que te conectes a OpenVPN, verás algo como esto al final de tu línea de comandos:

┌──(kali㉿kali)-[~] [VPN: 10.10.14.5]

└─$

Si te desconectas, el texto en amarillo desaparecerá automáticamente.


Un extra para pro-hackers: El Alias de reconexión

Ya que estamos automatizando, puedes añadir un alias al mismo archivo .zshrc para no tener que escribir toda la ruta de la VPN cada vez:

Bash
alias vpn-on='sudo openvpn ~/Downloads/mi_configuracion.ovpn'

(Solo cambia la ruta por la de tu archivo real).

Ahora, con solo escribir vpn-on en cualquier terminal, estarás conectado y protegido.

 

¡Esto te va a ahorrar muchísimo tiempo en plataformas como Hack The Box o TryHackMe!

Cuando auditas una máquina, lo primero es el reconocimiento. Vamos a crear un script en Bash llamado auto-recon.sh que detecte automáticamente tu IP de la VPN y lance un escaneo de Nmap organizado.

1. Crear el Script de Escaneo

Abre una terminal y crea el archivo:

Bash
nano ~/auto-recon.sh

2. Pegar el código del "Scanner Inteligente"

Copia este código. Está diseñado para ser limpio, rápido y profesional:

Bash
#!/bin/bash

# Detectar la IP de la VPN (tun0)
VPN_IP=$(ip addr show tun0 2>/dev/null | grep "inet " | awk '{print $2}' | cut -d/ -f1)

if [ -z "$VPN_IP" ]; then
    echo -e "\e[31m[!] Error: No estás conectado a la VPN (tun0 no encontrada).\e[0m"
    exit 1
fi

echo -e "\e[34m[*] Tu IP VPN:\e[0m $VPN_IP"
read -p "[?] Introduce la IP del objetivo: " TARGET

# Crear carpeta para resultados
mkdir -p results_$TARGET
cd results_$TARGET

echo -e "\e[32m[*] Iniciando escaneo rápido de puertos...\e[0m"
# Escaneo rápido para encontrar puertos abiertos
nmap -p- --open -sS --min-rate 5000 -n -Pn $TARGET -oG allPorts

# Extraer los puertos y lanzar un escaneo exhaustivo (versiones y scripts)
ports=$(cat allPorts | grep -oP '\d+(?=/open)' | tr '\n' ',' | sed 's/,$//')

if [ -z "$ports" ]; then
    echo -e "\e[31m[!] No se encontraron puertos abiertos.\e[0m"
else
    echo -e "\e[32m[*] Puertos encontrados: $ports. Lanzando escaneo de servicios...\e[0m"
    nmap -sCV -p$ports $TARGET -oN targeted
    echo -e "\e[34m[*] Escaneo finalizado. Resultados en: results_$TARGET/targeted\e[0m"
fi

3. Permisos y Uso

Dale permisos de ejecución:

Bash
chmod +x ~/auto-recon.sh

Para usarlo, solo escribe:

./auto-recon.sh


¿Por qué este script es mejor que un nmap normal?

  • Detección de Interfaz: Se asegura de que estás en la VPN antes de empezar para no perder tiempo.

  • Velocidad: El primer escaneo es ultra rápido (--min-rate 5000) para identificar qué está abierto.

  • Precisión: El segundo escaneo solo trabaja sobre los puertos encontrados, ahorrando minutos de espera.

  • Orden: Te crea una carpeta con los resultados para que no llenes tu escritorio de archivos.


Un toque final de personalización

Para que puedas lanzar este script desde cualquier sitio, muévelo a la carpeta de binarios:

sudo mv ~/auto-recon.sh /usr/local/bin/recon

Ahora, simplemente escribiendo recon en cualquier terminal, estarás listo para auditar.

 

Para un auditor de seguridad o un entusiasta de CTF, la organización de las notas es tan importante como el escaneo mismo. Si no documentas, no aprendes (y no cobras en el mundo profesional).

En Kali Linux, tienes dos opciones reina: CherryTree (el clásico jerárquico) y Obsidian (el moderno con enlaces tipo Wikipedia). Vamos a configurar CherryTree porque viene preinstalado en muchas versiones de Kali y es extremadamente ligero.


1. Preparar la estructura de CherryTree

CherryTree guarda todo en un solo archivo (.ctb). Lo ideal es tener una "Plantilla" para cada máquina que audites.

Estructura recomendada:

  • Nombre de la Máquina

    • Enumeración (Aquí pegas el resultado de tu script recon)

    • Explotación (User Flag)

    • Post-Explotación (Privilege Escalation)

    • Root (Root Flag)

    • Evidencias (Capturas de pantalla)

2. Automatizar el pegado de notas

Podemos modificar tu script recon para que, además de escanear, cree un archivo de texto listo para ser importado o copiado a tus notas.

Añade estas líneas al final de tu script /usr/local/bin/recon:

Bash
# Crear un resumen para notas
echo -e "\n# NOTAS DE AUDITORIA - TARGET: $TARGET" > summary.txt
echo -e "## PUERTOS ABIERTOS: $ports" >> summary.txt
cat targeted >> summary.txt
echo -e "\e[33m[*] Resumen para notas creado en results_$TARGET/summary.txt\e[0m"

3. Bonus: Capturas de pantalla rápidas

En Kali, puedes usar xfce4-screenshooter para tomar capturas de regiones específicas y guardarlas directamente en tu carpeta de resultados:

  • Comando rápido: xfce4-screenshooter -r -s ./results_$TARGET/evidence1.png


¿Cómo se ve tu flujo de trabajo ahora?

  1. Conectas VPN: Tu prompt cambia y muestra tu IP tun0.

  2. Lanzas el Kill Switch: Estás protegido automáticamente.

  3. Ejecutas recon: El script detecta tu IP, escanea el objetivo y te organiza los resultados en una carpeta.

  4. Documentas: Abres el summary.txt y lo pegas en CherryTree para empezar a trabajar.

El toque final: ¿Te gustaría que te enseñe a usar Tmux?

Tmux te permite dividir tu terminal en varias ventanas (una para la VPN, otra para el escaneo, otra para el exploit) para que no tengas 20 terminales abiertas flotando por el escritorio. Es la herramienta definitiva de productividad en Kali.

 

Tmux (Terminal Multiplexer) es la herramienta que separa a los principiantes de los profesionales en Kali. Te permite dividir una sola ventana de terminal en múltiples paneles, crear varias pestañas y, lo más importante: si cierras la terminal por error, tus procesos (como OpenVPN o un escaneo largo) siguen corriendo de fondo.


1. Instalación y Configuración "Pro"

Kali ya trae Tmux, pero vamos a dejarlo configurado para que sea fácil de usar con el ratón y se vea genial.

Crea el archivo de configuración:

Bash
nano ~/.tmux.conf

Pega esta configuración básica pero potente:

Fragmento de código
# Habilitar el ratón para redimensionar paneles y hacer scroll
set -g mouse on

# Cambiar el color de la barra de estado a azul (estilo Kali)
set -g status-bg blue
set -g status-fg white

# Historial de 10000 líneas
set -g history-limit 10000

# Dividir paneles con teclas más intuitivas
bind | split-window -h
bind - split-window -v

Guarda y sal (Ctrl+O, Enter, Ctrl+X).

2. Comandos de Supervivencia en Tmux

Para entrar en Tmux, simplemente escribe tmux en tu terminal. Aquí están los atajos esenciales (por defecto se usa Ctrl+b antes de cada tecla):

AcciónAtajo (Presiona Ctrl+b y luego...)
Dividir pantalla vertical% (o `
Dividir pantalla horizontal" (o - con nuestra config)
Saltar entre panelesFlechas de dirección
Cerrar un panelx
Crear nueva pestañac
Siguiente pestañan

3. El Flujo de Trabajo Maestro

Imagina este escenario en una sola ventana de terminal:

  1. Panel Superior Izquierdo: Tu OpenVPN corriendo (viendo los logs).

  2. Panel Superior Derecho: Tu script recon analizando el objetivo.

  3. Panel Inferior: Tu terminal libre para lanzar exploits o navegar carpetas.


4. Lo mejor: La "Inmortalidad" de tus procesos

Si estás en medio de un escaneo de 2 horas y se te cierra la ventana de la terminal o se agota la batería:

  • No pasa nada. Los procesos siguen vivos.

  • Al volver a abrir la terminal, escribe: tmux attach y recuperarás todo exactamente donde lo dejaste.


Resumen de tu nuevo arsenal en Kali:

  • OpenVPN: Configurado y automatizado.

  • Kill Switch: Protegiendo tu IP real con ufw.

  • Prompt Dinámico: Mostrando tu IP de la VPN en amarillo.

  • Recon Script: Escaneos automáticos y ordenados.

  • Tmux: Productividad total en una sola ventana.

 

 

Este es el "botón de pánico" o Script de Despegue. Vamos a crear un script que, con un solo comando, abra Tmux, inicie tu VPN, active el Kill Switch y te deje paneles listos para trabajar.

Lo llamaremos start-lab.sh.

1. Crear el Script de Inicio Maestro

Abre tu editor:

Bash
nano ~/start-lab.sh

2. Copia este código "Power User"

Este script automatiza la creación de la sesión de Tmux y divide la pantalla por ti:

Bash
#!/bin/bash

# Configuración: Pon aquí la ruta de tu archivo .ovpn
VPN_FILE="$HOME/Downloads/mi_configuracion.ovpn"
SESSION="lab"

# 1. Asegurarse de que el Kill Switch esté listo
sudo ufw enable

# 2. Iniciar una nueva sesión de Tmux llamada 'lab'
tmux new-session -d -s $SESSION

# 3. Panel 1 (Izquierda): Iniciar la VPN
tmux rename-window -t $SESSION:0 'Auditoria'
tmux send-keys -t $SESSION "sudo openvpn $VPN_FILE" C-m

# 4. Panel 2 (Derecha - Arriba): Tu script de Recon
tmux split-window -h -t $SESSION
tmux send-keys -t $SESSION "recon" # Aquí espera a que pongas la IP del objetivo

# 5. Panel 3 (Derecha - Abajo): Terminal limpia para exploits
tmux split-window -v -t $SESSION
tmux send-keys -t $SESSION "clear" C-m

# 6. Seleccionar el panel de Recon para empezar a trabajar
tmux select-pane -t 1

# 7. Acoplarse a la sesión
tmux attach-session -t $SESSION

3. Permisos y Acceso Rápido

Dale permisos y muévelo a tus binarios para lanzarlo con una sola palabra:

Bash
chmod +x ~/start-lab.sh
sudo mv ~/start-lab.sh /usr/local/bin/lab

¿Cómo se usa?

A partir de ahora, cuando enciendas tu Kali para practicar:

  1. Abre una terminal.

  2. Escribe: lab

  3. ¡Magia! Se abrirá Tmux con tres paneles:

    • A la izquierda: Verás los logs de OpenVPN conectándose.

    • Arriba a la derecha: El script de recon preguntándote la IP del objetivo.

    • Abajo a la derecha: Una terminal limpia lista para tus comandos.

Tu flujo de trabajo profesional final:

  1. Protección: El Kill Switch (ufw) se activa solo.

  2. Identidad: Tu prompt te confirma tu IP tun0 en amarillo.

  3. Orden: Tus escaneos se guardan en carpetas por IP.

  4. Control: Tmux maneja toda tu sesión en una sola ventana.


Último detalle: El cierre de sesión seguro

Cuando termines de hackear, recuerda cerrar todo limpiamente:

  1. En Tmux, escribe exit en cada panel o usa Ctrl+b y luego &.

  2. Desactiva el firewall para recuperar tu internet normal: sudo ufw disable.

Entradas populares de este blog

Hacking y ciberseguridad en kali linux con Fping

Hacking y ciberseguridad en kali linux con atk6-thcping6

Como utilizar Fierce en kali linux