| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- elasticsearch
- beebox
- CTF-d
- vulnhub
- base64
- 2018
- imageinfo
- Strings
- foremost
- binwalk
- XSS
- Docker
- Volatility
- InsecureBank
- 인시큐어뱅크
- dreamhack
- kibana
- SQL Injection
- lord of sql injection
- MFT
- igoat
- frida
- filescan
- otter
- Suninatas
- Openstack
- ctf
- ESXi
- diva
- 안드로이드
- Today
- Total
Information Security
MemLabs Lab 5 - Black Tuesday 본문
문제 설명
최근 저희 고객으로부터 메모리 덤프 파일을 받았습니다. 고객이 자리를 비운 사이에 누군가 시스템에 접근하여 이상한 파일들에 접근한 것을 발견했다고 합니다. 해당 파일들을 찾으면 유용할 수 있을 것 같습니다. 고객의 말을 그대로 인용하자면 다음과 같습니다.
"이름들이 알아볼 수 없었다. 알파벳과 숫자로 이루어져 있었지만 정확히 무엇인지 알아볼 수 없었다."
게다가 그는 평소에 가장 즐겨 사용하던 앱이 실행할 때마다 오류가 발생하는 것을 발견했습니다. 혹시 바이러스 때문일까요?
참고-1 : 이 챌린지는 깃발 3개로 구성되어 있습니다. 두 번째 깃발을 얻는 게 끝이라고 생각하신다면, 절대 아닙니다!! :P
참고-2 : 이 문제를 만들 때 작은 오류가 있었습니다. 만약 " L4B_3_D0n3 !! " 라는 문자열을 발견하시면 , " L4B_5_D0n3 !! " 로 변경하신 후 진행해 주세요.
참고-3 : 1단계 깃발을 획득해야만 2단계 깃발을 얻을 수 있습니다.
메모리 덤프 파일의 운영체제를 확인하였습니다.
python vol.py -f MemoryDump_Lab5.raw imageinfo

pslist 플러그인을 이용하여 프로세스를 확인해 보면 WinRAR.exe 프로세스를 확인할 수 있습니다.
python vol.py -f MemoryDump_Lab5.raw --profile Win7SP1x64 pslist | findstr WinRAR.exe

cmdline 플러그인을 통해 WinRAR.exe 명령어를 확인해 보면 압축 파일 이름이 SW1wb3J0YW50.rar 확인하였습니다.
python vol.py -f MemoryDump_Lab5.raw --profile Win7SP1x64 cmdline | findstr WinRAR.exe

filescan 플러그인을 통해 SW1wb3J0YW50.rar 압축파일의 주소를 확인하였습니다.
python vol.py -f MemoryDump_Lab5.raw --profile Win7SP1x64 filescan | findstr SW1wb3J0YW50.rar

dumpfiles 플러그인을 통해 메모리 주소 0x000000003eed56f0를 통해 해당 압축파일을 추출하였습니다.
python vol.py -f MemoryDump_Lab5.raw --profile Win7SP1x64 dumpfiles -Q 0x000000003eed56f0 -D dump

압축파일을 확인해 보면 Stage2.png 파일을 풀려면 암호가 필요한 것을 알 수 있습니다.

iehistory 플러그인을 통해 explorer의 접속 기록을 출력해 주는 것을 보면 파일 이름이 수상해 보이는 것을 알 수 있습니다.
python vol.py -f MemoryDump_Lab5.raw --profile Win7SP1x64 iehistory

ZmxhZ3shIV93M0xMX2QwbjNfU3Q0ZzMtMV8wZl9MNEJfNV9EMG4zXyEhfQ 값을 base64를 복호화하면 flag{!!_w3LL_d0n3_St4g3-1_0f_L4B_5_D0n3_!!} 값을 알 수 있습니다.

첫 번째 FLAG 값을 입력하여 압축을 풀어보았습니다.

아래와 같이 두 번째 FLAG flag{W1th_th1s_$taGe_2_1s_c0mPL3T3_!!} 값을 확인할 수 있습니다.

NOTEPAD.EXE가 대문자로 프로세스가 구동되어 있어 수상해 보입니다.
python vol.py -f MemoryDump_Lab5.raw --profile Win7SP1x64 filescan | findstr NOTEPAD.EXE

NOTEPAD.EXE 명령어를 확인해 보면 경로가 이상한 것으로 보아 기본 메모장이 아니라는 것을 알 수 있다.
python vol.py -f MemoryDump_Lab5.raw --profile Win7SP1x64 cmdline | findstr NOTEPAD.EXE

NOTEPAD.EXE 메모리 주소를 사용하여 파일을 추출하였다.
python vol.py -f MemoryDump_Lab5.raw --profile Win7SP1x64 dumpfiles -Q 0x000000003ee9d070 -D dump

IDA 프로그램을 이용하여 file.None.0xfffffa8000f886e0.dat 배치 파일을 열면 하단의 FLAG 값 bi0s{M3m_l4b5_OVeR_!} 을 알 수 있습니다.

'포렌식 > MemLabs' 카테고리의 다른 글
| MemLabs Lab 6 - The Reckoning (0) | 2025.12.11 |
|---|---|
| MemLabs Lab 4 - Obsession (0) | 2025.12.08 |
| MemLabs Lab 3 - The Evil's Den (0) | 2025.12.08 |
| MemLabs Lab 2 - A New World (0) | 2025.12.05 |
| MemLabs Lab 1 - Beginner's Luck (0) | 2025.12.05 |
