Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
DAMM — Дифференциальный анализ вредоносного ПО в памяти | Kitploit
Инструменты/GitHubGitHub/504ensicslabs/damm
Криминалистика памятиАнализ уязвимостейФорензикаАнализ вредоносных программЦифровая криминалистикаРеагирование на ИнцидентыArchived
GitHub504ensicslabs/damm

DAMM

Дифференциальный анализ вредоносного ПО в памяти

Репозиторий
21547249 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Сайт

DAMM

Инструмент анализа памяти с открытым исходным кодом, построенный на Volatility. Он служит полигоном для интересных новых техник, которые затем становятся доступны сообществу. Эти техники призваны ускорить процесс расследования за счёт сокращения данных и формализации некоторых экспертных знаний.

Содержание

  • Возможности
  • Использование
    • Поддерживаемые плагины
    • Пример
    • Сравнение
    • Манипуляция уникальными идентификаторами
    • Фильтрация
    • Предупреждения
  • Наконец

Возможности

  • Около 30 плагинов Volatility объединены в ~20 плагинов DAMM (например, pslist, psxview и другие элементы объединены в плагин 'processes')
  • Можно запускать несколько плагинов за один вызов
  • Возможность сохранять результаты плагинов в базах SQLite для долговременного хранения или «кэшированного» анализа
  • Система фильтрации/типов, позволяющая легко фильтровать по атрибутам, таким как pids, для просмотра всей информации, связанной с некоторым процессом, а также точное или частичное сопоставление строк и т.д.
  • Возможность показывать различия между двумя базами результатов для одинаковых или похожих машин и управлять из командной строки тем, как работает сравнение
  • Возможность предупреждать о некоторых типах подозрительного поведения
  • Вывод для терминала, tsv или grepable

Использование ```

NOTE: Most DAMM output looks better piped through 'less -S' (upper 'S') as in:

python damm.py | less -S (for default output format)

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).

### Поддерживаемые плагины <a name="plugins"/>

Смотрите #python damm.py --info

apihooks callbacks connections devicetree dlls evtlogs handles idt injections messagehooks mftentries modules mutants privileges processes services sids timers

### Пример <a name="example"/>
Укажите профиль, как в Volatility, образ памяти и список плагинов для выполнения (или 'all'), чтобы получить вывод в терминале:```
python damm.py --profile WinXPSP2x86 -f memory.dmp -p processes | less -S
(or python damm.py --profile WinXPSP2x86 -f memory.dmp -p processes dlls modules)
(or python damm.py --profile WinXPSP2x86 -f memory.dmp -p all)
processes
offset   	name           	pid 	ppid	prio	image_path_name                                                              	create_time                 	exit_time                   	threads	session_id	handles	is_wow64	pslist	psscan	thrdproc	pspcid	csrss	session	deskthrd	command_line                                                                                                                                                                                                                                                                
0x25c8830	System         	4   	0   	8   	                                                                             	                            	                            	59     	          	403    	False   	True  	True  	True    	True  	False	False  	False
0x225ada0	alg.exe        	188 	668 	8   	C:\WINDOWS\System32\alg.exe                                                  	2010-10-29 17:09:09 UTC+0000	                            	6      	0         	107    	False   	True  	True  	True    	True  	True 	True   	True    	C:\WINDOWS\System32\alg.exe
0x2114938	ipconfig.exe   	304 	968 	8   	                                                                             	2011-06-03 04:31:35 UTC+0000	2011-06-03 04:31:36 UTC+0000	0      	0         	       	False   	True  	True  	False   	True  	False	False  	False
0x2086978	TSVNCache.exe  	324 	1196	8   	C:\Program Files\TortoiseSVN\bin\TSVNCache.exe                               	2010-10-29 17:11:49 UTC+0000	                            	7      	0         	54     	False   	True  	True  	True    	True  	True 	True   	True    	"C:\Program Files\TortoiseSVN\bin\TSVNCache.exe"
0x22df020	smss.exe       	376 	4   	11  	\SystemRoot\System32\smss.exe                                                	2010-10-29 17:08:53 UTC+0000	                            	3      	          	19     	False   	True  	True  	True    	True  	False	False  	False   	\SystemRoot\System32\smss.exe
...

Чтобы сохранить эти результаты в базе данных SQLite, просто укажите имя файла для БД:``` python damm.py --profile WinXPSP2x86 -f memory.dmp -p processes --db my_results.db

Это выведет результаты в терминал, а также сохранит их в 'my_results.db'

Чтобы снова просмотреть результаты:```
python damm.py -p processes --db my_results.db

(Обратите внимание, что вам больше не нужен образ памяти или указание профиля, и список будет появляться практически мгновенно, независимо от того, сколько времени заняла исходная обработка.)

Если позже вы захотите увидеть процессы и другие плагины:``` python damm.py --profile WinXPSP2x86 -p processes dlls modules --db my_results.db

Будет:
 1. обратиться к базе данных для вывода 'processes'
 2. запустить плагины 'dlls' и 'modules'
 3. отобразить результаты
 4. сохранить новые результаты в базе данных

После того как вы сохранили некоторые данные в базу данных, вы можете запросить их с помощью ключа -q```
python damm.py -q --db my_results.db 
profile:	WinXPSP2x86
memimg:	WinXPSP2x86/stuxnet.vmem
COMPUTERNAME:	JAN-DF663B3DBF1
plugins:	processes dlls modules

Плагины имеют атрибуты, которые могут иметь типы для фильтрации, например, для процессов: (используйте --info, чтобы просмотреть все атрибуты плагинов)``` offset name : string pid : pid ppid : pid image_path_name : string command_line : string create_time exit_time threads session_id handles is_wow64 pslist psscan thrdproc pspcid csrss session deskthrd

Эти атрибуты и типы могут быть использованы функциями различения и фильтрации DAMM

### Различие <a name="differencing"/>
Чтобы использовать механизм различения, создайте 2 базы данных из 2 различных образов памяти, например, один до и один после выполнения вредоносной программы.```
python damm.py --profile WinXPSP2x86-f before.dmp -p processes --db before.db
python damm.py --profile WinXPSP2x86 -f after.dmp -p processes --db after.db

Затем используйте опцию --diff для базовой базы данных (здесь база данных из незараженного образа памяти).``` python damm.py -p processes --db after.db --diff before.db

Скачать инструмент