Posts Hackthebox Access Writeup (OSCP Style)
Post
Cancel

Hackthebox Access Writeup (OSCP Style)



Información de la máquina.

ContenidoDescripción
OS:enter image description here
Dificultad:Facil
Puntos:20
Lanzamiento:29-Septiembre-2018
IP:10.10.10.98
Primera sangre de usuario:m0noc
Primera sangre de system:phra
Creadores:egre55

Reconocimiento.

Como siempre comenzaremos con un escaneo a los 65535 puertos de la máquina para poder encontrar cuales son los puertos abiertos.

1
2
3
4
5
6
7
8
9
10
11
12
intrusionz3r0@kali:~$ nmap -p- --open -T5 -n -oG nmapScanAllPorts access.htb --min-rate 2000
Starting Nmap 7.80 ( https://nmap.org ) at 2020-09-08 13:35 CDT
Nmap scan report for access.htb (10.10.10.98)
Host is up (0.14s latency).
Not shown: 65532 filtered ports
Some closed ports may be reported as filtered due to --defeat-rst-ratelimit
PORT   STATE SERVICE
21/tcp open  ftp
23/tcp open  telnet
80/tcp open  http

Nmap done: 1 IP address (1 host up) scanned in 65.89 seconds
ParámetroDescripción
-p-Escanea los 65535 puertos de la máquina.
–openMuestra solo los puertos abiertos.
-T5Velocidad del escaneo muy agresiva.
-nDesactivar la resolución de nombres DNS.
–min-ratePaquetes por segundo.

Una vez terminado el escaneo lanzaremos scripts de enumeración básicos para detectar los servicios y versiones de los puertos abiertos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
intrusionz3r0@kali:~$ nmap -sCV -p21,23,80 -oN targeted  access.htb
Nmap scan report for access.htb (10.10.10.98)
Host is up (0.13s latency).

PORT   STATE SERVICE VERSION
21/tcp open  ftp     Microsoft ftpd
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_Can't get directory listing: PASV failed: 425 Cannot open data connection.
| ftp-syst: 
|_  SYST: Windows_NT
23/tcp open  telnet?
80/tcp open  http    Microsoft IIS httpd 7.5
| http-methods: 
|_  Potentially risky methods: TRACE
|_http-server-header: Microsoft-IIS/7.5
|_http-title: MegaCorp
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Tue Sep  8 11:22:25 2020 -- 1 IP address (1 host up) scanned in 182.81 seconds
ParámetroDescripción
-sCVEs la combinación de -sC,-sV, lanza scripts de enumeración básicos y detecta las versiones de los servicios.
-pEspecifica los puertos a enumerar.
-oNExporta el escaneo en formato nmap.

Enumeración FTP.

Debido a que el puerto FTP tiene el usuario Anonymous habilitado comenzaremos a enumerarlo.

Podemos hacerlo de varias maneras.

Método 1: normal.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
intrusionz3r0@kali:~$ ftp access.htb
Connected to access.htb.
220 Microsoft FTP Service
Name (access.htb:intrusionz3r0): Anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
Password:
230 User logged in.
Remote system type is Windows_NT.
ftp> dir
200 PORT command successful.
125 Data connection already open; Transfer starting.
08-23-18  09:16PM       <DIR>          Backups
08-24-18  10:00PM       <DIR>          Engineer
226 Transfer complete.
ftp> 

Método 2: wget.

Podemos descargarnos el contenido del FTP utilizando la herramienta wget.

1
intrusionz3r0@kali:~$ wget --no-passive --no-parent -r ftp://Anonymous:loquesea@access.htb

Método 3: curlftpfs.

También se puede montar los recursos del servicio FTP utilizando la herramienta curlftpfs.

1
2
intrusionz3r0@kali:~$ sudo mkdir /mnt/HTB/Access
intrusionz3r0@kali:~$ curlftpfs Anonymous:loquesea@access.htb /mnt/HTB/Access

Yo usare el segundo método.

Una vez descargado los archivos del servicio FTP comienzo a enumerar el directorio.

1
2
3
4
5
6
7
8
intrusionz3r0@kali:~$ tree
.
├── Backups
│   └── backup.mdb
└── Engineer
    └── Access Control.zip

2 directories, 2 files

Nos encontramos con dos archivos, un .zip y un .mbd.

Para acceder a los archivos del Access Control.zip necesitamos una contraseña por lo que toda mi atención se la llevo el archivo backup.mdb.

Ejecuto el comando file para obtener información sobre el tipo de archivo.

1
2
intrusionz3r0@kali:~$ file backup.mdb
backup.mdb: Microsoft Access Database

Esto nos retorna que el archivo es un backup de una base de datos de access.

Como no quiero pasar el archivo a mi máquina de Windows optare por utilizar un Visor online de bases de datos Access.

La tabla que mas destaca es auth user.

Dentro almacena unas credenciales.

Rápidamente regreso al archivo .zip y descomprimo los archivos con la contraseña: access4u@security.

Esto nos retorna un archivo con extensión .pst y nuevamente utilizo el comando file para obtener información sobre el tipo de archivo.

1
2
intrusionz3r0@kali:~$ file Access\ Control.pst 
Access Control.pst: Microsoft Outlook email folder (>=2003)

Podemos observar que es una Carpeta de correo electrónico de Microsoft Outlook.

Para saber como abrir este tipo de archivos debes realizar búsquedas en Google con palabras clave.

Por ejemplo:

Esto nos devuelve algunos resultados entre los cuales destaca una herramienta llamada readpst que viene incluida en kali linux.

Abro una terminal y ejecuto el siguiente comando:

1
2
3
4
intrusionz3r0@kali:~$ readpst Access\ Control.pst
Opening PST file and indexes...
Processing Folder "Deleted Items"
        "Access Control" - 2 items done, 0 items skipped.

Lo que da como resultado un documento llamado Access Control.mbox que dentro contiene unas credenciales.

Credenciales: security:4Cc3ssC0ntr0ller

Ahora nuestra tarea es averiguar donde usar estas credenciales.

Enumeración TELNET.

Intente conectarme con TELNET con las credenciales encontradas y efectivamente fueron validas para este servicio.

Con el usuario actual podemos tomar nuestra prestigiosa flag de usuario.

Shell como Administrador.

Enumerando un poco dentro de la máquina en el directorio de C:\Users\Public\Desktop encontré un archivo llamado ZKAccess3.5 Security System.lnk.

1
2
3
4
5
6
7
8
C:\Users\Public\Desktop>type "ZKAccess3.5 Security System.lnk
LF@ 7#P/PO :+00/C:\R1M:Windows:M:*wWindowsV1MVSystem32:MV*System32X2P:
                                                                       runas.exe:1:1*Yrunas.exeL-KEC:\Windows\System32\runas.exe#..\..\..\Windows\System32\runas.exeC:\ZKTeco\ZKAccess3.5G/user:ACCESS\Administrator /savecred "C:\ZKTeco\ZKAccess3.5\Access.exe"'C:\ZKTeco\ZKAccess3.5\img\AccessNET.ico%SystemDrive%\ZKTeco\ZKAccess3.5\img\AccessNET.ico%SystemDrive%\ZKTeco\ZKAccess3.5\img\AccessNET.ico%
                wN]ND.Q`Xaccess_8{E3
                                    Oj)H
                                        )ΰ[_8{E3
                                                Oj)H
                                                    )ΰ[ 1SPSXFL8C&me*S-1-5-21-953262931-566350628-63446256-500

Dentro encontramos lo que parece ser la ejecución del binario de runas.exe que es un binario que permite la ejecución de programas como otro usuario y si observamos bien vemos que este fue ejecutado por el administrador sin proporcionar una contraseña gracias al parámetro /savecreed.

La escalada a Administrador va a ser muy sencilla ya que nos montaremos un servidor con samba que comparta el binario de nc.exe para que con runas nos enviemos una reverse shell como el usuario administrador.

¡¡Somos Administradores!!

enter image description here

Espero te haya gustado, recuerda seguirme en mis redes sociales para estar al pendiente de todo mi contenido.

¡Muchas Gracias!

This post is licensed under CC BY 4.0 by the author.