-
디지털포렌식 2급 실기 정리포렌식 통합/디지털 포렌식 전문가 2급 2024. 6. 27. 22:49
이번 24년 시험부터 학회에서는 시험장에서 사용할 수 있는 도구들을 따로 명시해주었고, 그에 따라서 좀 더 실기 시험을 응시하는데에 준비를 철저히 해야한다는 생각이 든다.
사용할 수 있는 도구 목록들은 이러하다.
대략적으로 내 머릿속에서 시험장에서의 흐름을 정리하고, 구현하기 위해서 글을 쓰는 것이다.
실제로 이러한지는 토요일날 직접 확인하고 후기 글로 확정짓겠습니다.
이 글의 근거는 모두 비트낭님의 노션 글을 기반으로 한다.1. 시험장에 들어가면 주는 것
총 3가지를 준다고한다.
1. 문제지(시나리오와 문제)
2. 분석 대상 USB
3. 답안 제출용 USB2. 시험 시작
더보기시험지와 USB들을 받으면 가장 먼저 해야할 것들을 순서대로 적자면
1. 쓰기방지
2. 분석 대상 USB 연결
3. USB 물리 디스크 이미징(dd 원본 형태)
일단 쓰기방지는 이전에 포스팅에 계속 쓰던 레지스트리 편집기를 통해서 설정해야한다.
HKLM/SYSTEM/ControlSet001/Control/ 에 StorageDevicePolicies 키 생성
DWORD(32비트) 값을 생성
이름 : WriteProtect
값 : 1
이후에 분석 대상 USB를 연결해준다.
그러고나서 FTK Imager를 키고
add envidence - Physical Drive - 분석 대상 USB 선택 - Export Disk Image 로 복사본 생성
여기서 주의해야할 점은 단편화 값이 1500으로 설정되어있는데 0으로 맞춰주고 다른 옵션들을 모두 꺼야지 시간도 절약되고 알맞게 이미지 파일을 분석할 수 있다.
물론 이미지 파일 형식은 dd 원본 형태로 만들어줘야한다.이후는 복사본을 지지고 볶아서 시나리오와 문제에 맞는 답을 찾아나가면 된다.
※ 개인적으로 메모
1. 쓰기방지더보기실기시험이 얼마 남지 않았고, 문제를 풀어보거나 어떻게 해야할지 모르는 분들이라면
일단 이것들은 외우거나 직접 실습을 통해서 익숙해지시길 바란다.
꽤 많다.... 여태까지 비트낭님께서 문제로 내신 내용들을 토대로 정리한 것이다.
간단하게 적고, 링크를 첨부할테니 직접 확인해보시는게 빠를 것이다.
색칠한 값들은 외우시는게 좋습니다.앞에 나온 쓰기방지를 위한 레지스트리 편집기에서의 레지스트리 경로이다.
HKLM/SYSTEM/ControlSet001/Control/StorageDevicePolicies DWORD로 WriteProtect(이름) 1(값)2. 무결성 검사
더보기Powershell 을 통해서 해시값을 뽑아낼 수 있다.
get-filehash "파일이름" -algorithm "해시 알고리즘"
ex) get-filehash 사진.jpg -algorithm md5
이는 복사본의 무결성 보장과 파일의 해시값이 주어졌을 때 사용이 가능하다.3. 주어진 해시값과 일치하는 파일을 찾을 때
더보기비트낭님 문제에 자주 나왔던 유형이다.
이럴 때는 FTK Imgaer의 해시값 리스트 기능을 이용하면된다.이 파일을 뽑아내면 csv 파일이 나오게되는데 여기서 검색 기능을 이용해서 해시값 대입을 통해서 찾아내면 된다.
4. 파일시스템 생성된 날짜와 운영체제가 설치된 날짜
더보기파일시스템이 만들어질때 해당 파일시스템의 메타데이터 또한 동시에 생성되게 된다.
그러므로 NTFS는 $MFT
FAT32는 $FAT 파일의 생성 시간을 주의 깊게 보면된다.https://wintersnowaaa.tistory.com/21
2-2번 문제이다.
그리고 운영체제 설치된 날짜는
레지스트리의 SOFTWARE 파일을 봐야한다.
경로는 /[이미지 파일]/vol[n]/Windows/System32/config/SOFTWARE이다.
ex) /img_2018_VHD.001/vol_vol2/Windows/System32/config/SOFTWARE
이 예시 경로는 특히나 잘 외워두는 것이 좋다.
추후에 또 사용하게 된다.
SOFTWARE 파일을 Rega로 분석해주면 윈도우 설치 정보를 통해서 언제 설치되었는지를 확인할 수 있다.https://wintersnowaaa.tistory.com/17
해당 포스팅의 2-2번 문제를 보면된다.
5. USB Drive Name, Vender, Serial Number을 구하는 경우
더보기이 문제는 Autopsy의 USB Device Attached 카테고리를 통해서 확인할 수 있다.
https://wintersnowaaa.tistory.com/172-3번 문제이다.
USB Device Attached 에 나오는 SYSTEM 레지스트리 하이브 파일을 Rega로 분석해주고,
저장 장치 쪽을 통해서 확인할 수 있다.
USB Drive Name, Drive Serial Number 를 확인 가능하다.
Vender는 안나온다...USB Drive Name을 통해서 어느정도 유추해서 작성해야한다.
ex) SanDisk Ultra USB 3.0 USB Device 라면 제조업체(Vender)는 SanDisk이다.6. 클러스터 번호가 주어지고 그 클러스터 번호의 파일을 찾아야하는 경우
더보기일단 나는 NTFS 파일 시스템에서만 구하는 방법을 알고 있다.
이 경우 알아두면 좋은 정보는 NTFS 의 MFT 데이터의 구조이다.1. Non-Resident 속성과 Resident 속성
2. 그에 따른 클러스터 런 구조https://wintersnowaaa.tistory.com/17
2-4번 문제이다.
Non-Resident 속성과 Resident 속성의 구조에 대해서 포스팅해둔 것도 있으니 참고해서 보시면 좋을듯하다.
https://wintersnowaaa.tistory.com/11https://wintersnowaaa.tistory.com/15
이해는 링크를 통해서 하시면될듯하다.
구하는 방법만 알려드리자면
1. NTFS 파일시스템의 $MFT 파일을 찾는다.
2. 해당 클러스터 번호를 16진수 리틀엔디안 방식으로 변환한다.
ex) 12750번째 클러스터 번호 -> 0x31CE (빅엔디안) -> 0xCE31 (리틀엔디안)
3. $MFT 파일에서 hex 값 검색으로 0x31CE 를 검색한다.
4. 그러면 $DATA 속성 구조로 보이는 부분을 찾아진다.
5. $DATA 속성 인근에 $FILENAME 또한 존재하므로 파일명으로 보이는 값을 찾는다.
6. 파일명이 한글일 경우에는 식별이 어려우므로 $FILENAME 의 속성식별값인 0x30 부터 파일명으로 보이는 부분까지 복사한 후 A.txt 파일을 만들어서 HxD로 열어서 넣어주고 저장 인코딩 값을 UTF-16 LE 로 설정하여 저장한다.
이후에 A.txt 파일을 열어보면 파일명으로 보이는 한글이 보이게된다.
7. 해당 한글명으로 키워드 검색을 autopsy로 진행하여 찾아낸다.
8. 만약에 키워드 검색으로 나온 파일들이 많다면, FTK Imager로 해당 경로에 들어가서 파일의 Properties를 확인해보면 Start Sector 값이 나오므로 몇개 확인해보면 답이 나온다.
https://wintersnowaaa.tistory.com/212-3번 문제를 보면된다.
7. hwp 파일의 지은이와 내부구조를 확인하는 방법
더보기해당 hwp 파일의 확장자를 hwp -> zip으로 변환 후 압축해제를 하게되면 내부구조가 나오게된다.
https://wintersnowaaa.tistory.com/172-5번 문제이다.
다만 나는 윈도우의 파일탐색기에서 제공하는 압축해제로는 제대로 압축이 되질 않았다.
반디집을 통해서는 잘 되었지만.... 비트낭님께서는 윈도우 파일탐색기를 통해서도 잘 나오셨다고한다.
이건 아직까지도 난 왜 안되는지 미스테리이다...
그리고 지은이를 알아내는 방법은 해당 파일을 autopsy로 확인해보면
Text - Extracted Text 부분을 보면
쭉 아래에meta:author: 법제처 국가법령정보센터
이런식으로 나온다.8. 외부저장장치에 연결된 링크파일을 확인하고 링크파일과 대상파일의 시간정보, 대상 파일 위치, 볼륨 시리얼 넘버, 대상파일의 논리적 크기, 대상 파일이 있던 MAC 주소를 확인하는 방법
더보기일단 외부저장장치에 연결된 링크파일에 대해서
시간정보, 위치, 볼륨 시리얼 넘버, 논리적 크기, MAC 주소를 확인하는 방법이다.https://wintersnowaaa.tistory.com/17
2-6번 문제이다.
일단 autopsy 키워드 검색으로 .lnk를 검색하여 의심가는 파일을 찾거나
Recent Documents 에 남아있는 .lnk 파일을들 중 의심가는 파일을 찾아낸다.링크 파일을 linkparser를 통해서 분석해준다.
그러면 링크파일에 연결된 MAC 주소, 볼륨 시리얼 넘버, 논리적 파일 크기등 많은 정보가 나온다.
링크파일은 원본 파일의 메타데이터를 갖고있기 때문에 다 나온다.9. ms office 파일 형태
더보기ms 오피스 파일들은 여러개 있다.
doc 와 같은 파일들이 x가 붙어서 확장자가 바뀌었다.
doc -> docx 로 말이다.
docx는 압축파일과 형태가 유사하다.
그래서 hex 값의 시그니처 값이 50 4B 03 04 로 시작하게된다.
비트낭님 문제에서만 이러한 유형이 많이 나올 수도 있는데,
어떠한 파일인지 구분이되지 않는데 50 4B 03 04로 시작하는 hex 값을 가진다면
압축파일 뿐만 아니라 ms 오피스 파일일 수도 있다는 의심을 해야한다.
시그니처가 훼손되었다면 HxD로 복구하면된다.
구분을 더 잘할 수 있는 방법은 rel과 같은 ms 오피스 파일의 내부 구조에 쓰이는 문자열이 있는지 확인하는 것이다.10. 주로 나오는 시그니처와 스테가노그래피, 훼손된 시그니처 복구
더보기비트낭님 문제에서는 일단 훼손된 파일을 복구할때 훼손시킨 파일의 시그니처가 대부분 이미지 파일 혹은 문서 파일이였다.
https://sh1r0hacker.tistory.com/90
이 분의 글을 참고하였다.
이 중에
jpeg 는 ff d8로 시작하고 ff d9로 끝남
png 는 89 50 4e 로 시작하고 49 45 4e로 끝남
pdf는 시그니처가 pdf로 문자열이 보인다. 끝나는 부분은 25 25 45
zip은 50 4b 03 04 로 시작하고 50 4b 05 06 으로 끝남
그나마 추가적으로 외울만한건
mp3 는 49 44 33 으로 시작하는 것이다.
이를 통해서 hex을 검색하여 스테가노그래피가 적용되었는지,
파일 안에 또 다른 파일이 있는지 확인하면된다.11. 키워드 검색
더보기autopsy의 카테고리를 이용해서 파일 유형을 확인하는 방법도 있지만 확장자를 알아둬서 나쁠 것은 없다.
내 머릿속에 남아있는 확장자들은 이러하다.이메일 ost, pst, msg 문서 docx, hwp, pdf 압축파일 zip, egg 스크립트 py, ps1, php, js 이미지 jpeg, jpg, png 이 정보를 토대로 키워드 검색으로 시나리오에 맞는 파일을 찾아내면된다.
그리고 autopsy의 Extention Mismatch Detected 카테고리를 통해서 확인하는 것도 좋다.12. 레지스트리 파일 경로를 통한 윈도우 시스템 종료 시간
더보기앞에서 말했던 HKLM\SYSTEM의 경로를 다시 알아둬야할 때가 이때이다.
SYSTEM 파일의 경로는 앞에서 이야기한 C\Windows/System32/config/ 이다.
여기서 SOFTWARE가 아니라 SYSTEM 파일을 봐야한다.
쉽게 생각하자면운영체제 관련 정보는 SOFTWARE
운영체제의 사용 이력 정보 같은건 SYSTEM 이라고 보면될듯하다.
경로는 일치하니까 외워두는게 좋다.
SYSTEM 파일을 export하여서 Rega로 분석하여 내부 키들을 확인해보면
쓰기방지할때 나왔던 경로에서 시스템 종료 시간을 확인할 수 있다.
SYSTEM\ControlSet001\Control\Windows 에서 값들 중에 ShutdownTime이라는 이름으로 16진수 값이 있음을 알 수 있다.0x38 2A 8C 18 94 E7 D8 01 로 총 64비트(8바이트)의 값으로 나오게되는데
이 값은 Dcode 도구를 이용하여서 시간 값을 구해주면 된다.https://wintersnowaaa.tistory.com/28
2-1-4번 문제이다.
13. 디스크 서명, 시리얼 넘버
더보기https://wintersnowaaa.tistory.com/24
디스크 서명은 mbr부분의 파티션 부분으로부터 2바이트 떨어진 4바이트가 디스크 서명 값이다.
시리얼 넘버는 상당히 많이 나온다.
비트낭님 문제에서 USB 시리얼 넘버, 드라이브 시리얼 넘버등 용어가 나오는데
사실 USB 시리얼 넘버도 드라이브 시리얼 넘버라고 생각하면된다.
USB 시리얼 넘버를 구하라 -> 드라이브 시리얼 넘버를 구하라
시리얼 넘버는 vhd 파일로는 확인이 불가능하다.
직접 물리디스크인 USB나 HDD를 앞의 2. 시험시작 부분에서 한것처럼
물리디스크 이미지를 따내면 log txt 파일이 나오게된다.
그 부분에 Drive Serial Number로 표시가 된다.
그 외에도 Volume Serial Number는 FTK Imager의 Properties를 통해서 확인하면 된다.https://wintersnowaaa.tistory.com/24
2번 문제쪽을 보면된다.
14. BCWipe
더보기BCWipe 말고도 덮어쓰기로 기록을 말소하는 프로그램이 꽤나 많다.
문제를 풀다가 이러한 흔적이 찾아내야할 때는
BCWipe, Eraser, DiskGenius 같은 프로그램이 있으니 확인하는 것이 좋다.15. NTFS Log Tracker 사용
더보기NTFS Log Tracker 사용을 통해서 파일의 변경과 삭제 로그를 추적할 수 있다.
$MFT, $LogFile, $J 파일이 필요하지만, 꼭 다 필요한건 아닌듯하다.
https://wintersnowaaa.tistory.com/292-2-2번 문제이다.
16. PowerShell 로그 기록 경로
더보기https://wintersnowaaa.tistory.com/29
2-2-3번 문제이다.
PowerShell의 명령어 로그 파일의 경로명은
Users\{user}\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt이다.
꽤 외우기 어렵고 낯설은 경로이여서 그냥 ConsoleHost_history 검색하는게 더 빠를듯하다....17. 문제를 풀 때 대략적인 감
더보기감을 통해서 문제의 단서를 찾아내는 것은 정말 어렵다.
키워드 검색, hex 값 확인, autopsy에서 제공하는 카테고리 확인등도 있지만,
내가 보기엔 조금 더 문제의 흐름을 통해서 잘 푸는 방법은
폴더들을 다 일일이 확인해보고, 다음과 같은 것들을 주의해서 볼 필요가 있다고 생각이 든다.1. 의심되는 파일명
2. 의심되는 폴더명
3. 파일 크기
4. 그 외는 유연한 생각
이렇게라고 생각이 든다...
심지어 나는 이러한 요소들을 체크해서 비트낭님이 푼 방법과 다르게 정답을 찾아낸 경우도 있다
Windows 종료시각 문제이다.
https://wintersnowaaa.tistory.com/282-1-4번 문제이다.
18. 법률문제
더보기추후 작성
19. base64 인,디코딩
더보기powershell 에서
certutil -decode [인코딩된파일] [출력파일]
txt 텍스트 파일로 기록한 후에 해당 파일을 인코딩하거나 디코딩해주면된다.
인터넷을 사용할 수 없는 환경에서 powershell 을 이용해서 구하는 방법.'포렌식 통합 > 디지털 포렌식 전문가 2급' 카테고리의 다른 글
디지털포렌식 2급 실기 시나리오 관련 문제 (2024 모의 문제 풀이 - 1,2번 문제) [FTK Imager] (3) 2024.11.06 디지털포렌식 2급 실기 기본 분석 문제 (2024 모의 문제 풀이 - 1,2번 문제) [FTK Imager] (5) 2024.11.05 디지털포렌식 2급 실기 (2022 모의 문제 풀이 - 1,2-2번 문제) [FTK Imager] (0) 2024.06.26 디지털포렌식 2급 실기 (2022 모의 문제 풀이 - 1, 2-1번 문제) [FTK Imager] (0) 2024.06.25 디지털포렌식 2급 실기 (2020 모의 문제 풀이 - 4,5,6,7번 문제) [FTK Imager] (0) 2024.06.21