lab1 | MemLabs
문제를 읽어보자면 여동생이 그림을 그리다가 컴퓨터에 충돌이 일어났으며 그 순간 무언가가 실행되며 검은창이 떴다. 중요해보이는 3개의 파일들에 flag를 심은 듯하다. 메모리덤프를 복구해보자
다운로드를 받아보면 다음의 raw파일이 있다.
imageinfo plugin을 통해서 이 운영체제의 정보를 알아볼 수 있다.
운영체제 : Win7SP1x64
(메모리 덤프의 분석은 해당 시스템의 운영 체제 및 커널 버전에 의존하기에 이후의 명령어에서 --profile 옵션을 통해 운영체제를 입력해주자)
pslist plugin을 통해 pslist로그를 생성하여 시간 순으로 사용한 프로세스를 알아보자.
- cmd.exe
0xfffffa8002222780 cmd.exe 1984 604 1 21 1 0 2019-12- 1 14:34:54
console plugin을 통해 cmd의 입출력값을 확인해보자
입력 : St4G3$1 출력 : ZmxhZ3t0aDFzXzFzX3RoM18xc3Rfc3Q0ZzMhIX0=
위의 출력을 base64로 decode해보면 첫번째 플래그가 나온다.
1st flag : flag{th1s_1s_th3_1st_st4g3!!}
- mspaint.exe
0xfffffa80022bab30 mspaint.exe 2424 604 6 128 1 0 2019-12-11 14:35:14
pid : 2424 , ppid : 604
memdump를 통해 특정 프로세스(mspaint.exe)가 실행될 때의 메모리 영역을 덤프해보자
아무리 봐도 dmp파일을 이미지로써 복구하기가 어려우니 확장자를 data로 바꾸고 gimp라는 이미지 편집기로 봐주었다.
2nd flag : Flag{Good_Boy_good_girl}
- winRAR.exe
cmdline을 통해 얻은 결과값으로 프로세스가 실행될 때의 인자값을 확인할 수 있다.
이는 WinRAR.exe가 C:\Users\Alissa Simpson\Documents\Important.rar 경로에 위치한 RAR 파일을 처리하기 위해 실행되었다는 것을 의미한다.
그렇다면 파일 압축대상인 rar파일을 복구해보자.
0xfffffa8001010b30 WinRAR.exe 1512 2504 6 207 2 0 2019-12-11 14:37:23 UTC+0000
메모리 주소 : 0xfffffa8001010b30
filescan을 통해서 메모리에서 Important.rar을 찾아보면
0x000000003fa3ebc0
dumpfile을 통해서 메모리파일로부터 실제 데이터 파일을 추출해보자
원래 rar파일이니 확장자를 변경해주고 7zip을 통해서 열면
암호가 필요하다....설명에 따르면 Alice의 암호는 NTLM 해시를 대문자로 한 것이란다.
NTLM hash 란?
NTLM (NT LAN Manager)은 Microsoft Windows 운영 체제에서 사용되는 인증 프로토콜 중 하나이다. NTLM 해시(Hash)는 사용자의 비밀번호를 기반으로 생성되는 해시 값이며, 일반적으로 Windows 운영 체제에서 로그인 암호를 보호하는 데 사용된다.
hashdump를 통해 메모리 덤프 파일에서 사용자 계정의 해시 값을 추출할 수 있다. 주로 Windows 운영 체제에서 사용되는 NTLM(NT LAN Manager) 해시를 추출하는 데에 사용된다.
암호 : F4FF64C8BAAC57D22F22EDC681055BA6
3rd flag