본문 바로가기
디지털 포렌식

디지털 포렌식 9

by 윤라경 2024. 10. 29.

[2024.10.29]

 

[메모리 포렌식]

 

> 메모리 덤프 도구: FTK Imager, Dumpit

 

c:\DumpIt.exe /O

 

01. Volatility 활용 덤프 파일 분석

 

c:\ vola -f [덤프 파일] [플러그인]

 

1) 운영 체제: imageinfo

c:\ vola -f 1.vmem imageinfo

 

2) 프로세스 목록 출력

 

c:\ vola -f 1.mem psscan --profile=Win7SP1x64

 

 

이번 시간의 실습을 진행하기 위해 웹 페이지와 알집을 켜 놓고 시작한다

 

 

그런 다음 FTK Imager로 메모리 덤핑 2.mem 프로세스 파일을 생성한다

 

 

바로 2.mem 파일을 pslist로 확인하게 되면 앞서 실행했던 것들이 덤프되어 있다

 덤프 파일 생성에 사용한 FTK Imager와 웹 페이지를 실행하여 msedge.exe,

마지막으로 ALZip.exe까지 있는 것까지 확인했다

 

 

다른 형식으로 pstree로 확인 시에도 위의 세 가지가 확인된다

 

 

이번에는 3.mem 덤프 프로세스 파일을 생성하여 pslist로 확인했다

이번에도 별반 다를 거 없지만 위의 세 가지는 확인되는 것으로 보인다

 

 

이번에는 Windows 7 내에서 실행할 수 있는 프로그램을 실행한다

본인의 경우 워드패드와 pestudio를 실행시켰다

 

 

덤핑을 시도하여 4.mem 프로세스 파일일 생성 후

마찬가지로 pslist를 확인해 보면 마지막에 workdpad.exe, pestudio.exe

두 개의 실행 파일이 있는 것을 확인했다

 

 

3) psscan과 palist 비교 출력

 

c:\ vola -f 1.mem psxview --profile=Win7SP1x64

 

 

이번에는 pslist와 psscan을 비교하여 출력하는 psxview를 사용했다

첫 번째와 두 번째의 True, False를 확인했을 때 서로 일치하지 않는 경우

특정 프로세스가 시스템에서 일반적인 방식으로 관리되지 않고 있을 가능성이 있다

이와 같은 불일치가 나타날 때에는, 프로세스가 악성인지 확인하기 위해

다른 플러그인 을 사용해 추가적으로 분석해 보는 것이 좋다

 

 

다음은 DumpIt이라는 메모리 덤프 도구를 사용하려고 한다

이 부분에서 Success가 나온다면 덤핑되어 파일이 생성되었다는 뜻이다

 

<옵션>

 

/O 옵션: 덤프 파일이 저장될 출력 파일 경로를 지정한다

/T 옵션: 덤프 수행 시간을 덤프 파일 이름에 타임스탬프로 포함시킨다

 

 

 

생성된 파일의 경우 이런 식으로 생성되지만,

현재 실습을 진행하기 위해 1.raw로 변경했다

 

 

항상 포렌식을 진행하기에 앞서 해당하는 파일의 프로세스 정보부터 확인해야 된다

 

 

프로세스 정보 확인 후 1.raw의 pslist를 확인한다

현재 DumpIt을 사용했기 때문에 마지막 부분에 기록된 것을 볼 수 있다

 

 

이번에는 -T 옵션을 주고 덤핑을 시도한다

 

 

두 번째의 파일을 생성하여 2.raw로 pslist를 확인한다

이번에는 알집을 실행하여 ALZip.exe가 보이고,

웹 페이지도 실행한 상태이기 때문에 msedge.exe가 확인된다

 

 

세 번째 프로세스 파일까지 생성한다

 

 

이번에는 이전 파일들과는 다르게 나타나는 것을 확인할 수 있다

 

 

4) 네트워크 정보 출력

 

c:\ vola -f 1.mem netscan --profile=Win7SP1x64

 

 

기존 파일로 netscan을 진행했다

발견한 네트워크 정보 실행 파일은 wmpnetwk.exe이다

wmpnetwk.exe 프로세스는 마이크로소프트에서 제공하는 윈도우 미디어 플레이어 

네트워크 파일 공유 서비스 응용 프로그램이다

 

 

이번에는 50번 서버인 Rocky Linux로 ftp와 telnet을 활성화시킨다

 

 

Windows에서는 자체적으로 telnet이 설치되어 있지 않기 때문에

제어판의 기능에서 텔넷 클라이언트를 다운로드한다

 

 

텔넷까지 설치를 마무리했다면,

cmd 창을 두 개를 열어 하나는 ftp, 하나는 telnet으로 접속한다

 

 

다음으로 접속한 현재 상태에서 4.raw 파일 생성한다

 

 

netscan으로 확인해 보면 현재 201번의 Windows 7 IP에서

50번 서버인 Rocky Linux로의 원격 접속을 실행했다는 뜻이다

접속을 했기 때문에 netscan을 하게 되면 접속 기록이 남게 된다

 

 

기존의 파일들을 지우고 다시 1.raw 파일을 생성하여 확인 시

ftp와 telnet의 포트 번호까지 확인할 수 있다

 

 

기존의 raw 파일들을 모두 삭제하고 FTK Imager로 2.mem 파일을 생성한다

 

 

여기에서 확인할 수 있는 것은 ftp와 telnet이다

현재 23번 포트의 telnet은 여전히 실행 중이라는 뜻이고,

21번의 ftp는 대기 상태가 길어 종료되기 직전에 덤핑되었다

 

 

다른 창으로 netstat로 상태를 확인해 보면

21번과 23번 포트의 상태를 확인할 수 있다

위에서 netscan으로 확인한 것과 같이 ftp는 종료 직전에 덤핑되었고,

23번의 telnet은 현재 원활하게 실행되는 중으로 확인된다

 

 

이번에는 하던 것들을 모두 종료시킨 다음 다시 3.mem 프로세스를 생성한다

 

 

3.mem을 netscan으로 확인 시 기존의 덤핑 파일들과는 다르게

나타나는 것도 없고 깔끔한 것을 확인할 수 있다

 

 

 

강의 소감

이번 강의에서는 메모리 포렌식을 이어서 배우게 되었다

Volatility 활용 덤프 파일 분석을 지속적으로 진행하였고,

운영 체제는 imageinfo로 프로세스 정보를 확인할 수 있었다

또한, psscan, pslist, pstree와 같이 프로세스 정보를 출력하는 방법을 익히고,

오늘은 추가로 네트워크 정보를 출력하는 netscan에 대해서도 배웠다

각각의 과정을 수행하면서 어떻게 진행되는지 알게 되니까 한결 이해하기 쉬운 것 같다

이런 과정들은 손에 익도록 연습을 많이 해야겠다

'디지털 포렌식' 카테고리의 다른 글

디지털 포렌식 11  (0) 2024.10.31
디지털 포렌식 10  (1) 2024.10.30
디지털 포렌식 8  (0) 2024.10.28
디지털 포렌식 7  (2) 2024.10.25
디지털 포렌식 6  (0) 2024.10.24