메모리 포렌식이란
- 먼저 도구를 이용하기 전 메모리 포렌식에 대해 설명하고자 합니다.
- 메모리 포렌식은 주 기억장치(RAM)에 남아있는 휘발성 데이터 흔적들을 분석하는 기법입니다.
RAM에는 프로세스, 네트워크, 사용자 활동 정보 등 특이한 정보들이 담겨있으며 이러한 특성을 통해 메모리 포렌식 기법으로 악성코드 감염여부에 확인을 할 수 있습니다.
Volatility란?
- 메모리포렌식에서 덤프파일 분석을 할 때 가장 많이 사용하고 있는 도구
- Open Source이며 CLI 인터페이스
- 플러그인이 존재하며 각 명령어가 존재
https://github.com/volatilityfoundation/volatility/wiki/Memory-Samples
GitHub - volatilityfoundation/volatility: An advanced memory forensics framework
An advanced memory forensics framework. Contribute to volatilityfoundation/volatility development by creating an account on GitHub.
github.com
1. 이미지 식별
[imageinfo] 명령어를 통해 이미징 파일의 OS 정보 식별을 통해 vmem파일이 Windows XP임을 확인
2. 프로세스 식별
[pstree] 명령어를 통해 이미징 파일 수집떄 실행되고 있던 프로세스 목록을 찾는다. 대부분 기본 Windows에 있는 exe 파일이며, 특이점으론 reader_sl.exe는 어도비에서 설치해야하는 프로그램인 것으로 확인했다.
[psxview] 명령어를 통해 숨겨진 프로세스 확인시 특이사항을 발하지 못함
3. 네트워크 정보 식별
[connscan] 명령어를 통해 활성 상태와, 비활성 종료된 네트워크 연결정보 확인하였다. Pid 1640의 부모 프로세스인 Pid 1484인 explorer.exe의 TCP 연결 흔적인 41.168.5.140와 125.19.103.198 특이한 IP주소를 발견했다.
[sockets] 명령어를 통해이전에 실행했던 pstree 명령어로 확인해보니 cmdline 명령어에서 확인했었던 것과 의심스러운 프로그램이 일치한다.
Reader.sl.exe로 Pid 1640을 의심.
sockets 명령어를 실행해 활성화된 네트워크 연결 정보를 확인. (netscan과 같은기능) 모두 172.16 대역으로 연결되어있음
4. 콘솔 명령어 정보 식별
[cmdline] 명령어를 통해 pstree로 확인한 특이점인 Pid값 1640 Reader_sl.exe가 실행되었다는 이력을 확인 할 수 있으나 악성행위인지는 파악 불가. 또한 Pid 1640의 부모 프로세스인 1484도 실행되었다는 것을 확인할 수 있다.
5. 환경변수 정보 식별
[envars] 명령어를 통해 Pid 1640의 환경 변수 정보를 확인한 결과, 컴퓨터 hostname은 'ACCOUNTING12', 폴더내 경로에서 사용자 이름은 'Robert'를 확인하였다.
6. 프로세스 파일 추출
[procdump] 명령어를 통해 해당 프로세스의 실행파일인 exe를 덤프 시키면 파일이 생성된다.
Virustotal 백신 엔진 분석시 위와 같은 결과를 얻을 수 있다.
[memdump] 명령어를 통해 웹사이트 및 기타 구성 분석을 위해 메모리 덤프를 실행해 내부 문자열 추출을 해본다.
1. Pid 1640 메모리 덤프를 통해 1640.dmp파일을 추출
2. Strings를 통해 해당 dmp파일내의 문자열을 추출 (번외로 Select-String을 통해도 문자열 추출이 가능하다.)
3. 추출된 문자열을 분석
추출한 파일에서 아까 의심했던 IP주소 : 41.168.5.140, 125.19.103.198로 문자열 검색을 해보았다. /zb/v_01_a/in/ URI를 발견하였고, cp.php 파일을 발견하였다.
추가적으로 은행에 관련된 도메인이 있는 것으로 보아 금융권을 노리는 해당 파일은 악성코드로 볼 수 있다. 이렇게 은행의 목록들과 C&C 서버 목록을 추출해보았다.
7. 기타 추가 분석
[printkey] 명령어를 통해 레지스트리(Software\Microsoft\Windows\CurrentVersion\Run)를 파일로 추출해 프로세스 자동 실행과 관려된 흔적을 분석해보았다. (KB00207877.exe파일이 자동 실행으로 등록되는 것을 확인)
8. 구글링을 통한 OSINT 분석
zb/v_01_a/in/cp.php를 검색한 결과. 악성코드 배경 및 구체적 정보를 확인 할 수 있다. 과거 분석된 기이력을 보면 Botnet의 일종으로 은행의 자격증명을 수집하는 악성코드임을 확인했다.
https://eternal-todo.com/blog/sopelka-botnet-feodo-tatanga-citadel-panel
[결론]
따라서 cridex.vmem 파일 분석 결과 악성코드에 감염되었음을 확인 할 수 있다.