일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- pythonchallenge
- 실기
- 슬퍼유
- disk
- Window process
- blkls
- ftz
- slack space
- 포렌식
- memory
- 24시간의 전사
- 생활코딩
- network
- Multimedia
- 는 하지마...
- 윈도우 프로세스 종류
- ZIP 파일구조
- 디지털포렌식 with CTF
- Multimeida
- 네트워크관리사2급
- vinetto
- 네트워크 보안
- N0Named
- CTF-D
- 생활코딩 html
- 윈도우 프로세스
- 디지털포렌식
- html
- 정보처리기사 필기 합격
- 2022시작
Archives
- Today
- Total
ssoL2 TISTORY
volatility 메모리 분석 본문
메모리 덤프뜨는 방법
- FTK imager -> 무료라서 많이 이용됨
- Encase
- 등
FTK에서 [Capture Memory]를 통해서 현재 메모리를 덤프 뜰 수 있음
이제 덤프뜬 메모리를 분석해야함 -> Volatility 도구 이용
크게 나눌 수 있음
프로세스, 네트워크, cmd, 웹기록(ie), mft파서, 프로세스 메모리 덤프, 파일 보구, 레지스트리 등
1. imageinfo
- 운영체제의 profile을 알아야 플러그인을 통한 메모리 파일을 분석할 수 있음
- 메모리가 크면 클수록 오래걸림
- 보통 서버를 용량이 매우 커서 분석하기도 오래걸려서 메모리 덤프를 하지 않음
- -> 개인 pc라는 가정하에 보통 윈도우 서비스팩 버전이 높은 것을 선택하는 것이 좋다.
* 서비스팩(Service pack) : 소프트웨어 프로그램에 대한 업데이트, 수정 사항, 개선 사항의 모임
./vol.py -f mem imageinfo
2. pstree, psscan, pslist
- pstree : 트리 구조형태로 프로세스를 출력한다.
- -> 부모 프로세스가 없는 것들을 중점으로 분석하면 악성코드 분석에 도움이 됨
- psscan : pid와 ppid로 출력되며 은닉된 프로세스까지 출력해주는 기능이 있다.
- pslist
- 세 플러그인을 다 사용해서 은닉된 프로세스가 있는지 비교 분석해야함
./vol.py -f mem --profile=profile pstree
./vol.py -f mem --profile=profile psscan
./vol.py -f mem --profile=profile pslist
3. netscan
- 리눅스의 [netstat] 명령어와 일치
- listen, close 상태도 알 수 있고, 프로세스 정보까지 나오기 때문에 편리하게 분석 가능
./vol.py -f mem --profile=profile netscan
4. cmdscan
- 윈도우 cmd에서 입력한 명령어가 있으면 메모리에 저장되기 때문에 이 내용이 출력됨
./vol.py -f mem --profile=profile cmdscan
5. iehistory
- 해당 메모리에서 웹에 접근했던 기록을 출력한다.
- 내용이 많이 출력되기 때문에 txt로 리다이렉션 저장하는 것이 좋다.
./vol.py -f mem --profile=profile iehistory >> ie.txt
6. mftparser
- MFT는 윈도우의 파일에 대한 metadata를 저장하고 있다.
- 따라서 침해사고가 일어나면 mftparser로 분석하는 것이 좋다.
- 이 또한 내용이 많이 출력되므로 txt 리다이렉션한다.
./vol.py -f mem --profile=profile mftparser >> mft.txt
7. memdump
- 프로세스에 대한 메모리 덤프
- [-p] 옵션으로 해당 pid를 가진 프로세스를, [-D] 옵션으로 ./ 현재 폴더에 저장한다
- dmp 파일이 생성되면 메모리 파일이므로 텍스트를 추출해야한다.
- -> strings.exe 도구를 이용해서 txt를 추출한다.
./vol.py -f mem --profile=profile memdump -p pid -D ./
strings.exe dmp >> txt
8. filescan
- 파일 검색
- 파일 스캔 플러그인으로 복호화할 파일을 찾을 수 있다.
- 복호화할 파일의 Offset 주소를 기억해놔야 한다 ****
- 모든 메모리 파일을 출력하는데 너무 많아 보기 힘드니까 [ | findstr "~"] 파이프와 findstr 조합으로 필터링한다.
./vol.py -f mem --profile=profile filescan | findstr "exe"
9. dumpfiles
- 파일 복구 덤프
- filescan으로 덤프 뜰 Offset 주소를 [-Q] 옵션으로 주고, [-D] 옵션으로 ./ 현재주소에 덤프뜬다.
- 보통 파일이 복구되면 dat 확장자인데 맞는 확장자로 고치면 잘 보인다.
./vol.py -f mem --profile=profile dumpfiles -Q offset -D ./
이외에도
레지스트리 하이브 관련 플러그인 (hivelist, hivedump, hibinfo 등)
윈도우 크랙 플러그인
유저 info 플러그인
서비스 info 플러그인
malfind 악성코드 분석 플러그인
사용자 id getsids, dlldump, consoles, clipboard 등 상당히 많다 거의 50이상
참고로 cmd 기반 말고도 gui도 존재한다.
계속적으로 사용해봤던 플러그인을 위와 같이 정리할 예정이다. 앞으로 추가 업데이트는 계속 된다..
10. printkey
- 지정된 레지스트리 키에 포함된 서브키, 값, 데이터 및 데이터 형식을 출력한다.
- 기본적으로 모든 hive를 검색하고 요청한 키에 대한 키 정보를 출력한다.
./vol.py -f mem --profile=profile printkey -K "registryKey"
'sec > forensic' 카테고리의 다른 글
컴퓨터 구조와 디지털 저장매체 (0) | 2021.03.07 |
---|---|
내가 찾은 악성코드 (0) | 2021.03.07 |
리눅스 로그 분석 (0) | 2021.02.27 |
jpg 파일 구조 속 썸네일 (0) | 2021.02.21 |
웨이브(.wav) 파일 분석 (0) | 2021.02.16 |
Comments