본문 바로가기

DFIR

(26)
윈도우 침해사고 대응 아티팩트 [4편] 리눅스 침해사고 대응 아티팩트: 파일 타임라인 및 디스크 기반 분석 이 문서는 공격자의 흔적을 디스크 레벨에서 식별하기 위한 파일 시스템 타임라인 및 로우 아티팩트 분석에 초점을 둡니다. 각 항목은 "아티팩트" 자체를 기준으로 설명하며, 분석 도구는 부수적으로만 언급합니다.1. $MFT (Master File Table)설명: NTFS 파일시스템의 핵심 아티팩트로, 파일 및 디렉토리의 메타데이터(MACB: Modified, Accessed, Created, Entry Modified) 타임스탬프를 포함합니다. 삭제된 파일 정보도 잔존할 수 있습니다.위치: NTFS 볼륨 루트에 상주 (숨김 시스템 파일)침해 흔적 예시:\Users\user\AppData\Roaming\bd.exeCreated: 2024-0..
윈도우 침해사고 대응 아티팩트 [3편] 리눅스 침해사고 대응 아티팩트: 네트워크 통신 및 외부 접속 흔적 이 문서는 윈도우 환경에서 공격자의 외부 C2 연결, 리버스쉘, 파일 유출 등과 관련된 네트워크 기반 아티팩트를 식별하고 분석하는 데 초점을 둡니다.1. Netstat, TCPView, Get-NetTCPConnection설명: 시스템 내 현재 열린 포트, 연결 중인 외부 IP, 프로세스 매핑 정보 확인수집 명령:netstat -anoTCPView (Sysinternals)Get-NetTCPConnection | Select-Object Local*, Remote*, State침해 예시:TCP 192.168.0.10:49813 → 203.0.113.45:4444 (ESTABLISHED)PID: 4420 (powershell.exe)분석 포..
윈도우 침해사고 대응 아티팩트 [2편] 리눅스 침해사고 대응 아티팩트: 악성 실행 흔적 및 실행 로직 분석 이 문서는 윈도우 침해사고 대응 시, 공격자가 실제로 악성 코드를 실행하거나 시스템 내에 코드 실행 로직을 심어두는 흔적을 식별하기 위한 핵심 아티팩트를 정리한 것입니다.1. 레지스트리 기반 자동 실행: Run / RunOnce / Services설명: 시스템 시작 시 자동 실행되는 프로그램 등록 위치위치:HKCU\Software\Microsoft\Windows\CurrentVersion\RunHKLM\Software\Microsoft\Windows\CurrentVersion\RunHKLM\System\CurrentControlSet\Services정상 예시:HKLM\...\Run\SecurityHealth = "C:\Windows\sy..
윈도우 침해사고 대응 아티팩트 [1편] 윈도우 침해사고 대응 아티팩트: 사용자 활동 및 시스템 동작 이력 본 문서는 윈도우 환경에서 침해사고 대응 시, 사용자 행위 및 시스템 동작 흔적을 분석하기 위한 핵심 아티팩트를 실전 중심으로 정리한 자료입니다. 각 항목은 다음 형식을 따릅니다:아티팩트 설명수집 방법 또는 경로정상 출력 예시침해 흔적 예시분석 포인트1. Windows Event Log (Security / System / Application)설명: 시스템 전반의 행위 기반 이벤트 기록, 사용자 인증, 프로세스 생성 등 핵심 정보 확인 가능수집 경로:C:\Windows\System32\winevt\Logs\Security.evtx정상 예시:Event ID 4624 - Successful LogonLogon Type: 2 (Interact..
리눅스 침해사고 대응 아티팩트 [3편] 리눅스 침해사고 대응 아티팩트: 지속성 유지 및 은닉 기법 분석공격자는 단순히 시스템을 침투하는 것에 그치지 않고, 장기간 접근 권한을 유지하거나 존재를 숨기기 위한 다양한 기법을 사용합니다. 이를 탐지하고 제거하지 못하면 재침투 또는 지속적인 정보 유출로 이어질 수 있습니다.본 문서에서는 다음 항목을 기준으로 분석합니다.어떤 명령어나 위치인지 설명정상 상태 예시침해 발생 시 예시분석 포인트 요약지속성 및 은닉 관련 아티팩트 목록 및 분석 예시1. crontab -l, /etc/cron*, /var/spool/cron/설명: 주기적으로 악성 스크립트를 실행하는 백도어 기법정상 예시:0 3 * * * /usr/bin/apt update침해 예시:* * * * * root /tmp/.bd.sh분석 포인트:...
리눅스 침해사고 대응 아티팩트 [2편] 리눅스 침해사고 대응 아티팩트: 네트워크 및 외부 통신 흔적 분석리눅스 시스템이 침해되었을 때, 시스템 내부의 상태뿐만 아니라 외부와의 통신 흔적을 분석하는 것이 중요합니다. 공격자가 외부에서 침입했는지, 내부에서 외부로 정보를 유출했는지, 지속적인 명령제어(C2) 통신이 있었는지를 파악해야 하기 때문입니다.이 문서에서는 다음과 같은 방식으로 정리합니다.어떤 명령어인지 간단한 설명정상 출력 예시침해 발생 시 출력 예시분석 포인트 요약실제 침해사고 사례에 기반한 예시를 포함해, 실무에서 바로 사용할 수 있도록 구성하였습니다.네트워크 및 외부 통신 관련 핵심 아티팩트 목록 및 예시1. netstat -antp, ss -antp설명: 현재 열려 있는 TCP 포트와 연결 상태, 해당 PID를 확인할 수 있습니다..
리눅스 침해사고 대응 아티팩트 [1편] 리눅스 침해사고 대응 아티팩트: 시스템 상태 및 활동 이력 완전 분석리눅스 서버에서 침해사고가 발생했을 때, 가장 먼저 확인해야 할 것은 "시스템 상태와 활동 이력"입니다. 이 항목은 누가, 언제, 어디서, 무엇을 실행했는지를 파악하는 데 핵심적인 단서를 제공합니다. 이 문서에서는 각 아티팩트에 대해어떤 명령어인지 간단한 설명평상시 정상 상태에서 어떤 출력이 나오는지침해 발생 시 어떤 이상 징후가 출력되는지분석 포인트는 무엇인지를 실제 예시 기반으로 최대한 상세하게 정리하였습니다. 이 문서 하나로 침해사고 분석의 실질적인 시작이 가능하도록 구성했습니다.또한 기존 항목 외에도 실무에서 반드시 점검해야 할 핵심 명령어들을 최대한 폭넓게 수집하여 보완하였습니다.시스템 상태 및 활동 이력 아티팩트 전체 목록 및..
[디스크 포렌식] GPT 파티션 분석 GPT 파티션 - 최근 많이 사용되는 EFI 시스템에서 사용되는 디스크 형식 - MBR과 마찬가지로 디스크 정보 포함 - LBA 방식 사용 - 파티션 생성 시 처음 부분과 마지막 부분에 여유 공간을 두어 MBR -> GPT 변환을 지원 - 0번 섹터에 MBR 구조를 가지지만 GPT 파티션 시작 위치가 저장 - 저장되는 주소 형태는 MBR과 같음 - GPT 파티션은 파티션 타입에 0xEE 사용 - 보통 GPT 파티션의 경우에는 1번 섹터에 정보가 저장 Primary GPT Header - 1번 섹터에 위치 - GPT에 대한 설정 정보를 저장 - GPT 헤더 정보는 92바이트로 구성 의미 byte 내용 Signature 8 "EFI PART" 기록 Revision 4 버전 1.0을 의미 Header Size..
[디스크 포렌식] NTFS 파일 시스템 Non-Resident 파일 시간 정보 알아보기 FAT32 파일 시스템과 달리 NTFS 파일 시스템에서 시간에 대한 정보는 또 다른 하위 MFT Entry에 저장하게 됩니다. 시간 정보를 저장하는 속성은 $Standard_Information 속성과 $File_Name 속성 두 가지가 있습니다. $Standard_Information 의미 내용 Attribute Type ID 속성 타입 식별 값으로 [10 00 00 00]을 찾으면 됨 Time 각각의 8바이트로 구성되어 있으며 생성, 수정, MFT 수정 시간, 마지막 접근 시간이 저장되어 있음 $File_Name 의미 내용 Attribute Type ID 속성 타입 식별 값으로 [30 00 00 00]을 찾으면 됨 Time 각각의 8비트로 구성되어 있으며 생성, 수정, MFT 수정 시간, 마지막 접근..
[디스크 포렌식] NTFS 파일 시스템 Non-Resident $DATA 속성 NTFS 파일 시스템 Non-Resident $DATA 속성 Non-Resident 속성의 경우 해당 Index Entry에서 0x80($DATA) 속성을 찾아 분석하여 수동으로 해당 데이터의 실제 위치를 알아낼 수 있습니다. 위 그림은 $DATA 속성의 구조입니다. 의미 내용 Attribute Type ID 속성 타입 식별 값을 나타냄. $DATA는 [80 00 00 00] (0x10, 0x30, 0x80, 0xA0 등 하위 MFT Entry) Length of Attribute 속성 헤더를 포함한 속성 전체의 길이를 나타냄 N-R Flag Non-Resident 속성 여부를 나타냄 (0x01은 N-R 속성) Flags 속성 상태를 나타냄 (0x0001은 압축, 0x0002는 숨김, 0x0020은 압축..