You Are Reading

.

Compartelo:
0

Troyano Ducu escrito en un lenguaje de programación misterioso

Jesus Bourne 9 de marzo de 2012
F Sharp, Iron Python, CPLEX LIB, High-Level Assembly, LISP, Erlang, son sólo algunos de los lenguajes de programación en los cuales el framework de Duqu pudo haber sido escrito. Aún es incierto cuál fue usado, sin embargo, una cosa queda clara, el framework luce diferente a todo lo que hayan analizado anteriormente los expertos de Kaspersky.

Los investigadores determinaron que la biblioteca del Payload (DLL) de Duqu parece una DLL PE compilada con Microsoft Visual Studio 2008.

"El punto de entrada del código es totalmente estándar, y hay una función que exporta un número ordinal 1 que también parece ser MSVC++", dijo Igor Soumenkov, experto de Kaspersky Lab.


"Esta función es llamada desde el PNF DLL, y es la función principal (main) que implementa toda la lógica de contacto con los servidores C&C, recibiendo módulos de payloads adicionales y ejecutándolos".

Sin embargo, la forma en que esta lógica fue programada y las herramientas que se utilizaron resultan alucinantes. Lo único cierto es que se trata de un lenguaje de programación orientado a objetos.

Muchas de las secciones que componen el Payload DLL parecen haber sido compiladas con C++, pero la interacción con el Command and Control (C&C), que representan la mayor parte, es diferente.

Dentro del código del framework Duqu, como los expertos lo llaman, todo está envuelto en objetos, y no hay una distinción entre el código escrito por el programador y las clases que utiliza. Además, un API nativa de Windows es usada en vez de referencias a funciones de las bibliotecas en tiempo de ejecución.

Los objetos, cada uno como instancia de una de las 60 clases, son construidos usando la función "constructor" y destruidos usando la función "destructor", no obstante, el diseño de cada objeto depende de su clase. 

"Algunas clases parecen tener tablas binarias de funciones compatibles, pero no existe algún indicador que diga que tengan clases padres en común (como en otros lenguajes orientados a objetos). Por otra parte, la ubicación de la tabla de funciones no es fija: algunas clases tienen un offset 0 en la instancia, pero otras no", explicó Soumenkov.

Cuando compararon con el framework de su predecesor, Stuxnet, Duqu es diferente y Kanspersky incluso piensa que un equipo independiente pudo ser el responsable por crear esta parte del proyecto.

Aquellos que quieran tener una mejor visión del código, y quizás ayudar a Kaspersky a identificar el lenguaje de programación en el que el framework de Duqu fue escrito pueden visitar Securelist.


Fuentes :Sofpedia

.

Compartelo:
 
Copyright 2010 SI3H-C5IRT