The Server From Hell
En esta maquina tendremos que encontrar el puerto correcto donde se tiene un servicio que nos permitirá explotar una vulnerabilidad para luego obtener un archivo id_rsa para iniciar sesión por ssh del cual se desconoce el puerto, para encontrar el puerto correcto realizaremos un script en Python el que automatizara el proceso de validar que en el dicho puerto se ejecutar el servicio OPENSSH

Link The Server From Hell
Created by DeadPackets
Walkthrough
Enumeración
Iniciamos escaneando los puertos abiertos con la herramienta de nmap para luego escanear los servicios y versiones de cada uno de los puertos.
Al realizar el escaneo podemos ver que la mayoría de los puerto están abiertos por lo que analizar cada uno nos llevara un buen tiempo. 
Puerto 1337
En esta caso vamos a realizar un escaneo del puerto 1337, porque nos brinda una pista de este puerto.
Escaneando podemos ver un mensaje de nos indica escanear los 100 primeros puertosLegend says he's hiding in the first 100 ports
Escaneamos los 100 puertos
El resultado que tendremos será la siguiente
Tenemos un numero que se repite en todos que es 550 y 12345. Por lo que enumeraremos el dichos puertos.
Puerto 12345
Se tiene un servicio NFS en el puerto 12345 que esto permite compartir sistemas de archivos completos entre sistemas, lo que facilita la colaboración y el intercambio de recursos en una red.
Explotación
Showmount
Enumerando con showmount podremos ver los directorios que se pueden realizar la montura en nuestra maquina atacante.

Para realizar la montura ejecutaremos los siguientes comandos:
Una vez ejecutados los comandos podremos enumerar el directorio y tendremos un archivo backup.zip que tendremos que copiarnos a nuestro directorio de trabajo.


Al querer descomprimir observamos que nos pide una contraseña, contraseña que no sabemos. Para encontrar la contraseña tendremos que hacer uso de fuerza bruta, en este caso usaremos zip2john para obtener el hash para luego crackearla con john.
Luego de tener la contraseña podremos descomprimir el .zip proporcionando la contraseña. Al descomprimir el archivo tendremos un archivo id_rsa el cual podremos usar para ingresar por ssh.

Antes de autenticarnos por ssh tendremos que descubrir en que puerto esta el servicio de ssh, por lo que realizamos el siguiente script para automatizar el proceso. Agregue unas cositas que no son necesarias pero queda mas guapo

Luego de ejecutar el script y probar algunos de los puertos obtendremos que el 3333 es el que tiene el servicio ssh por lo que nos autenticaremos con dicho puerto haciendo uso del archivo id_rsa.
Escalada de privilegios
Usuario: hades
Ingresando por ssh tendremos un una terminal interactiva de ruby

Para obtener una shell ejecutaremos exec "/bin/bash" en la consola interactiva de ruby.
Luego de obtener una shell enumeraremos para escalar privilegios como root. Enumerando el sistema encontraremos algo interesante en las capabilities.
Para poder tener mas información de como explotar y entender te invito a leer el el post de linux-privilege-escalation-using-capabilities/
Para explotar el binario /bin/tar por capabilities haremos uso de tar para comprimir algún archivo privilegiado que en este caso será el /etc/shadow donde se tiene las credenciales de cada usuario del sistema.
Luego descomprimiremos el archivo shadow.tar y obtendremos el archivo /etc/shadow
Al leer el archivo podemos ver que se tiene la credencial encriptada de root

Para obtener la credencial en formato texto haremos uso de la herramienta de john para crackearla
Usuario: root
La credencial que obtendremos será root : trustno1 . Luego ingresaremos para escalar nuestros privilegios a root y efectivamente la contraseña es valida.

¡VAMOS! Happy Hacking :)
Last updated