전체 글 56

[Forensics] 2024 10th 디지털 범인을 찾아라(디범찾) - 2

문제압수한 노트북을 분석하여 다음 사항을 확인하고 보고서를 작성하시오.1. 압수된 자료를 기반으로 판매자와 공범자 간의 공모 정황을 구체적으로 서술하시오.2. 불법 거래된 음원 파일을 확보하고, 해당 파일이 변조되었음을 증명할 수 있는 방법을 제시하시오.3. 변조된 음원 파일의 거래 내역을 분석하고, 그 내용을 구체적으로 서술하시오.4. 피압수자가 도주를 계획하고 있었는지 여부를 확인하고, 그 내용을 상세히 기술하시오.5. 이 사건에 적용될 수 있는 법률을 검토하고, 그 내용을 서술하시오.1. **WeChat 아티팩트와 이메일 아티팩트를 분석하여, 문제 1을 해결해주세요.** 1. 인터넷에서 다운로드한 수상한 파일을 찾아주세요. (+ 수상한 이유) 2. 수상한 파일에서 WeChat 데이터베이스..

워게임/포렌식 2025.04.15

[V8] CVE-2024-6100 분석 - WASM Type Confusion

개요CVE-2024-6100은 Chrome의 Java Script 엔진인 V8에서 발견된 Type Confusion 취약점으로, 공격자가 조작된 HTML 페이지를 통해 임의 코드를 실행할 수 있는 취약점입니다. 126.0.6478.114 이전 버전의 Google Chrome V8 버전에서 발생하며, Chrome 보안 심각도는 '높음'입니다. 이 취약점을 요약하면 JS값을 WASM 코드로 바꾸는 과정에서 WASM의 Type Confusion 취약점이 발생했다고 합니다.WASM은 타입을 정밀하게 관리하는 특징이 있습니다. 그런데 JS에서 WASM으로 변환할 때 사용하는 함수들(FromJS(), JSToWasmObject() 등)이 WASM 내부의 HeapType(메모리 관련 타입)과 ValueType(일반 ..

CVE 분석 2025.04.13

[Forensics] 2024 10th 디지털 범인을 찾아라(디범찾) - 1

시나리오문화체육관광부 소속 특별사법경찰관 甲과 한국저작권보호원은 최근 대규모 데이터를 학습하고, 기존 데이터를 기반으로 이용자의 요구에 맞춘 콘텐츠를 생성해 판매하는 불법 생성형 AI(Generative AI) 조직에 대한 중요한 제보를 접수하게 되었다. 이 제보는 저작권 침해와 관련된 심각한 범죄 행위로서, 문화체육관광부와 대검찰청 사이버수사과 간의 긴밀한 공조 하에 대대적인 수사로 이어지게 되었다. 수사 과정에서 밝혀진 바에 따르면, 이 불법 조직은 의뢰자의 요구에 따라 저작권이 보호된 음원을 선정하고, 그 음원의 특정 부분을 변조하거나 길이를 조정하는 등의 작업을 진행하였다. 의뢰자가 변조가 필요한 부분, 변조의 방향성, 그리고 음원의 길이 등 구체적인요구 사항을 제공하면, 판매자는 이를 기반으로 ..

워게임/포렌식 2025.04.11

[Redteam] ATT&CK - Initial Access: Phishing 정리

피싱(Phishing)우리가 사회에서 흔히 껶어보거나 들어본 피싱의 의미는, 개인정보(Private Data)와 낚시(Fishing)을 합친 용어로, 피해자를 기망 또는 협박하여 개인정보 및 금융거래 정보를 요구하거나 피해자의 금전을 이체하도록 하는 나쁜 수법입니다.  레드티밍에서 피싱은 공격가 피싱 문자를 보내어 희생자의 시스템에 접근 권한을 얻도록 쓰입니다. 피싱의 모든 형태는 전기적으로 이루어지는 사회공학 기법 중 하나이며, 피싱은 타겟이 될 수도, *스피어피싱으로 알려질 수 있습니다.*스피어피싱 - 특정 개인, 회사, 산업체를 향하여 공격자에 의해 타겟이 되어 피싱 피해(스팸, 악성코드 등)를 당하게 되는 것.  피해자는 전형적으로 악의적인 의도가 포함된 첨부물이나 링크를 피해자의 시스템에서 코드..

RedTeam/ATT&CK 2025.04.11

[Reversing] 간단한 바이너리 만들고 gdb로 분석하는 법

gdb의 사용법과 어떻게 바이너리를 분석하는지(어셈블리 읽는 법, 스택 상태 확인하는 법) 알아보기 위해Hello World를 출력하는 간단한 바이너리를 컴파일하고 gdb로 분석해보겠습니다. //helloWorld.c#include int main() { printf("Hello World\n!"); return 0;} > gcc -o helloWorld helloWorld.cgcc로 컴파일해서 바이너리를 생성하겠습니다  > gdb -q ./helloWorldpwndbg> disass mainDump of assembler code for function main: 0x0000000000001139 : push rbp 0x000000000000113a : ..

워게임/리버싱 2025.04.03

AFL & ASAN 동작 원리 및 fork

AFL 퍼저는 이전에 설명했듯 Instrumentation-guided genetic 알고리즘을 사용하여 테스트 케이스를 생성하고, 변이하는 방식으로 동작함. Brute Force로 입력을 받으면서 커버리지를 넓히고, 프로그램 제어 흐름에 대한 변경사항을 기록하며, 고유 크래시를 발견한다. AFL 특징- 커버리지 기반 퍼저이기 때문에 매우 효율적인 퍼징이 가능함 - 코드 커버리지 측정을 위한 코드를 컴파일 타임에 삽입 - QEMU를 이용하여 컴파일 타임이 아닌, 런타임시에 코드(어떤 부분이 실행됐고, 어떤 부분에서 실행이 안됐는지를 측정) 삽입도 가능함 -> 코드 삽입을 어디에, 언제 할 것인가가 중요.  AFL 동작 과정1. 프로그램 실행 시작 - AFL이 퍼징할 프로그램을 실행함. 2. fork se..

AFL Fuzzer 관점에서 바라본 Instrumentation-guided genetic algorithm(계측 기반 유전 알고리즘)

AFL 퍼저는 Instrumentation-guided genetic 알고리즘을 사용하여 테스트 케이스를 생성하고, 변이하는 방식으로 동작.Instrumentation-guided genetic algorithm - 계측 기반 유전 알고리즘  Instrumentation-GuidedAFL은 타겟 프로그램을 실행할 때 Instrumentation 기법을 사용하여 코드 커버리지를 추적함. 컴파일 시점에 삽입된 게측 코드 (QEMU(리눅스 커널 구동하는 가상머신)와 같은 동적 바이너리 Instrumentation 기법)을 활용하여 실행 흐름을 모니터링. 이를 통해 어떤 입력이 새로운 코드 경로를 트리거 했는지 알 수 있으며, 효과적인 변이가 가능함 Genetic AlgorithmAFL 특성상 기존의 퍼징 방식..

System vuln research(시스템/소스코드 취약점 분석 방법) - Whitebox Testing, Blackbox Testing, Graybox Testing

소스코드 취약점 분석 방법White Box Testing프로그램 내부 구조의 타당성 여부를 테스트하는 방식. 내부 구조의 해석을 위해 프로그램의 모든 처리 루틴에 대해 시험하는 기본 사항. 가끔 발생하는 조건도 고려하여 처리 루틴을 검증하기 위한 시험 데이터를 작성하여 시험을 실시. 예를 들어, 덧셈의 기능을 하는 코드인 경우, 덧셈이 올바르게 완료 되었는가? 불필요한 단계는 없는가? 음수 혹은 큰 값과 같은 다양한 유형의 입력을 잘 처리하는가? 와 같은 문제를 처리할 수 있음. 백그라운드 코드가 깨끗하고 효율적이며, 예상대로 작동하는지 확인 -> 소스 코드를 살펴 봄으로써 코드 상의 취약점이 있는지 탐색. 장점 - 프로그램 내부 작업에 대한 철저한 가시성 제공. - 개발 프로세스 초기에 숨겨진 버그와 ..

[Fuzzing] Fuzzing study 1weeks - Xpdf(CVE-2019-13288)

어쩌다 보니 퍼징 스터디를 하게 되었습니다. 아직 시스템 해킹도 정복하지 못한 저에게 감사하게도 이런 기회가 왔네요https://github.com/antonio-morales/Fuzzing101?tab=readme-ov-file GitHub - antonio-morales/Fuzzing101: An step by step fuzzing tutorial. A GitHub Security Lab initiativeAn step by step fuzzing tutorial. A GitHub Security Lab initiative - GitHub - antonio-morales/Fuzzing101: An step by step fuzzing tutorial. A GitHub Security Lab init..