Cuando comenzamos en retos CTF es común que busquemos guías para resolver las máquinas y, también es común que las cosas no nos salgan exactamente como en la guía. Uno de los principales problemas que uno enfrenta cuando va empezando es que en las guías el atacante se conecta directamente a un dominio como spectre.htb e interactúa con él; sin embargo, cuando uno intenta replicar los pasos se encuentra con el temible mensaje “this site can´t be reached”.
Lo que quiere decir este mensaje es que el servidor de nombres de dominios (DNS) no puede resolver la dirección que le solicitamos. La solución es sencilla: debemos decirle a nuestra computadora cómo resolver ese nombre sin acudir al DNS.
Lo que sucede cuando se escribe una dirección en la barra de direcciones, por ejemplo google[.]com, y se presiona enter o se le da click a “buscar”, es que se envía una solicitud a un servidor DNS para que traduzca ese nombre a una IP pública asociada a ese dominio. Una analogía: tú no sabes dónde vive misapuntesdepentesting[.]com, entonces, vas con el guía (DNS) y le dices “oye, ando buscando a misapuntesdepentesting[.]com”. El guía te contesta “Ah, claro, misapuntesdepentesting[.]com vive en 173.234.12.7 (IP de ejemplo); pero, no te preocupes. Yo te llevo”. Así, el servidor DNS te deja justo donde querías llegar.
El problema con los retos CTF es que los DNS no tienen registradas las IP de los laboratorios, pues, estos existen en el interior de una red privada (para más información revisa la guía de introducción a los retos CTF). Por esto es que debemos conectarnos a ellos mediante una vpn: para estar en la misma red que el laboratorio.
Ahora bien, ¿cómo se soluciona el problema? Debemos decirle a la computadora que el sitio del laboratorio está en la misma red interna, es decir, que no es necesario acudir al DNS. Los sistemas linux tienen un archivo que, sin afán técnico, podríamos decir que funciona como su propio DNS. Este archivo es el famosísimo /etc/hosts. Podremos modificarlo con nano, pero necesitaremos permisos de superusuario (el archivo equivalente en windows es “C:\Windows\System32\drivers\etc\hosts” y también requiere privilegios de administrador.):
sudo nano /etc/hosts
Luego debemos añadir la IP y el dominio después de la última línea del archivo hosts:
10.10.10.229 spectre.htb
Si el laboratorio tiene subdominios también deberemos agregarlos al /etc/hosts con esta sintaxis:
10.10.10.229 spectre.htb admin.spectre.htb
Para guardar los cambios en el documento presionamos ctrl+O, y para cerrarlo ctrl+X.
Si todo salió bien, una vez guardados los cambios podríamos escribir en el buscador el dominio asociado al laboratorio y debería resolverse sin problemas. Una forma de comprobarlo sería mediante el comando ping:
ping -c 1 spectre.htb
*En este artículo se usa spectre.htb como ejemplo. Cambia el dominio por el de la máquina que estés resolviendo.
Precisiones técnicas que no añaden a la didáctica, pero son necesarias:
1. “This site can’t be reached” también puede indicar otros fallos como “host down”, VPN no conectada o ruta inexistente. Esos errores quedan fuera del alcance de este artículo, pues lo que se explicó es el fallo más común en el caso que atañe al texto.
2. El archivo /etc/hosts no es un DNS. Ese archivo modifica la resolución del sistema operativo y tiene prioridad sobre el DNS. El orden de prioridad de la solución de dominios es: 1. Resolución del Sistema Operativo; 2. Servidor DNS.

Deja un comentario