← Regresar a lecciones
  • análisis de malware

  • reversing

  • depuración

  • registro de Windows

  • ingeniería inversa

  • ciberseguridad

  • lenguaje C

Anatomía de un Malware - el lado oscuro del código

¿Qué es un malware?
Conceptos clave para este desafío

A veces el enemigo no está afuera, a veces el enemigo es un archivo dentro de tu propio sistema. Invisible, silencioso, escondido detrás de funciones que parecen inofensivas. Hoy no solo vas a observar, vas a intervenir, vas a tomar un fragmento de código que hace cosas malas… y lo vas a neutralizar.

Bienvenido al primer desafío de análisis de malware.

¿Qué es un malware?

Malware (Malicious Software) es cualquier programa diseñado para causar daño o comportarse de forma maliciosa dentro de un sistema. Puede ser:

  • Un keylogger que roba tus contraseñas
  • Un troyano que abre puertas traseras
  • Un ransomware que cifra tus archivos
  • O un simple script que finge ser inocente… hasta que lo ejecutas

Analizar malware es un arte que mezcla:

  • Reversing (ingeniería inversa)
  • Depuración
  • Descompilación
  • Y una intuición afilada

¿Por qué en C#?

Este malware está hecho en C#, y no es casualidad. Aunque es un lenguaje de más alto nivel que C, tiene acceso a librerías y APIs de Windows que permiten manipular el sistema: leer y escribir archivos, crear procesos, incluso interactuar con el Registro.

A diferencia de C, C# está más ligado al ecosistema .NET, lo que lo vuelve una opción popular para desarrolladores de software… y también para algunos malwares reales, que aprovechan sus capacidades.

En ciberseguridad, entender C# te permite identificar patrones de abuso en código que a primera vista parece “aplicación de escritorio común”. Debajo del capó puede estar escondiendo rutinas peligrosas.

Conceptos clave para este desafío

Registro de Windows

El Registro es una base de datos jerárquica que guarda configuraciones del sistema y programas. Algunos malwares en C# lo manipulan usando clases de .NET (como Microsoft.Win32.Registry) para dejar una “marca” y recordar que ya infectaron la máquina.

Claves y valores

  • Las claves son como carpetas.
  • Los valores son como archivos dentro de esas carpetas.
  • Con las funciones adecuadas de C#, se pueden leer, escribir o borrar valores fácilmente.

Archivos falsos

Otra técnica común es crear archivos que simulen ser legítimos. Por ejemplo, un archivo hosts falso para redirigir o bloquear dominios.

Procesos ocultos

C# permite lanzar procesos con la clase System.Diagnostics.Process. Configurando propiedades como WindowStyle = Hidden, un malware puede ejecutar comandos en segundo plano sin que el usuario lo note.

Funciones sospechosas en C#

  • Registry.SetValue, Registry.GetValue → manipulan el registro
  • File.WriteAllText, FileStream → escriben archivos
  • Process.Start → lanza procesos nuevos
  • ProcessStartInfo con WindowStyle = Hidden → ejecuta procesos invisibles

💡 Nota: C y C# no son lo mismo.

  • C es de bajo nivel, usado en sistemas operativos, drivers y malware que interactúa directamente con memoria.
  • C# es de más alto nivel y depende de .NET, pero sigue siendo usado en la creación de troyanos, backdoors y otros malwares en Windows.

Tu rol como analista

Un verdadero analista:

  • No entra en pánico al ver un .exe.
  • No se rinde cuando no entiende algo a la primera.
  • Se arma con las herramientas correctas: descompiladores, depuradores, editores hexadecimales.

Tu misión será:

  • Ver el comportamiento
  • Entender su lógica
  • Identificar la actividad maliciosa
  • Corregirla
  • Liberar la flag que está atrapada detrás de ese código malicioso

Herramientas recomendadas

  • x64dbg o OllyDbg: depuradores para observar paso a paso la ejecución.
  • IDA Free o Ghidra: descompiladores que traducen binarios a pseudocódigo legible.
  • Notepad++, HxD: para editar el binario si es necesario.
  • Procmon o Process Explorer: para ver lo que el malware intenta hacer en tiempo real.

Recuerda esto… Ninguna herramienta reemplaza tu criterio. Lo importante no es solo qué hace el malware… sino cómo lo hace y cómo puedes neutralizarlo.

Estás viendo el código malicioso desde dentro. Ahora depende de ti romper su lógica y liberar la verdad. No temas el lado oscuro del código. Estás aquí para enfrentarlo.