Injection
Last updated
Last updated
IP: 172.17.0.2
Siempre como primer paso revisamos que haya conexión con la maquina (objetivo), para esto lanzamos un simple ping a la ip objetivo que en este caso al correr la maquina nos ahorra el trabajo de localizar el host especifico que en caso de no encontrarlo podemos usar nmap -sn y escanear toda la red.
podemos observar que el ping fue respondido con éxito no considero necesario explicar el uso del comando ping ya que en este caso no va mas allá de su función base.
Por costumbre la detección de puertos y servicios siempre la separo en dos fases
fase1: descubrimiento de puertos
fase2: descubrimiento de versiones y servicios por host esto es mas por gustos míos que por cualquier otra cosa así que veamos que encontramos
Fase1
para el descubrimiento de puertos vamos a usar el siempre confiable nmap y un Stealth Scan
Donde:
sS
= a el tipo de escaneo que va a ejecutar nmap en este caso un Stealth Scan
p
= los puertos a escanear en este caso el -
indica que recorremos todo el rango de puertos disponibles entonces serán 65535 los puertos que se analizaran
vvv
= indicamos un nivel tres de verbose lo cual nos dará toda la información que obtenga en el momento
n
= para que no haga resolución de dns
T5
= para usar la plantilla de escaneo mas rápida como dice nmap entre mas alta mas rápida
oN
= Le decimos que todo lo que obtenga lo guarde en un archivo de formato normal
una ves lanzado el comando obtenemos los siguientes puertos abiertos:
encontramos los puertos 22 y 80 que podemos desde este momento identificar que hay en cada uno ya que
22 --> Es estándar para
SSH 80 --> Es estándar para servicios http
también nmap ya te coloca ahí lo que es pero para estar mas seguros procedamos a agregar algunas cosas al comando de nmap
Fase2
Aunque podemos saber desde un inicio que hay en los puertos siempre es bueno revisar un poco mas a fondo ya que en este mundo nada es lo que parece en algunos casos así que con el siguiente comando
Donde:
sC
= Equivalente a --script=default esto lanza algunos scripts simples de reconocimiento
sV
= Este argumento instruye a Nmap para intentar identificar la versión de los servicios que se detectan. Esto puede ser útil para determinar si un servicio en particular tiene vulnerabilidades conocidas. con esto encontramos lo siguiente:
22 -> OpenSSH 8.9p1
80 -> Apache httpd 2.4.52 ((ubuntu))
una ves que corroboramos los puertos y servicios ahora si vamos con lo interesante.
sabemos que por la versión de ssh no podemos hacer mucho entonces no perderemos tiempo en intentar cosas por ahora.
En el puerto 80 podemos ver que hay un apache corriendo así que vamos a ver que encontramos primero vamos a usar whatweb
Este comando nos permite examinar lo hay en la pagina mediante cli y parece que encontramos un Loging
como podemos observar nos encontramos con una pagina de Loging vamos a probar contraseñas comunes como:
admin:admin
admin:password
etc
pero no hay éxito con las credenciales, buscando un poco en el código no vemos nata fuera de lo normal.
así que usarnos la pista mas grande que tenemos que es el mismo nombre de la pagina y revisaremos si alguno de los campos es vulnerable a SQLI y vaya que es vulnerable:
esto funciona sobre el campo de usuario hay que recordar que la primera prueba es en los campos agregar una '
comilla simple y ver si detona el error, entonces vamos a insertar el simpre confiable or 1=1-- -
y veremos que pasa:
y pues parece que Dylan nos da una contraseña en toda la cara entonces tenemos que:
USR->Dylan
PASS->KJSDFG789FGSDF78
vamos a intentar una conexión por ssh ya que en la web no hay nada mas por hacer:
y bingo estamos dentro:
Extrañamente el comando sudo
no esta disponible en el sistema así que no listaremos permisos de sudoers pero si buscaremos permisos suid
y encontramos que se puede ejecutar env como root así que buscado en GTFOBins vemos que podemos explotarlo de la siguiente manera:
parece que podemos lanzar una bash
o sh
con privilegios elevados:
y con esto ya somos root...