🌐
My Pentest Book
  • πŸ’‘I changed my website
  • πŸ“„WriteUps
    • πŸ΄β€β˜ οΈHTB - HackTheBox
      • ⬛HTB - Advanced Labs
        • Endgames
          • P.O.O.
      • 🟨HTB - Runner
      • 🟩HTB - Usage
      • 🟩HTP - Active (Incomplete)
      • 🟨HTB - Scrambled
      • πŸŸ₯HTB - FormulaX (Incomplete)
      • πŸŸ₯HTB - Office
      • 🟩HTB - Perfection
      • 🟨HTB - WifineticTwo
      • 🟨HTB - Jab (Incomplete)
      • 🟩HTB - Buff
      • 🟨HTB - Hospital
      • 🟩HTB - Crafty
      • 🟩HTB - Bizness
      • 🟩HTB - Devvortex
      • 🟩HTB - CozyHosting
      • 🟩HTB - Analytics
      • 🟩HTB - Codify
      • 🟨HTB - Surveillance
      • 🟨HTB - Monitored
Con tecnologΓ­a de GitBook
En esta pΓ‘gina
  • InformaciΓ³n General
  • Enumeration
  • Explotation
  • Privilege Escalation

ΒΏTe fue ΓΊtil?

Editar en GitHub
  1. WriteUps
  2. HTB - HackTheBox

HTB - Bizness

https://app.hackthebox.com/machines/Bizness

AnteriorHTB - CraftySiguienteHTB - Devvortex

Última actualización hace 1 año

ΒΏTe fue ΓΊtil?

InformaciΓ³n General

  • Nombre de la MΓ‘quina: Bizness

  • IP de la MΓ‘quina: 10.10.11.252

  • Sistema Operativo: Linux

  • Dificultad: Easy

  • Fecha de PublicaciΓ³n: 06 Jan 2024


Enumeration

Establecer el objetivo

Primero, establecemos el objetivo utilizando el comando settarget con la direcciΓ³n IP de la mΓ‘quina objetivo:

settarget 10.10.11.252

Ping de reconocimiento

Realizamos un ping a la mΓ‘quina objetivo para verificar la conectividad y obtener informaciΓ³n sobre la ruta utilizando la opciΓ³n -R para incluir la ruta de retorno:

ping -c 1 10.10.11.252 -R

Escaneo de puertos con Nmap

Luego, realizamos un escaneo de puertos utilizando Nmap para identificar los puertos abiertos en la mΓ‘quina objetivo. Utilizamos las opciones -p- para escanear todos los puertos, --open para mostrar solo los puertos abiertos, -sS para un escaneo de tipo TCP SYN, --min-rate 5000 para establecer la velocidad mΓ­nima de paquetes y -vvv para un nivel de verbosidad alto. AdemΓ‘s, utilizamos -n para desactivar la resoluciΓ³n de DNS, -Pn para no realizar el escaneo de ping, y -oG allPorts para guardar la salida en un archivo con formato Greppable:

sudo nmap -p- --open -sS --min-rate 5000 -vvv  -n -Pn 10.10.11.252 -oG allPorts

Escaneo detallado con Nmap

Posteriormente, realizamos un escaneo mΓ‘s detallado de los puertos identificados utilizando la opciΓ³n -sCV para detecciΓ³n de versiones y scripts de enumeraciΓ³n de servicios. EspecΓ­ficamente, indicamos los puertos a escanear con -p __PORTS__ (reemplazando __PORTS__ con los puertos identificados en el paso anterior) y guardamos la salida en un archivo de texto con el nombre targeted:

sudo nmap -sCV -p22,80,443 10.10.11.252 -oN targeted
cat targeted -l java

Para aΓ±adir la entrada "10.10.11.252 bizness.htb" al archivo /etc/hosts, puedes usar el siguiente comando en la terminal:

echo "10.10.11.252 bizness.htb" | sudo tee -a /etc/hosts

Este comando aΓ±ade la direcciΓ³n IP 10.10.11.252 asociada al nombre de host bizness.htb al archivo /etc/hosts de tu sistema.

 sudo python3 dirsearch.py -u https://bizness.htb/ --exclude-status 403,404,500,502,400,401

Explotation

Durante una evaluaciΓ³n de seguridad, al revisar el endpoint /control/login de la aplicaciΓ³n web, se identificΓ³ que la aplicaciΓ³n estaba utilizando Apache OFBiz. Tras investigar, se encontraron dos posibles vulnerabilidades: CVE-2023-51467 y CVE-2023-49070. Estas vulnerabilidades podrΓ­an permitir un bypass de autenticaciΓ³n en OFBiz.

Probamos inyectando manualmente para ver si es vulnerable:

Ejecutamos el payload para tener nuestra reverse shell.

Privilege Escalation

Durante la investigaciΓ³n de seguridad, se descubriΓ³ un archivo llamado AdminUserLoginData.xml ubicado en /opt/ofbiz/framework/resources/templates. Este archivo contiene informaciΓ³n relacionada con el inicio de sesiΓ³n de los usuarios administrativos, incluyendo hashes de contraseΓ±as.

Con ayuda de ChatGPT creamos un script para crackear el hash:

#sha1_bruteforce.py --sha1 "SHA1"

import hashlib
import base64
import argparse
from colorama import Fore, Style

def crypt_password(salt, password):
    return hashlib.sha1((salt + password).encode('utf-8')).digest()

def crack_password(salt, search_hash, wordlist_path):
    with open(wordlist_path, 'r', encoding='latin-1') as f:
        for password in f:
            password = password.strip()
            hashed_password = base64.urlsafe_b64encode(crypt_password(salt, password)).decode('utf-8').replace('+', '.')
            if hashed_password == search_hash:
                return password
    return None

# Parse command line arguments
parser = argparse.ArgumentParser(description='Crack SHA-1 hashed password')
parser.add_argument('--sha1', type=str, help='SHA-1 hash to crack', required=True)
args = parser.parse_args()

salt = "d"
search_hash = args.sha1
wordlist_path = '/usr/share/wordlists/rockyou.txt'

print(f"{Fore.GREEN}Creado por ChatGPT{Style.RESET_ALL}")
print("="*30)

password = crack_password(salt, search_hash, wordlist_path)

if password:
    print(f'{Fore.YELLOW}ContraseΓ±a encontrada: {password}{Style.RESET_ALL}')
else:
    print(f'{Fore.RED}ContraseΓ±a no encontrada en el diccionario.{Style.RESET_ALL}')

Con eso tenemos ya las credenciales para obtener nuestro root.txt como nuestro user.txtΓ§

Para realizar un descubrimiento de directorios en un sitio web utilizando Dirsearch ().

Para verificar si el sitio era vulnerable manualmente, se realizaron pruebas exploratorias en el endpoint /control/login. Posteriormente, se decidiΓ³ probar el exploit disponible en el repositorio para confirmar la vulnerabilidad.

πŸ“„
πŸ΄β€β˜ οΈ
🟩
https://github.com/maurosoria/dirsearch
jakabakos/Apache-OFBiz-Authentication-Bypass
dirsearch.py
It's!