카테고리 보관물: PYTHON

파일시스템 분석

[Device Info]
Source Type: Physical
[Drive Geometry]
Cylinders: 489
Tracks per Cylinder: 255
Sectors per Track: 63
Bytes per Sector: 512
Sector Count: 7,856,127
[Physical Drive Information]
Drive Model: SanDisk SanDisk Cruzer USB Device
Drive Serial Number: 4528720A2252D1E0
Drive Interface Type: USB
Removable drive: True
Source data size: 3835 MB
Sector count: 7856127
[Computed Hashes]
MD5 checksum: 75db2b2a8535ac35e08e1880c5c6a8c8
SHA1 checksum: ea97b27546e7fd208afc204b2017aff0c894f071

 

Image Information:
Acquisition started: Thu Dec 06 15:43:56 2018
Acquisition finished: Thu Dec 06 15:46:47 2018
Segment list:
D:\000DigitalForensics\02WinForensic\0000EvidenceFile\USB_partition\evidence_usb01.001

 

Image Verification Results:
Verification started: Thu Dec 06 15:46:47 2018
Verification finished: Thu Dec 06 15:47:02 2018
MD5 checksum: 75db2b2a8535ac35e08e1880c5c6a8c8 : verified
SHA1 checksum: ea97b27546e7fd208afc204b2017aff0c894f071 : verified

 

Image Verification Results:
Verification started: Thu Dec 06 16:30:14 2018
Verification finished: Thu Dec 06 16:30:47 2018
MD5 checksum: 75db2b2a8535ac35e08e1880c5c6a8c8 : verified
SHA1 checksum: ea97b27546e7fd208afc204b2017aff0c894f071 : verified

 

usb 해쉬 값

total sector
Boot Flag
00
CHS 시작 주소
20 21 00
파티션 유형
07
NTFS
CHS 마지막 주소
CB 09 82
LBA 시작 주소
00 08 00 00                         00 00 08 00 (2048)
Total Sectors
00 08 20 00                     00 20 08 00 (2099200)

USB MBR 영역이 손상되어 두 개의 파티션을 분석할 수 없는 상태이다.\

-MBR(Master Boot Record)이 손상되어 VBR을 불러오지 못해 해당 파티션을 읽을 수 없다.

total sector 분석


MBR(Master Boot Record) 분석

0
00

1~3
20 21 00
4
07
NTFS
5~7
CB 09 82
8~11
00 08 00 00(LBA)                               00 00 08 00
2048
12~15
00 08 20 00(Total Sector)                  00 20 08 00
2099200
첫 번째 빨간색 밑줄은 파티션 유형에 대해서 알려주는 위치이다.(NTFS 확인)
두 번째 빨간색 밑줄은 Total Sector 정보가 담겨 있다.

MBR
1 섹터
2,047
섹터
#1 파티션 NTFS
2,048섹터 시작
2,099,200섹터 크기
#2 파티션
2,101,248섹터부터 시작

-첫 번째 빨간색 칸은 파티션 유형에 대해서 알려주는 위치이다.(FAT 32)
-두 번째 빨간색 칸은 Total Sector 정보가 담겨 있다.

MBR
1 섹터
2,047
섹터
#1 파티션 NTFS
2,048섹터 시작
2,099,200섹터 크기
#2 파티션 FAT32
2,101,248섹터 시작
5,750,784섹터 크기
mbr 복구
파티션 2개 마운트 확인

2018-09-28(Hash)

logging 모듈 -> 로그를 만듬

로그레벨 <-
Fatal, Error, warn, Info, Debug, Trace

명명규칙
-단방향 해쉬 알고리즘-
MD5, Sha-1, Sha-2

-증거보존
검색
블랙리스트 : 유해파일
화이트리스트 : 신뢰파일
변화감지

-설계 고려사항
사용 모듈 정의
표준 라이브러리 매핑

-요구사항 -내용명시
개요
이식성
주요기능
주요결과
알고리즘 선택
오류처리

-로그레벨-
Fatal : 시스템 유지불가
Error : 문제 발생
Warn : 해결 가능한 문제 발생
Info
Debug : 메서드의 시작과 끝
Trace : 메서드의 시작과 끝을 제외하고 본문 중 필요한 정보

2018-09-27(휘발성 데이터 수집)

메모리 덤프 – raw 파일

관리자 cmd : FDPRO.exe

메모리 덤프 -> Batch 파일
Batch 파일
날짜/시간
사용자이름
시스템 사용자
시스템 환경

스니핑
promiscdetect <-> promiscuous 모드

psinfo 컴퓨터 정보 수집
-d 디스크 정보
-s 소프트웨어 정보

hostfix 취약점수정

bat 파일 – prefetch
db파일 저장

2018-09-20()

arp

-a 현재의 프로토콜 데이터에 질의하여 현재의 등록된 ARP를 표시한다. 만일 inet_addr를 지정받으면 단지 지정받았던 컴퓨터에 대한 IP와 물리 주소가 표시된다. 만일 1개 이상의 네트워크 인터페이스가 ARP를 사용하면 각 ARP 테이블에 등록된 것을 표시한다.
-g -a와 동일하다
inet_addr 인터넷 주소를 지정한다
-N if_addr 네트워크 인터페이스를 위한 ARP entries가 if_addr에 의해 지정된 것을 표시
-d inet_addr에 의해 지정받은 호스트를 삭제한다.
-s 호스트를 추가할때,인터넷 주소(inet_addr)와 물리주소(MAC address=eth_addr)를 결부시킨다. 6개의 16진 기수법의 바이트가 하이픈에 의해 나뉘었던 것에 따라 물리 주소가 지정되며, 테이블은 변하지 않는다.
eth_addr physical address를 지정한다.
if_addr 제출되면, 이것이 주소 번역 테이블이 수정되어야 하는 인터페이스의 인터넷 주소를 지정한다.제출되지 않으면 첫번째 적용 가능한 인터페이스가 사용될 것이다.

arp(F)

netstat
전송 제어 프로토콜, 라우팅 테이블, 수많은 네트워크 인터페이스(네트워크 인터페이스 컨트롤러 또는 소프트웨어 정의 네트워크 인터페이스), 네트워크 프로토콜 통계를 위한 네트워크 연결을 보여주는 명령 줄 도구

-a 모든 연결과 수신 대기 포트를 표시
-b 각 연결 또는 수신 대기 포트 생성과 관련된 실행 파일을 표시
-e 이더넷 통계를 표시
-f 외부 주소의 FQDN(정규화된 도메인 이름)을 표시
-n 주소와 포트 번호를 숫자 형식으로 표시
-o 각 연결의 소유자 프로세스 ID를 표시
-p proto proto로 지정한 프로토콜의 연결을 표시
-q 모든 연결, 수신 대기 포트 및 바인딩된 비수신 대기 TCP포트 표시
-r 라우팅 테이블 표시
-t 현재 연결 오프로드 상태 표시
-x NetworkDirect 연결, 수신기 및 공유 끝점을 표시
-s 프로토콜별 통계 표시
-y 모든 연결에 대한 TCP 연결 템플릿 표시
interval 다음 화면으로 이동하기 전에 지정한 시간동안 선택한 통계를 다시 표시

netstat(F)

route
ip routing table 확인
add : route 추가
del : route 삭제
net : 네트워크 주소 사용
target : 네트워크 또는 호스트의 목적지
-e : netstat format으로 routing table 출력



route_table(F)

cports
윈도우 포트 확인 프로그램

cports(F)

urlprotocolview
url 형태, 정보, 이름, 상태, 프로덕트 이름 확인

urlprotocolview(F)

net sessions
컴퓨터 연결 관리
네트워크의 컴퓨터들의 세션 정보 표시

NET SESSION [컴퓨터이름] [/DELETE]

NET SESSION은 컴퓨터와 네트워크 상의 다른 컴퓨터 사이의 세션을 열거하거나 연결을 끊습니다. 다른 옵션을 주지 않을 경우, 현재 촛점의 대상인 컴퓨터와 관련된 모든 세션에 관한 정보를 보여줍니다.

이 명령은 서버 상에서만 시행됩니다.
net_sessions(F)

net file
서버에서 열린파일일을 표시 열린파일일이란 네트워크로 사용중인 파일
옵션없이 입력하게 되면 현재 사용중인 파일명과 파일의 ID를 보여주게되며 누가 사용하는지 표시 파일ID를 사용하게되면 해당파일의 연결을 차단 가능
net_file

net share
현재 연결되어 있는 공유목록 확인

net share 공유명 /delete = 공유삭제
/users:숫자
해당공유에 동시에 연결할 수 있는 최대사용자를 설정

/unlimited
동시에 사용가능한 사용자의 숫자에 제한을 두지않습니다. 기본값으로 되어있습니다.
그래서 /users 옵션을 안주게되면 무제한연결이 가능하게 됩니다.

/remark:”설명”
해당공유의 간단한 메시지를 작성할수있습니다. Net view에서 설명란에 나타남
net_share(F)

nbt state

-a 컴퓨터 이름 : 원격 컴퓨터의 NetBIOS 이름 테이블을 표시
-A IP주소 : 원격 컴퓨터의 IP 주소로 NetBIOS 이름 테이블을 표시
-c : NetBIOS 이름 캐시의 내용
-n : 로컬 컴퓨터의 NetBIOS 이름 테이블 표시

nbtstat_s(F)

2018-09-13(base64 인코딩)

ASCII 코드표

Base64 코드표

Base64 코드변환

ex) klmn Base64 인코딩

1. klmn 을 ASCII 값 기준 비트로 나타낸다. 각각 아스키값으로(107,108,109,110)
01101011 01101100 01101101 01101110

2. 6 bit 씩 끊는다.
011010 110110 110001 101101 011011 10

3. 끝자리에 모자란 bit 를 0으로 셋팅
011010 110110 110001 101101 011011 100000
-> 26, 54, 49, 45, 27, 32
위의 64개 문자와 matching 시키면 a2xtbg 이고 전체비트수%3 가 2였으므로 두개의 ‘=’ 로 Paddig 해주면
a2xtbg== 가 된다.

dcode 시간정보 인코딩 변환

2018-09-06(포렌식)

Digital Forensics

범죄 현장에서 확보한 개인 컴퓨터, 서버 등의 시스템이나 전자 장비에서 수집할 수 있는 디지털 증거물에 대해 보존, 수집, 확인, 식별, 분석, 기록, 재현, 현출 등을 과학적으로 도출 되고 증명 가능한 방법으로 수행하는 것

디지털 포렌식 조사의 일반 원칙
– 정당성의 원칙
– 증거가 적법 절차에 의해 수집되어야한다.
– 재현의 원칙
– 같은 조건과 상황 하에서 항상 동일한 결과를 보장해야한다.
– 신속성의 원칙
– 디지털 포렌식의 전 과정은 신속히 진행되어야한다.
– 연계보관성의 원칙
– 증거물 획득 -> 이송 -> 분석 -> 보관 -> 법정 제출
각 단계에서 증거가 명확히 관리되어야한다.
– 무결성의 원칙
– 증거가 수집, 이송, 분석, 제출 과정에서 위변조 되지 않았음을 증명해야한다.

무결성의 원칙 ex) hash값 test
메인test1

메인test1이름 변경 -> test2
hash값 동일(파일명 변경으로 hash값 변동 없음)

메인test1내용 변경 -> test3
hash값 바뀜(내용에 따라 hash값 변동)