Análisis de malware
OllyDbg
agosto 28, por Teresa Appleby
Introducción
OllyDbg es una herramienta de depuración de 32 bits que se utiliza para analizar código binario. Su popularidad está ligada al hecho de que las personas pueden hacerlo a pesar de no tener acceso al código fuente. OllyDbg se puede utilizar para evaluar y depurar malware. OllyDbg es un depurador popular debido a su facilidad de uso y a que es gratuito.
¡Conviértete en un ingeniero inverso certificado!
Obtenga capacitación práctica en vivo sobre análisis de malware desde cualquier lugar y conviértase en un analista certificado de ingeniería inversa. Comienza a aprender
Análisis de malware
OllyDbg es útil para analizar malware. Si planea analizar malware por su cuenta, querrá asegurarse de tener su entorno configurado para protegerse a usted y a sus activos. Esto debe hacerse en un entorno cerrado dentro de una máquina virtual. Usar una máquina virtual no es suficiente. Investigue un poco sobre las mejores formas de aislar su entorno. Evite utilizar el modo puente, ya que deja su red expuesta.
OllyDbg está diseñado para ejecutarse en una plataforma Windows. Si está creando un entorno virtual usando Kali Linux en lugar de Windows, necesitará usar Wine para ejecutar OllyDbg. Es importante tener esto en cuenta, ya que muchos investigadores prefieren utilizar Kali Linux para el análisis.
Es importante tener en cuenta que si se utiliza un disimulador, se espera que el usuario tenga conocimientos del lenguaje ensamblador. Será de gran ayuda en la evaluación del código.
Depuración
La evaluación del malware normalmente implica el uso de múltiples herramientas. OllyDbg es sólo un depurador, por lo que antes de comenzar, es posible que desees determinar toda la información que deseas recuperar del código. Otras herramientas como Wireshark, PE editor, IDA Pro y más pueden resultar útiles.
Si realiza un análisis estático del código de malware, el código en realidad no se ejecuta. Un análisis dinámico es una observación del código activo y brinda una imagen más profunda de la funcionalidad del malware.
Para realizar un verdadero análisis dinámico, es posible que desee permitir que su host se infecte mientras ejecuta un analizador de red como Wireshark. Evaluaría los resultados en Wireshark para ver qué tipo de llamadas de red y otras actividades se llevan a cabo. Esto le brinda un análisis del comportamiento de la red.
El proceso de evaluación
Una vez que tenga el malware que desea evaluar, puede cargar directamente el ejecutable en OllyDbg. Vamos a echar un vistazo a qué es el gusano WannaCry.
WannaCry es un ransomware que apareció en, pero todavía se considera una de las mayores amenazas de malware que existen. Debido a sus continuos estragos, ha sido muy investigado y evaluado.
Si elige iniciar WannaCry en un entorno cerrado, verá el siguiente mensaje:
Con el siguiente mensaje crípticamente persistente en el fondo:
WannaCry fue diseñado para infectar sistemas Windows.
En una evaluación inicial del código encontramos que una vez ejecutado ejecuta el comando attrib +h .
El comando attrib se utiliza para cambiar los atributos de los archivos. Este comando en particular cambia todos los archivos a ocultos. Luego ejecuta el comando icacls ./grant Everyone:F /T /C /Q . El cifrador integrado se inicia para cifrar los archivos y mostrar los mensajes anteriores, lo que inicia el temporizador.
Para realizar un análisis más detallado, deberá obtener Wannacry_dropper.exe y cargarlo en OllyDbg. Una vez cargado, aquí hay un fragmento de la vista inicial que verá:
WannaCry realiza cambios en el registro de Windows y carga un archivo protegido con contraseña llamado «XIA». Los investigadores de seguridad descubrieron que la contraseña es «WNcry@2oI7».
El archivo XIA contiene los otros binarios utilizados para cifrar los archivos en el sistema ahora infectado.
Esto incluye el archivo s.wnry cry como se muestra arriba.
Los investigadores de malware a menudo quieren identificar las cadenas asociadas con el código malicioso. Identificar las cadenas puede ayudar a comprender la funcionalidad del código. Al evaluar el malware ejecutado y la actividad de la red en Wireshark, es posible que haya identificado una URL a la que el código intenta acceder después de la ejecución. La evaluación de las cadenas también podría confirmar las URL que utiliza el código.
Después de cargar el código, puede hacer clic derecho y en la opción “ Buscar ” seleccionar “ Todas las cadenas de referencia ”. Esto abrirá una nueva ventana con todas las referencias de cadenas encontradas en el código.
Al evaluar las cadenas, podemos ver varias llamadas API, marcadores de posición, crear comandos, etc., pero a medida que nos desplazamos, también encontramos una referencia de URL codificada. Vea abajo:
Si presiona F9 mientras está en la línea de referencia de la URL, podrá crear un punto de interrupción para una evaluación adicional. A medida que continuamos profundizando en esa función, podemos ver una llamada de Internet:
Esto le brinda al malware detalles sobre cómo abrir esa URL en particular y cómo funcionar si no se puede acceder a ella o no arroja los resultados esperados.
A medida que continúa examinando las llamadas, puede identificar otra función de cifrado:
Esto toma los archivos identificados e intercambia la extensión original, por ejemplo, .xls , y la reemplaza con wncry.
Puede continuar profundizando en las funciones de llamada para comprender cómo interactúa cada una con Internet. También puedes volver a la ventana principal y realizar otras búsquedas. Puede buscar cualquiera de los siguientes, como se muestra en la imagen a continuación:
- Todas las llamadas intermodulares
- Para mayor claridad, esta es una lista de funciones llamadas desde el módulo principal. El resto de la lista se explica por sí mismo.
- Todos los comandos
- Todas las secuencias de comando
- Todas las constantes
- Todas las modificaciones
- Todas las cadenas referenciadas
- Todos los GUID de referencias
- Todos los comentarios de los usuarios
- Todos los procedimientos encontrados
- Todos los interruptores encontrados
- Todas las constantes flotantes
malware empaquetado
OllyDbg también es útil para desmontar y analizar malware empaquetado. Hay artículos en el sitio web de Infosec que detallan cómo utilizar OllyDbg para este propósito, por lo que no lo reiteraremos aquí.
Conclusión
OllyDbg es un potente desensamblador que puede resultar útil en el análisis de malware. Puede usarse solo para realizar un análisis estático del ejecutable o junto con otras herramientas para realizar un análisis dinámico del cuentagotas ejecutado. El análisis de malware puede ser divertido, pero asegúrese de realizarlo únicamente en un entorno seguro para evitar afectarse a usted mismo o a otros.
Fuentes
- Por qué necesita un laboratorio de análisis de malware y cómo crearlo , Medio
- WannaCry 2.0: tres formas de encontrar el Kill Switch , Colin Hardy (YouTube)
- WannaCry: una hoja de trucos para profesionales , TechRepublic
- WANACRYPT0R RANSOMWORM , blog de investigación de amenazas de BAE Systems
- Análisis de malware de WanaCry Ransomware , Abdurrahman Akkas, Christos Nestoras Chachamis, Livio Fetahu
- Perfil de malware WannaCry , FireEye
- Análisis de WCry ransomware , Secureworks
- WannaCry 2.0 ransomware , Colin Hardy (YouTube)
- ¿Qué es el ransomware WannaCry, cómo infecta y quién es el responsable? , OSC
- Inicio rápido – versión 1.10 , OllyDbg
- Un análisis técnico de WannaCry Ransomware , LogRhythm
- Metodología de análisis y descifrado de WannaCry Ransomware , medio
- WannaCry: Queremos llorar , Trustwave