23 ~ Wonderland - Linux
Última actualización
Última actualización
Lo primero que haremos será iniciar la maquina, y esperar a que nos de una IP. Una vez dada la IP, realizaremos un ping a la IP, para verificar que tenemos conexión con la maquina victima.
A parte de saber si tenemos conexión con la maquina podemos deducir que sistema operativo tiene, mediante el TTL. En este caso el TTL es de 63, siendo del sistema operativo Linux, pero realmente el TTL de el sistema operativo Linux es 64, Esto se debe a que pasa por varios nodos intermediarios, reduciendo el TTL, en este caso restándole 1.
Ahora procedemos a escanear los puertos y servicios que tiene la maquina expuesto. Lanzaremos la herramienta nmap para saber que puertos están abiertos.
Descripción de los parámetros:
-p- : Escanea los puertos especificados, en este caso escanea los 65535 puertos.
--open : Muestra solo los puertos abiertos.
-sS : Escanea mediante TCP SYN.
--min-rate : Envía paquetes no mas lentos que el número indicado por segundo en nuestro caso 5000.
-Pn : Omite el descubrimiento de host.
-n : No realiza resolución DNS.
-vvv : Muestra la información mientras se esta realizando el escaneo.
IP : La IP que queremos escanear.
-oG : Guarda la salida del escaneo en un formato grepeable.
Una vez terminado el escaneo, lanzaremos otro escaneo mas exahustivo para saber que servicios corren en los puertos encontrados.
Una vez terminado los escaneo pasaremos a investigar y recolectar información para realizar el ataque.
Tras investigar un poco por la pagina no encontramos nada interesante. Lanzaremos la herramienta Gobuster para Fuzzear rutas ocultas.
Descripción de los parámetros:
dir : Utiliza el modo de enumeración de directorios/archivos.
-u : Le indicamos que le vamos a pasar una url.
URL : La url objetivo.
-w : Le indicamos que vamos a usar un diccionario.
/PATH/ : Le indicamos la ruta del diccionario a usar.
-t 50 : Le indicamos el numero de peticiones hacia el servidor.
--no-error : No muestra errores por pantalla.
-z : No muestra la barra de progresos por pantalla.
-o : Guarda la salida en un archivo.
Nos metemos en la ruta /IMG y vemos 3 fotos, vamos a descargar esas fotos y verlas mas en detalle.
Con la herramienta steghide podemos ver si contiene algún archivo oculto en la imagen.
Descripción de los parámetros:
extract : Extrae los datos.
-sf : Escribe el resultado en un fichero con el mismo nombre.
Tenemos un archivo oculto ("hint.txt")
Al ver el contenido del archivo nos indica una posible ruta web.
Al mirar el código fuente vemos unas posibles credenciales.
Probamos las credenciales con el servicio ssh.
Estamos dentro de la maquina.
Listamos los permisos sudo que tiene el usuario alice.
Podemos ejecutar como el usuario rabbit el archivo .py que esta en nuestro directorio
Al abrir el archivo, vemos que esta utilizando una librería. Vamos a secuestrar esa librería.
Creamos un archivo igual a la libreria usada y le damos permisos de ejecución.
Al ejecutar el archivo .py, nos convertimos en rabbit.
Ahora que somos rabbit, nos dirigimos a su directorio y vemos un ejecutable con permisos suid.
Al ejecutar el archivo, vemos que esta ejecutando el comando date por detrás. Vamos a intentar secuestras ese comando, ya que si no tiene la ruta absoluta, nos convertiremos en otro usuario o root.
El secuestró es muy similar al que hicimos antes para convertirnos en rabbit.
Creamos un archivo que se llame date y le damos permisos de ejecución, tal y como hicimos con la librería de python.
Una vez creado el archivo date con nuestros comandos, tendremos que modificar el PATH, para que empieze a buscar por el directorio donde se encuentra nuestro archivo.
Al ejecutar el programa, y leer nuestro archivo en vez del comando date, nos lanza una shell como el usuario hatter.
Al dirigirnos a su directorio, vemos un archivo con una posible contraseña. Intentamos conectarnos por ssh con ella.
Y ahora buscamos por capability y vemos que tenemos una capability en perl
Descripción de los parámetros:
-r : Búsqueda recursiva
Tenemos un comando, vamos a ejecutarlo como el usuario hatter.
Y somos root
Buscamos en la pagina , y vemos que podemos hacer con esa capability.