Athem
  • Descarga de Responsabilidades
  • CTF
    • 🐧Trust - dockerlabs.es
    • 🙂FirstHacking - dokerlabs.es
    • 🏖️Vacaciones - dokerlabs.es
    • 💉Injection
  • 🔧Herramientas
    • Detección de sistema operativo por TTL
  • 💙Blue Team
    • ⛑️Instalación de ``Splunk Universal Forwarder``
    • Wazuh
Powered by GitBook
On this page
  • Injection
  • Escaneos de la red
  • Análisis de los servicios
  • Escalada de privilegios
  1. CTF

Injection

PreviousVacaciones - dokerlabs.esNextHerramientas

Last updated 1 year ago

Injection

Escaneos de la red

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.

Puertos

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

nmap -sS -p- -vvv -n --min-rate 5000 -oN ports-injection 172.17.0.2

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

nmap -sV -sC -p22,80 -n -vvv -oN services-trust 172.17.0.2

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.

Análisis de los servicios

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

whatweb http://172.17.0.2

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:

ssh dylan@172.17.0.2

y bingo estamos dentro:

Escalada de privilegios

Extrañamente el comando sudo no esta disponible en el sistema así que no listaremos permisos de sudoers pero si buscaremos permisos suid

find / -perm -4000 2>/dev/null

y encontramos que se puede ejecutar env como root así que buscado en GTFOBins vemos que podemos explotarlo de la siguiente manera:

./env /bin/sh -p

parece que podemos lanzar una bash o sh con privilegios elevados:

y con esto ya somos root...

💉