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
#















