0. 시작
안녕하세요. 저는 [토스뱅크] 사이버보안 엔지니어 부트캠프(공격&방어 기술) 1회 수료생이자, Greedy 팀의 민수림입니다.
이번 부트캠프에서 진행했던 프로젝트를 소개합니다!
각 단계별 더 상세한 내용은 추가 게시물로 업로드할 예정입니다.

목차는 다음과 같습니다.

1. 프로젝트 개요
1.1 프로젝트 주제

처음 토스뱅크에서 제공한 4가지 큰 주제 중에서 나는 "MITRE ATT&CK 기반 침해사고 분석 및 대응"이라는 주제를 선택하였다. 그 이유는 공격, 분석, 방어까지 모든 영역을 한 번에 파악할 수 있을 것 같았고, 처음 해보는 주제라서 재미있을 것 같아서 선택하였다.
1.2 진행 과정

해당 주제에 맞게 공격 시나리오를 설계하고, 시뮬레이션 후 분석까지 진행하려면 공격 시나리오에 대한 선행 공부가 필요했다. 따라서 우리는 근 5년간 국내를 타깃으로 한 공격으로 범위를 설정하고, 관련 보고서를 찾아보기로 하였다.
1.3 국내 타깃 보고서 분석
지난 5년간 국내 기관 및 개인을 대상으로 발생한 공개된 APT 그룹의 침해사고 분석 보고서를 수집하여 체계적으로 분석 및 정리하였다. 자료는 KISA, AhnLab, ESET, Genians, ENKI 등 국내외 보안 기업, 연구소, 정부 기관에서 발간한 분석 보고서로 구성되어 있으며, 북한, 중국, 러시아 등 다양한 국가 배경의 APT 그룹 활동을 포함하고 있다.
그 중에서도 초기 침투부터 내부 행위 및 외부 통신에 이르기까지 비교적 명확한 공격 진행 과정이 상세히 기술된 사례를 중심으로 선정하였다.
다음과 같이 실제 엑셀 시트에 보고서별로 APT 그룹명, 보고서 제목, 보고서 링크,각 MITRE ATT&CK 전술에 매핑되는 Techniques ID 및 보고서를 기반으로 한 세부 상세 설명과 같은 정보를 정리하였다.



이를통해 각 보고서의 공격 행위를 MITRE ATT&CK 프레임워크에 매핑하여 단계별로 어떤 기법이 빈 번하게 사용되는지 확인하였고, 악성 파일 유형과 LOTL 도구 사용 현황 등도 함께 정리하여 국내 타깃 APT 공격에서 반복적으로 나타나는 특징들을 파악하였다.


특히 국내 타깃 침해사고의 다수가 Windows 기반 엔드포인트를 주요 공격 대상으로 하며, 공격 과정에서 생성되는 포렌식 아티팩트들 또한 대부분 Windows 환경에 집중적되어 있다는 점을 반영하여 분석 대상 환경을 Windows Endpoint 로 최종 선정하였다.
1.4 실제 공격 시나리오 제작 및 아티팩트 기반 분석
위 국내 타깃 보고서 분석을 통해 도출한 결과는 공격 시나리오를 설계할 때 실제 위협 환경을 반영하고, MITRE ATT&CK의 주요 단계를 포괄할 수 있도록 방향을 잡는 데 활용하였다.

해당 시나리오에서는 공격 흐름을 보다 세밀하게 통제하고 특정 행위에 따른 아티팩트 생성 양상을 확인하기 위해 직접 악성코드를 제작하여 실행하였다. 공격 시나리오 구성은 다음과 같다.
1) Initial Access: 피싱 기반 초기 침투
공격자는 급여명세서를 사칭한 피싱 메일을 통해 피해자에게 접근한다. 피해자가 메일에 포함된 URL 을 클릭하면 정상 급여 시스템으로 위장된 웹 페이지로 연결되며, 해당 페이지에서 급여명세서로 위장된 ZIP 파일을 다운로드하도록 유도된다. 압축 파일 내부에는 정상 PDF 문서로 위장한 LNK 파일이 포함되어 있다.
2) Execution LNK 기반 명령 실행
피해자가 LNK 파일을 실행하면 cmd.exe 를 경유하여 powershell.exe 가 실행된다. 이후 Base64 로 인코딩된 명령이 디코딩되면서 공격자 서버로부터 stager.ps1 스크립트를 다운로드하고, 해당 스크립트를 메모리 상에서 직접 실행하여 C2 에이전트를 구동한다.
3) Command and Control Telegram: 기반 원격 연결 수립
실행된 C2 에이전트는 Telegram Bot API를 통해 초기 비콘을 전송한 뒤, 피해자 PC가 주기적으로 Telegram 서버에 접속하여 공격자의 명령을 대기한다. 통신은 HTTPS 기반 메신저 트래픽 형태로 이루어지며, 30 초 간격으로 명령을 확인하고 실행 결과를 동일 채널로 회신함으로써 원격 제어 채널을 유지한다.
4) Discovery: 시스템 정보 수집 및 화면 캡쳐
공격자는 Telegram 기반 C2 채널을 통해 피해자 PC 에 원격 명령을 전달하고, 이를 통해 시스템 기본 정보 수집과 화면 캡처 등의 정찰 행위를 수행한다.
5) Collection: 크롬 데이터 및 주요 문서·입력 기록
수집 공격 과정에서 docx, xlsx, pdf, hwp 형식의 문서 파일이 수집되며, keylogger.exe 와 stealer.exe 를 통해 확보한 정보는 ~sysXXXX.tmp 와 같은 시스템 임시 파일로 위장하여 저장된다.
6) Persistence 레지스트리·예약작업 통한 지속성 확보
공격자는 재부팅 이후에도 연결을 유지하기 위해 레지스트리 Run 키, 예약 작업, 시작프로그램 폴더에 실행 항목을 등록한다. 각 항목은 WindowsSecurityHealth 와 같은 명칭으로 위장해 정상 시스템 구성요소처럼 보이도록 구성된다.
7) Exfiltration: Telegram API 를 통한 압축 파일 전송
수집한 데이터는 ZIP 으로 압축해서 Telegram 으로 전송된다. 파일 업로드에는 Windows 기본 포함된 curl.exe 이 사용된다.
8) Defense Evasion: 흔적 정리 및 종료
공격자는 생성된 실행 파일과 생성된 로그를 삭제하여 흔적을 정리하고, 원격 제어 세션을 종료한다.

위 시나리오를 시뮬레이션 한 후 아티팩트를 수집하여 수동 분석을 진행하였다.
1.5 수동 분석의 한계
1) 분석가 역량에 따른 분석 결과 차이

위 분석 과정에서 공격 흐름은 재구성할 수 있었지만, 각 단계의 흔적이 브라우저 기록, 파일 시스템 메타데이터, Prefetch, Windows Event Log, Sysmon 로그 등 서로 다른 위치와 형식의 아티팩트에 분산되어 있었다. 그래서 시간 정보와 식별자를 기준으로 여러 아티팩트를 반복 조회하며 수동으로 대조해야 했고, 공격 체인을 끝까지 연결하는 데 많은 시간이 소요되었다.
특히 분석가의 역량에 따라 동일 시나리오를 반복 실행해도 수집 범위나 연결 기준에 따라 결과 해석이 달라질 수 있어 재현성과 일관성 확보가 어렵다는 한계를 확인하였다.
+ 여기서 미숙한 분석가는 나..다..!


윈도우의 아티팩트 분석을 처음하다 보니까, 처음엔 정상적인 행위와 공격에 의한 행위를 제대로 구분할 수 없었다. 또한 다음은 어떤 아티팩트를 봐야하는지 명확하게 판단되지 않았다. 그러다보니 위와같은.. 분석 과정이 있었고, 다른 팀원과 시간 차이도 많이 발생하였다.
2) 아티팩트 연결 분석 도구 부재

기존 포렌식 도구는 로그 수집과 개별 이벤트 조회, 키워드 검색은 가능했으나, 아티팩트 간 인과관계를 자동으로 연결하거나 공격 흐름 단위로 구조화해 주는 기능은 제한적이었다. 특히 Windows 환경에서는 하나의 행위가 프로세스, 파일, 레지스트리, 네트워크 등 여러 영역에 동시에 흔적을 남겨 단일 이벤트만으로 단계 판단이 어려웠다. 결국 ProcessGuid, 파일 경로, 타임스탬프 같은 공통 식별 요소를 기준으로 수동 상관 분석을 수행해야 했고, 이 과정에서 누락 또는 오연결 가능성도 존재했다.
1.6 프로젝트 목표

따라서 우리팀은 아티팩트간 연관관계를 정의한 룰을 기반으로 아티팩트 자동 연결 및 시각화를 지원하는 침해사고 분석 보조 도구를 개발하기로 하였다.
2. 도구 설계 및 구현

2.1 설계 목표

핵심 기능으로는 다양한 포렌식 아티팩트 간의 시간적 흐름과 행위 간 관계를 자동으로 연결하고, 이를 시각적으로 표현하여 공격 흐름을 직관적으로 파악할 수 있도록 설계하였다. 초기에는 Sysmon 이 설치되지 않은 일반적인 Windows 환경을 기준으로 분석 규칙을 구성하며, 로그와 아티팩트 간의 공통 속성을 활용해 정황 기반의 연결 체계를 구축하고자 하였다. 이후 Sysmon 환경에서도 동일한 규칙을 확장 적용할 수 있도록 설계함으로써, 환경별 제약에 따라 추가 식별자를 활용한 정밀 분석이 가능하도록 구성하고자 하였다. 이러한 설계를 통해 단일 연결 규칙 체계로 다양한 분석 환경에 유연하게 대응 가능한 도구를 구현하는 것을 목표로 기획하였다.
부가적으로, 대용량 아티팩트를 효율적으로 처리할 수 있는 수집 및 로딩 구조를 도입하여 분석가의 데이터 준비 시간을 최소화하였다. 또한 Sigma 룰, MISP, VirusTotal 등 외부 위협 인텔리전스를 통합하여 연결 그래프 내 악성 의심 노드에 대한 경고를 제공하며, LLM 을 연동하여 분석된 행위 흐름과 탐지 결과를 기반으로 보고서 초안을 자동 생성하는 기능을 구현하였다.
2.2 진행 과정

2.3 아티팩트 수집 및 파싱

많은 아티팩트 중에서 도구에 사용할 아티팩트 수집 기준을 다음과 같다.
첫째, Non-Sysmon 환경에서의 체인 분석 가능성이다. 프로젝트의 주 대상 환경은 Sysmon 이나 상세 이벤트 로그 설정이 적용되지 않은 일반 Windows 엔드포인트이다. 이처럼 상세 식별자가 제공되지 않는 환경에서는 ProcessGuid 같은 명확한 연결 정보가 없기 때문에, 파일 경로, 파일명, MFT EntryNumber, 타임스탬프와 같은 시스템 메타데이터를 활용해 아티팩트 간의 연관성을 유추할 수 있는 자료들을 우선적으로 선정하였다.
둘째, 침해사고 대응 시 반복적으로 제기되는 핵심 분석 질문에 대한 답변 가능 여부다. “무엇이 실행되었는가?”, “어떤 파일이 생성·수정·삭제되었는가?”, “해당 파일은 어디서 유입되었는가?”, “지속성은 어떻게 확보되었는가?”, “측면 이동이 있었는가?” 등의 질문에 대해, 직접적인 근거를 제공할 수 있는 아티팩트를 목적별로 나누어 수집 대상으로 포함시켰다.
셋째, 아티팩트 간 상관관계를 구성할 수 있는 공통 필드 보유 여부다. 체인 연결이 프로젝트의 핵심 기능인 만큼, 경로, 파일명, 실행 시각 등 서로 연결 가능한 필드가 포함된 아티팩트를 중심으로 분석 범위를 설정했다. 이를 위해 ExecutablePath, FileName, OSPath, Timestamp, UserName 등의 공통 필드를 정의하고, 이 기준에 맞춰 경로 매칭이나 시간 범위 비교가 가능한 아티팩트를 선정하였다.
2.4 아티팩트 수집 도구 선정

분석 목적에 부합하는 아티팩트를 효과적으로 수집하고, 후속 파이프라인과의 연동이 가능한 도구를 선정하기 위해 사전 조사를 수행하였다. 주요 후보군으로는 KAPE, Velociraptor, CyLR 등 대표적인 아티팩트 수집 도구를 검토하였으며, 각 도구의 수집 범위, 파싱 지원 수준, 출력 포맷의 구조화 정도, 그리고 분석 자동화와의 연계 가능성을 중심으로 실제 적용 테스트를 진행하였다. 그 결과, KAPE 와 Velociraptor 가 수집 정확도와 유연성 측면에서 가장 유력한 후보로 선정되었다. 두 도구 모두 Windows 기반 포렌식 환경에서 널리 사용되는 안정된 수단으로, 각각의 장단점을 분석한 뒤 최종 도구를 결정하였다.
KAPE(Kroll Artifact Parser And Extractor)는 Eric Zimmerman 이 개발하고 Kroll 에서 배포하는 도구로, Windows 환경에서 빠른 시점에 주요 아티팩트를 대량 확보할 수 있는 장점이 있다. 그러나 출력 결과가 CSV 또는 텍스트 기반의 비정형 형식으로 제공되어, 이를 후속 분석에 활용하기 위해서는 별도의 파싱 및 정규화 과정이 요구되었다.
반면, Velociraptor 는 VQL(Velociraptor Query Language)을 기반으로 수집 로직을 자유롭게 구성할 수 있는 오픈소스 도구로, 수집 범위와 출력 필드를 유연하게 제어할 수 있다는 점에서 높은 유연성과 확장성을 제공하였다. 시나리오 기반의 고정 수집 세트를 정의해 배포함으로써 환경 간 분석 기준을 통일할 수 있었으며, 수집 단계에서 출력 필드를 구조화된 형태로 정제할 수 있어 파이프라인 연동에도 유리하였다. 또한, Offline Collector 기능을 통해 단일 실행 파일(EXE) 형태로 빌드할 수 있어, 네트워크 격리 환경에서도 활용 가능한 점도 주요 선정 요인 중 하나였다. 이러한 분석을 바탕으로 본 프로젝트는 Velociraptor 를 최종 수집 도구로 채택하였으며, 이후 시나리오별 필수 아티팩트를 커스터마이징하여 수집 효율성과 분석 정밀도를 함께 확보하는 구조를 설계하였다.
2.5 Velociraptor 커스터마이징

수집 결과를 도구의 입력 데이터로 사용하기 위해 커스터마이징을 진행했다. 초기 Velociraptor 커스터마이징은 수집 단계에서 분석에 필요한 데이터만 남기도록 범위를 조정하고 VQL 로직을 재구성하는 데 초점을 맞췄다. 특히 기본 제공되는 이벤트 로그 수집 방식은 불필요한 System 계열 이벤트까지 포함되어 있어 데이터의 양이 불필요하게 증가하고, 분석을 위해 별도의 정제 과정을 거쳐야 하는 문제가 있었다. 이를 해결하기 위해 이벤트 로그 수집 로직을 별도 구성하고, parse_evtx 단계에서 TimeCreated, EventID, Message 등 핵심 필드만 추출하여 구조화함으로써, 후속 파이프라인이 추가 전처리 없이 바로 활용할 수 있도록 개선하였다. 필드 포함 여부는 타임라인 구성 가능성, 행위 주체와 대상 식별, 공격 기법 매핑 가능성, 아티팩트 간 연결 키 유지 여부를 기준으로 결정했으며, 선택 근거는 아티팩트 필드 선택 근거 문서에 정리했다.

초기 커스터마이징 범위는 수집 커버리지가 제한적이어서, 환경에 따라 공격 흐름 재구성에 필요한 보조 단서를 충분히 확보하지 못하는 한계가 있었다. 특히 Sysmon 이 없는 환경에서는 ProcessGuid 기반 인과관계 연결이 약해져, 프로세스 트리 중심의 흐름 복원이 어려워지는 문제가 있었다. 이에 따라 수집 범위를 기존 14 개에서 21 개로 확장하고, NonSysmon 환경에서라도 교차 검증과 시점 추정에 활용할 수 있도록 BAM, SRUM, AppCompatCache, RDP 기록, PSReadline 명령 이력, 휴지통 삭제 파일, 브라우저 방문 기록을 추가했다.
확장 과정에서는 룰 엔진과의 호환성을 확보하기 위해 필드 체계를 표준화했다. 아티팩트마다 서로 다르게 제공되던 실행 경로, 파일명, 명령줄 인자, 사용자명 같은 필드명을 내부 규칙으로 통일하고, 타임라인 구성의 기준이 되는 대표 타임스탬프를 아티팩트별로 하나씩 정의해 시간 필드의 일관성을 확보했다. 또한 시스템 정보 수집 아티팩트에서 발생한 타입 변환 오류와 레지스트리 접근 방식 문제를 수정하고, JumpLists 는 파싱 실패 원인을 단계적으로 제거해 안정적으로 결과가 생성되도록 개선했다.

BAM에 대한 커스터마이징 예시이다.
2.6 도구 아키텍처

1) Chain Rule Engine

2) Threat Intelligence Module

3) Chain Based Visualization

3. Rule 설계

3.1 설계 기준

3.2 환경에 따른 룰 확장 설계

3.3 룰 스키마

3.4 룰 설계를 위한 시나리오 분석
1) Non-Sysmon 환경



2) Sysmon 환경








3.5 추가 공격 시나리오 구성 기준

3.6 공격 프레임워크 조사 및 선정

3.7 추가 공격 시나리오 제작 및 분석


4. 기능 소개
4.1 수집 및 파싱
4.2 Sysmon 환경
4.3 Non-Sysmon 환경
5. 결론
5.1 프로젝트 의의
5.2 향후 고도화 계획
6. Greedy Team
6.1 팀 구성
팀장: 박상우
팀원: 강선나, 김동윤, 민수림, 한대희
6.2 팀명 배경...
Greedy 알고리즘에서 유래..
7. 마무리
7.1 감사합니다.

7.2 Q&A

Q1) 왜 리눅스 환경까지...
Q2) 네트워크는 어떻게...
최우수상!!!
우리팀이 1등이다 ~~ 야호~~~
상장이 아직 안 와서 오면 사진 찍어서 같이 업로드하겠습니당
'Program > 토스뱅크 사이버보안 엔지니어 부트캠프(공격&방어 기술)' 카테고리의 다른 글
| 침해사고 분석 및 대응을 위한 시각화 도구 아키텍처 및 기능 소개 (0) | 2026.02.10 |
|---|---|
| DNS 터널링(DNS Tunneling) (0) | 2026.01.21 |
| Google Drive API 사용 방법 (1) | 2026.01.10 |
| KAPE(Kroll Artifact Parser and Extractor) (0) | 2025.12.30 |
| Havoc Framework (0) | 2025.12.17 |