Machine:Brainfuck
BRAINFUCK
Plataforma: Hack The Box
OS: Linux
Machine: Brainfuck
Dirección IP: 10.10.10.17
Reconocimiento
nmap -sC -sV 10.10.10.
17
Se encontró la siguiente información tras realizar un escaneo con nmap:
Dominios:
brainfuck.htb
Subdominios:
www.brainfuck.htb
sup3rs3cr3t.brainfuck.htb
También es posible encontrar los dominios y subdominios en el certificado del sitio:
En el certificado se encontró una dirección de correo electrónico, la cual utilizaremos mas tarde:
Correo:
orestis@brainfuck.htb
Agregamos los dominios y subdominios al archivo de hosts, para que puedan ser resueltos:
Lo comprobamos ingresando a los dominios:
Nota: El subdominio www.brainfuck.htb redirecciona al dominio principal brainfuck.htb:
Identificamos los sitios y se encuentran cuentas de usuarios y la versión del CMS:
Los usuarios encontrados son los siguientes:
Usuarios:
admin
orestis
Posteriormente ejecutamos wpscan para detectar posibles vulnerabilidades:
wpscan --url https://brainfuck.htb/ --disable-tls-checks --api-token <tuToken>
Nota: Actualmente para que wpscan muestre la lista de vulnerabilidades encontradas es necesario registraste y obtner tu token, el cual esta limitado a 50 consultas diarias.
Encontramos un plugin vulnerable WP Support Plus Responsive esto se deduce ya que la mayoria de CTF se en enfocan en explotar plugins.
También se encontró un exploit para escalar privilegios, con cuentas conocidas:
Se procedió a intentar enumerar lo usuarios con wpscan.
Se encontraron los siguientes usuarios:
Usuarios de WordPres:
admin
administrator
Posteriormente creamos el archivo basado en el exploit encontrado previamnte brainfuck.html y lo modificamos con los datos necesarios previamente obtenidos:
Url: https://brainfuck.htb/wp-admin/admin-ajax.php
Usuario: admin
Correo: orestis@brainfuck.htb
Levantamos un nuevo servidor en python en el directorio de archivo brainfuck.html:
Explotación
Comandos:
python -m SimpleHTTPServer
Damos clic en Login y automáticamente haremos un bypass al sitio:
Dentro de las configuraciones de los plugins encontramos un usuario y contraseña para el servicio SMTP:
Datos:
Correo: orestis@brainfuck.htb
Usuario: admin
Contraseña: kHGuERB29DNiNE
Tras conectarnos por telnet al servidor de correo, se encontró dos correos electrónicos con la siguiente información:
Comandos:
telnet 10.10.10.17 110
USER orestis
PASS kHGuERB29DNiNE
RETR 1
RETR 2
Se encontró una nueva contraseña, al parecer es del sitio "Supersecreto":
Usuario del foro secreto: orestis
Contraseña del foro secreto: kIEnnfEKJ#9UmdO
Nos conectamos a sitio sup3rs3cr3t.brainfuck.htb con las credenciales obtenidas y encontramos que que los administradores del sitio tienen una conversación cifrada al parecer del tipo Vigenere, y existe una URL cifrada que nos puede ayudar a encontrar mas información:
URL cifrada:
mnvze://10.10.10.17/8zb5ra10m915218697q1h658wfoq0zc8/frmfycu/sp_ptr
Procedemos a intentar encontrar la palabre clave con los siguientes datos en el sitio https://www.decode.fr/cifrado-vigenere :
Datos:
Texto cifrado de Vigenere:
Pieagnm - Jkoijeg nbw zwx mle grwsnnPalabra Clave:
Orestis - Hacking for fun and profit
Obtenemos el siguiente resultado:
Brainfu - Ckmybra inf uck myb rainfu
Al parecer para descifrar la URL la palabra clave es fuckmybrain:
Palabra Clave: fuckmybrain
Al ingresar al URL obtenemos una clave rsa cifrada:
Tipo de cifrado: AES-128
Se realizar un ataque de fuerza bruta con la herramienta John The Ripper:
Paso 1: Convertirla al formato :
Paso 2: Ataque de fuerza bruta con Jhon The Ripper con el diccionario rockyou.txt, esta diccionario es el mas común utilizado en los retos CTF:
Comandos:
john id_rsa2 --wordlist=/usr/share/wordlists/rockyou.txt
Contraseña: 3poulakia!
Nos conectamos con con la contraseña obtenida y obtenemos una shell del usuario orestis:
Comandos:
ssh -i id_rsa orestis@10.10.10.17
Capturamos la bandera de usuario:
Escalación de Privilegios:
En el escritorio de orestis se encontró un algoritmo RSA con el cual se cifró una contraseña, el script nos indica el orden de los datos p,q y e, también encontramos el resultado del script (ct):
Datos obtenidos:
p: 7493025776465062819629921475535241674460826792785520881387158343265274170009282504884941039852933109163193651830303308312565580445669284847225535166520307
q: 7020854527787566735458858381555452648322845008266612906844847937070333480373963284146649074252278753696897245898433245929775591091774274652021374143174079
e: 30802007917952508422792869021689193927485016332713622527025219105154254472344627284947779726280995431947454292782426313255523137610532323813714483639434257536830062768286377920010841850346837238015571464755074669373110411870331706974573498912126641409821855678581804467608824177508976254759319210955977053997
ct: 44641914821074071930297814589851746700593470770417111804648920018396305246956127337150936081144106405284134845851392541080862652386840869768622438038690803472550278042463029816028777378141217023336710545449512973950591755053735796799773369044083673911035030605581144977552865771395578778515514288930832915182
Se utilizó el siguiente Script para para decifrar la contraseña:
Link del Script: https://crypto.stackexchange.com/questions/19444/rsa-given-q-p-and-e
Script:
def egcd(a, b): x,y, u,v = 0,1, 1,0 while a != 0: q, r = b//a, b%a m, n = x-u*q, y-v*q b,a, x,y, u,v = a,r, u,v, m,n gcd = b return gcd, x, y def main(): p = q = e = ct = # compute n n = p * q # Compute phi(n) phi = (p - 1) * (q - 1) # Compute modular inverse of e gcd, a, b = egcd(e, phi) d = a print( "n: " + str(d) ); # Decrypt ciphertext pt = pow(ct, d, n) print( "pt: " + str(pt) ) if __name__ == "__main__": main()
Sustituimos los valores p,q,e y ct en el script y lo ejecutamos:
Obtenemos el valor de la contraseña en texto plano:
Decodificamos el texto plano de decimal a hexadecimanl y finalmente dede hexadecimal a ASCII.
Nota: También es posible utilizar el siguiente script en python.
Script:
python -c "print format(<DECIMAL NUMBER>, 'x').decode('hex')"
El valor del resultado es el hash de la contraseña de root.
Etiquetas: Hacking, HackTheBox, Walkthrough
0 comentarios:
Publicar un comentario
Suscribirse a Enviar comentarios [Atom]
<< Inicio