
Plugin de Python para IDA para escanear binarios con reglas Yara
Usa este plugin de IDA Python para escanear tu binario con reglas de Yara. Todas las coincidencias de las reglas de Yara se listarán con su offset para que puedas saltar a ellas rápidamente.
🍻 Todo el crédito de este plugin y su código es para David Berard (@p0ly) 🍻
Este plugin está copiado del excelente plugin findcrypt-yara de David. Este plugin simplemente extiende el suyo para usar cualquier regla Yara.
El plugin se puede lanzar desde el menú usando Edit->Plugins->FindYara o con la combinación de teclas Ctrl-Alt-Y. Al lanzarlo, FindYara abrirá un diálogo de selección de archivo que te permite seleccionar tu archivo de reglas Yara. Una vez seleccionado el archivo de reglas, FindYara escaneará el binario cargado en busca de coincidencias con las reglas.
Todas las coincidencias de reglas se muestran en un cuadro de selección que te permite hacer doble clic en las coincidencias y saltar a su ubicación en el binario.
FindYara escanea las secciones PE cargadas en IDA, esto significa que las reglas Yara que incluyen coincidencias en la cabecera PE no coincidirán en IDA. IDA no carga la cabecera PE como una sección escaneable. Además, si no seleccionaste Cargar recursos al cargar tu binario en IDA, entonces la sección de recursos no estará disponible para escanear.
Esto puede llevar a situaciones frustrantes en las que una regla Yara coincide fuera de IDA pero no al usar FindYara. Si te encuentras con esto, intenta editar la regla Yara para eliminar las coincidencias en la cabecera PE y las secciones de recursos.
Antes de usar el plugin, debes instalar el módulo Python Yara en tu entorno IDA. La forma más sencilla de hacerlo es usar pip desde una terminal fuera de IDA.
pip install yara-python.
No instales el módulo yara por error. El módulo Python yara interferirá con tu módulo yara-python, por lo que debe desinstalarse si se instaló por error.
Una vez que tengas instalado el módulo Yara, simplemente copia la última versión de findyara.py en tu directorio de plugins de IDA y ¡estarás listo para empezar a escanear con Yara!
FindYara ha sido desarrollado para usarse con IDA 7+ y Python 3 y no es compatible con versiones anteriores.
FindYara requiere el módulo Python Yara con versión 4+ instalado. Las versiones anteriores de Yara no son compatibles con el plugin y pueden causar problemas debido a cambios disruptivos en el formato de coincidencia de Yara.
Un enorme agradecimiento a David Berard (@p0ly) - Síguelo en GitHub aquí! Esto es mayormente su código y él recibe todo el crédito por el marco original del plugin.
Además, una mención especial a Alex Hanel (@nullandnull) - Síguelo en GitHub aquí. Alex me ayudó a entender cómo se usan los métodos IDC. ¡Su libro de IDA Python es una referencia fantástica!