안녕하세요, 행동으로 증명하는 보안 분석가 여러분! 🕵️♂️
지난 시간까지 우리는 악성코드를 실행하지 않고 요리조리 뜯어보는 '정적 분석'을 마스터했습니다. 코드를 보고 "음, 이 녀석은 파일을 훔칠 계획이군" 하고 예측했었죠.
하지만 심증만으로는 범인을 잡을 수 없습니다. 이제 물증을 잡아야 할 때입니다! 오늘은 악성코드를 실제로 실행(Run)시켜보고, 그 녀석이 운영체제 안에서 저지르는 모든 만행을 CCTV처럼 녹화하는 '동적 분석(Dynamic Analysis)' 실습을 진행합니다.
우리의 강력한 무기 ProcMon(Process Monitor)을 들고, 악성코드의 범죄 현장을 덮쳐봅시다! 🚨

🛑 0. [필독] 절대 안전 구역 확보!
본격적인 시작에 앞서, 안전 수칙을 다시 한번 강조합니다.
⚠️ 경고: 호스트 PC(여러분이 지금 쓰고 있는 컴퓨터)에서 절대 실행하지 마세요! 반드시 VMware, VirtualBox 같은 가상 머신 환경에서 진행해야 합니다. 실습 전, 가상 머신의 '스냅샷(Snapshot)'을 꼭 찍어두세요. 악성코드 실행 후 감염된 상태를 버튼 하나로 깨끗하게 되돌리기 위함입니다.
1. 🛠️ 준비물: 악성코드 감시반 세트
Sysinternals Suite 도구들이 필요합니다. (마이크로소프트 공식 홈페이지에서 무료 다운로드 가능)
- Process Monitor (ProcMon): 파일, 레지스트리, 프로세스 활동을 실시간으로 기록하는 CCTV.
- Process Explorer (Procexp): 현재 실행 중인 프로세스를 트리 구조로 보여주는 고급 작업 관리자.
- Wireshark (선택): 네트워크 패킷을 잡는 도구 (오늘은 ProcMon에 집중합니다).
2. 📸 [실습 Step 1] 잠복근무 시작: ProcMon 설정
악성코드를 실행하기 전에 감시 카메라(ProcMon)를 먼저 켜야 합니다. 하지만 ProcMon은 윈도우의 모든 동작을 기록하기 때문에, 1초에 수천 개의 로그가 쌓입니다. '필터링(Filtering)'이 필수입니다!
- ProcMon 실행: procmon.exe를 관리자 권한으로 실행합니다.
- 캡처 일시 중지: 돋보기 아이콘(🔎)을 눌러 잠시 캡처를 멈춥니다. (초기 설정 위해)
- 필터 설정 (Ctrl + L):
- 악성코드 파일명으로 필터를 겁니다.
- Process Name is malware.exe (여러분의 악성코드 파일명) Include
- Add 버튼 클릭 -> OK 클릭.
이제 ProcMon은 오직 '그 녀석'의 행동만 기록할 준비가 되었습니다.
3. ▶️ [실습 Step 2] 범행 현장 포착: 악성코드 실행
긴장되는 순간입니다. 드디어 실행 버튼을 누릅니다.
- ProcMon 캡처 시작: 돋보기 아이콘(🔎)을 다시 눌러(X표시가 사라짐) 녹화를 시작합니다.
- Process Explorer 실행: 옆에 띄워두고 프로세스 트리를 관찰할 준비를 합니다.
- 악성코드 실행!: malware.exe를 더블 클릭합니다. 💣
- 관찰:
- 아무 일도 안 일어난 것처럼 보이나요?
- ProcMon 화면을 보세요. 로그가 미친 듯이 올라가고 있을 겁니다!
- Process Explorer에서 악성코드가 자식 프로세스(cmd.exe, powershell.exe)를 낳는지 확인하세요.
- 실행 종료: 약 1~2분 정도 충분히 동작하게 둔 뒤, ProcMon 돋보기 아이콘을 눌러 캡처를 중지합니다.
4. 🕵️♀️ [실습 Step 3] 증거물 분석: 로그 해석하기
이제 수집된 수천 줄의 로그 속에서 '결정적인 증거'를 찾아내야 합니다. ProcMon의 툴바에 있는 5가지 아이콘을 활용해 범주별로 분석해 봅시다.
① 📂 파일 시스템 활동 (File System Activity)
- 아이콘: 서류가방 모양
- 관전 포인트:
- CreateFile / WriteFile: 새로운 파일을 생성했나요? (예: C:\Temp\payload.exe 드롭, readme.txt 랜섬노트 생성)
- DeleteFile: 원본 파일을 지웠나요? (랜섬웨어의 전형적 특징)
- ReadFile: 내 중요 문서(My Documents)를 읽었나요? (정보 탈취 시도)
② ⚙️ 레지스트리 활동 (Registry Activity)
- 아이콘: 큐브 모양
- 관전 포인트: '지속성(Persistence)' 확보 시도
- RegSetValue 이벤트를 찾으세요.
- 경로가 HKCU\Software\Microsoft\Windows\CurrentVersion\Run 이라면?
- PC를 껐다 켜도 악성코드가 자동 실행되도록 등록한 것입니다! 100% 악성 행위입니다.
③ 🌐 네트워크 활동 (Network Activity)
- 아이콘: 네트워크 선 모양
- 관전 포인트:
- TCP Connect / UDP Send: 외부 IP와 연결을 시도했나요?
- 연결된 IP 주소와 포트 번호(예: 4444)를 기록해두세요. C2 서버일 확률이 높습니다.
④ 🚀 프로세스 활동 (Process and Thread Activity)
- 아이콘: 퍼즐 조각 모양
- 관전 포인트:
- Process Create: 악성코드가 cmd.exe를 실행해서 /c del backup 명령어를 날렸다면? 백업을 지우는 행위입니다.
5. 🤖 [꿀팁] 수집된 로그, AI에게 분석 맡기기
로그가 너무 많고 복잡한가요? AI를 활용하세요!
- ProcMon에서 수상한 로그 몇 줄을 드래그해서 CSV로 저장하거나 복사합니다.
- AI에게 다음과 같이 물어봅니다.
[프롬프트]
"ProcMon에서 수집한 악성코드 로그야. 이 이벤트들이 보안 관점에서 어떤 의미인지 해석해줘. 특히 RegSetValue가 의미하는 바가 뭐야?"[로그 붙여넣기]
12:01:05, malware.exe, RegSetValue, HKCU\...\Run\Update, SUCCESS, Data: C:\Temp\malware.exe
AI는 "이 로그는 악성코드가 윈도우 시작 시 자동 실행되도록 'Update'라는 이름으로 레지스트리에 자가 등록하는 행위입니다." 라고 명쾌하게 통역해 줄 것입니다.
🎉 마치며: 움직이는 놈이 범인이다!
축하합니다! 👏 여러분은 방금 악성코드를 실제로 실행하고, 그 '행동 패턴(Behavior)'을 낱낱이 기록했습니다.
- 정적 분석이 "몽타주 그리기"라면,
- 동적 분석은 "범행 현장 비디오 판독"입니다.
이제 우리는 악성코드의 생김새(코드)와 행동(로그)을 모두 파악했습니다. 분석은 99% 끝났습니다. 다음 시간에는 이 모든 분석 결과를 정리하여, 전문가스러운 [악성코드 분석 보고서]를 작성하는 마지막 단계로 넘어가겠습니다.
스냅샷 복구(Revert) 잊지 마시고, 다음 시간에 만나요! 안녕! 👋
'일반IT > IT보안' 카테고리의 다른 글
| 악성코드의 음모를 한눈에! 🕸️ 레지스트리와 파일 행위의 '연결고리' 도식화하기 (with AI) (0) | 2025.12.14 |
|---|---|
| [실습] "로그가 너무 많아 토할 것 같아요" 🤮 AI로 방대한 시스템 로그에서 '비정상 행위'만 쏙 뽑아내기! 📉 (0) | 2025.12.14 |
| [실습] 악성코드의 심장을 찾아라! 🫀 암호화·네트워크 함수 위치 특정 및 코드 정밀 분석 (0) | 2025.12.14 |
| [실습] "AI야, 이거 악성코드 같니?" 🤖 추출한 메타데이터로 1차 판별하기 (0) | 2025.12.14 |
| [실습] 랜섬웨어의 뱃속을 들여다보자! 🕵️♂️ 헤더, IAT, 문자열 추출로 배우는 정적 분석 기초 (0) | 2025.12.14 |