From 23a312bd1fbbb7bdc56addf8814274bc31278914 Mon Sep 17 00:00:00 2001 From: Translator Date: Mon, 4 Aug 2025 12:14:14 +0000 Subject: [PATCH] Translated ['src/generic-methodologies-and-resources/basic-forensic-meth --- .../file-data-carving-recovery-tools.md | 107 +++++++++++++----- 1 file changed, 80 insertions(+), 27 deletions(-) diff --git a/src/generic-methodologies-and-resources/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md b/src/generic-methodologies-and-resources/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md index e57e1c77f..985197dfb 100644 --- a/src/generic-methodologies-and-resources/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md +++ b/src/generic-methodologies-and-resources/basic-forensic-methodology/partitions-file-systems-carving/file-data-carving-recovery-tools.md @@ -1,33 +1,42 @@ -# 파일/데이터 카빙 및 복구 도구 +# File/Data Carving & Recovery Tools {{#include ../../../banners/hacktricks-training.md}} -## 카빙 및 복구 도구 +## Carving & Recovery tools 더 많은 도구는 [https://github.com/Claudio-C/awesome-datarecovery](https://github.com/Claudio-C/awesome-datarecovery)에서 확인할 수 있습니다. ### Autopsy -포렌식에서 이미지를 통해 파일을 추출하는 데 가장 일반적으로 사용되는 도구는 [**Autopsy**](https://www.autopsy.com/download/)입니다. 다운로드하여 설치한 후 파일을 추가하여 "숨겨진" 파일을 찾으세요. Autopsy는 디스크 이미지 및 기타 종류의 이미지를 지원하도록 설계되었지만 단순 파일은 지원하지 않습니다. +포렌식에서 이미지를 통해 파일을 추출하는 데 가장 일반적으로 사용되는 도구는 [**Autopsy**](https://www.autopsy.com/download/)입니다. 다운로드하여 설치한 후 파일을 가져와 "숨겨진" 파일을 찾으세요. Autopsy는 디스크 이미지 및 기타 종류의 이미지를 지원하도록 설계되었지만 단순 파일은 지원하지 않습니다. +> **2024-2025 업데이트** – 버전 **4.21** (2025년 2월 출시)에서는 다중 테라바이트 이미지를 처리할 때 눈에 띄게 빠른 **SleuthKit v4.13** 기반의 재구성된 **carving 모듈**이 추가되었으며, 다중 코어 시스템에서 병렬 추출을 지원합니다.¹ 작은 CLI 래퍼(`autopsycli ingest `)도 도입되어 CI/CD 또는 대규모 실험실 환경 내에서 carving을 스크립트화할 수 있게 되었습니다. +```bash +# Create a case and ingest an evidence image from the CLI (Autopsy ≥4.21) +autopsycli case --create MyCase --base /cases +# ingest with the default ingest profile (includes data-carve module) +autopsycli ingest MyCase /evidence/disk01.E01 --threads 8 +``` ### Binwalk -**Binwalk**는 이진 파일을 분석하여 내장된 콘텐츠를 찾는 도구입니다. `apt`를 통해 설치할 수 있으며 소스는 [GitHub](https://github.com/ReFirmLabs/binwalk)에 있습니다. +**Binwalk**는 임베디드 콘텐츠를 찾기 위해 바이너리 파일을 분석하는 도구입니다. `apt`를 통해 설치할 수 있으며, 소스는 [GitHub](https://github.com/ReFirmLabs/binwalk)에 있습니다. **유용한 명령어**: ```bash -sudo apt install binwalk #Insllation -binwalk file #Displays the embedded data in the given file -binwalk -e file #Displays and extracts some files from the given file -binwalk --dd ".*" file #Displays and extracts all files from the given file +sudo apt install binwalk # Installation +binwalk firmware.bin # Display embedded data +binwalk -e firmware.bin # Extract recognised objects (safe-default) +binwalk --dd " .* " firmware.bin # Extract *everything* (use with care) ``` +⚠️ **보안 노트** – 버전 **≤2.3.3**는 **경로 탐색** 취약점(CVE-2022-4510)의 영향을 받습니다. 신뢰할 수 없는 샘플을 조각내기 전에 업그레이드(또는 컨테이너/비특권 UID로 격리)하세요. + ### Foremost -또 다른 일반적인 도구는 **foremost**입니다. foremost의 구성 파일은 `/etc/foremost.conf`에 있습니다. 특정 파일을 검색하려면 주석을 제거하면 됩니다. 아무것도 주석을 제거하지 않으면 foremost는 기본적으로 구성된 파일 유형을 검색합니다. +숨겨진 파일을 찾기 위한 또 다른 일반적인 도구는 **foremost**입니다. foremost의 구성 파일은 `/etc/foremost.conf`에 있습니다. 특정 파일을 검색하려면 주석을 제거하세요. 아무것도 주석을 제거하지 않으면 foremost는 기본적으로 구성된 파일 유형을 검색합니다. ```bash sudo apt-get install foremost foremost -v -i file.img -o output -#Discovered files will appear inside the folder "output" +# Discovered files will appear inside the folder "output" ``` ### **Scalpel** @@ -36,52 +45,96 @@ foremost -v -i file.img -o output sudo apt-get install scalpel scalpel file.img -o output ``` -### Bulk Extractor +### Bulk Extractor 2.x -이 도구는 칼리 안에 포함되어 있지만 여기에서 찾을 수 있습니다: [https://github.com/simsong/bulk_extractor](https://github.com/simsong/bulk_extractor) +이 도구는 kali에 포함되어 있지만 여기에서 찾을 수 있습니다: -이 도구는 이미지를 스캔하고 **pcaps**를 추출하며, **네트워크 정보 (URL, 도메인, IP, MAC, 메일)** 및 더 많은 **파일**을 추출할 수 있습니다. 당신이 해야 할 일은: +Bulk Extractor는 증거 이미지를 스캔하고 **pcap 조각**, **네트워크 아티팩트 (URL, 도메인, IP, MAC, 이메일)** 및 많은 다른 객체를 **여러 스캐너를 사용하여 병렬로** 조각낼 수 있습니다. +```bash +# Build from source – v2.1.1 (April 2024) requires cmake ≥3.16 +git clone https://github.com/simsong/bulk_extractor.git && cd bulk_extractor +mkdir build && cd build && cmake .. && make -j$(nproc) && sudo make install + +# Run every scanner, carve JPEGs aggressively and generate a bodyfile +bulk_extractor -o out_folder -S jpeg_carve_mode=2 -S write_bodyfile=y /evidence/disk.img ``` -bulk_extractor memory.img -o out_folder -``` -모든 정보를 탐색하세요(비밀번호?), 패킷을 분석하세요(읽기[ **Pcaps analysis**](../pcap-inspection/index.html)), 이상한 도메인을 검색하세요(악성코드 또는 존재하지 않는 도메인과 관련된 도메인). +유용한 후처리 스크립트(`bulk_diff`, `bulk_extractor_reader.py`)는 두 이미지 간의 아티팩트를 중복 제거하거나 결과를 SIEM 수집을 위해 JSON으로 변환할 수 있습니다. ### PhotoRec -[https://www.cgsecurity.org/wiki/TestDisk_Download](https://www.cgsecurity.org/wiki/TestDisk_Download)에서 찾을 수 있습니다. +에서 찾을 수 있습니다. -GUI 및 CLI 버전이 제공됩니다. PhotoRec이 검색할 **파일 유형**을 선택할 수 있습니다. +GUI 및 CLI 버전이 함께 제공됩니다. PhotoRec이 검색할 **파일 유형**을 선택할 수 있습니다. ![](<../../../images/image (242).png>) +### ddrescue + ddrescueview (불량 드라이브 이미징) + +물리적 드라이브가 불안정할 때는 **먼저 이미징하는 것이 최선의 방법**이며, 이미지를 대상으로만 카빙 도구를 실행하는 것이 좋습니다. `ddrescue` (GNU 프로젝트)는 읽을 수 없는 섹터의 로그를 유지하면서 불량 디스크를 신뢰성 있게 복사하는 데 중점을 둡니다. +```bash +sudo apt install gddrescue ddrescueview # On Debian-based systems +# First pass – try to get as much data as possible without retries +sudo ddrescue -f -n /dev/sdX suspect.img suspect.log +# Second pass – aggressive, 3 retries on the remaining bad areas +sudo ddrescue -d -r3 /dev/sdX suspect.img suspect.log + +# Visualise the status map (green=good, red=bad) +ddrescueview suspect.log +``` +버전 **1.28** (2024년 12월)에서는 **`--cluster-size`**가 도입되어 전통적인 섹터 크기가 플래시 블록과 더 이상 정렬되지 않는 고용량 SSD의 이미징 속도를 높일 수 있습니다. + +### Extundelete / Ext4magic (EXT 3/4 복구) + +소스 파일 시스템이 Linux EXT 기반인 경우 최근에 삭제된 파일을 **전체 카빙 없이** 복구할 수 있습니다. 두 도구는 읽기 전용 이미지에서 직접 작동합니다: +```bash +# Attempt journal-based undelete (metadata must still be present) +extundelete disk.img --restore-all + +# Fallback to full directory scan; supports extents and inline data +ext4magic disk.img -M -f '*.jpg' -d ./recovered +``` +> 🛈 파일 시스템이 삭제 후에 마운트되었다면, 데이터 블록이 이미 재사용되었을 수 있습니다 – 이 경우 적절한 카빙(Foremost/Scalpel)이 여전히 필요합니다. + ### binvis [코드](https://code.google.com/archive/p/binvis/)와 [웹 페이지 도구](https://binvis.io/#/)를 확인하세요. -#### BinVis의 기능 +#### BinVis의 특징 - 시각적이고 능동적인 **구조 뷰어** -- 다양한 초점 포인트에 대한 여러 플롯 +- 다양한 초점에 대한 여러 플롯 - 샘플의 일부에 집중 -- PE 또는 ELF 실행 파일에서 **문자열 및 리소스 보기** -- 파일에 대한 암호 분석 패턴 얻기 -- 패커 또는 인코더 알고리즘 **찾기** +- PE 또는 ELF 실행 파일에서 **스트링과 리소스 보기** +- 파일에 대한 암호 분석을 위한 **패턴** 얻기 +- **패커** 또는 인코더 알고리즘 **찾기** - 패턴으로 스테가노그래피 **식별** - **시각적** 바이너리 차이 비교 -BinVis는 블랙박스 시나리오에서 알려지지 않은 대상을 익히는 데 훌륭한 **출발점**입니다. +BinVis는 블랙 박스 시나리오에서 **알려지지 않은 대상을 익히기 위한 훌륭한 시작점**입니다. ## 특정 데이터 카빙 도구 ### FindAES -키 스케줄을 검색하여 AES 키를 검색합니다. TrueCrypt 및 BitLocker에서 사용하는 128, 192 및 256 비트 키를 찾을 수 있습니다. +키 스케줄을 검색하여 AES 키를 찾습니다. TrueCrypt 및 BitLocker에서 사용되는 128, 192 및 256 비트 키를 찾을 수 있습니다. -[여기에서 다운로드](https://sourceforge.net/projects/findaes/)하세요. +[여기서 다운로드](https://sourceforge.net/projects/findaes/)하세요. + +### YARA-X (카빙된 아티팩트 분류) + +[YARA-X](https://github.com/VirusTotal/yara-x)는 2024년에 출시된 YARA의 Rust 재작성입니다. 고전 YARA보다 **10-30배 빠르며** 수천 개의 카빙된 객체를 매우 빠르게 분류하는 데 사용할 수 있습니다: +```bash +# Scan every carved object produced by bulk_extractor +yarax -r rules/index.yar out_folder/ --threads 8 --print-meta +``` +속도 향상으로 인해 대규모 조사에서 모든 조각 파일을 **자동 태그**하는 것이 현실적으로 가능해졌습니다. ## 보조 도구 -터미널에서 이미지를 보려면 [**viu** ](https://github.com/atanunq/viu)를 사용할 수 있습니다.\ +터미널에서 이미지를 보려면 [**viu** ](https://github.com/atanunq/viu)를 사용할 수 있습니다. \ PDF를 텍스트로 변환하고 읽으려면 리눅스 명령줄 도구 **pdftotext**를 사용할 수 있습니다. +## 참고 문헌 + +1. Autopsy 4.21 릴리스 노트 – {{#include ../../../banners/hacktricks-training.md}}