Cuando obtenemos el .zip nos lo pasamos al entorno en el que vamos a empezar a hackear la maquina y haremos lo siguiente.
unzipforgotten_portal.zip
Nos lo descomprimira y despues montamos la maquina de la siguiente forma.
bashauto_deploy.shforgotten_portal.tar
Info:
## .
## ## ## ==
## ## ## ## ===
/""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\______/
___ ____ ____ _ _ ____ ____ _ ____ ___ ____
| \ | | | |_/ |___ |__/ | |__| |__] [__
|__/ |__| |___ | \_ |___ | \ |___ | | |__] ___]
Estamos desplegando la máquina vulnerable, espere un momento.
Máquina desplegada, su dirección IP es --> 172.17.0.2
Presiona Ctrl+C cuando termines con la máquina para eliminarla
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
nmap-p---open-sS--min-rate5000-vvv-n-Pn<IP>
nmap-sCV-p<PORTS><IP>
Info:
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-20 03:39 EST
Nmap scan report for ctf403.hl (172.17.0.2)
Host is up (0.000043s latency).
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 9.6p1 Ubuntu 3ubuntu13.5 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 256 1d:4a:16:27:ad:b8:0b:aa:28:64:b0:10:3b:be:79:1c (ECDSA)
|_ 256 0b:0f:11:d6:5a:e9:f5:25:c8:17:0d:71:c1:29:c9:53 (ED25519)
80/tcp open http Apache httpd 2.4.58 ((Ubuntu))
|_http-title: CyberLand Labs - Innovaci\xC3\xB3n en Ciberseguridad
|_http-server-header: Apache/2.4.58 (Ubuntu)
MAC Address: 02:42:AC:11:00:02 (Unknown)
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.75 seconds
Si nos metemos en la pagina web que esta subida, veremos una pagina normal que aparentemente no hay ningun tipo de vulnerabilidad o nada raro, por lo que tendremos que fuzzear un poco para descubrir algun directorio oculto, etc...
Vemos que hay un directorio bastante interesante llamado uploads/ por lo que podemos intuir que se podra subir un archivo y con suerte hacernos una reverse shell.
Escalate user alice
Pero si nos metemos en /access_log veremos lo siguiente:
# --- Access Log ---
# Fecha: 2023-11-22
# Descripción: Registro de actividad inusual detectada en el sistema.
# Este archivo contiene eventos recientes capturados por el servidor web.
[2023-11-21 18:42:01] INFO: Usuario 'www-data' accedió a /var/www/html/.
[2023-11-21 18:43:45] WARNING: Intento de acceso no autorizado detectado en /var/www/html/admin/.
[2023-11-21 19:01:12] INFO: Script 'backup.sh' ejecutado por el sistema.
[2023-11-21 19:15:34] ERROR: No se pudo cargar el archivo config.php. Verifique las configuraciones.
# --- Logs del sistema ---
[2023-11-21 19:20:00] INFO: Sincronización completada con el servidor principal.
[2023-11-21 19:35:10] INFO: Archivo temporal creado: /tmp/tmp1234.
[2023-11-21 19:36:22] INFO: Clave codificada generada: YWxpY2U6czNjcjN0cEBzc3cwcmReNDg3
[2023-11-21 19:50:00] INFO: Actividad normal en el servidor. No se detectaron anomalÃas.
[2023-11-22 06:12:45] WARNING: Acceso sospechoso detectado desde IP 192.168.1.100.
# --- Fin del Log ---
Vemos un hash interesante que esta codificado en Base64:
YWxpY2U6czNjcjN0cEBzc3cwcmReNDg3
Decodificada se veria de la siguiente forma:
alice:s3cr3tp@ssw0rd^487
Por lo que vemos parece unas credenciales del usuario alice, por lo que si probamos a meter esa contraseña con dicho usuario por ssh funcionara.
sshalice@<IP>
Metemos la contraseña s3cr3tp@ssw0rd^487 y veremos que estamos dentro con dicho usuario, por lo que leeremos la flag:
user.txt
CYBERLAND{us3r_l3v3l_fl4g}
Escalate user bob
Si nos vamos a /incidents en la carpeta de alice habra un archivo llamado report que contiene lo siguiente:
=== INCIDENT REPORT ===
Archivo generado automaticamente por el sistema de auditoria interna de CyberLand Labs.
Fecha: 2023-11-22
Auditor Responsable: Alice Carter
Asunto: Configuracion Erronea de Claves SSH
=== DESCRIPCION ===
Durante una reciente auditoria de seguridad en nuestro servidor principal, descubrimos un grave error de configuracion en el sistema de autenticacion SSH. El problema parece originarse en un script automatizado utilizado para generar claves RSA para los usuarios del sistema.
En lugar de crear claves unicas para cada usuario, el script genero una unica clave `id_rsa` y la replico en todos los directorios de usuario en el servidor. Ademas, la clave esta protegida por una passphrase que, aunque tecnicamente existe, no ofrece ningun nivel real de seguridad.
=== HALLAZGO ADICIONAL ===
Durante el analisis, encontramos que la passphrase de la clave privada del usuario `bob` se almaceno accidentalmente en un archivo temporal en el sistema. El archivo no ha sido eliminado, lo que significa que la passphrase esta ahora expuesta.
**Passphrase del Usuario `bob`:** `cyb3r_s3curity`
=== DETALLES DE LA CONFIGURACION ===
Clave Privada: id_rsa
Passphrase: cyb3r_s3curity
Ubicacion: Copiada en todos los directorios `/home/<usuario>/.ssh/`
=== CONSECUENCIAS ===
1. **Perdida de Privacidad**: Todos los usuarios comparten la misma clave, lo que significa que cualquiera puede autenticarse como cualquier otro usuario si obtiene acceso a la clave.
=== POSIBLES SOLUCIONES ===
- Implementar un sistema centralizado de gestion de claves.
- Forzar a los usuarios a cambiar sus claves regularmente.
- Actualizar las politicas internas para prohibir el uso de scripts inseguros en la configuracion de credenciales.
=== NOTA FINAL ===
Este incidente pone de manifiesto la importancia de revisar las configuraciones criticas en sistemas sensibles. Es crucial que todo el equipo de IT se mantenga alerta y que se implementen controles mas estrictos para evitar errores similares en el futuro.
--- FIN DEL INFORME ---
Nos esta comentando que la clave privada es la misma para todos los usuarios, solo que tiene como clave un Passphrase y que la muestra en texto plano llamado cyb3r_s3curity, por lo que podremos hacer lo siguiente con lo que nos comenta ese report.
Por lo que nos copiaremos el id_rsa del .ssh/ de la carpeta de alice y nos la pasamos a nuestro host, quedaria algo asi:
Ponemos los permisos necesarios para que esto funcione.
chmod600id_rsa
Y nos conectamos con la clave privada por ssh con el usuario bob:
ssh-iid_rsabob@172.17.0.2
Info:
Enter passphrase for key 'id_rsa':
Nos pedira un passphrase la cual hemos visto antes, por lo que le pasaremos la palabra cyb3r_s3curity y estaremos dentro como el usuario bob.
Escalate Privileges
Si hacemos sudo -l veremos lo siguiente:
Matching Defaults entries for bob on 10e2ba374420:
env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty
User bob may run the following commands on 10e2ba374420:
(ALL) NOPASSWD: /bin/tar
Por lo que vemos podremos ejecutar el binario tar como el usuario root por lo que haremos lo siguiente: