메모리 분석
1. 메모리 덤프
AccessData FTK Imager 을 통해 메모리 덤프를 만든다.
volatility
distorm3-3.3.0.win32
PIL-1.1.7.win32-py2.7.exe
pycrypto-2.6.win32-py2.7.exe
위의 exe를 다 설치
vol.py -h //도움말
1. 프로파일 확인(Win7SP1x64)
-플러그인 : imageinfo
vol.py -f memdump.vmem imageinfo //메모리 정보보기.
vol.py -f memdump.vmem imageinfo >> imageinfo.txt //파일로 저장.
2. 프로세스 확인.
-플러그인 : pstee , psscan , pslist
3개중 pstree , psscan 만 돌려도 상관 없음. psscan은 루트킷도 발견가능
vol.py -f memdump.vmem --profile=Win7SP1x64 pstree >> pstree.txt
vol.py -f memdump.vmem --profile=Win7SP1x64 pslist >> pslist.txt
vol.py -f memdump.vmem --profile=Win7SP1x64 psscan >> psscan.txt
3. 네트워크 확인
- 플러그인 : netscan
vol.py -f memdump.vmem --profile=Win7SP1x64 pstree netscan >> netscan.txt
4. 사용한 명령어 확인
- 플러그인 : cmdscan
vol.py -f memdump.vmem --profile=Win7SP1x64 cmdscan >> cmdscan.txt
5. IE 확인
- 플러그인 : iehistory
vol.py -f memdump.vmem --profile=Win7SP1x64 iehistory >> iehistory.txt
6. MFT 파서 확인
MFT : 실제 가지고 있는 정보에 메타데이터(수정 삭제, 접근 시간 등을 의미, 속성정보)
- 플러그인 : mftparser
vol.py -f memdump.vmem --profile=Win7SP1x64 mftparser >> mftparser.txt
$STANDARD_INFORMATION
//파일의 생성, 수정시간
//파일을 수정하게 되면 수정 시간이 변한다.
$FILE_NAME
//파일의 생성 , 수정 시간, 파일 이름과 확장자의 정보가 있다.
// 생성시간을 수정 해도 바뀌지 않는다.
$DATA
//700바이트 보다 작은 데이터들이 들어간다.
7. 특정 프로세스에 대한 메모리 덤프
- SkypeC2AutoUpd 프로세스 ID : 1364 //pstree를 통해 확인
vol.py -f memdump.vmem --profile=Win7SP1x64 memdump -p 1364 -D ./
strings을 사용해 텍스트 파일로 저장 시켜 연다.
strings 1364.dmp >> 1364.txt
8. 파일 검색 및 복구
-'png' 파일 검색
vol.py -f memdump.vmem --profile=Win7SP1x64 filescan | findstr "png" >> png.txt
-'png' 파일 복구
vol.py -f memdump.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007d40f400 -D ./ //offset주소
file.None.0xfffffa8004260240.dat 로 나오는데 png로 변환해서 열면 된다.
복원을 해도, 날짜가 복원한 날짜로 나오므로, 증거자료로 쓰기에는 조금 부적절하다.
8. 'SkypeC2AutoUpd' 파일추출
-'SkypeC2AutoUpd' 파일 검색
vol.py -f memdump.vmem --profile=Win7SP1x64 filescan | findstr "SkypeC2AutoUpd" >> SkypeC2AutoUpd.txt
-'SkypeC2AutoUpd' 파일 추출
vol.py -f memdump.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007dbb69b0 -D ./
확장자를 .exe로 변경
virustotal 사이트를 통해 바이러스 인지 확인.
PE파일 이란? windows에서 실행하는 파일들을 의미한다.
PEview를 통해 img 파일을 연다.
SECTION.rdata -> IMPORT Directory Table에서 사용중인 dll파일을 알아낸다.
PeStudio842.exe 을 통해 img파일 연다.
Indicators
Sections
Imported Libraries
WS2_32.dll
iphlpapi.dll
COMCTL32.dll
AVICAP2.dll
MSVFW32.dll
WINMM.dll
KERNEL32.dll
USER32.dll
GDI32.dll
ADVAPI32.dll
SHELL32.dll
들이 위험하다는 것을 알려줌
WS2_32.dll
iphlpapi.dll
COMCTL32.dll
AVICAP2.dll
MSVFW32.dll
WINMM.dll
KERNEL32.dll
USER32.dll
GDI32.dll
ADVAPI32.dll
SHELL32.dll
\AppData\Local\Temp\에서 위의 dll 파일과 매칭되는 파일을 찾는다.
많이 보이는애도 찾는다.
AVICAP32.dll tv_x64.exe tv_x64.dll 이 가장 많이 보인다. 이들을 각각 파일 검색한다.
AVICAP32.dll
vol.py -f memdump.vmem --profile=Win7SP1x64 filescan | findstr "avicap32.dll" >> AVICAP32.dll.txt
tv_x64.exe
vol.py -f memdump.vmem --profile=Win7SP1x64 filescan | findstr "tv_x64.exe" >> tv_x64.exe.txt
tv_x64.dll
vol.py -f memdump.vmem --profile=Win7SP1x64 filescan | findstr "tv_x64.dll" >> tv_x64.dll.txt
위의 offset 번호를 통해 복구한후 , virustotal로 확인.
tv_x64.dll //바이러스 x
vol.py -f memdump.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007d8b4c90 -D ./
tv_x64.exe ////바이러스 x
vol.py -f memdump.vmem --profile=Win7SP1x64 dumpfiles -Q 0x000000007e379340 -D ./
AVICAP32.dll //temp 파일에 있는 offset을 가져옴. //바이러스o
vol.py -f memdump.vmem --profile=Win7SP1x64 dumpfiles -Q 0x00000000059f8bd0 -D ./
윈도우 서버분석
1.OTL by OldTimer를 통해
Processes Modules
Services Drivers
Standard Registry
Extra Registry
을 2000일 동안 분석.
2.추출하면 메모장으로 뜬다. 거기서 mtsfocom.exe을 검색
3.FTK Imager 실행
4.add 를 통해 위의 windows7.vmdk 을 추가 한다. (img file을 통해 출력)
5.root -> $LogFile $MFT 를 export file을 통해 추출
6.NTFS Log Tracket 는 위의 로그파일을 읽을 수 있게 해준다.
7.db저장
8. 저장한 것을 엑셀파일로 변환.
9. LogFile.scv에서 mtsfocom.exe 파일을 검색
10. mtsfcom.exe 를 디버거로 실행