●47일차(20250219047.php)
#서과장 파일 분석 마무리
파티션0에 대부분의 정보가 들어있다
> 파티션1에는 tc 파일밖에 없음
1. 타임라인
javaws (2015-08-13 3:21:05)
javaw (2015-08-13 3:21:09)
openstego (2015-08-13 3:21:12)
2. openstego
> 파일 데이터를 숨길 수 있는 프로그램이다
> openstego를 다운로드 받으려면 java를 다운받아야한다
> 서과장이 java를 다운받고 openstego를 다운받은 것을 타임라인을 통해 알 수 있다
> 대부분의 사람들은 openstego를 다운받은 후 실행이 안되는 것을 알고 자바를 다운받는다
> 하지만 서과장은 이미 알고 자바를 먼저 다운받은 듯하다
자바 다운로드 받고 openstego를 다운로드
> 0001.png에 숨겨져 있는걸 추출함
> TrueCryptSetup이라는 파일이 나오는데 확장자를 zip파일로 바꿔주고 풀어줌
> txt 파일이 나옴
> 비밀번호가 써져있음
> hackersp@sssw0rd > hackersp@ssw0rd 바꿔줌
> 만든 사람이 잘못씀...
> 버전을 낮춰서 다운받아야함
3. TrueCrypt
> tc 파일을 풀자
키파일은 서과장이 휴지통에 버린 Dc1.txt
비밀번호는 png 파일에서 추출한 TrueCryptSetup에 있는 비밀번호
> 설계도면이 나옴
#시나리오 ence.E01
일단 이미지화 > 20250219003.001
1. 복구
파티션1 시작 위치 : 63 > 00 00 00 3F > 3F 00 00 00
파티션1 마지막 위치 : 4306175
파티션1 사이즈 : 마지막 위치 - 시작 위치 +1 = 4306113 > 00 41 B4 C1 > C1 B4 41 00
파티션2 시작 위치 : 4306239 > 00 41 B5 3F > 3F B5 41 00
파티션2 마지막 위치 : 4999679
파티션2 사이즈 : 마지막 위치 - 시작 위치 +1 = 693441 > 00 0A 94 C1 > C1 94 0A 00
> MBR에 파티션1, 2 위치와 사이즈를 넣어주었다
2. findx.gif를 찾아라
확장자 분석 > 키워드 분석 > 파일 시그니처 분석 > 카빙
gif의 파일 시그니처가 있다
2-1. 카빙 실습
wipe > usb MBR VBR 다 0으로 넣어
포맷 > MBR 생성
이미지 파일 넣어 > VBR 생성 후 위치 파악
포맷
2-2. wipe
> USB의 MBR, VBR을 다 0으로 넣어버리는 과정
> EnCase forensic imager로 wipe를 하자
add local device
> 체크 다 빼
> 추가해준 USB가 뜰거임
> usb는 name이 숫자임 > 체크
tools > wipe > 00
> mbr vbr이 다 0으로 바뀌어
> 파일시스템이 다 사라져서 컴퓨터가 읽지못함
> 포맷(NTFS) , 볼륨 레이블 이름: Evidence
imager로 들어가보자
> 0섹터에 VBR이 뜬다(NTFS)
> 파티션이 안 나뉘어져 있기 때문
> 맨마지막 섹터에는 백업본이 있음
이미지 파일 1.jpg로 넣자
imager > 사진 누르고 hex 누르기
png로 넣어버려서 jpg로 된 이미지 파일로 다시 넣어줌(2.jpg)
> png의 확장자 명을 jpg로 바꿔도 VBR은 그대로...
> 사진 위치 적기 > clus: 5513 phy sec: 44104
> FF D8 FF E0 > jpg 시그니처
> 다시 포맷
> 보였던 사진이 파일 탐색기에 안보이게 됨
imager로 usb이미지를 다시 붙히자
> 파일 자체는 안보임
> go to sector로 위치를 찾아가자 > VBR에는 있음
> raw(dd)로 빼자
> 20250219002 문소희 카빙 연습
2-3. 카빙
> 파일 탐색기에는 없지만 VBR에 남아있는 데이터를 확장명 시그니처를 통해서 찾아내는 것이다
> forensic.py에 카빙하는 코드를 짜보자
def carve(file_path, signiture):
page_size = 512
with open(file_path,'rb') as f:
page_number = 1
total_offset = 0
while True:
page_data = f.read(page_size)
if not page_data:
break
index = page_data.find(signiture)
if index != -1:
total_offset = (page_number -1) * page_size + index
phy_sec = total_offset // page_size
print(f"Signature found at byte offset: {total_offset}")
print(f"Physical sector: {phy_sec}")
page_number += 1
signiture = b'\xFF\xD8\xFF\xE0'
file_path = r"D:\2025_산대특\forensicfile\20250219\20250219002.001"
carve(file_path,signiture)
2-4. findx.gif 정리
확장자 분석 > 키워드 분석 > 파일 시그니처 분석 > 카빙
1) 와이핑하기
2) 포맷하기
3) 사진 저장
4) 포맷하기
5) Forensic.py 프로그램으로 카빙하기
3. newmar.jpg를 찾아라
확장자 분석 > 키워드 분석 > 파일 시그니처 분석 > 은닉 파악
> TrueCrypt 흔적 찾기
> 확장자 불일치 찾기(Autoexe.bat)
> ?????
> 파이썬에서 zip파일 푸는 프로그램
> 압축파일을 넣을때 비밀번호가 들어감
>> autopsy를 통해서 사람의 흔적을 찾아가보자
3-1. fileview

images에 jpg 확장자명을 모아서 볼 수 있는데 newmar.jpg를 찾지를 못함
3-2. 확장자 불일치
run ingest module > 확장자 불일치
> Autoexe.bat이 나옴
> export file

> hex로 보면 PK라고 나오는데 이게 zip파일 시그니처다
> zip으로 바꿔서 풀려고하면 암호를 치라고 나옴
3-3. 키워드 검색
run ingest module > keyword search
> global setting
> new list > newmar 추가
> new keyword > newmar 추가 > finish

> 다른건 컴퓨터 자체에서 만드는 파일
> pretty lady.txt는 사람이 만든거임
Pretty Lady.txt를 들어가면
Don't forget Julie Newmar in Gotham City Central Park!
> Julia Newmar가 비밀번호임
pyzipper 모듈을 이용해 비밀번호를 풀고 압축을 푸는 코드를 짜보자
vmware workstation을 다운받자
> 악성코드를 분석하는 시스템
우분투 22.04 GUI용 > Virtualbox > Win7