분류 전체보기 (638) 썸네일형 리스트형 [디스크 포렌식] 루트 디렉토리 추적 FAT32 파일 시스템을 가진 실습 파일을 HxD로 열고, 첫 번째 파티션의 시작 위치로 이동해 보겠습니다. 첫 번째 파티션의 시작 섹터입니다. 이 정보를 통하여 루트 디렉토리의 위치를 알아내 보겠습니다. 루트 디렉토리의 위치를 알아내기 위해서 FAT Area의 주소를 알아야 합니다. 위의 BR 영역의 Reserved Sector 영역을 보면 10 1A로 되어 있습니다. 즉 BR 주소 (128) + Reserved Sector (4122)를 더해주면 FAT Area (4250번째) 섹터가 나옵니다. 루트 디렉토리로 가기 위해서는 FAT 주소에 FAT 크기*2를 한 값을 더해주면 됩니다. (FAT의 개수가 기본적으로 2개) FAT 크기는 BR 영역을 보면 07 F3으로 적혀 있습니다. 4250 (FAT A.. [디스크 포렌식] FAT32 파일 시스템 FAT32 파일 시스템 먼저 FAT32 파일 시스템의 파티션 구조를 알아보겠습니다. FAT32 파티션 구조는 위와 같이 이루어져 있습니다. 1. Boot Sector (BR) Boot Sector는 MBR 구조와 같이 특정 오프셋 별로 의미하는 바가 다릅니다. 0byte ~ 2byte : Boot Code 3byte ~ 89byte : BIOS Parameter Block 90byte ~ 509byte : Boot Code와 Error Message 510byte ~ 511byte : 시그니쳐 2byte 위는 FAT32 파일 시스템의 BR 영역 구조입니다. 의미 내용 Jump Boot Code Boot Strap Code로 점프하기 위한 부분 OEM Name OEM 회사를 나타내는 문자열 (FAT32는 .. [네트워크 포렌식] 이벤트 예약 웹사이트를 운영하고… 문제에서 압축 파일 하나를 줍니다. 압축을 풀어보겠습니다. 압축을 풀면 위와 같은 디렉토리와 디렉토리에 해당하는 로그 파일들이 존재합니다. Visual Studio Code 프로그램으로 로그 파일들을 열어보겠습니다. accounts 디렉토리의 history 파일입니다. /var/www/upload/editor/image 경로에 777권한을 준 것이 눈에 띕니다. 777권한을 부여한 경로로 검색해보니, ps_eaf 파일에서 프로세스가 검색되었습니다. php -f 명령어로 reverse.php 파일을 실행했습니다. pid는 5245입니다. network 디렉토리의 lsof 로그에서 pid인 5245로 검색해 보았습니다. 1884 라인에 TCP 프로토콜으로 특정 ip와 연결되었다는 점을 발견할 수 있습니다. .. [디스크 포렌식] 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) 클러스터 하드디스크의 읽기/쓰기 작업은 모두 섹터 단위로 이루어지고 물리적인 최소 단위.. [네트워크 포렌식] Sans Network Forensic [Puzzle 8] #9 #1번 문제의 evidence08.pcap 패킷 파일을 사용합니다. WAP의 관리 암호를 구하는 문제입니다. 문제에서 passphrase라는 단어를 명시했으니 와이어샤크를 열고 passphrase로 검색해 보겠습니다. passphrase로 검색해보면 POST 방식의 패킷 하나를 확인할 수 있습니다. passphrase 값에 hahp0wnedJ00라는 값이 들어있습니다. 이와 같이 #9번의 답을 구할 수 있습니다. 이전 1 ··· 36 37 38 39 40 41 42 ··· 64 다음