Enumeración
Iniciamos la máquina escaneando los puertos de la máquina con nmap
donde encontramos varios puertos abiertos, entre ellos el 445
que corre un servicio smb
❯ nmap 10.10.122.10
Nmap scan report for 10.10.122.10
PORT STATE SERVICE
80/tcp open http
135/tcp open msrpc
445/tcp open microsoft-ds
3389/tcp open ms-wbt-server
Esta abierto el puerto 80
y corre un servicio http
, esto nos muestra una calculadora la cual parece que nos puede ayudar a resolver problemas usando el motor v8
Podemos introducir código javascript y v8
lo ejecutará mostrando el resultado, podemos probar ejecutar version()
, esto nos revela que corre la versión 12.2.0
El código fuente nos muestra el comando que se utilizó para correr el script, utiliza d8.exe
que es un interprete para v8
, tambien podemos observar que utiliza los argumentos --allow-natives-syntax --harmony-set-methods
, eso es interesante
Con crackmapexec
podemos ver que smb acepta autenticación nula, si miramos los recursos smb
podemos ver uno llamado software$
con privilegios de lectura
❯ crackmapexec smb 10.10.122.10 -u null -p '' --shares
SMB 10.10.122.10 445 REAPER2 [*] Windows Server 2022 Build 20348 x64 (name:REAPER2) (domain:Reaper2) (signing:False) (SMBv1:False)
SMB 10.10.122.10 445 REAPER2 [+] Reaper2\null: (Guest)
SMB 10.10.122.10 445 REAPER2 [*] Enumerated shares
SMB 10.10.122.10 445 REAPER2 Share Permissions Remark
SMB 10.10.122.10 445 REAPER2 ----- ----------- ------
SMB 10.10.122.10 445 REAPER2 ADMIN$ Remote Admin
SMB 10.10.122.10 445 REAPER2 C$ Default share
SMB 10.10.122.10 445 REAPER2 IPC$ READ Remote IPC
SMB 10.10.122.10 445 REAPER2 software$ READ software developement share
Dentro del recurso encontramos 3 carpetas, la carpeta llamada kernel
contiene un archivo Reaper.sys
que no podemos descargar el que si podemos descargar es el kernel32.dll
, éste nos servirá un poco más adelante para la parte de shellcoding
❯ impacket-smbclient null@10.10.122.10 -no-pass
Impacket v0.11.0 - Copyright 2023 Fortra
Type help for list of commands
# use software$
# ls
drw-rw-rw- 0 Sun Apr 28 13:31:48 2024 .
drw-rw-rw- 0 Mon Apr 29 07:01:57 2024 ..
drw-rw-rw- 0 Sun Apr 28 06:27:22 2024 kernel
drw-rw-rw- 0 Thu May 9 13:33:23 2024 v8_debug
drw-rw-rw- 0 Sun Apr 28 06:27:09 2024 v8_release
# cd kernel
# ls
drw-rw-rw- 0 Sun Apr 28 06:27:22 2024 .
drw-rw-rw- 0 Sun Apr 28 13:31:48 2024 ..
-rw-rw-rw- 782512 Sun Apr 28 06:27:22 2024 kernel32.dll
-rw-rw-rw- 8944 Sun Apr 28 06:27:42 2024 Reaper.sys
# get Reaper.sys
[-] SMB SessionError: code: 0xc0000022 - STATUS_ACCESS_DENIED - {Access Denied} A process has requested access to an object but has not been granted those access rights.
#
Las otras carpetas del recurso smb
contienen los archivos de v8
en la versión que corre la máquina, esto nos servirá para depurar un posible exploit localmente
# cd ..\v8_debug
# ls
drw-rw-rw- 0 Thu May 9 13:33:23 2024 .
drw-rw-rw- 0 Sun Apr 28 13:31:48 2024 ..
-rw-rw-rw- 132230469 Thu May 9 13:33:24 2024 v8_debug.zip
# cd ..\v8_release
# ls
drw-rw-rw- 0 Sun Apr 28 06:27:09 2024 .
drw-rw-rw- 0 Sun Apr 28 13:31:48 2024 ..
-rw-rw-rw- 24743936 Sun Apr 28 06:27:09 2024 d8.exe
-rw-rw-rw- 305782 Sun Apr 28 06:27:09 2024 snapshot_blob.bin
#