Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzipgitea.zip
Nos lo descomprimira y despues montamos la maquina de la siguiente forma.
bashauto_run.shgitea.tar
Info:
██████╗ ██╗ ██╗███╗ ██╗██████╗ ██████╗ ██╗
██╔══██╗██║ ██║████╗ ██║╚════██╗██╔══██╗██║
██████╔╝██║ █╗ ██║██╔██╗ ██║ █████╔╝██║ ██║██║
██╔═══╝ ██║███╗██║██║╚██╗██║ ╚═══██╗██║ ██║╚═╝
██║ ╚███╔███╔╝██║ ╚████║██████╔╝██████╔╝██╗
╚═╝ ╚══╝╚══╝ ╚═╝ ╚═══╝╚═════╝ ╚═════╝ ╚═╝
==
@+:@ @##@
@++:-----+@ @@#+:----:+#
#-+-----:+:---------:
*::-----++-----::::#
::------+:--------:
#-+------+:-::-----#@
*::+=@@#++-------::@
@+= @++::+#@@@#*#
#-@
*+#++@
+-:::+-@
:-:+:::+
@+::*::::
*::++-::*
=:--:-:++ @-#
#*:---:--++@ @@
@::-:--++*
@::-:++#
*++*
:: Plataforma de máquinas vulnerables ::
:: Desarrollado por Pwn3d! y Dockerlabs - creado por @d1se0 ::
█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█
█ FLAG{Pwn3d!_is_awesome!} █
█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█
[✔] bc ya está instalado.
[✔] Docker ya está instalado
[!] Limpiando previos contenedores e imágenes
[✔] Cargando la máquina virtual
[✔] Activando máquina virtual
[✔] Máquina activa. Dirección IP: 172.17.0.2
[!] Presiona Ctrl+C para limpiar y salir
Por lo que cuando terminemos de hackearla, le damos a Ctrl+C y nos eliminara la maquina para que no se queden archivos basura.
Escaneo de puertos
Info:
Vemos que hay 3 puertos abiertos, si entramos en el puerto 80 de normal veremos una pagina normal y corriente, como vemos que la maquina se llama gitea y esta alojado en Dockerlabs podemos deducir un dominio llamado gitea.dl, vamos a probar si existe.
Lo guardamos y probaremos a entrar desde el dominio, veremos como un login y en los campos vemos como unas credenciales por defecto, pero si las probamos no va a funcionar:
Esas credenciales igualmente nos la apuntaremos:
Si realizamos un escaneo de subdominios para ver si encontramos algun subdominio veremos lo siguiente:
FFUF
Info:
Vemos que nos descubrio el subdominiodev, por lo que lo añadiremos al hosts.
Lo guardamos y nos metemos dentro con dicho subdominio para ver que vemos.
No veremos gran cosa, vamos a realizar un poco de fuzzing.
Gobuster
Info:
Veremos varias cosas, pero entre ellas una interesante llamada /search que si entramos en el directorio, veremos lo siguiente:
Vemos una especie de barra de busqueda con un ejemplo puesto en el mismo que pone s3cr3tdir, si lo probamos en la URL no veremos nada, pero si lo utilizamos como subdominio veremos que si funciona:
Lo guardamos y ahora nos metemos con dicho subdominio para ver que encontramos, pero no veremos nada interesante, aun haciendo fuzzing tampoco veremos nada, pero si realizar una busqueda de subdominios veremos lo siguiente:
Info:
Veremos que nos saca varios subdominios pero todos iguales, si probamos el de admin veremos que funciona:
Lo guardamos y si entramos en dicho subdominio veremos lo siguiente:
Vemos que hay un software llamado gitea que es parecido a github, vamos a logearnos en gitea y explorar los repositorios que puedan estar subidos.
Una vez que nos hayamos registrado, nos vamos a la opcion Explore -> Repositories y veremos esto:
Vemos varios, si entramos al llamado myapp y entramos en el codigo de app.py veremos esto:
Vemos que hay una vulnerabilidad en la siguiente linea:
Vemos que podremos realizar un Path Traversal en la aplicacion principal, que esta en el dominio gitea.dl por lo que vemos en el codigo, por lo que si hacemos lo siguiente:
Info:
Veremos que nos muestra de forma correcta el passwd por lo que estamos aprovechando bien la vulnerabilidad.
Si seguimos investigando en los repositorios veremos el siguiente repositorio, llamado giteaInfo en el archivo gitea_composed.xml.
Vemos que hay dos rutas que son las siguientes:
Por lo que vamos a probar a ver ese archivo:
Pero no nos dejara, despues nos indica que hay un archivo de informacion en el /opt si probamos a ver el archivo de antes, pero en la ruta de /opt veremos esto:
Info:
Vemos bastantes usuarios con contraseñas, pero los usuarios no parecen reales, pero las contraseñas si, por lo que vamos a proba a realizar fuerza bruta con el usuario designer y el listado de contraseñas que hemos obtenido:
pass.txt
Escalate user designer
Hydra
Info:
Vemos que sacamos las credenciales del usuario designer, por lo que nos conectaremos mediante SSH.
SSH
Metemos como contraseña SuperSecurePassword123 y veremos que estamos dentro, por lo que leeremos la flag de usuario.
user.txt
Escalate Privileges
Si vemos los puertos que estan abiertos en la maquina, veremos lo siguiente:
Info:
Vemos que esta el puerto 3306 abierto de forma local que se corresponde con el de MySQL, si recordamos encontramos unas credenciales en el dominio gitea.dl que eran lo siguiente:
Vamos a probar si podemos entrar con dichas credenciales:
Escalada con UDF (User-Defined Functions)
Vemos que si nos deja, vamos a probar a realizar una tecnica para aprovechar una vulnerabilidad llamada Escalada con UDF (User-Defined Functions), por lo que vamos a probar a realizar una tecnica para aprovechar eso en tal caso de que lo tuviera.
Metemos ese codigo para que cuando llamemos a la funcion podamos ejecutar comandos.
Vamos a compilarlo de la siguiente forma:
Podemos mover el binario a la carpeta plugins de MySQL ya que tiene los siguientes permisos:
Info:
Ahora vamos a cargar la funcion de lo que hemos creado de la siguiente forma:
Vamos a realizar lo siguiente:
Info:
Ahora vamos a cargar la funcion:
Info:
Ahora podremos llamar a esta funcion que hemos creado como sys_exec y ejecutar cualquier comando como root, por lo que haremos lo siguiente:
Info:
Vemos que ha funcionado por que nos salio un 0 y un 1 seria un error, por lo que si ahora salimos y listamos los permisos de la bash veremos lo siguiente:
Info:
Vemos que ha funcionado, por lo que haremos lo siguiente:
Info:
Con esto veremos que ya seremos root, por lo que leeremos la flag de root:
user001:Passw0rd!23 - Juan abrió su laptop y suspiró. Hoy era el día en que finalmente accedería a la base de datos.
user002:Qwerty@567 - Marta había elegido su contraseña basándose en su teclado, una decisión que lamentaría más tarde.
user003:Secure#Pass1 - Cuando Miguel configuró su clave, pensó que era invulnerable. No sabía lo que le esperaba.
user004:H4ckM3Plz! - Los foros de hackers estaban llenos de desafíos, y Pedro decidió probar con una cuenta de prueba.
user005:Random*Key9 - Sofía tenía la costumbre de escribir sus contraseñas en post-its, hasta que un día desaparecieron.
user006:UltraSafe99$ - "Esta vez seré más cuidadoso", se prometió Andrés mientras ingresaba su nueva clave.
user007:TopSecret!! - Lucía nunca compartía su contraseña, ni siquiera con sus amigos más cercanos.
user008:MyP@ssw0rd22 - Julián pensó que usar números en lugar de letras lo haría más seguro. Se equivocó.
user009:S3cur3MePls# - La empresa exigía contraseñas seguras, pero Carlos siempre encontraba una forma de simplificarlas.
user010:Admin123! - Un ataque de fuerza bruta reveló que la cuenta del administrador tenía una clave predecible.
user011:RootMePls$5 - Daniel dejó su servidor expuesto y no tardó en notar actividad sospechosa.
user012:SuperSecure*78 - Alejandra se enorgullecía de su conocimiento en seguridad, pero un descuido le costó caro.
user013:HelloWorld#91 - A Roberto le gustaba la programación y decidió usar un clásico como su clave.
user014:LetMeInNow!! - Diego estaba cansado de recordar claves complejas y optó por algo simple.
user015:TrickyPass66 - Una red social filtró su contraseña y pronto la vio expuesta en la web.
user016:UnsafeButFun$$ - Joaquín se divertía rompiendo su propia seguridad, pero un día fue víctima de su propio juego.
user017:HackThis!@3 - Beatriz creó su contraseña en modo irónico, pero los atacantes no lo tomaron como broma.
user018:SuperSecurePassword123 - Los hackers más novatos pensaban que usar lenguaje leet era seguro. No lo era.
user019:JustAnotherKey99 - Nadie pensaría en usar una clave tan genérica... excepto miles de personas.
user020:TryGuessMe#22 - Un pentester descubrió la clave en segundos y le envió un mensaje a su dueño.
user021:SimplePass88! - Isabel nunca imaginó que alguien intentaría adivinar su contraseña.
user022:HiddenSecret!2 - Aún después de cambiar su clave, Luis no podía quitarse la sensación de inseguridad.
user023:CrazyCodePass@ - Un desarrollador decidió probar una contraseña al azar... y olvidarla al día siguiente.
user024:SneakyKey99$ - Los ataques de diccionario estaban de moda, y Pablo decidió cambiar su clave.
user025:Password@Vault - Un gestor de contraseñas podría haber ayudado a Ricardo, pero prefirió confiar en su memoria.
user026:EliteHacker#77 - Creer que una contraseña es segura solo por tener símbolos es un error común.
user027:FortKnoxPass!! - Ignacio aprendió por las malas que no existe una seguridad infalible.
user028:IronWall!99 - La clave era sólida, pero un descuido con su correo llevó a una filtración.
user029:UltraHidden#32 - A pesar del nombre, la contraseña de Javier no era tan oculta.
user030:GodModeActive! - Mariana sintió que tenía el control, hasta que recibió una alerta de acceso sospechoso.
user031:MasterKey$66 - Un viejo truco de seguridad le falló a Fernando en el peor momento.
user032:NoOneCanSeeMe! - La privacidad era esencial para Esteban, pero alguien siempre estaba mirando.
user033:LockedSafe#12 - Una contraseña compleja no sirve si la guardas en un documento sin cifrar.
user034:MyLittleSecret@ - El diario de Valeria contenía muchos secretos, incluida su clave más preciada.
user035:BigBossKey!! - Alfonso era el administrador del sistema, pero un error le costó el acceso.
user036:DigitalFortress$ - Inspirado en su novela favorita, Tomás creó una clave única... o eso creía.
user037:PasswordBank#9 - Usar la misma clave para todo fue la peor decisión de Gabriel.
user038:YouShallNotPass! - El homenaje a Gandalf no protegió a Enrique de un ataque automatizado.
user039:NotSoObvious99 - Era una contraseña "no tan obvia", hasta que apareció en una filtración.
user040:SecretStash@12 - Emilia guardaba sus contraseñas en un archivo llamado "Seguridad.txt". Mala idea.
user041:AnonymousPass$ - Creyó que su clave era anónima, pero los registros contaban otra historia.
user042:BlackHatKey!77 - Aprender hacking ético le ayudó a darse cuenta de sus propias vulnerabilidades.
user043:RedTeamAccess# - Un pentest interno reveló que la seguridad de la empresa era más frágil de lo que pensaban.
user044:PrivilegedUser@ - Tener privilegios de administrador no te hace inmune a ataques.
user045:HiddenVault$$ - Un sistema de almacenamiento cifrado no sirve si la clave es demasiado simple.
user046:EncryptionKing! - Amante del cifrado, Samuel pensó que su clave era invulnerable. No lo era.
user047:DecryptedEasy# - Un día descubrió que su clave había sido descifrada con facilidad.
user048:BypassMePlz!! - Quiso jugar con la seguridad y terminó perdiendo el acceso.
user049:SuperHiddenKey@ - Creyó que su contraseña nunca sería descubierta... hasta que lo fue.
user050:CyberGuardian99! - La ciberseguridad no es solo cuestión de contraseñas fuertes, sino de hábitos seguros.
sed -E 's/^user[0-9]+:([^ ]+) -.*$/\1/' info.txt > pass.txt
Hydra v9.5 (c) 2023 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these *** ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2025-02-27 07:24:55
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[DATA] max 50 tasks per 1 server, overall 50 tasks, 50 login tries (l:1/p:50), ~1 try per task
[DATA] attacking ssh://172.17.0.2:22/
[22][ssh] host: 172.17.0.2 login: designer password: SuperSecurePassword123
1 of 1 target successfully completed, 1 valid password found
[WARNING] Writing restore file because 21 final worker threads did not complete until end.
[ERROR] 21 targets did not resolve or could not be connected
[ERROR] 0 target did not complete
Hydra (https://github.com/vanhauser-thc/thc-hydra) finished at 2025-02-27 07:25:00