Hacemos el escaneo de nmap: {{pasted_image_20230805105624.png|}} Y esto es lo que corre por el puerto 80, donde se hace una mención al protocolo ftp y vemos un usuario llamado Juan: {{pasted_image_20230805105655.png|}} Por lo que hacemos un ataque de fuerza bruta con hydra: hydra -l juan -P /usr/share/wordlists/rockyou.txt ftp://192.168.0.60 {{pasted_image_20230805110031.png|}} Dentro del servidor ftp vemos muchos archivos: {{pasted_image_20230805110452.png|}} Por lo que haremos una descarga recursiva de todos estos archivos con el comando wget de esta forma, poniendo la IP del servidor FTP: wget -r ftp://"juan":"alexis"@192.168.0.60/ {{pasted_image_20230805111420.png|}} Si ejecutamos el comando tree veremos todos los archivos dentro de las carpetas, donde vemos un fichero de contraseña: {{pasted_image_20230805111503.png|}} Pero es un rabbit hole: {{pasted_image_20230805111529.png|}} De todos modos con el comando tree no estamos viendo los archivos ocultos, por lo que usaremos un tree -a . tree -a . Y ahora vemos un archivo oculto dentro de fold10: {{pasted_image_20230805111929.png|}} Y nos dice algo de una cookie dentro del directorio personal del usuario: {{pasted_image_20230805111954.png|}} De todos modos, dejando esta parte en pausa, si accedemos vía ssh con las credenciales de FTP vemos que estamos dentro: {{pasted_image_20230805112407.png|}} Vemos 2 usuarios dentro de /home: {{pasted_image_20230805112609.png|}} Pero lo interesante es si buscamos archivos con extensión .sh, donde vemos que hay uno muy interesante: find / -name *.sh 2>/dev/null | xargs ls -l {{pasted_image_20230805112915.png|}} Y si vemos el contenido del script sería este, donde vemos que se hace un curl a un archivo y luego se ejecuta con bash: {{pasted_image_20230805113404.png|}} Nos da que pensar que este script se está ejecutando por detrás de forma automatizada, por lo que tenemos una utilidad llamada pspy para ver procesos que están corriendo: {{pasted_image_20230805113713.png|}} Nos lo compartimos con curl porque wget no está instalado en la máquina víctima: {{pasted_image_20230805113829.png|}} Y se empieza a ejecutar: {{pasted_image_20230805114004.png|}} Y podemos confirmar que el script se ejecuta cada cierto tiempo: {{pasted_image_20230805114102.png|}} La idea es poder crear un fichero llamado a.bash y hacer que el script lo ejecute antes de que llegue a eliminarlo: Por tanto vamos a crear un bucle que constantemente esté creando el archivo con el código malicioso: #!/bin/bash while true; do echo 'chmod u+s /bin/bash' >> /tmp/a.bash && echo 'Funciona' done Si hacemos esto estaremos creando constantemente dicho archivo y si ejecutamos el script conseguiremos que se ejecute el código malicioso: {{pasted_image_20230805115251.png|}} Y mientras este bucle se ejecuta, posiblemente se haya ejecutado de forma automatizada el script de chek_for_install.sh, por lo que detenemos el script y probamos en ejecutar un bash -p y ya somos root: {{pasted_image_20230805115354.png|}}