
FLARE 팀의 리버스 엔지니어링 및 악성코드 분석에 관한 무료 교육 콘텐츠

FLARE 학습 허브는 FLARE 팀의 고품질 리버스 엔지니어링 및 악성코드 분석 교육 콘텐츠를 무료로 배포합니다.
FLARE 학습 허브 모듈은 웹에 게시된 Google Docs로 호스팅되며, 각 설명에 링크가 제공됩니다. 이 저장소에는 각 모듈에 대한 실습 및 데모 바이너리, 디스어셈블러 데이터베이스, 스크립트를 포함한 모든 관련 아티팩트가 포함되어 있습니다.
기존 모듈의 개선 및 새 모듈이 지속적으로 게시될 예정입니다.
모듈 작업을 시작하려면, FLARE-VM을 사용하여 안전하게 격리된 가상 머신(VM) 환경을 설정하는 것을 강력히 권장합니다. FLARE-VM은 실습 및 데모를 완료하는 데 필요한 도구를 제공합니다. 또한 스냅샷을 지원하는 가상화 제품을 사용하는 것을 권장합니다. 스냅샷을 사용하면 VM을 깨끗한 상태로 기록하고 새 분석을 시작할 때 해당 상태로 되돌릴 수 있습니다. 현재 모든 모듈은 Intel x86-64 환경만 지원합니다.
모든 배포 바이너리와 스크립트는 실습 및 데모 목적으로만 제작되었지만, 일부는 악성코드와 유사한 동작을 보이므로 자동화 시스템에서 악성으로 탐지될 수 있습니다. 본 프로젝트는 안전하고 격리된 가상 머신 환경 외부에서 바이너리 및 스크립트를 실행하여 발생하는 모든 손해나 손실에 대해 책임을 지지 않습니다.
이 저장소에 있는 비밀번호로 보호된 ZIP 파일의 비밀번호는 flare입니다.
저자: Jae Young Kim, Nick Harbour
모듈 링크: 악성코드 분석 집중 과정
모듈 디렉토리: /macc
정적 분석 도구와 샌드박스 제품이 계속 발전함에 따라 악성코드 바이너리에 대한 점점 더 유용한 정보를 제공합니다. 그러나 신뢰성과 정확성이 중요한 경우, 악성코드 샘플에 대한 확실한 진술을 위해서는 여전히 수동 리버스 엔지니어링을 통한 프로그램의 포괄적인 이해가 필요합니다.
이 과정은 리버스 엔지니어의 핵심 기술인 어셈블리 코드를 읽고, 해석하고, 조작하는 방법에 대한 집중 과정입니다. 이 교육을 마치면 일반적인 Windows 악성코드 샘플 분석을 시작하는 데 필요한 실용적인 기술을 습득하게 됩니다.
이 과정은 x86 어셈블리의 기초부터 시작하여 점차 상위 수준의 프로그래밍 구조를 소개합니다. 또한 Windows 기반 악성코드를 리버싱하는 데 필요한 필수 Windows 지식을 포함합니다.
학습-실행 접근 방식을 강조하며, 과정 진행은 수많은 어셈블리 해킹 연습을 포함합니다. 어셈블리를 작성하고 결과를 디버깅하는 반복이 더 크고 복잡한 프로그램을 리버싱하는 데 필요한 기본기를 빠르게 익히는 가장 효과적인 방법이라고 믿습니다. 또한 이 과정은 플래시 퀴즈와 상세한 솔루션이 포함된 여러 실습을 제공합니다.
저자: Jae Young Kim
모듈 링크: Go 리버스 엔지니어링 참고서
Go 리버스 엔지니어링 참고서는 Go 실행 파일을 리버스 엔지니어링하기 위한 포괄적인 참고 자료입니다. 이 참고서는 세 개의 섹션으로 구성됩니다:
이 참고서의 모든 자료는 현재 Go 버전 1.24.0으로 컴파일된 Windows AMD64 실행 파일로 제한됩니다.
저자: Josh Stroschein, Jae Young Kim
모듈 링크: Time Travel Debugging 소개
모듈 디렉토리: /ttd
Time Travel Debugging (TTD)는 Microsoft가 WinDbg의 일부로 제공하는 기술로, 프로세스의 실행을 기록하여 순방향 및 역방향으로 재생할 수 있는 추적 파일을 생성합니다. 순방향 실행 추적만 허용하는 기존 디버깅과 달리 TTD의 "되감기" 기능은 악성코드 분석 및 리버스 엔지니어링에 특히 강력합니다. 이 기능을 통해 분석가는 시간이 지남에 따라 프로그램 동작을 검사하여 악성 이벤트를 신속하게 식별함으로써 트리지 속도를 크게 높일 수 있습니다. 실행을 앞뒤로 이동하는 기능은 안티 분석 및 난독화 기술을 이해하고 우회하는 데에도 중요합니다.
TTD는 프로그램의 실행 경로와 상태를 캡처하여 운영 체제와의 완전한 상호 작용을 허용하는 투명한 레이어를 통해 추적 출력을 생성합니다. 추적 파일은 동료와 공유하여 협업을 용이하게 할 수 있는 실행 기록을 보존하며, 라이브 디버깅 결과에 영향을 줄 수 있는 환경 차이를 우회합니다. 실행의 특정 지점을 북마크하여 동료의 분석을 지시하는 데 공유할 수도 있습니다. 또한 디버거 데이터 모델 개체가 포함되어 있어 사용자가 LINQ로 추적을 쿼리하여 모듈 로드, 셸코드 실행 또는 프로세스 인젝션 이벤트와 같은 특정 이벤트를 찾을 수 있습니다.
이 모듈은 TTD와 Windows 악성코드 분석에의 적용에 대한 소개입니다. 모듈에는 상세한 데모와 실습이 포함되어 안내된 실습을 제공합니다. 또한 JavaScript를 사용하여 TTD 작업을 자동화하는 참조와 여러 예제 스크립트가 포함되어 있습니다. 모듈을 마치면 이 강력한 도구를 악성코드 트리지 워크플로에 통합하고 복잡한 디버깅 시나리오에서 분석 속도를 높일 준비가 될 것입니다.
현재 이 저장소에 대한 기여는 받지 않지만, 오류, 제안 및 피드백은 [email protected]으로 환영합니다.
커뮤니티 공지사항을 위해 제목을 "subscribe"로 하여 [email protected]으로 이메일을 보내 FLARE 메일링 리스트를 구독하세요.