Ir al contenido

Webmaster

·710 palabras·4 mins
loco0000
Autor
loco0000
Estudiante de ingeniería electrica y aspirante a pentester.
Hackmyvm Fácil - Este artículo es parte de una serie.
Parte 4: Este artículo

Información de la maquina
#

Nombrewebmaster
Sistema operativoLinux
Autorsml
Sitiohackymyvm
DificultadFácil

Reconocimiento y enumeración
#

Empezamos con un escaneo de reconocimiento de servicios con nmap:

Tres puertos abiertos.Los usuales , puerto 80 y 22, y mi primero encuentro con el puerto 53, que parece ser un servidor DNS, revisemos la pagina web ahora:

Primera pista, una contraseña puede estar en un archivo .txt, echemos un vistazo al código fuente de la pagina:

Un comentario webmaster.hmv, puede que tenga algún significado para resolver esta maquina, o no… Bueno, como no podemos hacer nada mas manualmente en esta pagina, corramos nuestra enumeración de directorios con gobuster como lo hacemos usualmente:

Hice algunos escaneos mas, pero no encontré nada…

Retrocedamos un poco, encontramos un comentario, webmaster.hmv, ahora, ¿tal vez, ese es un nombre de dominio? Añadimos ese dominio a nuestro archivo /etc/hosts, asi:

Intentamos ver la pagina web otra vez:

Funciona, bien. Ahora, tenemos un nombre de dominio, y tenemos el puerto 53 abierto, consultemos la pagina hacktricks y veamos que encontramos. Eventualmente,encuentro algo en esta sección sección.

La verdad no sabia a que se refería con AXFT, entonces lo googlee:

Como tenemos tanto la IP y el domain name (nombre de dominio), intentemos con el segundo comando que esta en la sección zone transfer section.

Acceso inicial
#

Y, seguramente hemos encontrado lo que son las credenciales para iniciar sesión por SSH, intentemos iniciar sesión:

Obtenemos la bandera de usuario, bueno ahora, tenemos un script en el directorio home, revisemos que es lo que hace:

Mm, pruebo el script, y me muestra esto:

Obviamente, no me va a mostrar la bandera root, porque no esta en el directorio, intento añadir /root/ antes de root.txt:

No hay cambio… Miremos que mas podemos hacer:

Mmm, tenemos privilegios de administrador con el servidor web nginx, investiguemos como podemos explotar eso. Después de un rato, consigo la bandera de root, pero no escale privilegios. De todas maneras, aquí esta lo que hice:

Encuentro este script en este blog escrito por darrenmarty:

En resumen,lo que hace es, crea un archivo de configuracion nginx.conf en el directorio /tmp, asigna el usuario como root, establece algunas características del servidor, luego, inicia un servidor http en el directorio root. Después de eso, corre nginx con privilegios sudo privileges con el archivo de configuración que fue creado y muestras los contenidos del directorio /etc/passwd.

Ahora, adapte este script según mis necesidades para esta maquina, entonces, hice esto:

Se preguntaran, porque alistar un escucha de ncat en la maquina objetivo? Debido a esto:

El script inicia exitosamente el servidor http con el archivo config que el script creo, pero, en esta maquina, curl no esta instalado o el usuario no puede usarlo. Pero, el servidor http esta corriendo, entonces, podemos intentar descargar el archivo con el comando wget.

Escalada de privilegios
#

Y como dije, obtuvimos la bandera de root, pero, no escalamos privilegios. Revisando el blog mas a fondo, el autor si pudo escalar privilegios, aqui esta como lo hizo el:

No se lo que es un dynamic linker, entonces investigo que es:

Entonces, uso el script modificado y lo adapto a lo que ocupo, y veamos si obtenemos privilegios elevados:

Eso no es bueno.Tal vez hay alguna forma mas fácil. Al final, decidí consultar otros writeups, para ver si alguien escalo privilegios con otros métodos. Consultando el writeup del usuario de hackmyvm ARZ. Parece ser que, en el directorio html tenemos privilegios no restringidos, lo cual nos permite escribir un script en un archivo php, lo cual nos permitirá recibir una reverse shell en nuestra maquina. Buen hecho a tener en mente en el futuro.

Ejecutar este comando después de haber iniciado un escucha en tu maquina.

Cosas que aprendí de esta maquina
#

  • Si hay algún nombre de dominio, añadirlo a mi archivo /etc/hosts, y correr los comandos relacionados con el descubrimiento de información de dominios(dig or nslookup) para obtener información acerca de la maquina.
  • Siempre revisar los contenidos del directorio donde están los archivos de la paginas web cuando tenemos privilegios de usuario, esta la posibilidad que, tengamos privilegios no restringidos en ese directorio, y codear un código simple en php para habilitar remote code execution, y obtener una reverse shell nuestra maquina.
Hackmyvm Fácil - Este artículo es parte de una serie.
Parte 4: Este artículo