본문 바로가기

디지털포렌식 with CTF/메모리 포렌식 (Memory)

(27)
[메모리 포렌식] GrrCON 2016 #2 #2번 문제는 #1번 문제에서 발견한 악성 코드의 User Agent 문자열을 발견하는 문제입니다. 악성 코드가 SkypeC2AutoApd 인 것을 발견했으니, volatility의 pslist 플러그인으로 pid를 찾아줍니다. pid가 1364인 것을 확인하였으니, memdump 플러그인으로 덤프해 주겠습니다. strings 프로그램으로 읽기 쉽게 txt 파일로 변환하였고, 이 파일을 텍스트 에디터로 열어서 분석하겠습니다. 파일에서 agent로 검색하면 useragent를 찾을 수 있습니다.
[메모리 포렌식] GrrCON 2016 #1 GrrCON 2016의 #1번 문제입니다. #1번과 #2번은 win7ecorpoffice~ 파일을 사용한다고 합니다. 먼저 volatility의 imageinfo 플러그인을 통하여 메모리의 정보를 살펴 보겠습니다. 문제에서 컴퓨터에서 혼란을 일으킨 것(악성코드)가 무엇인지, 그리고 IP 주소와 관련된다고 하니 netscan 플러그인을 통하여 살펴보겠습니다. 문제에서 악성코드 C2라고 언급하였기 때문에 SkypeC2AutoApd 프로세스가 악성코드임을 알 수 있습니다. SkypeC2AutoApd 프로세스에 3개의 IP가 할당된 것을 확인할 수 있습니다. 문제에서 CEO의 IP가 10.1.1.112라고 하였으니 외부 IP인 54.174.131.235가 정답이 되겠습니다.
[메모리 포렌식] GrrCON 2015 #25 이 문제를 접근할 때는 '처음 설치된 파일이 인터넷을 통하여 다운로드 되었을 것이다'라는 추측이 필요합니다. 그럼 인터넷 사용 기록을 살펴보기 위하여 iehistory 옵션을 사용하고 exe 파일을 다운받은 기록을 살펴보겠습니다. allsafe_update.exe 파일을 다운로드 받은 내역이 존재합니다. 이같은 방법으로 답을 구할 수 있습니다.
[메모리 포렌식] GrrCON 2015 #24 #23번 문제까지 iexplore.exe 프로세스를 추출해 보았습니다. 추출한 파일을 strings 프로그램을 통하여 txt 파일로 변환하고 분석하여 보겠습니다. Windows 10에서는 바이러스 및 보안 위협이 발생하여서 시스템 설정에서 보안 허용을 해주어야 합니다. 보안 허용을 하고 mal.txt 파일을 텍스트 편집기로 열어 보면 답을 구할 수 있습니다.
[메모리 포렌식] GrrCON 2015 #23 #22번 문제까지 iexplore.exe 프로세스가 멀웨어인 것을 확인하였습니다. 멀웨어의 이름을 확인하기 위하여 malfind 플러그인으로 멀웨어의 일반적인 이름을 확인하여 보겠습니다. -p 옵션을 사용하여서 iexplore.exe의 pid인 3208을 할당해줍니다. 덤프된 파일을 VirustTotal 홈페이지에 접속하여 검사해 보겠습니다. Dexter 이라는 바이러스가 많이 검출됩니다. Dexter이란 2012년 12월에 전 세계의 POS 시스템을 감염시킨 컴퓨터 바이러스라고 합니다. 위와 같은 방법으로 답을 구할 수 있습니다.
[메모리 포렌식] GrrCON 2015 #22 #22번 문제부터는 POS 파일로 진행됩니다. 먼저 imageinfo 플러그인을 사용하여서 메모리 정보를 확인해 보겠습니다. Windows 7 운영체제를 사용하는 메모리라는 것을 확인할 수 있습니다. 문제에서 멀웨어의 C&C 서버를 물어보았으니, volatility의 malfind 플러그인을 통하여 멀웨어를 찾아보겠습니다. iexplore.exe 프로세스가 검출되었습니다. netscan 플러그인으로 네트워크 통신 상태를 확인해 보겠습니다. iexplore.exe의 IP 정보를 확인할 수 있습니다.
[메모리 포렌식] GrrCON 2015 #21 공격자가 다른 PC에 예약된 작업을 만들었다고 합니다. 이는 공격자가 job 파일을 만들었을 가능성이 높습니다. volatility의 filescan 플러그인으로 job 파일이 존재하는지 확인해 보겠습니다. job 파일은 구글 업데이트와 관한 job 파일 1개와, At1이라는 job 파일 1개 총 2개가 존재합니다. At1.job 파일의 오프셋을 구하였으니 strings 프로그램을 통하여 분석해 보겠습니다. strings 프로그램으로 분석하여 보니 C:\users\gideon 폴더에 1.bat 이라는 파일이 존재합니다. 이와 같이 답을 구할 수 있습니다.
[메모리 포렌식] GrrCON 2015 #20 #19번까지 cmdscan 명령어로 어떻게 압축 파일을 생성하였는지를 알아보았습니다. 이번에는 어떤 파일이 압축되었는지를 살펴보아야 합니다. conhost.exe 실팽파일은 윈도우에서 실행한 명령어, 입출력 결과 등의 정보를 보관하므로 이를 활용하여 보겠습니다. 먼저 cmdscan 플러그인으로 conhost.exe 프로세스의 PID를 확인하여 보겠습니다. PID는 3048로 확인됩니다. memdump 플러그인을 통하여 파일을 복구해 보겠습니다. 그리고 strings 프로그램을 사용하여 txt 파일로 저장해 주겠습니다. 3048.txt를 열어보겠습니다. 3048.txt에서 .rar로 검색하여서 나오는 내용을 분석해보면, txt 파일 3개가 나옵니다. 이 3가지 파일들이 답이 됩니다.
[메모리 포렌식] GrrCON 2015 #19 #18번 문제에서 cmdscan 플러그인을 통하여 rar 명령어로 압축한 내용을 살펴보았습니다. cmdscan 결과를 보면 0xf24d0에 담긴 문장에서 rar 파일의 이름을 구할 수 있었습니다.
[메모리 포렌식] GrrCON 2015 #18 공격자가 암호화하여 압축했다고 하였으니, 어떤 명령어를 사용했는지 cmdscan 플러그인을 사용해보겠습니다. 공격자가 사용한 명령어들이 나옵니다. rar 명령어를 사용하여 압축을 진행했나 봅니다. 그러므로 0xf24d0에 저장된 rar 명령어를 사용한 문장에서 답을 구할 수 있습니다.