tag

Debugging

EBFE, un simple truco para contrarrestar técnicas de Process Replacement

Process Replacement es un método para sobrescribir el espacio de memoria de un proceso en ejecución por uno con fines maliciosos, pero EBFE lo revierte.

Cómo depurar malware en VBS o JScript con Visual Studio

Configuraremos un entorno de análisis dinámico para saber cómo depurar malware en VBS, dada la cantidad de amenazas desarrolladas en lenguajes de scripting.

Solución al Desafío ESET #30 sobre Ingeniería Reversa

Dado que el reto radica en descifrar URLs, entendamos cómo funciona el algoritmo de descifrado para poder emularlo utilizando Ingeniería Reversa.

Introducción al uso de Pintools para el análisis de malware

Pin es un entorno de trabajo que permite escribir código a ejecutarse entre cada bloque de instrucciones. Veamos casos de aplicación en análisis de malware.

Análisis de apps maliciosas mediante depuración con Appie

Analizar apps maliciosas mediante debugging permite modificar el flujo de ejecución según se requiera. Veremos cómo hacerlo de manera sencilla con Appie.

Hooks en la API de Windows y cómo se roba información

Analizaremos las técnicas de hooking de llamadas a la API de Windows utilizadas por código inyectado mediante la modificación de una llave del registro.

Un script de Python para ver strings cifradas

Analizaremos una forma automatizada de extraer las strings de Python e Immunity Debugger.

Depuración de aplicaciones Android en entornos de producción

El protocolo JDWP es también utilizado en procesos de depuración en aplicaciones Android. Veamos cómo hacerlo en forma segura.

Protegiendo la depuración remota en Java

El proceso de depuración crea un punto de acceso a las aplicaciones que debe ser cuidadosamente administrado y monitoreado para evitar vulnerabilidades.

Luchando contra strings cifradas

Cuando estamos reverseando aplicaciones maliciosas, a veces todas las strings serán visibles en texto plano. En otros casos, encontraremos porciones cifradas con mayor o menor grado de complejidad. Hoy expondremos un caso de este último tipo y lo analizaremos de forma intuitiva.

Debuggeando archivos DLL empaquetados

Cuando empezamos a debuggear un archivo dll con OllyDbg, notaremos que el proceso es distinto en comparación con un ejecutable típico: la dll no es cargada en memoria de forma independiente, sino mediante otro archivo ejecutable que nos ofrece Olly. Por desgracia, si dicha dll está comprimida con algún packer, al debuggear podríamos obtener un entry point posterior a la rutina de unpacking. En este post exploraremos un pequeño truquito para solventar el problema mencionado.

Unpacking en ejemplos prácticos

Si bien las muestras que recibimos a diario en el Laboratorio de Investigación de ESET Latinoamérica presentan packers muy diversos, la mayoría de ellas no se encuentran empaquetadas, o tienen alguna versión de UPX. Por tal motivo, me pareció una buena idea analizar esas muestras en este post, de tal modo de realizar el unpacking en forma práctica.

Complicando el análisis: algunas técnicas de anti-debugging

Ciertas instrucciones, estructuras de datos o caminos de ejecución pueden no quedar muy claros en el análisis con desensambladores. Allí, los debuggers son la alternativa natural. Sin embargo, así como existen técnicas utilizadas por los desarrolladores de malware para complicar el desensamblado, también podemos encontrar diversos procedimientos anti-debugging que analizaremos en este post.

5 consejos para iniciarte en el análisis de malware

El análisis de malware no es un proceso trivial. Algunos lo ven como algo monótono y aburrido, pero otros lo encuentran apasionante; mientras que algunos llevan a cabo análisis exitosos en poco tiempo, otros se enredan utilizando herramientas o sistemas de análisis automatizados sin llegar a ningún lugar. Ahora, ¿qué se debería tener en cuenta

Cómo entender códigos maliciosos escritos en AutoIt

Dentro de los lenguajes utilizados para programar códigos maliciosos encontramos AutoIt, veamos como podemos llegar a analizar este tipo de amenazas ya que en los últimos meses hemos detectado varias muestras de malware desarrolladas en este lenguaje alojadas en servidores vulnerados de Latinoamérica. La muestra sobre la cual vamos a realizar el análisis corresponde a una campaña de propagación que buscaba

Instrucciones, registros y operadores en x86

Tal como venimos compartiendo con ustedes durante las últimas semanas, hoy tenemos una nueva entrega de esta seguidilla de posts sobre la parte teórica, un poco pesada pero muy útil sobre cómo funcionan los sistemas y de qué manera nos sirven para el análisis de códigos maliciosos. En este post vamos a mencionar cómo se compone

Introducción al análisis estático en Linux: debugging con GDB

La diversidad de códigos maliciosos ha conllevado a que los analistas deban enfocarse en diversas plataformas para realizar los análisis correspondientes. En este caso, profundizaremos sobre GDB, el debugger por defecto presente en las distintas distribuciones Linux. Anteriormente cubrimos temas referentes a herramientas para análisis dinámico de malware, en este caso profundizaremos aquello referido a

Crackme de ESET para Ekoparty: ¡ya están los ganadores!

Hace aproximadamente 1 mes publicamos un crackme creado completamente por ESET Latinoamérica. El fin del mismo era poder seleccionar a 5 participantes que lo hubieran resuelto de manera correcta, los cuales ganarían una entrada al training que dictaremos este año en la Ekoparty. Como bien lo indica el titulo de este post, ya tenemos a

El disfraz del malware

En este post daremos una breve explicación de una técnica de protección de archivos llamada empaquetado. La misma consiste en el “encapsulamiento” del código de una aplicación, logrando una serie de beneficios que detallaremos a continuación. Los archivos ejecutables de programas tienen muchas formas de proteger su código para evitar su: Modificación : Principalmente en

Síguenos