본문 바로가기

디지털 포렌식 (Forensic)

(64)
[디스크 포렌식] 3.20 악성코드 감염 MBR 복구 3.20 악성코드란? MBR 영역과 VBR을 모두 특정 문자열로 덮어씌워서 부팅이 불가능하도록 만드는 악성코드 3.20 악성코드에 감염된 가상머신 파일을 HxD로 열면 섹터 0에 VMDK 파일의 예약 영역이 위치합니다. VMDK 파일의 예약 영역을 제외한 가상머신의 0번째 섹터의 MBR 구조를 보고 싶다면 FTK Imager로 VMDK 파일을 열어주면 됩니다. FTK Imager로 확인해보니 MBR 영역이 모두 HASTATI라는 문자열로 덮여있습니다. 검색 기능으로 검색을 해보니 HASTATI로 뒤덮인 영역이 2개 더 있었습니다. 처음 HASTATI 영역은 MBR 영역, 2번째와 3번째 HASTATI 영역은 파티션 정보를 담고 있는 영역이라고 추측해 볼 수 있습니다. 그럼 파티션을 복구해 보겠습니다. 먼..
[디스크 포렌식] 다중 파티션의 이해 다중 파티션 파티션 테이블에는 총 4개의 파티션 정보가 할당되는데, 파티션이 5개 이상인 경우에는 다중 파티션을 사용합니다. forensic-proof.com 사이트에서 참고한 다중 파티션의 구조입니다. 마지막 4번째 파티션을 확장파티션으로 할당하고, 확장 파티션에서 다시 확장 파티션을 할당한다는 개념입니다. 다중 파티션이 할당된 이미지 파일을 FTK Imager로 열어보았습니다. 총 5개의 파티션이 할당되어 있습니다. HxD로 이미지 파일을 열어 파티션 테이블 값을 분석해 보겠습니다. 파티션 테이블을 확인해보면 4번째 파티션의 정보가 있는 부분에 0x05로 확장 파티션을 나타내는 플래그가 있습니다. 확장 파티션을 나타내는 4번째 파티션의 시작 주소가 00 04 B0 80(리틀 엔디안)을 10진수로 변환..
[디스크 포렌식] NTFS 파티션 복구 NTFS 파티션 복구 FTK Imager로 이미지 파일을 열어보니 파일 시스템을 인식할수 없다며 파티션이 손상된 것을 확인할 수 있습니다. 손상된 이미지 파일을 복구하기 위하여 HxD로 이미지 파일을 열어보겠습니다. 섹터 0의 MBR 구조입니다. 파티션 테이블을 확인하니 파티션 하나가 할당되어 있습니다. 파티션을 분석해보면 시작 주소는 3F 00 00 00이고, 0x07이므로 NTFS 파일 시스템인 점을 확인할 수 있습니다. 시작 주소가 00 00 00 3F(리틀 엔디안)이므로 10진수로 변환한(63) 주소로 이동해 보겠습니다. 63번 섹터에 DISK Fail이라고 손상되어 있습니다. 이 63번 섹터를 복구해보겠습니다. NTFS 파일 시스템의 경우 파티션 정보의 제일 마지막 섹터에 백업본이 저장되어 있습..
[디스크 포렌식] FAT32 파티션 복구 FAT32 파티션 복구 FTK Imager로 손상된 이미지 파일을 열게 되면 위 사진과 같이 파일 시스템이 인지되지 않는다고 나옵니다. 손상된 이미지 파일을 복구하기 위하여 HxD로 이미지 파일을 열어보겠습니다. Sector 0의 MBR 구조입니다. 파티션 테이블 부분에 파티션 1개가 할당되어 있는 것을 확인할 수 있습니다. 해당 파티션의 시작 주소는 3F 00 00 00이고, 0x0B가 할당되어 있으므로 FAT32 파일시스템입니다. 파티션 시작 주소를 알아냈으니 00 00 00 3F(리틀 엔디안)를 10진수로 변환(63)하고 해당 섹터로 이동해 보겠습니다. 63번 섹터를 보면 DISK Fail 이라는 문구가 도배되어 있습니다. 63번 섹터를 복구해 보겠습니다. FAT32 파일시스템은 파티션 시작 주소의..
[디스크 포렌식] MBR (Master Boot Record) 구조 MBR 구조 LBA (Logical Block Addressing) 주소지정방식의 실제 하드디스크 구조를 알아보겠습니다. LBA 주소지정방식은 섹터 단위로 차례대로 주소를 지정하기 때문에 0번 섹터에 MBR이 오게 되며, 이후 차례대로 파티션 정보가 들어오게 됩니다. MBR에는 부팅에 필요한 Boot Code와 파티션 정보를 가지고 있어 시스템의 MBR이 손상되면 부팅이 불가능하게 됩니다. MBR은 총 512byte로 구성되어 있고, 크게 3가지 영역으로 구분됩니다. 부트 코드 (446byte) 부팅과 관련된 코드를 담고 있는 영역으로, 부팅 가능한 시스템에 대한 Boot Code 영역은 모두 같습니다. 파티션 테이블 (64byte) 부팅에 필요한 정보가 있는 파티션으로 점프시켜 주기 위한 정보를 가지고..
[디스크 포렌식] 하드디스크 구조 하드디스크 구조 전원 커넥터 : 하드디스크에 전원을 공급해주는 단자 데이터 커넥터 : 하드디스크와 컴퓨터 사이의 데이터를 전송해주는 단자 헤드 : 데이터를 읽어주는 역할 액츄에이터 암 : 헤드를 데이터가 있는 위치로 움직여주는 역할 플래터 : 실제 데이터가 저장되는 영역 스핀들 모터 : 플래터를 회전해주는 역할 플래터 구조 트랙 (A) : 섹터 단위의 모음. 원심 전체가 트랙이 됨. 섹터 (B) : 하드디스크의 물리적인 최소 단위 (512byte) 트랙 섹터 (C) : 같은 구역에 있는 섹터의 집합 클러스터 (D) : 섹터 단위를 묶어 데이터의 입출력 단위를 정하게 되는데 이를 클러스터라 함. (기본 4096byte) 클러스터 하드디스크의 읽기/쓰기 작업은 모두 섹터 단위로 이루어지고 물리적인 최소 단위..
[메모리 포렌식] Volatility 프레임워크 memdump 플러그인 이번에는 Volatility의 플러그인인 memdump에 대하여 알아보겠습니다. Volatility의 vol.py -h 명령어로 매뉴얼을 살펴보면 위와 같이 적혀있습니다. 말 그대로 프로세스의 메모리를 dump하는 명령어입니다. memdump 명령어를 사용하는 방법은 아래와 같습니다. vol.py(Volatility 프레임워크) -f(파일 선택 옵션) Target1-1dd8701f.vmss(분석할 메모리 파일) --profile=Win7SP0x86(profile 지정) memdump(memdump 플러그인) -p(pid 지정 옵션) 3196(프로세스의 pid) -D(저장할 디렉토리 옵션) ./(현재 위치) 와 같은 형태로 적어주시면 됩니다.
[디지털포렌식전문가 2급 필기] 4-6-2. 데이터베이스 증거 수집&분석 절차 오라클 데이터베이스 포렌식에서 증거 획득을 위하여 검토해야 할 항목 - TNS (Transparent Network Substrate) 로그 - 트레이스 (Trace) 파일 - Sysdba Audit 로그 오라클 포렌식에서 리스너 로그 파일 분석을 통하여 알 수 있는 것 - 접속한 날짜와 시간 - 접속한 컴퓨터 이름과 계정 - 접속한 IP 주소와 포트 번호 로그 분석 절차 - 데이터베이스 로그를 확인 - 트랜잭션 로그의 위치 및 트랜잭션 로그를 확인 - 시스템 로그(에러 로그)의 위치 및 시스템 로그(에러 로그)를 확인 데이터베이스 증거 수집 방법 절차 1. 데이터베이스 서버 동작 여부 확인 2. 데이터베이스 인스턴스 동작 여부 확인 3. 휘발성 자료를 데이터베이스 종류별로 나누어 증거 수집 4. 수집된..
[디지털포렌식전문가 2급 필기] 4-6-1. 데이터베이스 서버 환경 데이터베이스를 압수하는 과정에서 데이터베이스 서버 환경에 따라 조사관이 주의해야 하는 항목 - 쿼리문을 통하여 나온 결과는 간단하게 작업할 수 있는 방법으로 엑셀 파일 형태로 기록하여 분석하는 것도 가능
[디지털포렌식전문가 2급 필기] 4-5-3. 회복 기법 백업 파일 - 데이터베이스 관리 시스템에서 하드 디스크 장애가 발생한 경우 데이터베이스의 무결성 보장을 위하여 가장 먼저 사용하는 파일