- FAT(File Allocation Table)


그림 1) FAT Reserved 영역의 추상화한 그림(http://forensic-proof.com/archives/372)




 △ 예약영역 : FAT 파일시스템의 가장 앞부분에 위치하고, 부트섹터 등 파일시스템 설명하는 데이터를 포함하고 있음

                    (FAT12/16) 1섹터만!

                    (FAT32 Only!!)부트섹터는 0,6번 섹터, FSINFO는 1,7, 부트섹터의 부트코드영역 부족시 사용하는 2,8번섹터

                    offset 14-15를 확인하여 섹터 수를 확인!


   ▶ 필수 부트 섹터 데이터(36Bytes) + 부가 부트 섹터 데이터(12,16, 32 각 다름) + 시그니처(55AA)

    예약영역 구조


 △ FAT : 파일의 다음 클러스터와 할당상태 식별 위한 데이터를 갖는 구조체(비할당상태(삭제):offset 0번째 1바이트로 0xE5, 0X00 임)

             백업 FAT 구조체를 포함하는 영역이고 예약 영역 바로 다음 섹터에서 시작


   ▶ FAT 그림

그림 2) FAT 구조체


 △ DATA  : 파일과 디렉토리 내용 저장영역






 △ 디렉토리 엔트리

   ▶ 각 파일과 디렉토리의 메타데이터

   ▶ 디렉토리 엔트리가 위치하는 영역은 Data Area임


'Computer > #Go2 포렌식' 카테고리의 다른 글

Filesystem Recovery (FAT32)  (0) 2018.07.21
USB artifacts  (0) 2014.08.14
File System #2  (0) 2013.12.23
File System #1  (0) 2013.10.28
Memory 분석  (0) 2013.10.10

- 볼륨 & 파티션


   파티션 : 연속된 저장공간을 하나 이상의 논리적으로 나누어 사용할 수 있도록 분할한 공간

   볼륨 : 파일 시스템으로 포맷된 디스크 상의 저장 영역을 의미. OS나 응용프로그램 등에서 이용할 수 있는 저장공간, 섹터들의 집합!


 ※ 파티션과 볼륨의 차이


그림 1) 볼륨 & 파티션 차이

(http://cappleblog.co.kr/130)


 볼륨과 파티션은 같은 개념으로도 사용하지만 엄밀히 말하자면, 볼륨은 연속된 공간이 아니어도 하나 이상의 저장 공간을 부르는 것이고 파티션은 연속되어 있는 볼륨 섹터들의 집합을 말한다


 ※ 일관성 검사 : 파티션을 제외한 영역에 증거가 존재하는지 조사하는 기능을 말함



- MBR(Master Boot Record)

512byte(1Sector) 크기의 구조체로 부팅을 하기 위해 가장 먼저 읽히는 곳이다.

해당 구조는 아래 그림과 같다.



그림 2) MBR 구조


- MBR 구조


Offset 

설명

크기 

000h 

부트코드 

446 Bytes 

1BEh

파티션 엔트리 1 

16 Bytes 

1CEh

파티션 엔트리 2

16 Bytes 

1DEh

파티션 엔트리 3

16 Bytes 

1EEh

파티션 엔트리 4

16 Bytes 

1FEh

시그니처( 55h AAh ) 

2 Bytes 

표 1) MBR 구조


- 파티션 테이블 엔트리 구조(MBR의 부분)


 Offset

설명 

크기 

 00h

 파티션의 상태(00h=Inactive, 80h=Active)

 1 Bytes 

 01h

 파티션의 시작 - Head

 1 Bytes 

 02h

 파티션의 시작 - Cylinder/Sector

 1 Word 

 04h

 파티션의 타입

 1 Bytes

 05h

 파티션의 끝 - Head

 1 Bytes 

 06h

 파티션의 끝 - Cylinder/Sector

 1 Word 

 08h

 MBR과 해당 파티션 섹터 사이의 섹터 수(시작위치)

 1 Double Word 

 0Ch

 해당 파티션의 섹터 수

 1 Double Word 

표 2) MBR의 파티션 테이블 엔트리 구조

'Computer > #Go2 포렌식' 카테고리의 다른 글

USB artifacts  (0) 2014.08.14
File System #3  (0) 2014.01.14
File System #1  (0) 2013.10.28
Memory 분석  (0) 2013.10.10
Live Response  (0) 2013.10.08

- 하드디스크 저장방식

   CHS 방식

    ◇ 하드디스크의 실린더(Cylinder), 헤드(Head), 섹터(Sector) 구조를 기반으로 물리적인 주소를 지정하는 방식. 하드디스크 용량이         커짐에 따라 사용되지 못하고 LBA 방식을 사용하게 됨.

ex) CHS(21,3,20) -> 하드디스크의 3번째 헤드를 21번째 실린더, 20번째 섹터에 위치시킴


   LBA 방식

    ◇ 하드디스크 내부에 존재하는 모든 섹터들을 일려로 늘어뜨린 후 논리적인 번호를 지정하는 방식


   ZBA 방식

    ◇ 플래터의 트랙 길이가 내부보다 외부가 더 길다는 점을 이용하여 길이가 길수록 더 많은 섹터를 할당하는 방식. 트랙의 길이마다         섹터의 수가 다르기 때문에 데이터를 읽고 쓸 때 트랙에 섹터 수를 정확히 알고 있어야함.


CHS, LBA의 경우 트랙의 섹터수가 모두 동일함. 참조(http://forensic-proof.com/archives/355)


- 하드디스크 숨김 영역

   HPA(Host Protected Area)

    ◇ 데이터를 저장할 수 있는 영역이고 일반 사용자가 볼 수 없는 영역임. 하드디스크 끝에 위치. ATA-4 추가

    ◇ HPA 영역을 확인하는 ATA 컨트롤러 명령어 -> IDENTIFY DEVICE(접근), SET MAX ADDRESS(설정), READ NATIVE MAX ADDRESS(접근)

READ_NATIVE_MAX_ADDRESS - IDENTIFY_DEVICE > 0 이면 HPA 존재

    ◇ 확인도구 : BXDR, diskstat, DRIVEID, hpa


   DCO(Device Configuration Overlay)

    ◇ 데이터를 저장할 수 있는 영역이면서 일반 사용자가 볼 수 없는 영역임. ATA-6 추가

    ◇ DCO 영역을 확인하는 ATA 컨트롤러 명령어 -> DEVICE CONFIGURATION SET(설정), DEVICE CONFIGURATION IDENTIFY(접근), DEVICE CONFIGURATION RESTORE(제거)

DEVICE_CONFIGURATION_IDENTIFY : 하드디스크 전체 크기 불러오는 명령(HPA,DCO포함)

READ_NATIVE_MAX_ADDRESS : HPA가 있는 상태면 HPA 영역의 크기를 불러오는 명령(DCO 제외)

IDENTIFY_DEVICE : 하드디스크 크기를 불러오는 명령(HPA, DCO 제외)

DEVICE_CONFIGURATION_IDENTIFY = READ_NATIVE_MAX_ADDRESS = IDENTIFY_DEVICE 이면 숨김영역이 없다는 뜻!! 

    ◇ 확인도구 : Image MASSter Solo 2


   HPA, DCO 확인 도구

    ◇ The ATA Forensics Tool (TAFT) by Arne Vidstrom.

    ◇ EnCase for DOS by Guidance Software

    ◇ FTK (Forensic Toolkit) by AccessData

    ◇ HD Tune Pro



그림 1) HPA, DCO 구별

(http://forensic-proof.com/archives/284)


   OS, BIOS로부터 보이지 않는 HPA, DCO는 사용자에 의해 변경이 가능(Rootkit 설치 등...)

  HDD 증거 수집 시 ATA버전, HPA, DCO 지원 여부 고려가 중요



- 데이터 수집

   컨트롤러의 직접 접근

    ◇ 소프트웨어로 하드디스크 컨트롤러를 통해 디스크 데이터에 접근하는 방법. 단 컨트롤러의 주소지정, 데이터 읽기&쓰기 명령어 등         세부사항을 모두 인지해야함.

   컨트롤러의 BIOS 접근

    ◇ BIOS를 통해 디스크 데이터에 접근하는 방법. 섹터 주소&크기와 같은 데이터를 레지스터에 적재 후 인터럽트 명령어         0x13(INT13h) 실행

   동적 수집

    ◇ 운영체제가 동작하는 상태에서 데이터를 수집하는 단계임. 시스템이 악성코드에 의해 피해를 받았을 경우 변조된 데이터를 추출할         수 있기 때문

   정적 수집

    ◇ 이동장치로 부팅하여 분석 대상 시스템의 데이터를 수집함.

'Computer > #Go2 포렌식' 카테고리의 다른 글

File System #3  (0) 2014.01.14
File System #2  (0) 2013.12.23
Memory 분석  (0) 2013.10.10
Live Response  (0) 2013.10.08
들어가며...  (0) 2013.10.07

- 메모리 분석이 중요한 이유


  ● 악성 파일의 흔적을 찾기 위해서는 메모리 영역에서 분석해야 하기 때문

  ● 개인정보보호 프로그램이 악성코드 판별 기능이 없어서 악성코드조차 보호를 하는 경우가 발생하기 때문

  ● 안티포렌식 기술로 인한 무결성이 저해되기 전 메모리 복구를 하여 정보를 얻어내는것이 중요하기 때문


- 메모리 덤프


  ● 하드웨어를 이용한 메모리 덤프

  ● 소프트웨어를 이용한 메모리 덤프

  ● OS Crash 덤프

  ● 하이버네이션


- 가상 메모리 구조


  ● 가상 메모리란 가상의 기억공간으로 물리적으로 존재하지 않는 메모리다. 프로세스 생성 시 고정된 크기의 가상 메모리가 할당이           되는데 해당 프로세스는 이 가상 메모리를 이용하여 해당 작업을 수행한다. 여기서 가상 메모리는 32bit, 64bit 컴퓨터마다 고정 용량       이 다르다. 또한 가상 메모리 주소와 물리 메모리 주소도 다르며 가상 주소는 물리 메모리 주소와 맵핑되며 부족한 부분은 디스크 주       소를 사용한다.


그림 1) 가상 메모리와 기억 장치의 주소 맵핑(http://upload.wikimedia.org/wikipedia/commons/thumb/6/6e/Virtual_memory.svg/200px-Virtual_memory.svg.png)


  ● 가상 메모리 구조를 간단히 보면 사용자 영역, 커널 영역이 있으며 디테일한 것은 서적이나 구글링을 통해 확인. 이 책엔 디테일한 구조가 나타나 있지만 구글링을 통해 찾지 못했음... 참고로 [그림 2]에서 위가 높은주소, 아래가 낮은주소를 뜻함.


그림 2) 가상메모리 구조

(http://blog.naver.com/psychoria?Redirect=Log&logNo=40113053480)


  ● 가상 메모리와 물리 메모리 맵핑은 TLB -> 가상주소와 물리주소 맵핑 -> 있다면 TLB에 업데이트 시키고 물리주소의 데이터 가져옴

    -> 없다면 가상메모리 주소 자체가 invalid거나 page-out상황



625

그림 3) 가상 메모리 물리 메모리 맵핑 과정

(http://sweeper.egloos.com/m/2988646)




그림 4) 가상주소로 물리주소 찾는 과정


 - EPROCESS, KPROCESS(PCB), PEB

  ● 위 단계와 아래 단계에서 모르는 용어가 몇 개 나와 이를 공부하고자 용어들을 간단하게 정리하려고 한다.


  ● EPROCESS

   ◇ 프로세스가 생성되면 해당 프로세스의 정보를 가진 EPROCESS라는 구조체가 커널 메모리에서 생성된다. 프로세스 관리를 이해하        기 위해 여러 객체를 포함하고 있으며 시스템 공간에 존재하기 때문에 WinDbg에서 확인할 수 있다.(그림 5의 맨 왼쪽 위치)


  ● KPROCESS(Process Control Block(PCB))

   ◇ EPROCESS의 하부 구조체로 해당 프로세스의 정보를 가지고 있다. 커널 동기화 객체, Dispatcher 객체, CR3 레지스터 값(Context        Switching시 Page Directory 물리 주소 저장소), 쓰레드 리스트 헤더, 프로세스 생성&종료 시간.... 등(그림 5의 오른쪽 위에 위치)

   ◇ 중요한 필드가 무엇인지 잘 몰라서 추후 공부하겠음....


  ● PEB(Process Environment Block)

   ◇ 유저 모드에서 수정되는 정보를 저장하는 구조체이고 프로세스 실행에 필요한 정보들을 담고 있다. 밑에 다시 설명




그림 5) EPROCESS, KPROCESS(PCB), PEB

(https://t1.daumcdn.net/cfile/tistory/1168DE0C4B7BB72130)



 - 프로세스

  ● 메모리 분석 시 프로세스를 찾는 것이 중요하다.  EPROCESS에는 많은 필드들이 있고 이들을 모두 분석한다면 아마....EPROCESS       의 필드 중 몇 가지 필드에 대해 설명하겠다.


㉠ PEB(Process Environment Block)

   ◇ 프로세스의 환경설정 값을 가지고 있고 프로세스가 로드한 모듈이나 이미지 로더, 힙 매니저 등 데이터를 담고 있다. 

       커널영역의 EPROCESS에 있는 PEB는 유저영역의 PEB의 주소를 가지고 있고, 유저영역의 PEB는 실제 프로세스 관련 데이          터들을 담고 있다.(그림 5 에서 동그라미를 제외한 부분이 커널 영역, 동그라미 친 부분이 유저영역)

 PEB가 커널영역과 유저영역에 둘 다 있는 이유는 데이터를 유연하게 접근하기 위해 유저영역에 둔 것이다. 

   

㉡ ActiveProcessLink

   ◇ 이 필드는 해당 시스템의 프로세스들 간의 연결을 담당하는 역할을 하고 이중연결리스트로 되어 앞뒤로 프로세스 walking을          할 수 있다. 예를들어 cmd.exe와 notepad.exe가 시스템에 올라와 있고 WinDbg로 cmd.exe의 ActiveProcessLink로 따라가게        된다면 notepad.exe의 EPROCESS의 PCB 필드를 가리키고 있다.

그림 6) ActiveProcessLink 역할 구조

(http://m.ahnlab.com/kr/site/securityinfo/secunews/secuNewsView.do?seq=17602)


 ※ PSActiveProcessHead는 ActiveProcessLink의 첫 시작점이다. 따라서 환형구조를 이루고 있다.

  

   ◇ DKOM(Direct Kernel Object Manipulation)


그림 7) DKOM을 통한 프로세스 은닉 구조

(http://codeengn.com/archive/Reverse%20Engineering/Hooking/DKOM%EC%9D%84%20%EC%9D%B4%EC%9A%A9%ED%95%9C%20%EC%9D%80%EB%8B%89%20%EA%B8%B0%EB%B2%95%20%5Balonglog%5D.pdf)


 ActiveProcessLink에서 은닉하고자 하는 프로세스의 링크를 없애는 것이다. 그림 7을 보면 더욱 이해가 편할 것이다. 프로세스를 은닉하는 이유는 프로세스를 은닉함으로써 분석을 어렵게 하고, 빠른 대응을 하지 못하게 함이 아닐까 생각한다.


  ● Process Enumeration

   ◇ Win API : CreateToolHelp32SnapShot()-> Process32First() -> Process32Next() -> NtGetSystemInformation() 호출

  -> NtGetSystemInformation()이 조작되면 Process 목록을 모두 출력하지 못하는 상황 발생

   ◇ 작업관리자, pslist(Volatility)

  -> 악성코드에 의해 OS는 잘못된 정보들을 얻어올 수 있음

   ◇ 리스트 워킹 : ActiveProcessLink를 따라다니며 모든 프로세스 목록을 얻음

   ◇ EPROCESS Scanning(패턴매칭) : EPROCESS가 공통적으로 가진 필드들을 조사하는 방법

   ◇ CSR PROCESS List 활용 : CSRSS.EXE 프로세스 생성시 내부적으로 프로세스 목록을 가지고 있다.

  -> 하지만 system, smss, csrss 프로세스는 나타나지 않는다.

   ◇ Thread List 활용 : Thread가 속한 Process를 얻을 수 있다.


'Computer > #Go2 포렌식' 카테고리의 다른 글

File System #3  (0) 2014.01.14
File System #2  (0) 2013.12.23
File System #1  (0) 2013.10.28
Live Response  (0) 2013.10.08
들어가며...  (0) 2013.10.07

- Live Response


 ● 활성화된 시스템에서 휘발성 정보를 수집하는 것을 말함.

 ● 시스템이 꺼지게 되면 휘발성 정보는 날아가기 때문에 OOV(Order Of Volatility)를 고려하여 정보를 수집한다.


- OOV(Order Of Volatility) [RFC 3227](http://www.ietf.org/rfc/rfc3227.txt)


 ● 레지스터, 캐시

 ● 네트워크 연결 정보

  프로세스 목록, 커널 통계정보, 메모리

 ● 임시 파일, 열린 파일 목록

 ● 로그, 사용자 정보


 ※ 꼭 정해진 순서는 없다. 상황에 따라 정보를 수집해야 한다.


- Live Response 조사시 유의할 점


 ● 로카르트의 교환법칙

   ◇ 두 객체가 접촉하면 반드시 무언가가 교환된다.

   ◇ 이 법칙은 Live Response 시 정보를 수집하기 위해 프로그램을 실행한다던지 로그인을 한다던지 등의 행위들에 따라 시스템에 영        향을 줄 수 있다. 이러한 행위 때문에 중요한 정보들을 잃을 수 있으므로 시스템에 영향을 최소화 하는 방식으로 Live Response를        수행해야 한다.

   ◇ 메모리, 네트워크, 프로패치 파일, 시스템의 레지스트리(접근시간 변경), 시스템의 DLL(접근시간 변경), 로그파일 등 영향을 미칠         수 있다.


 ※ 관리자 권한을 얻기 위해 다시 시스템에 로그인 하는 것은 잘못된 방법이다. 이유는 로그오프하고 다시 로그인을 하게 되면 해당 세션의 휘발성 정보를 잃게 된기 때문이다. 오 놀라워라.... 따라서 이 분은 윈도우에서 runas와 같이 리눅스에 sudo?나 su?처럼 일시적으로 관리자 권한을 얻어 프로그램을 실행시킬 수 있는 명령어를 추천했다.


- Live Response 휘발성 정보 수집


 ● 시스템 시간

   ◇ 해당 시스템의 시간 정보를 수집하고 윈도우 명령어를 통해 레지스트리에 기록이 남지 않도록 할 수 있다.

 윈도우 명령어 : date /t & time /t

 출력 : 2013-10-19

    오후 8:56


 ● 네트워크 연결 정보

   ◇ 방화벽이 있다면 방화벽 로그를 수집해야 한다. 방화벽엔 휘발성인 세션로그와 커스터마이징 할 수 있는 로그가 따로 있다. 세션로

 그는 방화벽에 붙은 세션정보를 일시적으로 볼 수 있기 때문에 먼저 수집하는 것이 좋다. 그리고 커스터마이징 할 수 있는 로그 차  단로그를 많이 쓴다고 알고 있다.(예전 일할 때 차단로그를 주로 사용) 방화벽에 의해 허용 및 차단 로그를 모두 저장하게 된다면 방  화벽 부하가 크기 때문에 서비스의 문제가 생길 수 있어서 차단된 로그만 저장한다고 알고 있다. 룰에 의해 차단된 로그를 확인하여  의심할 만한 정보를 수집할 수 있을 것이다. 또한 해당 시스템의 네트워크 정보를 알아보기 위해 netstat 윈도우 명령을 이용하여 네  트워크 정보를 수집한다. 옵션이 너무 많아 스스로 보는것이 중요하다 생각한다.


 ● 프로세스 목록

   ◇ 프로세스 목록을 수집하여 해당 시스템에서 어떠한 행위가 일어났는지 확인해 봐야한다. tasklist 명령이나 SysInternalSuite에서 제공하는 Pslist를 많이 사용한다. PID, PPID를 통해 의심이 될만한 정보를 찾는 경우도 있고, 숨겨진 프로세스를 찾아내야 하는 경우도 있다.


 ● 핸들 정보

   ◇ 핸들에 경우 개인적으로 공부를 해보았다. 핸들이 무엇이고 이 핸들을 통해서 무엇을 알아야 하는지가 중요하다 생각했다.

 핸들은 응용프로그램이 시스템 자원(커널 오브젝트)에 접근할 수 있도록 하게 하는 것을 말한다. 응용프로그램은 시스템 자원에 직  접 접근이 불가능하기 때문이다. 윈도우에서 내부적으로 오브젝트를 직접 접근할 수 있도록 테이블을 만들어 이 테이블의 인덱스  값을 이용하도록 했다. 그리고 이를 확인하기 위해서는 커널 디버깅을 통해서 확인할 수 있는데 밑에 슬라이드에서 자세한 내용이  나와있다.

 (http://www.slideshare.net/JoosaengKim/windows-handle-2-24604055)

 그리고 핸들이 실제로 가리키고 있는 오브젝트는 레지스트리에 기록이 되어 있어서 SysInternalSuite에서 만든 Handle.exe를 통해  레지스트리 정보 수집을 할 수 있다.


[그림 1] 응용프로그램과 커널오브젝트 관계도 

(http://www.hauri.co.kr/customer/security/colum_view.html?intSeq=107&page=1)


   ◇ 커널 오브젝트는 다른 프로세스와 공유가 가능하기 때문에 이를 악용하면 다른 정상적인 프로세스를 제어하는 악성코드가 발생할        수 있다. 이것 뿐만아니라 다른 측면에서도 필요한 정보일 수도 있는데 이 부분은 점차 공부하면서 알아보도록 하겠다.


 ● DLL 목록

   ◇ http://blog.naver.com/PostView.nhn?blogId=process3&logNo=20017834792

   ◇ http://blog.naver.com/PostView.nhn?blogId=bolin1479&logNo=80154007392

   ◇ http://mayu.tistory.com/9

   ◇ http://www.reversecore.com/40

   ◇ DLL이 무엇이고 DLL Injection 관련한 내용이 있는 사이트를 링크시켜 놓았다. DLL Injection이나 7.7 DDoS와 같이 서비스로 등록하여 실제 구동되는 DLL파일 등 DLL 관련하여 침해사고가 발생되곤 한다. DLL과 관련된 침해사고라면 프로세스에서 사용되는 DLL 목록을 수집해야 한다. DLL 목록을 수집하기 위해 SysInternalSuite에서 만든 ListDlls.exe 도구가 있다.


 ● 로그온 사용자 정보

   ◇ 원격에서 로그온 한 사용자, 로컬 로그온 사용자 정보를 확인해야 한다.

 명령어 : net session(원격 로그온 사용자)

 SysInternalSuite : psloggedon(원격&로컬 사용자), Logonsession(원격&로컬 사용자, 해당 사용자가 실행한 프로세스 목록 출력)


 ● 파일 핸들

   ◇ 보류...공유폴더까지....


 ● 히스토리

   ◇ 명령 프롬프트에서 사용된 명령어들을 수집하는 것이다. 참고로 명령 프롬프트가 닫히면 그 전 정보들은 사라진다.


 ● 윈도우의 서비스 정보

   ◇ 악의적인 서비스가 등록 되었는지 확인해야 한다. 서비스 목록을 얻기 위해 SysInternalSuite의 Psservice.exe를 사용한다.


 ● 시작 프로그램 목록 정보

   ◇ 시스템이 부팅할 때 자동적으로 시작되는 프로그램이 있는데 악성코드 경우 이를 많이 활용한다. 레지스트리에 등록되어 있는데 이를 출력하기 위해 사용되는 툴은 SysInternalSuite의 autorunsc.exe가 있다.


 ● NetBios 정보

   ◇ NetBios는 근거리 데이터 통신을 위한 것으로 TCP/IP 기반으로 통신이 이루어진다. 상대방과 데이터를 교환할 경우 600초 동안 테이블 형태로 생성이 되고 이를 Cached NetBios Name Table이라고 한다. 또한 NetBios에서 세션모드, 데이터그램 모드가 있으며 세션모드는 연결성립, 메시지 처리를 하고 데이터그램 모드는 응용 프로그램이 통신 에러의 발견 및 회복을 수행, 브로드캐스트 지원을 한다.

침해사고 시 근거리 네트워크 정보를 수집할 수 있다.

 명령어 : nbtstat [옵션]


 ● 프로세스 메모리

   ◇ 프로세스의 가상 메모리를 뜻하며 해당 프로세스가 어떤일을 하는지 분석할 수 있도록 덤프를 떠야한다. MS사에서 제공하는              userdump.exe가 있고, 단 해당 프로세스가 정지하고 있어야 정확한 덤프가 가능하다는 점이 단점이다.


- 마지막으로

 ● 이 뿐만아니라 여러가지 방법으로 여러가지 정보를 더 얻을 수 있다고 생각한다. 아직 부족한 실력이라 책을 중점적으로 다루면서 공부를 했지만 다소 아쉬운 점이 많다. 현재 배치스크립트를 아주 간단하게나마 작성했는데 집에가서 문제를 한 번 풀어보면서 실습을 해봐야겠다...

'Computer > #Go2 포렌식' 카테고리의 다른 글

File System #3  (0) 2014.01.14
File System #2  (0) 2013.12.23
File System #1  (0) 2013.10.28
Memory 분석  (0) 2013.10.10
들어가며...  (0) 2013.10.07

+ Recent posts