TECNOLOGíA, INTERNET Y JUEGOS
232 meneos
5803 clics
Análisis del código fuente de un ransomware escrito en Python

Análisis del código fuente de un ransomware escrito en Python

Analizamos el código fuente de un ransomware escrito en Python bajo el nombre de detección: Python/Filecoder.AX. Esta variante, que ya no está activa, sí lo estuvo durante los años 2017 y 2018 y fue distribuida empaquetada en un ejecutable .exe mediante PyInstaller.[...] Una vez obtenido el código fuente nos encontraremos con muchas funciones y variables que deberemos ir leyendo detenidamente para poder comprender las actividades maliciosas realizadas.

| etiquetas: ransomware , código fuente , analisis
122 110 1 K 389
122 110 1 K 389
Código más simple que el mecanismo de un chupete.
#2 me has quitado el comentario, iba a decir que más simple que el mecanismo de un orinal :-D
#2 Todo el código es simple para todo aquel que sepa leerlo.
#8 No, eso no es correcto. Puede que sepas leer, pero eso no significa que vayas a entender un manual de física cuántica.

Con el código pasa lo mismo. Puede que entiendas lo que lees de manera individual, pero el conjunto del código no tiene por qué ser simple.
#11 Si ni lo comprendes leyendo es que no sabes bien como funciona alguna de las partes o como leerlo correctamente.

Si sabes lo que es una función, un hilo y como salta el código de una parte a otra puedes seguir la lógica de cualquier código.

En este caso por ejemplo la función run_crypt será la que tenga toda la chicha de encriptación y será tan fácil o difícil de leer según cuanto conozcas de código y en este caso de matemáticas y números primos muy grandes que es lo que intuyo que hay en esa función run_crypt
#12 En realidad la función esa es mucho más sencilla no hace falta saber nada de matemática ni siquiera practicamente nada de cifrado para entenderla.
#11 Cierto. Pero un código simple muchas veces es indicación de un buen programador.
#22 Un buen programador siempre mete comentarios. El código puede ser muy simple pero hay veces que no concuerda con su intención. A mi en la carrera siempre me dijeron comenta tú código como si fuera para otro. Un día llegaras revisarás tu código y no tendrás ni p*** idea de porque no lo comentaste.
#30 Un buen programador siempre mete comentarios.

Real programmers dont' use comments. The code is self-explaining.
#8 Claro, por eso hay competiciones de código ofuscado. Porque no hay diferencia con el que no lo es.
#2 La parte complicada del código está escrita en las librerías externas que usa.
#27 Cierto, pero un aes256 en cbc es relativamente sencillo de entender e implementar... Tienes una librería open source en c rulando por github.
#2 No sé que tal anda de programar (no le he echado un ojo al código) pero de criptografía anda muy verde. Deja todos los datos para descodificar en el equipo. No es por dar ideas, pero lo suyo sería teniendo el id del equipo enviarlo y usarlo como parte de una semilla para un cifrado asimétrico y usar la clave pública para cifrar todo.
Gracias por el tutorial. :troll:
#6 es típico que el troyano en si es descargado y ejecutado por el exploit o vector de infección, de esta forma se puede ir cambiando el vector de ataque y no tocar el troyano.
Pero la verdad es que estaría bien un poco más de contexto y saber cómo se distribuía, ya que al ser un Python compilado, pequeño no debía ser.
Por otra parte no incluye ninguna técnica evasiva, no creo que tardasen mucho en ficharlo los antivírus.
#6 Estoy contigo, lo interesante es saber como se distribuyo el malware, como funciona randsome es conocido por todos y hay muchas variantes que basicamente hacen lo mismo en esencia.
#6 En efecto, como dices, la gracia de todo gusano es su método de propagación. Recuerdo allá por el año 2009 en que junto con otras personas nos hacíamos los juankers (no confundir con juankars) programando gusanos que al propagarse infectaban los PC's con algún ejecutable. Eran tiempos de Windows XP y de Messengers y Emules, es decir, caldo de cultivo. Recuerdo que uno lo llegó a usar y le metió un servidor de Bifrost, a las pocas semanas tuvo que dejarlo de usar porque el…   » ver todo el comentario
Muy interesante.
En Telefónica entró uno de esos gusanos y cifró un montón de equipos.
#1 Está muy feo hablar así de los administradores de sistemas. También ellos son personas, aunque trabajen en Telefónica. <:(
Muy buen artículo, interesante
#34 Lo es. Tiene una versión home que admite hasta cinco instantáneas con todas las características de la versión profesional. La de pago --la pro, la server es mucho más cara -- vale unos 84€, Pruébala, no te arrepentirás.

Edit: la versión home es gratuita y no te agobian, nunca, con publicidad.
¿Entonces, si me pasan todo el código fuente de por ejemplo todo el kernel de linux, si lo entiendo puedo decir que es sencillo?

No voy a discutir más contigo. Cree y entiende lo que quieras.
Me resulta curioso que no haya ninguna condición para iniciar la infección. Porque si empieza a cifrar a las 12 de la noche (p.e. en un servidor), cuando llegues por la mañana a la oficina te encuetras todo cifrado. Pero si empieza a cifrar mientras estás trabajando, debería ser relativamente sencillo que te des cuenta que un fichero te ha desaparecido, o que tal programa ha dejado de funcionar, y entonces percatarte de la infección en marcha si eres un usuario experimentado.

Y veo un fallo en que no codifique los archivos sin extensión. Muchos programas es justamente donde almacenan los datos.
Muy bien detallado. Cómo algo tan fácil puede llegar a joder mucho, por ello la importancia de la seguridad.
Ya ni los hackers son como los de antes.. un ransomware escrito... ¡En Python! :wall:
#23 Python vale para todo :-D Por eso es grande. Puedes hacer cualquier cosa con velocidad pasmosa.

Que querías que fuera ensamblador?
#26 Los hombres programan en C.

Na en serio, pero ¿Un lenguaje interpretado? Que triste.
#32 Dijo él, antes de apretar el botón que ejecutaría una función en JavaScript, dentro de su navegador escrito en C++, el cual mandaria su comentario a una aplicación escrita en PHP.
Moraleja: Guarda tus datos personales en la carpeta de Windows :-P
#16 Pero solo después de borrar system32, que no vale para nada.
Es demasiado fácil fastidiar un equipo con algo así. Los sistemas operativos tendrían que tener algún mecanismo para defenderse de eso.
#24 Yo creo que los programas deberia tener mas restricciones. La mayoria solo necesita muy poco acceso al disco duro. Archivos temporales, sus ficheros de configuracion y demás y guardar algun archivo. Si no lo necesita no deberia tener acceso a todo el disco o incluso a todo lo que puede acceder el usuario.
El linux aunque los programas pueden acceder a /tmp pero solo pueden manipular sus propios fichero y no los de otros programas.
El programa podria acceder sus configuraciones para leerlas…   » ver todo el comentario
#24 RollBack RX: crea instantáneas del sistema de archivos automatizadas y/o a petición. Se arranca antes que el sistema operativo y puedes restaurar el sistema a cualquiera de las imágenes -- instantáneas -- tomadas. No sé si será factible tras un ataque vírico, pero me ha salvado el pellejo en varias ocasiones, sobre todo, probando software.
#33 No lo conocía, me parece un software genial. Creo que sí serviría para virus de ese tipo.
#33 Muchas gracias por la recomendacion, lo probare, aunque si dices que a ti te funciona muy bien no veo porque a mi no.
#24 Recuerdo cuando, con una simple línea de código en el autoexec.bat, se la podías liar parda a alguien.
Muy útil, por si alguna vez pasa sabremos que hay que intentar localizar el programa ransomware y por ingeniería inversa sacar la función que encripta y luego ponerte a desencriptar todo. O eso, o esperar a que lo haga otro :-D
Lo mismo te digo chavalín.
comentarios cerrados

menéame