Connection HackMyVM (Easy - Linux)
Escaneo de puertos
nmap -p- --open -sS --min-rate 5000 -vvv -n -Pn <IP>nmap -sCV -p<PORTS> <IP>Info:
Starting Nmap 7.95 ( https://nmap.org ) at 2025-04-30 12:50 EDT
Nmap scan report for 192.168.28.23
Host is up (0.00062s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey:
| 2048 b7:e6:01:b5:f9:06:a1:ea:40:04:29:44:f4:df:22:a1 (RSA)
| 256 fb:16:94:df:93:89:c7:56:85:84:22:9e:a0:be:7c:95 (ECDSA)
|_ 256 45:2e:fb:87:04:eb:d1:8b:92:6f:6a:ea:5a:a2:a1:1c (ED25519)
80/tcp open http Apache httpd 2.4.38 ((Debian))
|_http-title: Apache2 Debian Default Page: It works
|_http-server-header: Apache/2.4.38 (Debian)
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: WORKGROUP)
445/tcp open netbios-ssn Samba smbd 4.9.5-Debian (workgroup: WORKGROUP)
MAC Address: 08:00:27:AC:7F:8C (PCS Systemtechnik/Oracle VirtualBox virtual NIC)
Service Info: Host: CONNECTION; OS: Linux; CPE: cpe:/o:linux:linux_kernel
Host script results:
| smb2-time:
| date: 2025-04-30T16:50:47
|_ start_date: N/A
|_nbstat: NetBIOS name: CONNECTION, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
| smb-os-discovery:
| OS: Windows 6.1 (Samba 4.9.5-Debian)
| Computer name: connection
| NetBIOS computer name: CONNECTION\x00
| Domain name: \x00
| FQDN: connection
|_ System time: 2025-04-30T12:50:47-04:00
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
|_clock-skew: mean: 1h19m57s, deviation: 2h18m34s, median: -3s
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 13.38 secondsVeremos varios puertos interesantes, vamos a entrar en la pagina que esta alojada en el puerto 80 a ver que vemos.
Si entramos vemos un servidor de apache2 normal que viene por defecto, por lo que no veremos gran cosa, vamos a realizar un poco de fuzzing por el servidor SMB a ver si encontramos algo interesante.
enum4linux
Info:
Vemos que hay un recurso compartido llamado share pero poco mas, vamos a ver si podemos enumerarlo de forma anonima de la siguiente forma:
Info:
Vemos que efectivamente tiene un recurso compartido llamado share, vamos a ver si nos podemos conectar de forma anonima a dicho recurso.
Si dejamos la contraseña en blanco veremos que si podemos y si listamos veremos lo siguiente:
Vemos que hay una carpeta llamada html y dentro de la misma un index.html lo que podemos creer que puede estar compartiendo la pagina mediante el servidor SMB y lo que se nos ocurre que podriamos subir un archivo PHP para generarnos una reverse shell de la siguiente forma:
Escalate user www-data
Vamos a crear nuestro archivo webshell.php.
webshell.php
Vamos a intentar subir el archivo a la carpeta html dentro del servidor SMB de la siguiente forma:
Info:
Ahora vamos a ponernos a la escucha de la siguiente forma:
Vamos a irnos en la pagina a nuestro archivo webshell.php y si volvemos a donde tenemos la escucha veremos lo siguiente:
Veremos que ha funcionado y habremos obtenido una shell con el usuario www-data por lo que vamos a sanitizarla.
Sanitización de shell (TTY)
Escalate Privileges
Si listamos los permisos SUID de dicho usuario veremos lo siguiente:
Info:
Veremos esta linea bastante interesante:
Veremos que tenemos GDB con permisos SUID por lo que podremos realizar lo siguiente:
Info:
Con esto veremos que ha funcionado, por lo que seremos root y leeremos la flag de dicho usuario:
user.txt
root.txt
Last updated