Founder of MalwareIntelligence, a site dedicated to research on all matters relating to anti-malware security, criminology computing and information security in general, always from a perspective closely related to the field of intelligence.

miércoles, 1 de abril de 2009

Conficker. Cuando lo mediático se hace eco de todos descuidando el problema de fondo

Conficker no es un código malicioso (gusano) diferente a muchos otros que han existido, y que continuarán apareciendo, y que existen en la actualidad; sin embargo, en poco tiempo se llevó la atención de todos los medios de información a nivel mundial, incluso, muchos de ellos, rozando de manera muy fina la línea que divide la seriedad de atender un tema tan preocupante como lo son las infecciones, y el amarillismo del caso, jugando con eso de "si esta en boca de todos vende, sigamos hablando de conficker".

Ya con casi seis meses de existencia, es cierto!! :-), está en boca de todos con eso de la "sorpresa" que tiene preparado para el día de hoy, 1 de Abril.


Si bien es verdad que en poco tiempo conficker logro un alto porcentaje de infección a nivel global, y más preocupante aún a nivel local, también es cierto que simplemente queda reflejada la falta de madurez en torno a la gestión de seguridad.


Muchas e importantes compañías sufrieron las consecuencias, a través de conficker, de no atender la seguridad en su justa medida, mientras que muchas otras, como lo dije en otro blog, ni siquiera sintieron el roce de las instrucciones maliciosas del código de conficker. ¿Por qué?


Quizás una orientación acertada para obtener la respuesta coherente para esta pregunta tan trivial pase de cerca por el SGSI (Sistema de Gestión de Seguridad de la Información). Es decir, si queremos "calidad" en la seguridad, "necesitamos" apoyarnos en un proceso sistemático como el que nos ofrece la ISO 27001.


Pero sin desviarnos demasiado, ni entrar en lo más profundo de la gestión de seguridad, sólo diré que muchos de los problemas que ocasiona conficker, pueden (y pudieron) evitarse simplemente con mantener una adecuada gestión de las actualizaciones de seguridad en plataformas Windows.


La realidad es que conficker, como todo código malicioso, constituye un potencial peligro para cualquier entorno de información, en consecuencia, muchos se encuentran sufriendo enormes dolores de cabeza por "la causa" del gusano. Entonces, ¿cómo atacamos el problema?


No es mi intención hacer una cobertura sobre las acciones, vectores de propagación, etc. de conficker ya que en la red hay mucha información al respecto, como el excelente paper llamado
Containing Conficker que forma parte de la serie Know Your Enemy elaborado por la gente de The Honeynet Project, o el escrito por Cert.at llamado Detecting Conficker in your Network.

Pero sí me gustaría facilitar algunas herramientas con las que podemos hacer frente al gusano, ya que en la mayoría de los casos, no todas las compañías AV ofrecen una eliminación completa de la amenaza, sin embargo, la mayoría posee una herramienta de limpieza gratuita que podemos utilizar.

Del mismo modo, la gente de The Honeynet Project ha publicado unas PoC que consisten en herramientas producto de la investigación que han llevado a cabo en torno a este tema.
  • Downatool2. Los nombres de dominio de las diferentes variantes de conficker pueden ser usados para detectar máquinas infectadas dentro de una red.
  • Dominios de colisión de conficker C. A diferencia de la primera y segunda generación de variantes de conficker (conficker.A y B) que crean 250 dominios por día para descargar sus actualizaciones, se espera que la tercera generación, cuente con más de 50.000 dominios. Esta es una lista de los dominios que se esperan descarguen conficker durante abril.
  • Desinfección de memoria. Identificar conficker se torna complicado debido al nivel de empaquetamiento y cifrado que incorpora, salvo cuando se encuentra en memoria.
  • Detección de archivos y modificaciones del registro. Aparentemente, los nombres de archivos y los nombres de las claves que crean en el registro las variantes B y C de conficker, no son al azar, sino que se encuentran basadas en el nombre de cada host infectado. Por el contrario, la variante A sí toma nombres al azar.
  • Simple Conficker Scanner (SCS). Escaner de red para detectar conficker. Requiere la instalación de la librería "Impacket" de python.
  • IDS. Dependiendo de los patrones utilizados por las diferentes generaciones de conficker, es posible detectar su presencia a través de reglas.
    Conficker A

    alert tcp any any -> $HOME_NET 445 (msg:
    "conficker.a shellcode"; content: "|e8 ff ff ff ff c1|^|8d|N|10
    80|1|c4|Af|81|9EPu|f5 ae c6 9d a0|O|85 ea|O|84 c8|O|84 d8|O|c4|O|9c
    cc|IrX|c4 c4 c4|,|ed c4 c4 c4 94|&<O8|92|\;|d3|WG|02 c3|,|dc c4
    c4 c4 f7 16 96 96|O|08 a2 03 c5 bc ea 95|\;|b3 c0 96 96 95 92
    96|\;|f3|\;|24|i| 95 92|QO|8f f8|O|88 cf bc c7 0f f7|2I|d0|w|c7 95
    e4|O|d6 c7 17 f7 04 05 04 c3 f6 c6 86|D|fe c4 b1|1|ff 01 b0 c2 82 ff b5
    dc b6 1b|O|95 e0 c7 17 cb|s|d0 b6|O|85 d8 c7 07|O|c0|T|c7 07 9a 9d 07
    a4|fN|b2 e2|Dh|0c b1 b6 a8 a9 ab aa c4|]|e7 99 1d ac b0 b0 b4 fe eb
    eb|"; sid: 2000001; rev: 1;)

    Conficker B

    alert tcp any any -> $HOME_NET 445 (msg: "conficker.b shellcode";
    content: "|e8 ff ff ff ff c2|_|8d|O|10 80|1|c4|Af|81|9MSu|f5|8|ae c6 9d
    a0|O|85 ea|O|84 c8|O|84 d8|O|c4|O|9c cc|Ise|c4 c4 c4|,|ed c4 c4 c4
    94|&<O8|92|\;|d3|WG|02 c3|,|dc c4 c4 c4 f7 16 96 96|O|08 a2 03
    c5 bc ea 95|\;|b3 c0 96 96 95 92 96|\;|f3|\;|24 |i|95 92|QO|8f f8|O|88
    cf bc c7 0f f7|2I|d0|w|c7 95 e4|O|d6 c7 17 cb c4 04 cb|{|04 05 04 c3 f6
    c6 86|D|fe c4 b1|1|ff 01 b0 c2 82 ff b5 dc b6 1f|O|95 e0 c7 17 cb|s|d0
    b6|O|85 d8 c7 07|O|c0|T|c7 07 9a 9d 07 a4|fN|b2 e2|Dh|0c b1 b6 a8 a9 ab
    aa c4|]|e7 99 1d ac b0 b0 b4 fe eb eb|"; sid: 2000002; rev: 1;)

  • Nonficker Vaxination Tool. Conficker utiliza mutex para asegurarse que en el equipo infectado se encuentra su más reciente versión. Este método puede ser empleado para prevenir potenciales infecciones simulando un servicio levantado a través de una dll.
Incluso, contamos con una nueva versión de nmap (4.85Beta5) que incorpora las rutinas de detección de conficker, disponible para diferentes plataformas: Windows, OSX, Linux.

Por otro lado, es recomendable, ya que no está de más, realizar breves auditorias con el ánimo de verificar el nivel de
seguridad vulnerabilidad de nuestros entornos. Podemos recurrir, por ejemplo, a herramientas como MBSA de Microsoft o CSI/PSI de secunia.

Por último, no hay que olvidarse de instalar las actualizaciones críticas de seguridad que solucionan las vulnerabilidades explotadas por conficker:
MS08-067, MS08-068 y MS09-001.

# pistus

Ver más