반응형

디지털 포렌식을 하기 위해서는 저장매체의 파일시스템 구조를 알아볼 필요가 있다.

그리고 때로는 BR 부분이 망가져 복구를 하고 진행해야될 경우가 있다.

렇기 때문에 이번에는 HxD  프로그램을 통해 파일시스템의 MBR 부분을 확인해보려고 한다.


FAT 파일시스템의 MBR의 다음과 같은 구조를 가진다.



이 그림중 55 AA는 매직코드 또는 Signature라고 표현을 하는데

SD카드 또는 USB에서 FAT32로 포맷을 하는 경우 [55 AA]라는 값이 설정이 된다.


그렇기 때문에 MBR 분석 중 Signature값이 55 AA가 보이면

FAT32 파일시스템으로  포맷이 된것이라고 보면 된다.


그리고 Partition의 경우 다음과 같이 table이 구성이 된다.



- Boot Flag : 부팅 가능 여부 확인(0x80 : 부팅가능, 0x00: 부팅불가능)


- Starting CHS Address : CHS 시작 주소 (Cylinder Head Sector의 약자로 물리적 디스크 접근 방식 중 하나) 파티션의 시작 주소를 의미.


- Partition Type : 파티션 타입을 의미하며 0x07이면 NTFS를 나타내고, 0x0B(CHS FAT32), 0x0C(LBA FAT32)를 의미. 0x05와 0x06은 확장 파티션


- Ending CHS Address  : CHS 종료 주소


- Starting LBA Address : LBA 시작 주소.(Logical Block Area의 약자로 CHS의 용량 한계를 극복하기 위해 사용)로 파티션 시작 섹터 번호를 의미


- Size in Sector : 파티션의 섹터 수를 의미


이제 HxD 프로그램으로 MBR의 구조를 확인해보면 다음과 같이 나온다.


[Partition 01]

-------------------------------------------------------------------

00 02 03 00 0C 61 1B 06 80 00 00 00 00 90 01 00

-------------------------------------------------------------------


* 현재 이 저장매체는  한개의 파티션만 사용

* CHS 시작 주소 : 0x02, 0x03, 0x10

* Partition Type : 0x0C (FAT32)

* CHS 종료 주소 : 0x61, 0x1B, 0x60

* LBA 시작 주소(파티션 섹터 시작 번호) : 0x00, 0x00, 0x00, 0x80 : 10진수 128

* 파티션의 섹터 수 : 0x00, 0x90, 0x01, 0x00 : 10진수 102,400


<참조 사이트 및 블로그>

** http://yebig.tistory.com/117

** http://humanistcpu.blogspot.com/2013/10/hxd-mbrmaster-boot-record.html

반응형
반응형

윈도우에서 임의적으로 쓰기 방지 설정을 해야하거나 기타 설정을 변경하려고 할 때

레지스트리를 손봐야 할 상황이 온다.


그러나 이 레지스트리를 잘못 손대면 윈도우 부팅이 안되거나

제대로 프로그램의 실행이 되지 않는 크리티컬한 상황이 오게 되는데

이 상황을 대비해 미리 레지스트리를 수정하기 전 백업을 해놓는 것이 좋다.

(경험상 리눅스도 마찬가지고 설정을 변경을 요할때는 설정파일을 백업해놓고 진행하는 것이 좋다)


- 레지스트리를 백업 및 복원 하는 방법


[백업]

Windows 10 기준 (진입 방법은 대게 비슷함)


검색 → 실행 → regedit 입력 후 확인


파일 → 내보내기


파일 이름에 자신이 저장하고 싶은 파일명을 적어주고

파일 형식은 등록 파일(*.reg)로 지정.


내보내기 범위는 레지스트리 전체를 보낼 수 있는 모두(A)

특정 레지스트리만 보낼 수 있는 선택한 분기(E)가 존재하며 필요에 따라 선택하고

저장을 하면 된다.



이렇게 하면 레지스트리가 백업이 되고 지정한 경로에 저장이 된다.


[복원]

파일 → 가져오기 선택


레지스트리 파일 가져오기 창이 나오면 저장해뒀던 백업파일을 선택하고 열기


이렇게 하면 수정하기 전 레지스트리 상태로 복원이 가능하다.



반응형
반응형

Windows 시스템은 출시된 버전에 따라 폴더의 이름과 구조가 조금씩 다른 부분도 있지만

호환성을 위해 대부분 유사한 형태를 보이고 있다.

디지털 포렌식을 위해 Windows 폴더들의 구조와 각 폴더에 존재하는 파일들의 특성을

이해하는 것은 필수적인 요소다.


[C:\드라이브 기준]

< C:\Documents and Settings\[User ID]\ >

< C:\Users\[User ID]\ >


Documents and Settings 또는 Users 폴더는 사용자 계정별 프로필 설정 및 데이터가 저장되는 폴더로

각각 다른 사용자 계정별 폴더가 존재한다. 각 계정 아래에는 계정별 바탕화면, 즐겨찾기, 내 문서, 편지함 등 환경정보가 저장된 파일 및 폴더가 존재한다.

Windows 95/98/Me 버전에서는 개인 사용자용 운영체제 특성상 계정별 폴더가 존재하지 않았으나 Windows NT 이후의 버전부터는 다중 사용자 운영체제 기반으로 사용자별 프로필 폴더가 존재한다.

Windows NT는 C:\WINNT\Profiles 폴더명으로 Windows XP/2000 에서는 C:\Documents and Settings와 같은 폴더명으로 존재한다.

이후 Windows Vista 부터의 윈도우 시스템은 C:\Users 폴더명으로 사용되고 있으나 호환성을 위해 C:\Users 폴더에 연결된 심볼릭 링크(Symbolic Link)의 형태로 C:\Documents and Settings 폴더도 존재한다.


[사용자 계정별 하위폴더 종류]


- Application Data : 어플리케이션별 데이터, 응용 소프트웨어 개발자가 사용자 프로필 폴더에 저장할 데이터를 결정

- AppData : Windows Vista 이전 Windows 시스템의 Application Data 폴더. 하위 폴더에 Local, LocalLow, Roaming 폴더가 존재

- Cookies : 웹사이트 방문 시 저장되는 쿠키 정보

- Documents : 사용자 문서 (Windows XP 에서는 My Documents)

- Favorites : 인터넷 익스플로러의 즐겨찾기 정보 목록

- Local Settings : 응용 소프트웨어 데이터, History 기록 및 임시 파일 저장

- NetHood : 네트워크 환경 항목에 대한 바로 가기

- Pictures : 사용자 그림 항목(Windows XP 에서는 My Pictures)

- PrintHood : 프린터 폴더 항목에 대한 바로 가기

- Recent : 최근 접근한 문서 및 폴더의 링크 저장, Vista 이상의 Windows 시스템에서는 AppData\Roaming\Microsoft\Windows\Recent 폴더 사용

- SendTo : 문서 처리 유틸리티에 대한 바로 가기

- 시작메뉴 : 시작 프로그램 항목에 대한 바로 가기

- Tempates : 사용자 템플릿 항목


  • 위 이미지는 내 컴퓨터 환경인 Windows 10에서 캡쳐 한 것이므로 위 설명된 폴더가 다를 수도 있음.


< C:\Program Files\ >

각종 응용프로그램들이 설치되는 폴더이다. C:\Program Files\Common Files 폴더에는

시스템 정보파일이 존재한다.


[C:\Program Files\Common Files 폴더 화면]


< C:\ProgramData >

Windows Vista 부터 등장한 폴더로 Windows 시스템에 설치된 프로그램들이 모든 사용자 계정에서 사용할 수 있는 데이터를 저장하는데 사용한다.

기본적으로 숨김속성을 가지고 있어 윈도우 탐색기의 폴더옵션에서 ‘숨김 파일 및 폴더 표시’ 기능에 체크를 해야 확인이 가능하다.



이렇게 숨김 파일 및 폴더 표시를 체크하고 확인해보면 이렇게 ProgramData 폴더가 보인다.

폴더가 희미하게 표시된 것은 숨김 파일 또는 폴더라는 의미다.


[ProgramData 폴더 내부]


< $RECYCLE.BIN >

Windows 시스템의 휴지통 폴더로 사용자의 SID(Security Identifier)별로 각각의 파일 시스템에 폴더가 생성된다.

사용자의 SID는 레지스트리 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\ProfileList에서 확인이 가능하다.

Windows NT/200/XP 에서는 RECYCLER 라는 폴더명을 사용하고, Vista 이상에서는 $RECYCLE.BIN 폴더명을 사용한다.

휴지통에서 삭제된 파일들의 정보를 관리하기 위한 목적으로 INFO2 파일에 원본파일 경로 및 이름,

휴지통 내의 파일 식별자, 원본 파일이 위치하고 있던 드라이브의 번호, 파일이 삭제된 날짜 및 시간,

원본파일의 크기 등이 기록되며 Vista 이상의 Windows 시스템에서는 $I로 시작하는 파일이 사용된다.


[FTK imager로 본 $Recycle.Bin의 모습]


< C:\System Volume Information\ >

Windows Me 이상의 이후부터는 시스템 복원 기능이 존재하며 기본적으로 활성화 되어 있어

Windows 시스템의 복원 도구가 해당 정보와 복원 지점을 저장하기 위해 사용하는 숨겨진 시스템 폴더이다.

System Restore Service가 활성화 된 경우에는 설정된 모든 파일시스템에서

System Volume Information 폴더가 생성된다.


시스템 복원 기능은 시스템 보호를 위해 정기적으로 복원 지점을 만들고 저장한 후, 시스템이 정상적으로 동작하지 않을 경우 복원 지점을 이용해 이전 상태로 시스템 파일과 레지스트리 값을 되돌리게 된다.

기본적으로 복원되는 항목은 레지스트리, filelist, xml 파일의 <include> 부분에 확장자가 포함된 파일이다.

사용자가 만든 데이터, 위치가 변경된 폴더, SAM Hive 파일, Windows 시스템 인증정보, filelist.xml 파일에서 <exclude>부분에 포함된 폴더 및 파일은 복원지점에 데이터로 저장하지 않는다.

Windows Vista 부터는 복원 지점과 백업 기능을 결합한 VSS(Volume Shadow Copy) 를 이용해 시스템 복원을 수행한다.


[FTK imager로 본 System Volume Information 모습]



반응형
반응형

* 리눅스에서는 tail -f 명령어를 사용하여 실시간으로 로그를 확인할 수 있었는데

윈도우에서도 특정 프로그램의 로그파일을 실시간으로 확인을 해야할 일이 있어

찾아본 결과 윈도우에서도 tail 프로그램이 존재했다.


[다운로드]

다운로드는 아래에서 경로에서 다운이 가능하다.

https://sourceforge.net/projects/tailforwin32/files/Tail/


[실행방법]

다운을 받고 압축을 풀어주면 별도의 설치 없이 바로 실행이 가능하다.


[실행화면]


좌측 상단에 File 탭을 누르고 Open을 눌러주면



열기 창이 나타난다. 기본으로 파일 형식은 확장자가 *.log로 되어있다.



하지만 내가 확인해볼 로그는 확인해보니 log확장자 뒤에 rotate 형식으로 .숫자가 붙는 형식이여서 파일 형식에서 모든 파일로 변경해주고 나니 로그들이 보이기 시작했다.


실시간으로 확인해볼 로그를 클릭해보고 해당 프로그램을 구동해보자.



이렇게 한쪽은 프로그램 창 다른한쪽은 로그 프로그램으로 해놓고 보면 프로그램이 실행하면서 쌓는 로그들을 바로 볼 수 있다.

(위에 play 버튼이랑 pause scrolling 버튼이 있으나 그닥 쓸모는 없는 것 같다.)


사실 tail 프로그램이 매우 심플하여 다른 설명은 따로 필요 없을 것 같다.





반응형
반응형


[논리적 쓰기방지 방법] -> 레지스트리 수정 방법


실행 -> regedit 실행



가. 레지스트리 수정 - NTFS파일시스템(Win7) 레지스트리 수정       

Key: HKLM\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies

Name : WriteProtect

Value : 0x00000000(쓰기방지 해제), 0x00000001(쓰기방지 설정) Dword 생성


* HKLM(HKEY_LOCAL_MACHINE)


값이 1이면 쓰기 금지, 0이면 쓰기 허용


[DISKPART 명령어로 쓰기 금지 활성화 되어있는지 확인 방법]


cmd에서 diskpart 를 실행(관리자 권한으로 실행)


> list disk 로 디스크 확인



> select disk 1 으로 해당 드라이브로 이동



> attributes disk 명령어를 입력하면 현재 읽기 전용 상태에 : 예 로 표시가 된다.



그리고 예를 들어 사진을 하나 복사하려고 하면 다음과 같은 경고창이 뜰 것이다.



포렌식 수사를 진행할때 USB안에 데이터를 임의로 쓰거나 하게 되면 데이터의 시간이나

일부가 변경되므로 증거로 사용할 수 없게 된다.

따라서 무결성을 위해서 쓰기방지를 하고 수사를 진행하는 것이 좋다.



반응형
반응형

윈도우 파일시스템 종류


1. FAT(File Allocation Table) 파일시스템 : DOS 때부터 사용되고 있는 대표적인 파일시스템으로 하드디스크에 FAT라는 영역을 만들어 이 안에 하드디스크에 저장되어 있는 파일의 실제 위치 등의 정보를 기록해 두고 이를 이용하는 파일시스템을 말한다.

FAT16과 FAT32등이 있다.


2. NTFS(NT File System) 파일시스템 : MFT(Master File Table)를 사용하여 관리하며 Mirror와 파일로그가 유지되어 비상시 파일 복구가 가능하다. 윈도우 파일시스템의  FAT32 파일시스템 기능에 대용량 하드 디스크 지원, 보안기능, 압축기능, 원격저장소 기능 등을 추가하여 만든 윈도우 NT 전용 파일시스템을 말한다. 클러스터의 개수는 2^64개로 FAT32보다 많다.


NTFS 파일시스템의 특징

* NTFS는 기본 NTFS 보안의 공유 보안과 동일하게 Everyone 그룹에 대해서는 모든 권한이 ‘허용’이다.


* 기본 NTFS 보안을 변경하면 사용자마다 서로 다른 NTFS 보안을 적용시킬 수 있다.


* 파일에 설정한 NTFS 보안이 폴더에 설정한 NTFS 보안보다 우선하기 때문에 강력한 보안을 설정할 수 있다.


* 특정 사용자가 생성한 폴더나 파일에 대해서는 생성한 사용자에게 소유자 권한이 있다.


* Windows 2000 server의 시스템 폴더에 대해서는 일반 사용자가 설정할 수 없다. 설정할 수 있는 사용자는 Administrators 그룹과 Power User 그룹만이 가능하다.


NTFS 파일시스템 주요기능

* 파일과 폴더에 대한 보안강화 및 접근 제어가 가능하다(파일과 폴더 보안).


* 압축 파일로 더 많은 저장 공간의 사용이 가능하다(디스크압축).


* 사용자별 디스크 사용 공간의 제어가 가능하다(디스크할당).


* 파일에 대한 암호화 지원이 가능하다(파일 암호화).


FAT & NTFS의 장단점


구분

FAT

NTFS

장점

* 호환성 우수

* 단순성

* 저용량 볼륨에 최적화


* 대용량 볼륨 지원

* 디스크 효율적 사용

* 강력한 보안 기능

* 자동 압축 및 안정성

* 향상된 파일 이름 저장 및 길이 지원

단점

* 보안에 취약

* 대용량 볼륨의 비효율적 이용

* 다른 운영체제에 호환 불가

* 저용량 볼륨에서 FAT 대비 속도가 느림



반응형
반응형

리눅스에서는 서버 이전 작업을 진행할때 데이터 이전 후 확인을 위해 도메인 테스트를 진행한다.


리눅스의 경우 /etc/hosts 에서 수정을 해서 사용하는데


윈도우에서도 테스트 하는 방법이 있다.


1. 메모장(notepad)를 관리자 권한으로 실행


2. 파일 탭에서 열기 -> C:\Windows\System32\drivers\etc\hosts 파일을 오픈



* 파일 이름 옆쪽 탭에 보면 기존에는 .txt(텍스트)로 지정이 되어있는데 이 부분을 모든 파일로 변경하면 hosts파일이 보인다.


3. hosts 파일을 열어보면 다음과 같이 주석처리가 되어있고 예제가 있다. 예제를 참고하여 테스트할 도메인 및 IP 추가



4. 모든 브라우저를 닫기 or 새로운 브라우저를 띄워서 테스트할 도메인을 입력 후 홈페이지 확인


5. 테스트가 완료되면 hosts 파일을 원복 시킬 것

반응형

+ Recent posts