CTF Jenkhack Easy
URL Download CTF = https://drive.google.com/file/d/1I6YvDFbUpDM4llw_FHSMQCw3zlmHW7Xe/view?usp=sharing
Instalación
Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzip jenkhack.zipNos lo descomprimira y despues montamos la maquina de la siguiente forma.
bash auto_run.sh jenkhack.tarInfo:
██████╗ ██╗ ██╗███╗ ██╗██████╗ ██████╗ ██╗
██╔══██╗██║ ██║████╗ ██║╚════██╗██╔══██╗██║
██████╔╝██║ █╗ ██║██╔██╗ ██║ █████╔╝██║ ██║██║
██╔═══╝ ██║███╗██║██║╚██╗██║ ╚═══██╗██║ ██║╚═╝
██║ ╚███╔███╔╝██║ ╚████║██████╔╝██████╔╝██╗
╚═╝ ╚══╝╚══╝ ╚═╝ ╚═══╝╚═════╝ ╚═════╝ ╚═╝
==
@+:@ @##@
@++:-----+@ @@#+:----:+#
#-+-----:+:---------:
*::-----++-----::::#
::------+:--------:
#-+------+:-::-----#@
*::+=@@#++-------::@
@+= @++::+#@@@#*#
#-@
*+#++@
+-:::+-@
:-:+:::+
@+::*::::
*::++-::*
=:--:-:++ @-#
#*:---:--++@ @@
@::-:--++*
@::-:++#
*++*
:: 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 salirPor 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 una pagina web en el puerto 80 y en el puerto 8080 mediante HTTPS hay un jenkins.
Si nos metemos en la siguiente URL.
Nos redirijira a un jenkins, pero no tendremos las credenciales para pasar, a parte de que tambien se puede acceder mediante un dominio, si nos vamos al puerto 80, veremos el siguiente dominio.
Por lo que lo apuntaremos en el archivo hosts.
Lo guardamos y si nos metemos mediante el dominio, veremos que es con un certificado SSL o HTTPS, pero estaremos en las mismas en un panel de login, pero si buscamos en el puerto 80 en el codigo fuente de la pagina web.
Login jenkins
Veremos esa seccion de ahi que es donde se alojan las imagenes, en el codigo hay nombres alternativos por si no cargara la imagen.
Hay 2 nombres sospechosos jenkins-admin y cassandra, por lo que podremos probar las dos combinaciones en el panel de login del jenkins, metiendonos mediante HTTPS.
Si probamos como usuario jenkins-admin y como contraseña cassandra veremos que son las credenciales correctas y estaremos dentro como administradores.
Panel admin jenkins
Reverse Shell
Si nos vamos a la siguiente ubicacion My-views, dentro de aqui pinchamos en admin, le damos a la opcion configure, podremos bajar un poco donde pone Build Steps y hay un fragmento de codigo en bash como whoami, pues esto lo cambiaremos por una reverse shell de la siguiente forma.
Y le damos a Apply, seguidamente Save, una vez hecho eso, antes de ejecutarlo, estaremos a la escucha.
Y en la pagina del jenkins, le damos a la opcion llamada Build Now, esto lo que hara sera ejecutar el fragmento de codigo, si nos vamos a donde teniamos la escucha veremos que tendremos una shell con el usuario jenkins.
Info:
Sanitizamos la shell (TTY).
Escalate user jenkhack
Si nos vamos al siguiente directorio.
Veremos una carpeta llamada jenkhack/ y si nos metemos dentro veremos un archivo llamado note.txt que dice lo siguiente.
Por lo que vemos son las credenciales del usuario jenkhack pero la contraseña esta encriptada en Base85 y si la desencriptamos, dice lo siguiente.
Por lo que vemos esa es la contraseña del usuario, asi que nos cambiaremos a el.
Metemos la contraseña obtenida anteriormente y ya seremos dicho usuario, por lo que leeremos la flag.
user.txt
Escalate Privileges
Si hacemos sudo -l veremos lo siguiente.
Vemos que podemos ejecutar como root el binario bash pero en una ruta poco comun, si inspeccionamos dicho binario, estara codificado su interior, por lo que probaremos a ejecutarlo.
Info:
No nos da mucha informacion, pero si observamos en el directorio raiz, vemos que los permisos del opt/ su grupo es nuestro usuario, y en su interior esta el archivo bash.sh que su interior es el siguiente.
Por lo que vemos efectivamente esta ejecutando este script el cual podemos modificar pero antes haciendo unas cosas, por lo que podremos escalar a root haciendo lo siguiente.
Y ahora si podremos editarlo.
Guardamos el codigo y ahora probaremos a ejecutar de nuevo el binario.
Info:
Y si ahora comprobamos la bash.
Info:
Vemos que funciono, por lo que haremos lo siguiente.
Y con esto ya seremos root, asi que leeremos la flag.
root.txt
Last updated