-
디지털포렌식 2급 실기 (2022 모의 문제 풀이 - 1,2-2번 문제) [FTK Imager]포렌식 통합/디지털 포렌식 전문가 2급 2024. 6. 26. 21:15
2-2-1번 문제
더보기용의자가 사용한 USB로 의심되는 USB 시리얼 넘버와 최종 연결 시간
이거 분명히 지난번에 2018인가 모의 문제에서 분석했었다.
https://wintersnowaaa.tistory.com/17디지털포렌식 2급 실기 (2018 모의 문제 풀이 - 2번 문제) [FTK Imager]
다시 돌아와서 2번 문제를 풀어봐야한다.2-1번 문제더보기2-1번의 문제는 SHA1 값이 98debd6a350baccb3e25fc7c2cd5de5ea09a7488 인 파일을 찾고 파일명, 크기, 시간 정보를 구해야한다.비트낭님께서는 Encase의
wintersnowaaa.tistory.com
여기 있네
2-1번 문제이다.
문제 풀이는 대략적으로 Lnk 파일을 lnkparser로 분석하는 것인데,
어떤 파일의 Lnk 파일인지는 추리 능력을 통해서 적절한 탐색으로 찾아내야한다.
이전 문제에서는 경로의 시작 드라이브가 C외의 D인 Lnk 파일 하나가 보여서 분석해보았다.
이번 문제는 일단 Recent Documents 카테고리와 Lnk 키워드 검색, USB Device Attached 카테고리로 파일들을 검토해보아야겠다.
일단 Recent Documents 카테고리와 Lnk 키워드 검색으로는 잘 의심되는 파일이 보이지 않았다.
USB Device Attached 카테고리를 가보니 SanDisk 에서 제조한 USB가 보였다.우클릭 - View Source file in dir 을 선택하면 어떠한 파일에 근거하여 표기하였는지 파일의 위치로 이동해준다.
대략적으로 이 SYSTEM 하이브 레지스트리 파일을 통해서 나온듯하다.
이걸 그럼 이제 Rega로 분석해보자.Rega에서 저장 장치 부분을 보면 어떠한 저장 장치가 접근했었는지 확인이 가능하다.
일단 autopsy에서 가장 의심하여 본 것이 Sandisk 에서 제조한 USB 이다.
하지만 USB가 접속한 기록이 하나 더 발견되었으므로 일단 이것도 주의하며 다음 문제로 넘어가는게 좋을듯하다.
다음 문제를 풀어가면서 의심되는 정황과 usb 종류, 드라이브 배정 번호등과 연관지어 확정 지을 수 있기 때문이다.2-2-2번 문제
더보기용의자가 유출을 위해 사용한 것으로 보이는 파일(스크립트) 파일명은 무엇인가?
스크립트에 대해서 나는 사실 잘 아는 것이 없다.
GPT에게 물어보니 보통은 인터프리터 기반의 인터페이스에서 사용하며 이에 해당하는 언어는
파이썬, 자바스크립트, Bash 등이 있다고한다.
어느 환경에서 사용하는지 물어보니
유닉스/리눅스는 Bash 쉘, 파이썬 인터프리터에서,
Windows는 PowerShell, Batch 등의 환경에서 사용한다고한다.
풀이를 참고해서 풀었다....
일단 GPT에게 좀 더 물어보니
스크립트 파일의 종류는 여러가지가 있다.
.py = 파이썬
.ps1 = Powershell
.bat or .cmd = Batch
.js = javascript 등
정말 많다.
나는 이 확장자명을 가진 스크립트 파일들을 키워드 검색으로 찾아내보는 풀이방법으로 가볼까한다.
....와 너무 오래걸린다. 이거 시험장에서 키워드 검색 쓰기엔 너무 오래 걸릴듯하다. 일일이 찾아야할듯하다.
일단 가장 먼저 볼 파티션은 복구한 파티션이다.
autopsy에서 Recent Documents 카테고리는 가장 최근에 실행된 파일들을 lnk 파일을 보여준다.
이는 Users/dwgg/AppData/Roaming/Microsoft/Windows/Recent 에 위치한 링크파일들을 기반으로 분석하는듯하다.사실 내가 Recent Documents 부분에서 의심스럽게 본 파일은
4개의 링크 파일이였다.
하지만 정답은 여기 중에 있지 않았다... 풀이를 보아하니정답은 1.ps.lnk였다.
약간 헷갈리는 문제였다.
일단 처음에 이 문제를 접했을 때 막막했던 이유는
1. 스크립트 파일을 목록화하여 보기 위해서 어떻게 봐야할지 몰랐다.
2. 심지어 스크립트 파일의 확장자명도 몰랐다.
3. 스크립트 파일의 확장자명들을 토대로 실행 파일을 모아놓은 File Views-File Types-By Extension-Executable에서 .exe, .dll, .bat, .cmd, .com이 있는걸 확인했지만 파일이 너무 많았고, 의심할만한 정황이 없었다.
결과적으로 일단 Recent Documents를 보았을 때 .ps1 확장자를 보고 스크립트 파일임을 알았어야했고,
접근 시간(Date Accessed) 를 오름차or내림차순으로 확인하여 어느정도 파일을 정리하며 보다가 ps1 확장자를 가진 저 파일을 눈여겨 의심했어야했다.
뭐 일단 저 lnk 파일을 한번 linkparser로 분석해보는게 좋겠다.이 링크파일은 D 드라이브에 1.ps1.txt를 가리킨다.
일단 확실한건 C 드라이브는 Windows 운영체제가 설치되어있는 드라이브이므로
autopsy 기준 vol6은 해당하지 않는다.경로명이 D:\1.ps1.txt였으므로 드라이브 최상단에 위치할 것이다.
그러므로 vol4, vol8, vol10 최상단 디렉토리를 확인하여 파일을 살펴보자.
근데 없다... 왜이지...싶어서 다시 찾아봐도 없길래 풀이를 보아하니
파일명을 바꾼 것이다. 원본 파일명을 바꿔도 링크파일에는 영향을 안주나보다.
문제를 찾아내기 위해서 비트낭님께서는 NTFS Logtracker를 사용하여 어떤 파일명으로 바꾸었는지 확인하셨다.
하지만 정말 눈치가 좋다면 파일사이즈로도 눈치껏 찾을 수 있지 않을까?(파일이 많지 않다면)
왜냐하면 스크립트 파일은 그래봤자 코드 몇줄 적힌 파일일 것이고 실행파일도 아니니까 크기가 크지 않을 것 같다고 생각이 들었다.
그리고 더 나아가서 스크립트 파일이라면 Text 형태로 보는 미리보기 기능에서 코드가 보일 것 같다.
.
.
.
이것도 내 오만이였다.
막상 확인해보니 그런 파일은 없었다.
최상단 디렉토리에는 깔끔하게 MFT 파일이나, FAT 파일만 있을 뿐이였고,
그나마 1개 의심되는 파일은 text 뷰에서 뭔가 나오질 않았다.그 와중에 키워드 검색이 어느정도 되었다.
그래서 이름순으로 먼저 확인해보니까 1.ps1과 유사한 파일이 나왔다.역시나 Text 뷰를 통해서 확인해보니 스크립트로 보이는 내용이 보인다.
하지만 이건 사실 풀이를 어느정도 참고해서 이렇게 찾아낸 것도 있고,
추후에 바꾼 파일의 이름을 이전과 거의 다르지 않게한 부분도 있어서 정확하게 어떤 이름으로 변경되었는지 확인하기 위해서는 NTFS Log Tracker와 같은 도구를 사용해야한다. 이 도구 또한 학회에서 시험에 인정해주는 도구이다.
그리고 난 이전에 문제를 풀어보려고 이미 다운을 받아서 사용해본 이력이 있지...여기서 한가지 궁금증이 생길 수 있다.
저 많은 파티션(드라이브) 중에서 어느 파티션의 메타데이터를 확인해야하는 것인가?
근데 키워드 목록을 보자마자 바로 해답을 찾았다.
키워드에서도 $MFT 파일이 있으며, 이 $MFT 내부에 1.ps1 라는 키워드가 존재한다면
그 $MFT 파일을 통해서 로그 복구, 분석하면된다.
사진처럼 보면 vol6이다.$LogFile, $J, $MFT 3개만 일단 넣으면될듯하다. 키워드가 들어있는 파일들로 넣어주자.
Search로 파일이름에 1.ps1을 넣고 추적해보자.
대략적으로 확인해보니 1.ps1[4]라는 파일이 생성되고, 링크파일을 1.ps1.lnk로 만들어낸듯하다.
이후에는 autopsy에서 1.ps1[4]라는 이름으로 검색하여 찾아내는 흐름으로 감을 잡으면된다.2-2-3번 문제
더보기용의자가 유출을 위해 특정 파일(스크립트)을 실행을 위해선 권한변경이 필요하였다. 이를 위해 사용한 명령어는 무엇인가?
이건 진짜 전혀 모르는 내용이다.
스크립트 내용을 물어보는 것이 아닌 그 이전에 권한을 따내기 위한 명령어라니...
그나마 생각나는 아이디어는 Windows Event Log 이다.
하지만 Event Log는 아직 공부했다고 해야하나...
필기 시험의 내용을 자세히 실습해보질 못해봤다.
풀이를 보아하니 Event Log까지 갈 필요도 없다.
그냥 PowerShell 스크립트 코드인 ps1 확장자 파일을 이용했음을 알아냈으니
PowerShell 로그를 찾아내면된다.
물론 PowerShell 로그도 어디에 있는지 모른다...
풀이를 보아하니...
Users\{user}\AppData\Roaming\Microsoft\Windows\PowerShell\PSReadLine\ConsoleHost_history.txt 에 있다고한다.찾았다...
사용한 명령어는d: .\1.ps1 set-executionpolicy unrestricted d: set-executionpolicy unrestricted .\1.ps1
이다...
아무래도 진짜 알아야할게 너무 많다.
이 문제도 완전히 가늠할 수 없는 새로운 문제였다.
PowerShell 로그... 지식이 늘었다.2-2-4번 문제
더보기용의자가 유출한 파일은 어디(IP)로 전송하였는가?
이 문제는 풀기 굉장히 편하다.
아까 봤던 1.ps1[4].txt 의 내용을 보면,211.196.230.83 주소로 보냈음을 알 수 있다.
2-2-5번 문제
더보기용의자가 유출한 파일의 파일명을 바꾸었다. 기존에 무엇에서 무엇으로 바뀌었는가?
일단 명령어를 보아하니 유출한 파일의 이름은 1.zip이다.
이전에 구해놓은 NTFS Log Tracker를 통해서 변경된 파일 이름을 찾아낼 수 있지 않을까?
...주의해야했다.
디스크 별로의 NTFS 파일시스템들을 모두 다 NTFS Log Tracker로 분석하여 SQLite DB 파일을 만들어내는게 좋겠다.
이전의 1.ps1.txt의 파일명 변경 사항을 확인하기 위해서 vol6의 MFT 메타데이터들을 사용했지만,
이 문제는 vol10의 MFT 메타데이터를 사용해야지 1.zip 파일명 변경 사항이 나왔다.
시작은 좋았는데, 꼼꼼하게 하질 못했군...
NTFS Log Tracker로 쓴다는건 참 좋았는데 말이야..2022 하반기 new.zip에서 1.zip 이라고 바꿨구나.
대략적으로 시나리오와 합쳐서 유추해보면 2022년 제품 설계도면이 유출되었다고 했다. 그 제품 설계도면이지 않을까 싶다.2-2-6번 문제
더보기용의자가 프린트를 시도한 4개의 그림파일을 추출하여라
비트낭님께서 2022년 문제는 어렵게 내셨다고 미리 문제 앞부분에 적어놓으셨는데
진짜 경험해본적 없는 케이스라서 추리도 못하겠긴하네....
프린트 하는 파일들의 흔적 또한 Windows 아티팩트에 존재한다고한다.
Windows\System32\spool\PRINTERS\ 쪽에서 SPL 파일이 있다고 한다.
여기서 궁금한 점은 SPL 파일이 무엇인가이다.
역시나 이번에도 GPT 선생님께 여쭤본다.
SPL 파일과 SHD 파일 2개가 있는데
SHD 파일은 프린트 작업 정보를 담고 있는 파일로 메타 데이터와 같이 파일명, 소유자, 문서명,프린터명등의 정보를 담고 있다.
SPL 파일은 프린트하는 대상, 즉 원시 데이터를 저장하는 파일이다.
추가적으로 SPL 파일은 RAW 방식과 EMF 방식 2가지가 있는데RAW 방식은 원본 데이터,
EMF 방식은 원본 데이터 + ip주소, 포트정보등의 추가적인 데이터가 합쳐진 방식이다.
어쨋든 SPL 파일을 찾아내면 원시 데이터를 찾아낼 수 있으니 이것을 찾아내면 된다.GPT 센세가 알려주신대로 SHD 파일과 SPL 파일이 있다.
파일이 총 4개가 있는데, 설명한대로 4개의 그림파일이 있는 모습인듯하다.
해당 파일 하나를 export하여 HxD로 열어보았다.해당 파일은 EMF 파일 형태로 메타데이터와 원본 파일이 함께 들어있다.
그러므로 메타데이터를 제거해주고 열어줘야한다.
1. EMF 문자열을 찾는다.
2. EMF 문자열로부터 40바이트 앞에 있는 0x01 hex값을 찾아준다.
3. 0x01 hex값 앞의 데이터가 전부 메타데이터이므로 지워준다.앞의 메타데이터를 전부 지워주니 그림판에서 원본 사진이 나온다.
이런식으로 4개의 파일을 모두 찾아주면된다.2-2-7번 문제
더보기용의자가 관리하던 유출목록 파일을 찾고 복구하라.(Sheet2에 그림이 보여야함.)
계속 보는데 모르겠어서 풀이를 봤다.
근데 이런 문제 나오면 진짜 어떻게 풀어야할지 모르겠다.
엄청나게 많은 폴더와 파일들 사이에서 그냥 이름, 확장자가 의심된다고 찾아내는건 너무 어려운데 문제에 나오니까
더 머리가 아프다... 제한된 시간은 몇시간인데 솔직히 이걸 몇시간 안으로 다 볼 수 있는 것인가? 라는 생각도 든다...
난 아직 어려운듯...vol10 부분의 내파일 폴더를 가보면 mylist.vol1.egg와 mylist.vol2.egg가 있다.
egg 확장자는 분할압축할 경우에 사용하는 파일인데
파일명의 정황상 vol1과 vol4 뿐만 아니라 vol2, vol3도 있어야지 압축해제가 될 것이다.그리고 egg 확장자를 가진 파일은 EGGA라는 시그니처를 갖고 있다.
더 추가적으로 알아야할 것은 분할압축은 통상적으로 같은 크기의 egg 파일로 압축분할된다.
(마지막 egg 파일은 빼고)
그러므로 65536의 크기를 갖는 파일 찾으면될듯하다.
근데 파일 크기별 카테고리에서는 65536 크기만큼의 파일이 없었다...
그래서 일일이 찾아보다가 지쳐서 풀이를 또 봄...
꽤나 가까이 있었는데, 좀 기발한 방법으로 숨겨져있었다.vol10에 있었는데,
크기가 65536이 아니라 131072로 2배의 값이였다.
시그니처가 EGGA인 것을보아 의심이 될만한데 크기가 다르길래 봤더니
vol2.egg와 vol3.egg를 합쳐놓은 파일이였다....
진짜 실기 문제 이렇게 내면 어려워서 어떻게 제한시간 4시간 안으로 답을 찾을 수 있을까..?
해당 파일을 export해서 2개의 파일로 나누고 나머지 egg 파일과 조합해서 압축해제 해보자.풀이대로 EGGA 시그니처가 파일 내에 2개 있었다.
풀어주면...
파일이 나왔지만 열리질 않는다.
손상되었다고하니까 HxD로 확인해보자.앞에 있어야하는 PK 문자열로 시그니처가 안나왔다.
분명히 이게...50 4B 03 04로 시작하고 마지막은 50 4B 01 02로 끝나는 형태였나...바꿔주고 다시 열어보면.
음 잘 나온다.
약간 부랴부랴 풀어낸 느낌이긴하지만....
일단 비트낭님께서 내주신 모의문제는 다 푼듯하다.
이번 실기 공부하면서 많은 안티포렌식 기법과 아티팩트들을 알았다....
진짜 어렵네...
시험장에 잘 기억해서 빠르게 제한시간 안에 써먹을 수 있으면 좋겠네.
이제 남은 목요일, 금요일 2일은 문제 제출 연습 좀 해보고
공CD 굽는 연습해야겠다.
화이팅이다...나 자신....'포렌식 통합 > 디지털 포렌식 전문가 2급' 카테고리의 다른 글
디지털포렌식 2급 실기 기본 분석 문제 (2024 모의 문제 풀이 - 1,2번 문제) [FTK Imager] (5) 2024.11.05 디지털포렌식 2급 실기 정리 (0) 2024.06.27 디지털포렌식 2급 실기 (2022 모의 문제 풀이 - 1, 2-1번 문제) [FTK Imager] (0) 2024.06.25 디지털포렌식 2급 실기 (2020 모의 문제 풀이 - 4,5,6,7번 문제) [FTK Imager] (0) 2024.06.21 디지털포렌식 2급 실기 (2020 모의 문제 풀이 - 2번 문제) [FTK Imager] (0) 2024.06.19