KIOPTRIX: LEVEL 1.3 (#4)

Hola a todos, cuarta entrega de la saga Krioptrix!. En esta ocasión explotamos la máquina por medio de SQLI por método POST y hicimos una escalada de privilegios mediante el “sys_exec” de MYSQL.

Recursos y software utilizado:

Kali Linux 2018

Nmap

Vega

MYSQL
Guía de explotación:

En primer lugar realizaremos un escaneo con Nmap, a ver que puertos y servicios nos encontramos abiertos:

NmapScan.png

Observamos el puerto 80 abierto, corriendo un servicio Apache 2.2.8. Conectamos con el navegador y nos muestra un panel de login, utilizamos credenciales de serie con resultado infructuoso al igual que intentamos bypassear con SQLI.

weblogin.png

Procedemos a ver si podemos forzar un error poniendo comillas y parece ser que obtenemos un buen resultado, el cual nos permitirá seguir con la explotación:

errorSQLadminycomilla.png

Para cerciorarnos mejor, arrancamos el buscador de vulnerabilidades VEGA y vemos que nos arroja una posible injeccion SQL, por el método POST:

vegaparametropassword.png

Utilizaremos el HTTPLiveHeaders para comprobar mejor la ruta del parámetro inyectable, en este caso el “mypassword”.

datalivehhtpheaders.png

Con todo listo armamos nuestro payload, si teneís dudas de como inyectar por el método POST es muy sencillo, aquí os dejo un recurso el cuál os servirá de gran ayuda.

Os detallo un poco las opciones:

  • http://192.168.1.45/checklogin.php: resource inyectable.
  • –data: string inyectable por el método POST.
  • -p: parametro inyectable “mypassword”.
  • –dbs: databases disponibles en MYSQL.

sqlmap -u http://192.168.1.45/checklogin.php –data “myusername=admin%27&mypassword=%27&Submit=Login” -p mypassword –dbs

sqlinjection.png

DBmemberstablemembers.png

Mmm.. aquí intenté decodificar el password de robert porque parecía que estaba en base64 y no obtuve los resultados esperados, por lo que probé directamente a loguear por ssh con ese usuario y la contraseña puesta directamente, dando como resultado acceso al sistema:

sshRobert.png

Una vez dentro parece que estamos en una restricted shell llamada LibGoat, listamos los comandos para ver si hay alguna manera de escapar de la restricted y abrir una TTY shell:

escaperestrictedshell.png

Vemos en la imagen superior que con el comando echo abrimos una TTY shell, la cual nos permitirá ejecutar comandos normalmente. Listamos los procesos a ver si encontramos alguno interesante que se esté ejecutando como root, encontrando el MYSQL:

mysqlAsRoot.png

Ahora habrá que verificar como podemos loguear como root en MYSQL, nos dirigimos a las carpetas de configuración y en el archivo checklogin.php el cual nos informa que el usuario root loguea en MYSQL con el password dejándolo en blanco:

loginrootpassblank.png

Antes de dirigirme a MYSQL, estuve buscando en google a ver si había alguna manera de escalar privilegios usando ejecución de comandos mediante MYSQL. Me salieron varios enlaces muy interesantes y que coincidían con la version de MYSQL que estaba jugando en el CTF.

Una vez leído el enlace nos ponemos manos a la obra y procedemos a la escalada mediante el “sys_exec“. Bajo mi punto de vista la mejor opción era incluir a robert en sudoers, que ejecutará todos los comandos como root y que a través de él, se realizará la escalada de privilegios.

A continuación os dejo el proceso:

Incluímos a robert en el grupo de los administradores, le hacemos propietario del archivo sudores y le damos permisos al archivo sudoers 777 para que éste mismo lo pueda leer, escribir y ejecutar:

sysexecsudoersadminetc...png

chmod777sudoers.png

Salimos de MYSQL y modificamos el archivo sudoers con Vim, incluyendo a robert para que pueda ejecutar todo tipo de comandos:

VISUDOERS.png

Intentamos proceder a la escalada de privilegios, obteniendo un error con los permisos del archivo, nos indica que tenemos devolver los permisos a 440, ya que sino no nos dejará seguir con la escalada.

cambiarpermisossudoers.png

Logueamos a MYSQL y restablecemos los permisos a los iniciales:

chmod440sudoersdespuesdel777.png

Como ya lo hemos modificado, cambiamos también al usuario por defecto que es el root:

despuesvolveraponerpropietariosudoersROOT.png

Una vez con todo el proceso completado, salimos de MYSQL y con el comando sudo su escalamos privilegios y obtenemos nuestra flag final:

congratsTXTFLAG.png

CONGRATS.TXT!

Anuncios