Incidente con Malware de posicionamiento en buscadores, SEO

Recientemente detectamos en un servidor una extraña conexión hacia un servidor que hizo saltar la alarma por un posible compromiso del mismo. La petición que se detectó desde dicho servidor fue únicamente la que se muestra a continuación:

GET /system/mngr.php?id=a5f99b82b662d6e2b98b30e3077606ba&md5=9e5d6df936986f0b4d5fd4794807824f HTTP/1.0
Host: manka11.com

Como única respuesta se recibió la palabra UNCHANGED.

Tras analizar las peticiones que recibe el servidor, no se aprecia ninguna sospechosa que pudiera indicar alguna webshell desde la que lanzar esa petición, ni ninguna orden dirigida a un recurso sospechoso o pasada como parámetro que llamase la atención, lo que nos hizo analizar el registro del servidor para ver qué actividad hubo.

Antes de pasar a analizar el log, buscamos los últimos ficheros modificados en el directorio del servidor y, por tratarse de un posible servidor web comprometido, especialmente aquellos ficheros con funciones que utiliza habitualmente el malware para ofuscarse (base64_decode, preg_replace, eval, error_reporting(0), etc.). En este caso ya empezamos a ver indicios que nos llevaban en la dirección correcta: unas carpetas que parecen ser módulos de Joomla! creados en fechas diferentes que contienen algunas de las funciones buscadas:

[Read more…]

Una reflexión sobre la alteración en el Análisis Forense

En multitud de ocasiones, cuando se habla de las actuaciones de un forense informático se remarca la necesidad de no alterar “la escena”. Se nos recuerda que debemos ser muy cuidadosos para no alterar nada, no conectar nada, no ejecutar nada. Aunque en la práctica, en mi opinión, esto no siempre es del todo así.

A la cabeza me viene el Principio de incertidumbre de Heisenberg, que se puede resumir de una manera muy sencilla en su aplicación práctica como que cuando se quiere medir la posición de una partícula subatómica ésta se altera, por lo que nuestra medición ya no será la real. En definitiva, si queremos medir la posición o características de un electrón, alteraremos su estado. O en nuestro caso, si queremos recopilar información, seguro que alteraremos algo.

[Read more…]

Mejora de un sinkhole con Honeytrap (II)

Instalación Honeytrap

La instalación es sencilla, se resuelven algunas dependencias y nos descargamos el código por GIT. Cuando se compila puede que aparezca un error debido a que se declara una variable que luego no se usa, podemos omitir esa comprobación y compila sin problemas. Finalmente, editamos el fichero de configuración según nuestras necesidades.

Antes de lanzar la aplicación, como hace uso de ip_queue (IPQ) tenemos que añadir la siguiente regla en iptables:


$ sudo iptables -A INPUT -i eth0 -p tcp --syn -m state --state NEW -j QUEUE
$ honeytrap -C /opt/honeytrap/etc/honeytrap/honeytrap.conf -u nobody -g nogroup -t 5

 

[Read more…]

Mejora de un sinkhole con Honeytrap (I)

Un sinkhole es un sistema por el que determinadas peticiones DNS se resuelven de forma diferente para, normalmente, desviar el tráfico a otro destino controlado (bien sea localhost o una IP determinada). Se utiliza de forma que evitemos que se contacte con el servidor malicioso, combatiendo bastante activamente botnets y virus/downloaders. Bien, el otro día estuve pensando una manera de capturar el tráfico que estaría bloqueando el sinkhole para analizarlo y tratar de actuar contra el software malicioso o, al menos, identificarlo mejor. En esta entrada voy a mostrar una forma de completar ese sistema de Sinkhole con Honeytrap y OpenFPC.... Leer Más

Snort: Alertas geolocalizadas complejas

En mi anterior artículo expuse un ejemplo para geolocalizar determinadas alertas utilizando flowbits y un preprocesador o rangos de IP para identificar el país. El ejemplo terminaba con la búsqueda de una cadena de texto en un certificado SSL de una forma un poco “chapucera”.

Vamos a retomarlo desde este punto para buscar un certificado de una forma más ortodoxa. Para ello, se utilizará el preprocesador SSL/TLS (SSLPP).

El preprocesador SSLPP es más importante de lo que pueda parecer a priori, y lo sabrá la gente que administre Snort en redes con una alta tasa de tráfico, ya que no sólo permite extraer información de una comunicación SSL/TLS sino que, con la opción noinspect_encrypted dejará de analizar el tráfico marcado como cifrado, aumentando sensiblemente el rendimiento (especialmente en entornos cargados).

[Read more…]

Snort: Alertas geolocalizadas con flowbits

En esta ocasión voy a mostrar un ejemplo que sirva de idea sobre cómo utilizar reglas un poco más complejas en Snort para detectar actividades sospechosas en nuestra red basadas en geolocalización. Para ello, haremos uso de la opción flowbits en unas determinadas reglas para que salten cuando aparezcan algunos países que consideraremos como hostiles o peligrosos.... Leer Más

Registro forense de red con tshark

En ocasiones puede ocurrir que, según la topología de la red y la estructura de la organización en la que nos encontremos, no tengamos acceso al registro de los servidores web de una manera fácil y rápida pero sí podamos capturar el tráfico de red que va dirigido a ellos. Esto puede dificultar una rápida actuación ante un incidente de seguridad donde la respuesta debe ser lo más ágil posible con el objeto de minimizar el daño que se haya podido producir.... Leer Más

/Rooted CON 2013 día 3

El tercer día de la /RootedCON se presentó igualmente interesante a pesar del cansancio acumulado. Prueba de ello fue la gran asistencia desde la primera charla que nos presentó la gente de Taddong, David Pérez y José Picó. Nos mostraron una manera de localizar un terminal móvil a través de la señal de comunicaciones por GSM. ¡Estaba chupado! Explicaron cómo triangular la señal utilizando para ello una estación base propia, conociendo únicamente el IMEI del teléfono a localizar y forzando a que se conecte a ésta. Tras una divertida explicación del proceso, modelos matemáticos utilizados y correcciones para que no lo situara en el Oceano Índico, consiguieron una precisión de un par de metros en un área de 2 kilómetros utilizando una antena omnidireccional para la localización aproximada y posteriormente cambiando a una dirigida para mayor precisión.... Leer Más

Nmap –script http-joomla-brute. Donde THC-Hydra no sirve.

Durante una auditoría reciente quise probar un poco la robustez de las contraseñas utilizadas y me lancé a intentar un ataque de diccionario sencillito contra el formulario de entrada de Joomla! por si existía alguna cuenta con una de esas contraseñas débiles. El formulario era el siguiente:... Leer Más

Nuevo plugin MFTParser en la versión alfa de Volatility

Realizando el otro día el reto del análisis forense que había dejado Jack Crook (@jackcr) en el grupo GCIH de LinkedIn, actualicé Volatility a la versión 2.3_alpha. En este reto, el autor había incluido el volcado de la RAM y un timeline del disco de cada uno de los equipos afectados, así como una captura del tráfico de red. No obstante, al revisar las novedades que incluia esta versión Alfa vi que traía un par de ellas que llamaban la atención: mbrparser y mftparser.... Leer Más