Archive for Malware

Ransomware en MongoDB

Introducción

En las últimas semanas se han producido varios ataques de ransomware contra servidores de bases de datos MongoDB, concretamente se calculan que más de 20.000 bases de datos se han visto afectadas en todo el mundo dando lugar a cerca de 680 TB de fuga de información.

El problema está en la gran cantidad de servidores publicados y en este caso que vamos a comentar, indexados por Shodan. Vale con una simple búsqueda utilizando ciertos filtros de Shodan para descubrir los servidores de MongoDB publicados en Internet.

Shodan en acción

Podemos usar el filtro “product” como vemos a continuación.

product:mongodb

Donde obtenemos 38.845 resultados tal y como se puede ver en la imagen.

Ransomware en MongoDB

Otra opción es usando el filtro “port” indicando el número de puerto correspondiente por defecto a las instancias de MongoDB, el 27017.

port:27017

Obteniendo aproximadamente unos 500 resultados más, 39.311, posiblemente como consecuencia de haber aplicado “seguridad por oscuridad“, ocultando nombre de producto, versiones, etc.

Read more

Seguridad en las impresoras

Introducción

Cuando hablamos de seguridad en las empresas y qué activos proteger, enseguida se nos vienen a la cabeza los distintos vectores de ataque de nuestros sistemas de información y cómo protegernos de esos posibles ataques. Pero, ¿qué ocurre con la seguridad en las impresoras?

Seguridad perimetral, seguridad en las comunicaciones, seguridad en el puesto de trabajo, seguridad en los dispositivos móviles… son algunos de los ejemplos de protección de activos de la empresa.

Pero estamos pasando por alto un tema importante de seguridad en este planteamiento, y se trata de las impresoras. ¿Existen posibles vectores de ataque a este tipo de dispositivos? Si es así, ¿cuáles podrían ser? Quizás el problema radique en que vemos a la impresora como una “simple” máquina cuya función es imprimir lo que desde un ordenador enviamos.

Si nos detenemos en qué es una impresora, enseguida entenderemos que, además de la electrónica y mecánica pura de una impresora, está dotada de una serie de puertos, interfaz de red, controladores, disco duro y un pequeño ordenador, con su BIOS y con su sistema operativo, que maneja estos recursos.

OK, ahora más o menos nos hacemos una idea, pero ¿qué riesgos hay realmente? Vamos a dividirlos en varios apartados:

Vectores de ataque

Confidencialidad del documento impreso

En entornos corporativos es muy normal que se utilicen impresoras de red que está ubicadas en un lugar remoto de la oficina. ¿Qué ocurre si mandamos a imprimir un documento con información sensible? Desde que nos levantamos del puesto de trabajo hasta que recogemos el documento de la bandeja de la impresora, ¿quién ha podido ver o fotocopiar ese documento?

Las impresoras suelen incluir una funcionalidad llamada impresión privada, que permite proteger con un PIN la impresión del documento. Éste queda en cola hasta que el usuario, después de enviar el documento a imprimir, introduce su PIN de seguridad en la impresora para que ésta imprima el documento.

Vulnerabilidades

La impresora ejecuta una serie de servicios que se publican en unos puertos, por ejemplo para su administración. Hoy en día es bastante habitual que las impresoras puedan ser gestionadas vía Web, por lo tanto disponen de su propio servidor Web que permite esta administración.

El software que gestiona dicho servicio puede estar afectado por algún tipo de error que pueda dar lugar a una vulnerabilidad que podría ser aprovechada por un posible atacante y explotada para, por ejemplo, provocar una denegación del servicio.

Modificación de firmware

Las impresoras para mejorar sus funcionalidades o corregir posibles errores de sus software, permite la actualización de su firmware. Este firmware normalmente está disponible en la Web del fabricante. Un posible ataque podría ser la alteración de este firmware para tomar el control de la impresora de forma remota, capturar tráfico o para lanzar ataques a otros dispositivos de la red.

Robo de información

Ya existen muchas impresoras que incluyen un disco duro para el almacenamiento de información, como pueden ser trabajos, históricos de impresiones, documentos escaneados, etc. Al final ese disco duro podría ser extraído de la impresora, y si no hay un cifrado en la información de éste, se podría consultar sin ningún problema información sensible de los trabajos realizados en la impresora.

Indexación de impresoras en Internet

Muchas impresoras, por razones extrañas, son publicadas directamente en Internet. Esta publicación da lugar a que motores de indexación de dispositivos como Shodan acaben añadiendo a su base de datos información de la impresora como puede ser su banner del servidor Web, dirección IP pública, servicios publicados, localización… Si además, la administración Web no ha sido protegida de forma adecuada, se podría dar el caso de que algún atacante tuviera fácilmente acceso a ella.

Instalación de aplicaciones maliciosas

Por último, y no menos importante, es la mención a la posibilidad de instalar aplicaciones en las impresoras. Aplicaciones que pueden ser potencialmente peligrosas y pueden ser usadas de forma maliciosa para controlar la impresora con fines fraudulentos, como puede ser la captura de tráfico de la red o acceder a trabajos de ésta. Se han dado casos muy curiosos como la instalación del juego Doom en una impresora. Otro vector de ataque a tener muy en cuenta.

Conclusión

Con los posibles vectores de ataque que acabamos de comentar, creemos que son lo suficientemente relevantes para que a dispositivos como impresoras le demos la importancia que realmente tienen, y se apliquen una serie de políticas de seguridad para mitigar o reducir los posibles riesgos que estos vectores puedan suponer para la empresa. Resumiendo, no nos podemos olvidar de la seguridad en las impresoras.

Instalación de Snorby

En los artículos anteriores hemos configurado Snort para que nos escribiera las alertas en un fichero Unified2 y con Barnyard2 conseguimos pasar estas alertas a nuestra Base de Datos de Mysql. Para nuestra gestión de alertas que genere nuestro Snort vamos a instalar la aplicación Web SNORBY en un sistema operativo Debian 8.

Aquí os dejamos una captura del dashboard así como del login de este framework muy interesante e intuitivo.

snrb1

Login de acceso a nuestro framework

Read more

Investigación de ataque a un WordPress

Introducción de un ataque a un WordPress

Hoy he tenido el placer de participar, por tercer año consecutivo, como ponente en la V WordPress Meetup Córdoba y al igual que en años anteriores, he disfrutado mucho, no solo durante mi charla (Investigación de ataque a un WordPress) sino durante toda la jornada, con charlas muy interesantes en dos tracks diferentes. ¡Lástima haberme perdido algunas de las charlas! Pero en dos tracks a la vez no se podía estar.

En cuanto a mi charla, se trataba de explicar un caso real de un ataque a un WordPress y dar algunos consejos prácticos y sencillos para poder hacer algunas labores de investigación en caso de sufrir un ataque.

La Web investigada había sufrido un ataque mediante el cual los atacantes habían conseguido subir una puerta trasera, en forma de una C99 Shell, aprovechando una vulnerabilidad de tipo “Remote Arbitrary File Upload” en un plugin del WordPress.

vulnerability-wordpress

Como consecuencia, el servidor comprometido pasó a formar parte de la StealRat Botnet enviando una gran cantidad de spam con contenido variado; venta de productos farmacéuticos, venta de viagra y pornografía. Este envío masivo de spam originó que el servidor entrara en listas negras de reputación IP así como en servicios de bloqueo por spam.

Read more

Instalación de un IDS con Snort. Parte I

En este nuevo artículo se estrena nuestro compañero de SVT Security ServicesJuanjo Martínez. Se trata de Instalación de un IDS con Snort. Parte I.

En este “estreno” que realiza para hacking-etico.com, nos va a publicar una “saga” de Snort. Concretamente, en esta primera parte vamos a ver cómo instalar y configurar nuestro IDS Snort, en futuros artículos veremos la actualización automática de reglas con Pulledpork e instalación y configuración de Snorby y Barnyard2.

Pero, antes de nada, ¿Qué es un IDS?, según la WIKIPEDIA “es un programa de detección de accesos no autorizados a un computador o a una red.”, cuyo funcionamiento de estas herramientas se basa en el análisis del tráfico de red, el cual al entrar al analizador es comparado con firmas de ataques conocidos, o comportamientos sospechosos, cómo puede ser el escaneo de puertos, paquetes malformados, etc. El IDS no sólo analiza qué tipo de tráfico es, sino que también revisa el contenido y su comportamiento.

snort_large Read more

Destapando el Phishing de Correos…por la mañana temprano.

Después del gran artículo de mi compañero Rafa Otal en el que nos ilustra de como utilizar Python y Nmap para descubrir la red, hoy traemos este artículo recién cocinado e improvisado que explicamos a continuación. Os recomiendo totalmente, la “saga” que irá ampliando poco a poco “Descubriendo la red con Python y Nmap – Parte 1” y “Descubriendo la red con Python y Nmap – Parte 2

Hace escasas horas, concretamente las 05:22 de la mañana, una hora muy prudencial, dónde las calles está cortadas e Internet apagado, le ha llegado a mi compañero Miguel Ángel Arroyo un correo que me ha reenviado posteriormente a mi cuenta para que le echara un vistazo.

Realmente, a mí todavía no me ha llegado a ninguna cuenta de correo, este tipo de phishing pero sentía curiosidad de como trabaja y por qué está haciendo daño. Aunque realmente, con el phishing se puede llegar muy muy lejos.

Un gran detalle de mi compañero que me manda malware en vez de un jamón jeje.

El artículo de hoy “Destapando el Phishing de Correos…por la mañana temprano” tratará de desgranar y/o identificar la procedencia del correo y de si es maligno o no. Además de extraer información.

CORREO_CA Read more

You have a new eFax from…

Hace escasamente dos días, me llegó a mi cuenta de correo un “revelador” mensaje en el que se me advertía (en inglés) que tenía un fax nuevo desde un número un tanto “raro”. “You have a new eFax from…”

Normalmente esto va filtrado y eliminado por el gestor de correo que tengo configurado pero me picó la curiosidad de ver que tenía el correo sin riesgo de infectarme. A todas luces parecía un malware.

Este correo nos consta que es recibido por cientos de clientes al día, en horas dispares y no llega de forma masiva. Se envía desde una dirección relativamente convincente como es message@efax.com algo que podría hacernos pensar que no tiene porque ser un correo “malvado”.

Read more

Analizar malware con Anubis

En la última semana hemos recibido en nuestro laboratorio unos binarios provenientes de campañas de phishing y envío de malware, que hemos procedido a analizar de una forma muy práctica y bastante efectiva por el resultado de dicho análisis, que nos permite rápidamente extraer unas primeras contramedidas por si ha habido alguna infección. Vamos a analizar malware con Anubis.

El último de los ficheros lo hemos recibido esta misma mañana y es el que usaremos en este artículo.

Concretamente se trata de un fichero adjunto en este mensaje que “generosamente” Bobby nos envía y que se le había olvidado adjuntar en un correo anterior. Todo un detalle.

Analizar malware con Anubis

Un primer paso era analizar el fichero con el antivirus instalado en uno de los equipos usados como sandbox, con antivirus Avira actualizado hasta el día. En ese primer análisis no salió ninguna detección. Acto seguido, decidimos probar con los 57 motores de análisis de VirusTotal (donde pudimos comprobar que el motor de Avira no lo detectaba), obteniendo en un primer análisis sólo 7 detecciones de los 57 motores, y al cabo de 2 horas un resultado de 12 detecciones.

Analizar malware con Anubis

Aunque nuestro antivirus Avira no lo había detectado, gracias a VirusTotal pudimos comprobar que efectivamente se trata de malware, concretamente el troyano Trojan.Upatre.Gen.3.

Como desconocemos lo que este troyano es capaz de hacer, y queremos saber posibles contramedidas por si ha habido alguna infección, procedemos a subir el archivo a Anubis, donde además de un análisis del binario, lo desplegará y ejecutará en una máquina Windows propia, nos indicará las modificaciones en el sistema de ficheros, posibles entradas de registro y lo que es muy interesante también, nos facilitará una captura del tráfico generado por este malware tras su ejecución.

Analizar malware con Anubis

Como podemos ver en la imagen anterior, tras subir el fichero a Anubis y ser analizado, tenemos a nuestra disposición el informe del análisis en varios formatos, y en la parte inferior un enlace al fichero pcap resultante de la captura de tráfico realizada.

Veamos qué tiene ese fichero si lo abrimos con Wireshark:

Analizar malware con Anubis

Si filtramos los paquetes por tráfico http podemos ver algunas cosas interesantes. Por ejemplo que hace una petición a la IP 91.198.22.70. ¿Qué habrá en ese recurso?

Analizar malware con Anubis

¡Anda qué curioso! Es para saber desde qué IP pública nos hemos infectado. Sigamos. Podemos ver también varias peticiones para descarga de supuestos ficheros PDF, que seguro que no lo son y a su vez realizarán otro tipo de acciones maliciosas como descarga de otros binarios necesarios para lanzar su ataque, que tiene toda la pinta de CryptoLocker.

Como podéis ver, haciendo uso de servicios online totalmente gratuitos podemos de forma rápida y sencilla hacer un análisis del malware y sacar unas primeras conclusiones, y lo que es más importante, aplicar unas contramedidas que mitiguen o reduzcan el riesgo que esta amenaza pueda suponer para los sistemas de información de cualquier organización.

¿Contramedidas? Obviamente en primer lugar realizar un análisis de los posibles equipos infectados, concienciar al usuario de no abrir archivos adjuntos en correos de remitentes desconocidos y aplicar algunas reglas en la seguridad perimetral, por ejemplo, denegar el tráfico desde / hacia las direcciones IP observadas en la captura de tráfico. Se ha comprobado que están reportadas como servidores maliciosos.

Por cierto, en una de esas direcciones IP nos espera un bonito RouterOS de MikroTik. 😉

Analizar malware con AnubisComo siempre, espero que sea de vuestro interés, y nos leemos en siguientes artículos.

¡Saludos!

Parando Metasploit con Snort

Hoy vamos a ver como podemos detectar cualquier tipo de ataque a una aplicación vulnerable de nuestro servidor, simplemente analizando aquellos posibles exploit que puedan ser lanzados contra este y añadiendo una regla en nuestro IDS para detectarlos y pararlos, en nuestro caso utilizaremos Snort. El escenario sería el siguiente:

escenarioPC-Metasplit

La idea es identificar una característica única del exploit a detectar con el IDS y crear una regla con Snort para detectarlo. Para ello previamente lo que hacemos es lanzar el exploit para explotar la vulnerabilidad y capturar el tráfico para analizarlo.

meterpreter

En este momento tenemos que identificar una característica única/particular de este exploit. Debemos ser capaces de obtener la máxima información de como funciona el exploit, para ello podemos analizar el código del propio exploit así como examinar su documentación.

Exploit –> http://www.exploit-db.com/exploits/28681/

Concretamente hemos usado un exploit bajo metasploit para explotar el puerto 21 de un FreeFTPd con una vulnerabilidad que lleva a cabo un PASS Command Buffer Overflow, es decir, introducir una contraseña no esperada para provocar un desbordamiento de buffer. Lanzamos el exploit varias veces y obtenemos varios ficheros .pcap que nos disponemos a analizar exhaustivamente:

wireshark1

wireshark2

Una vez que somos capaces de sacar información que identifique al exploit unívocamente nos disponemos a generar una regla en Snort. Las reglas en Snort constan de dos partes: la cabecera y las opciones. El objetivo de este artículo no es explicar el funcionamiento de Snort, ni tampoco el de como crear una regla, para ello podéis consultar su manual en http://manual.snort.org/.

Si analizamos cada uno de los paquetes que lanza el exploit veremos que se están inyectando operaciones tipo NOPs (No-Operation, instrucciones que no hacen nada, como por ejemplo sumarle 0 a un registro) para rellenar instrucciones además del Payload inyectado. Esto se suele hacer por muchos tipos de malware para reconducir la ejecución del programa, caso de caer en una posición de memoria donde haya una NOP, se ejecutarán todas las instrucciones que no hacen nada hasta llegar al trozo de código malicioso que realmente quiere ejecutar el atacante. Vemos con Wireshark las NOPs y lo que realmente inyecta el Payload.

nops

user_pass

Con toda esta información ya podemos crear un regla en nuestro IDS Snort para detectar este exploit. A continuación mostramos la regla creada según las peculiaridades encontradas en el exploit:

drop tcp $EXTERNAL_NET any -> $HOME_NET 21 (msg:”Exploit FreeFTPd  PASS Command Buffer Overflow detectado by Hacking-Ético”;  content:”USER anonymous”; content:”PASS “; pcre:”/^PASS\s[^\n]{100}/smi”; classtype:shellcode-detect; sid:1000001; rev:1; nocase;) ;

Hemos visto que el exploit va dirigido al puerto 21, que hace uso del usuario anónimo y que introduce varios caracteres raros en la parte de la PASS, por tanto esas serán nuestras características concretas para nuestra regla.

Analicemos pues la parte de la cabecera:

drop tcp $EXTERNAL_NET any -> $HOME_NET 21

Se aplicará la regla de eliminación de paquete (drop) a todos aquellos paquetes que vengan vía tcp desde una red exterior ($EXTERNAL_NET es una variable que identifica cualquier IP externa) desde cualquier puerto de comunicación en el origen (any); y cuya petición vaya destinada a una IP interna ($HOME_NET idem IP interna) sobre el puerto 21.

 Dentro de la parte de las opciones:

(msg:”Exploit FreeFTPd  PASS Command Buffer Overflow detectado by Hacking-Ético”;  content:”USER anonymous”; content:”PASS “; pcre:”/^PASS\s[^\n]{100}/smi”; classtype:shellcode-detect; sid:1000001; rev:1; nocase;) ;

En este apartado determinaremos que características tienen los paquetes que deben ser eliminados. Dejaremos constancia del bloqueo de paquetes en el log de Snort con el mensaje que aparece en msg.

El paquete debe ser una petición de usuario anónimo y que la clave contenga alguno de los datos contenidos en la expresión regular (pcre). Dicha expresión regular debe estar escrita en perl, podéis encontrar diferentes expresiones regulares y reglas en el fichero policy.rules de Snort. El resto de las opciones determinan la clase de paquete (classtype), el identificador de la regla local (sid) y revisión (rev); y por último añadimos la palabra nocase para indicar al motor de Snort que la aplicación de la regla no sea “case-sentitive“.

La regla se añadirá al final del fichero de configuración de snort (snort.conf). Una vez añadida se comprueba su funcionamiento con los .pcap capturados del ataque para ver si es efectiva en caso de producirse nuevo ataque.

snort -A fast -c /ruta/snort.conf –pcap-dir=”/ruta/pcaps/” -l .

-A modo de la alerta, rápida en este caso (fast)

-c fichero de reglas, en este caso el snort.conf que hace referencia a todos los ficheros de reglas de que se encuentra en la carpeta de snort (/rutaSnort/rules) y además contiene al final nuestra regla. Debe ponerse todo en una sola línea.

–pcap-dir indicamos la carpeta donde están los pcap para comprobar.

-l indicamos la carpeta de salida del log (se creará un fichero llamado alert)

Una vez comprobado el funcionamiento de las reglas con los pcaps que contienen la captura del exploit, obtenemos el siguiente resultado:

alert

 Vemos como además de nuestra regla, hay otras reglas dentro de snort que detectan el uso del usuario anonymous o el overflow en la PASS. Ahora sólo tendremos que coger un exploit de un 0day y analizarlo para crear una regla de Snort y que no afecte a nuestro servidor hasta que podamos parchear la vulnerabilidad en cuestión. También se suele analizar el tráfico que genera ciertos malware y crear reglas en función de las peticiones que realicen.

Bueno ahora sólo queda que os pongáis a jugar con algunos exploits y los analicéis para poder detectarlos.

Un handshake

@eduSatoe

“Si caminas solo andarás más rápido, si caminas acompañado llegarás más lejos”

Alerta!Malware en mi Web! – Linux Malware Detect

Hace muy pocos días, una importante empresa que aloja infinidad páginas webs de todo tipo, contactó con nuestro departamento ya que habían recibido un “abuse” desde el servidor/es dónde están alojadas las páginas de sus clientes.

La búsqueda de malware en un sitio Web es una tarea ardua y tediosa a la par de lenta aunque con las herramientas adecuadas puedes ahorrar mucho tiempo. Esto no quita el pertinente análisis “a mano” para revisar ficheros que contengan código ofuscado, scripts maliciosos, etcétera.

Existen herramientas online para escanear sitios Webs en busca de pharmahack, defacements, malware, etcétera… Como he comentado, utilizar estas herramientas puede acortar el tiempo de detección y corrección del problema.

Herramientas de este tipo no es que existan multitud pero sí que existen las suficientes y con calidad. Podéis encontraros aplicaciones que pretendan ayudaros a encontrar “el bichito” en vuestro sitio pero realmente, las más famosas en este caso, son las más efectivas y más reales.

Read more