4 de dezembro de 2015

Análise diferencial de memória para análise de malwares - DAMM

DAMM – Differential Analysis of Malware in Memory

Esse é o nome da ferramenta que pode agilizar e muito o processo de análise dinâmica e comportamental de um malware em uma máquina real (usada para esse fim) ou virtual.

A ferramenta foi desenvolvida em cima do Volatility, que é outra excelente ferramenta para análise de memória física, e conta com os plugins desse último além de seus próprios plugins.

DAMM funciona basicamente comparando pedaços da memória infectada, com pedaços de memória de uma máquina não infectada (obviamente ambas as máquinas precisam ter as mesmas configurações e caracaterísticas), e assim vai listando tudo aquilo que for detectado de diferente, como: DLLs, processos sendo executados, arquivos ocultos e etc.

Abaixo podemos ver algo do help dessa ferramenta:

python damm.py -h
usage: damm.py [-h] [-d DIR] [-p PLUGIN [PLUGIN ...]] [-f FILE] [-k KDBG]
               [--db DB] [--profile PROFILE] [--debug] [--info] [--tsv]
               [--grepable] [--filter FILTER] [--filtertype FILTERTYPE]
               [--diff BASELINE] [-u FIELD [FIELD ...]] [--warnings] [-q]
DAMM v1.0 Beta
optional arguments:
  -h, --help            show this help message and exit
  -d DIR                Path to additional plugin directory
  -p PLUGIN [PLUGIN ...]
                        Plugin(s) to run. For a list of options use --info
  -f FILE               Memory image file to run plugin on
  -k KDBG               KDBG address for the images (in hex)
  --db DB               SQLite db file, for efficient input/output
  --profile PROFILE     Volatility profile for the images (e.g. WinXPSP2x86)
  --debug               Print debugging statements
  --info                Print available volatility profiles, plugins
  --tsv                 Print screen formatted output.
  --grepable            Print in grepable text format
  --filter FILTER       Filter results on name:value pair, e.g., pid:42
  --filtertype FILTERTYPE
                        Filter match type; either "exact" or "partial",
                        defaults to partial
  --diff BASELINE       Diff the imageFile|db with this db file as a baseline
  -u FIELD [FIELD ...]  Use the specified fields to determine uniqueness of
                        memobjs when diffing
  --warnings            Look for suspicious objects.
  -q                    Query the supplied db (via --db).

Algumas das detecções que a ferramenta faz, listo abaixo:
  • incorrect parent/child relationships
  • hidden processes
  • incorrect binary path
  • incorrect default priority
  • incorrect session
  • loaded/run from temp directory
  • bogus extensions
  • hidden DLLs
  • PE headers in injections
  • SIDs giving domain access
  • debug privileges


Aqui vocês podem saber mais sobre a ferramenta, ou baixá-la diretamente desse link.

Divirtam-se!

Nenhum comentário:

Postar um comentário