Skip to content

FrancoGarciaC9701/Malware-Analyzer-with-Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🛡️ Malware Analyzer with Python

Herramienta de análisis de malware desarrollada en Python, que permite escanear archivos sospechosos utilizando la API de VirusTotal y generar reportes automáticos en formato JSON.

🚀 Características principales

  • ✅ Análisis de Hashes,
  • ✅ Extracción de Strings
  • ✅ Análisis con VirusTotal
  • ✅ Extracción de IOCs
  • ✅ Análisis de Entriopía
  • ✅ Extracción de Metadatos
  • ✅ Analizar archivos PE
  • ✅ Análisis con YARA
  • ✅ Menú interactivo para facilitar el uso de la herramienta
  • ✅ Generación automática de reportes en formato JSON
  • ✅ Automatización del proceso de escaneo
  • ✅ Preparado para integración con flujos de trabajo de ciberseguridad

🧩 Requisitos

  • Python 3.x
  • Librerías necesarias:
    • requests
    • json
    • os
    • sys

⚠️ Asegúrate de tener una API Key válida de VirusTotal para poder utilizar la herramienta.

Instalación de dependencias:

bash:

  • pip install -r requirements.txt
  • pip install pefile
  • pip install colorama (opcional)

⚙️ Instalación y uso

1.Clona el repositorio: git clone git@github.com:FrancoGarciaC9701/Malware-Analyzer-with-Python.git cd Malware-Analyzer-with-Python

2.Ejecuta la herramienta: python malware_analyzer.py

3.Al iniciar, se mostrará un menú interactivo donde puedes elegir entre las siguientes opciones: [1] Calcular hashes [2] Extraer strings [3] Analizar con YARA [4] Escanear con VirusTotal [5] Extraer IOCs [6] Analizar entropía [7] Extraer metadatos [8] Analizar archivo PE [9] Ejecutar todas las técnicas [0] Salir

📂 Reportes

Los reportes de análisis se guardan automáticamente en formato .json dentro de la carpeta reportes/.

🔍 Funcionalidades del Analizador de Malware

Este proyecto realiza un análisis estático básico de archivos sospechosos, utilizando varias técnicas y herramientas de ciberseguridad para detectar posibles amenazas. A continuación, se detallan las funcionalidades incluidas:

📂 Metadatos

Extrae información sobre el archivo analizado, como:

  • Fecha de creación y modificación.
  • Tamaño del archivo.
  • Tipo de archivo.
  • Permisos y más.

🎲 Entropía

Calcula la entropía del archivo para detectar posibles técnicas de ofuscación o empaquetado:

  • Alta entropía: posible archivo cifrado o comprimido (sospechoso).
  • Baja entropía: archivo probablemente limpio.

🧩 Archivos PE (Portable Executable)

Analiza la estructura interna de archivos ejecutables de Windows (.exe, .dll):

  • Importaciones y exportaciones de funciones.
  • Secciones del archivo.
  • Dirección de entrada.
  • Librerías utilizadas.

🧬 Hashes

Genera múltiples hashes del archivo para identificación y verificación:

  • MD5
  • SHA-1
  • SHA-256

Sirven para verificar integridad y consultar en bases de datos de malware.

📝 Extracción de Strings

Extrae cadenas de texto legibles dentro del archivo para identificar:

  • URL sospechosas.
  • Direcciones IP.
  • Comandos del sistema.
  • Palabras clave relacionadas con malware.

🦠 Análisis con VirusTotal

Utiliza la API de VirusTotal para escanear el archivo y consultar su reputación:

  • Reporte de detección por múltiples motores antivirus.
  • Información adicional sobre el archivo.

📖 Reglas YARA

Escanea el archivo utilizando reglas YARA personalizadas para detectar patrones de comportamiento malicioso conocidos.

📍 Extracción de IOCs (Indicadores de Compromiso)

Identifica y extrae IOCs presentes en el archivo, tales como:

  • IPs.
  • Dominios.
  • URLs maliciosas.
  • Hashes sospechosos.

Estos indicadores son fundamentales para la investigación y respuesta ante incidentes.

🧑‍💻 Autor

Franco García LinkedIn | https://github.com/FrancoGarciaC9701

📄 Licencia

Este proyecto está bajo la licencia MIT. Consulta el archivo LICENSE para más detalles.

Muchas gracias por tomarse la molestia de leerlo, más adelante voy a estar subiendo más proyectos.