Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
DAMM — 메모리 내 악성코드의 차등 분석 | Kitploit
도구/GitHubGitHub/504ensicslabs/damm
Memory ForensicsVulnerability AnalysisForensicsMalware AnalysisDigital ForensicsIncident ResponseArchived
GitHub504ensicslabs/damm

DAMM

메모리 내 악성코드의 차등 분석

저장소 보기
21547169년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

DAMM

Volatility를 기반으로 구축된 오픈 소스 메모리 분석 도구입니다. 커뮤니티에 제공할 흥미로운 새로운 기술을 위한 실험장으로 의도되었습니다. 이러한 기술은 데이터 축소와 일부 전문 지식의 체계화를 통해 조사 과정을 가속화하려는 시도입니다.

목차

  • 기능
  • 사용법
    • 지원 플러그인
    • 예제
    • 차이 분석
    • 고유 ID 조작
    • 필터링
    • 경고
  • 마무리

기능

  • 약 30개의 Volatility 플러그인이 약 20개의 DAMM 플러그인으로 결합됨 (예: pslist, psxview 및 기타 요소가 'processes' 플러그인으로 결합됨)
  • 한 번의 호출로 여러 플러그인을 실행 가능
  • 보존 또는 "캐시된" 분석을 위해 플러그인 결과를 SQLite 데이터베이스에 저장하는 옵션
  • pid와 같은 속성을 기준으로 쉽게 필터링하여 특정 프로세스와 관련된 모든 정보를 확인하고 문자열에 대한 정확한 또는 부분 일치 등을 가능하게 하는 필터링/타입 시스템
  • 동일하거나 유사한 시스템에 대한 두 결과 데이터베이스 간의 차이를 표시하고 명령줄에서 차이 분석 작동 방식을 조작하는 기능
  • 특정 유형의 의심스러운 동작에 대해 경고하는 기능
  • 터미널, 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

Will:
 1. db에서 'processes' 출력을 조회한다
 2. 'dlls' 및 'modules' 플러그인을 실행한다
 3. 결과를 표시한다
 4. 새로운 결과를 db에 저장한다

일단 db에 일부 데이터를 저장한 후에는 -q 스위치로 쿼리할 수 있다.```
python damm.py -q --db my_results.db 
profile:	WinXPSP2x86
memimg:	WinXPSP2x86/stuxnet.vmem
COMPUTERNAME:	JAN-DF663B3DBF1
plugins:	processes dlls modules

Plugins have attributes that can have types for filtering, e.g., for processes: (use --info to see for all plugin attributes)``` 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개의 데이터베이스를 생성하십시오.```
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

그런 다음 기준 db(여기서는 감염되지 않은 메모리 이미지의 db)에 --diff 옵션을 사용하세요.``` python damm.py -p processes --db after.db --diff before.db

도구 다운로드