
Analizador estático para ejecutables PE con detección basada en complementos de empaquetadores, compiladores, importaciones sospechosas, constantes criptográficas y firmas de ClamAV. Admite envío de hash a VirusTotal y verificación de authenticode.
Manalyze es una herramienta de análisis estático para archivos PE que puede usar para realizar una evaluación primaria en un ejecutable (o conjunto de ejecutables). Recoge señales débiles que podrían indicar comportamiento malicioso y muestra información que puede ayudar a un análisis manual posterior.
Si desea ver algunos informes de muestra generados por la herramienta, no dude en probar el servicio web que creé para ella: manalyzer.org.
Manalyze fue escrito en C++ para Windows y Linux y se publica bajo los términos de la . Es un analizador robusto para archivos PE con una arquitectura de complementos flexible que permite a los usuarios analizar archivos estáticamente en profundidad. Manalyze...
WriteProcessMemory + CreateRemoteThread)Hay pocas cosas que odie más que descargar un proyecto de código abierto y pasar dos horas intentando compilarlo. Por eso hice todo lo posible para que Manalyze sea lo más fácil de compilar posible. Si estas pocas líneas no funcionan para usted, entonces he fallado en mi trabajo y debería contactarme para que pueda solucionarlo.
$> [sudo or as root] apt-get install libboost-dev libboost-system-dev libssl-dev build-essential cmake git
$> [alternatively, also sudo or as root] pkg install boost libressl cmake git
$> git clone https://github.com/JusticeRage/Manalyze.git && cd Manalyze
$> cmake .
$> make -j5
$> cd bin && ./manalyze --version
Nota: el complemento VirusTotal es opcional y requiere la biblioteca Boost.System.
Finalmente, si desea acceder a Manalyze desde cualquier directorio de su máquina, instálelo usando $> make install desde la carpeta raíz del proyecto.
cd boost_1_XX_0 && ./bootstrap.bat && ./b2.exe --build-type=complete --with-systemBOOST_ROOT que contenga la ruta a su carpeta boost_1_XX_0.git clone https://github.com/JusticeRage/Manalyze.git && cd Manalyze && cmake .manalyze.sln debería haber aparecido en la carpeta Manalyze!# Skip these two lines if you already have a sane build environment
user$ xcode-select --install
user$ sudo installer -pkg /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg -target /
user$ git clone https://github.com/JusticeRage/Manalyze.git && cd Manalyze
user$ brew install openssl boost
user$ cmake . -DOPENSSL_ROOT_DIR=/usr/local/opt/openssl/ && make -j5
user$ bin && ./manalyze --version
Si necesita compilar Manalyze en una máquina sin acceso a Internet, debe obtener manualmente los siguientes proyectos:
Coloque las dos carpetas en la carpeta external como external/yara y external/hash-library respectivamente. Luego ejecute cmake . -DGitHub=OFF y continúe como lo haría normalmente.
Una imagen Docker para Manalyze es proporcionada por la comunidad. Ejecute docker pull evanowe/manalyze y obtenga información adicional aquí.
Dado que las firmas de ClamAV son voluminosas y se actualizan regularmente, no tenía mucho sentido distribuirlas desde GitHub o con el binario. Cuando intente usar el complemento ClamAV por primera vez, probablemente encontrará el siguiente mensaje de error: [!] Error: Could not load yara_rules/clamav.yara. Para generarlas, ejecute el script Python update_clamav_signatures.py ubicado en bin/yara_rules (árbol de código fuente) o ${CMAKE_INSTALL_DATADIR}/manalyze/yara_rules (instalado, comúnmente /usr/share/manalyze/yara_rules o /usr/local/share/manalyze/yara_rules).
Ejecute el script cada vez que desee actualizar las firmas. Los cachés compilados de Yara se almacenan en $XDG_CACHE_HOME/manalyze/yara_rules o ~/.cache/manalyze/yara_rules, y se pueden sobrescribir con MANALYZE_CACHE_DIR.
Las ubicaciones de instalación predeterminadas (respetando CMAKE_INSTALL_PREFIX) son:
${CMAKE_INSTALL_SYSCONFDIR}/manalyze/manalyze.conf (often /etc/manalyze/manalyze.conf or /usr/local/etc/manalyze/manalyze.conf)${CMAKE_INSTALL_DATADIR}/manalyze/yara_rules (often /usr/share/manalyze/yara_rules or /usr/local/share/manalyze/yara_rules)${CMAKE_INSTALL_LIBDIR}/manalyze/pluginsPuede anular estas con variables de entorno:
MANALYZE_CONFIG_DIR, MANALYZE_DATA_DIR, MANALYZE_PLUGIN_DIR, MANALYZE_CACHE_DIR.
$ ./manalyze.exe --help
Usage:
-h [ --help ] Displays this message.
-v [ --version ] Prints the program's version.
--pe arg The PE to analyze. Also accepted as a positional
argument. Multiple files may be specified.
-r [ --recursive ] Scan all files in a directory (subdirectories will be
ignored).
-o [ --output ] arg The output format. May be 'raw' (default) or 'json'.
-d [ --dump ] arg Dump PE information. Available choices are any
combination of: all, summary, dos (dos header), pe (pe
header), opt (pe optional header), sections, imports,
exports, resources, version, debug, tls, config, delay, rich
--hashes Calculate various hashes of the file (may slow down the
analysis!)
-x [ --extract ] arg Extract the PE resources to the target directory.
-p [ --plugins ] arg Analyze the binary with additional plugins. (may slow
down the analysis!)
Available plugins:
- clamav: Scans the binary with ClamAV virus definitions.
- compilers: Tries to determine which compiler generated the binary.
- peid: Returns the PEiD signature of the binary.
- strings: Looks for suspicious strings (anti-VM, process names...).
- findcrypt: Detects embedded cryptographic constants.
- packer: Tries to structurally detect packer presence.
## Python bindings (manapy)
Python bindings live under `manapy/` and are imported as `manalyze`.
From the repository root:
cd manapy python -m pip install .
- imports: Looks for suspicious imports.
- resources: Analyzes the program's resources.
- mitigation: Displays the enabled exploit mitigation techniques (DEP, ASLR, etc.).
- overlay: Analyzes data outside of the PE's boundaries.
- authenticode: Checks if the digital signature of the PE is valid.
- virustotal: Checks existing AV results on VirusTotal.
- all: Run all the available plugins.
Examples:
manalyze.exe program.exe
manalyze.exe -dresources -dexports -x out/ program.exe
manalyze.exe --dump=imports,sections --hashes program.exe
manalyze.exe -r malwares/ --plugins=peid,clamav --dump all
¡Contácteme o abra un pull request si desea ser agregado a esta lista!