1. File Signature
- 파일의 맨 앞 4bytes 부분, 파일의 정체성을 나타낸다.
- 파일 시그니처를 지우면 대부분의 Application에서 인식을 못한다.
- 다른 말로 Magic Number라고도 한다.
- JPG: FFD8 FF E0로 시작해서 FF D9로 끝난다.

위의 사진은 HexEditor로 JPG를 추출한 것이다.
다양한 HexEditor가 있고
HxD - Freeware Hex Editor and Disk Editor | mh-nexus
HxD - Freeware Hex Editor and Disk Editor HxD is a carefully designed and fast hex editor which, additionally to raw disk editing and modifying of main memory (RAM), handles files of any size. The easy to use interface offers features such as searching and
mh-nexus.de
공식 홈페이지에서 다운로드도 가능하다.
JPG를 WireShark에서 추출하려면
Tcp Stream - raw -save as로 하거나, File Export - http로 추출할 수 있으며
FIle Export의 경우 한번에 모두 다운하므로, 파일이 너무 많으면 좋지 않은 방법이다.
2. Exploit Example with File Signature
Slowloris 공격
- HTTP헤더 끝 부분에 0d 0a 0d 0a로 되어있어야 헤더가 끝남을 표시.
- 공격자들이 0d 0a 0d 0a를 지우고 보냄. --> 웹서버는 요청이 계속되고 있는 것으로 보고 대기상태가 됨
- 이 http 요청을 많이 보내면 서버가 느려지게 됨
* 0D 0A: 줄바꿈 (커서 왼쪽 이동 + 한 줄 내림)
- 0D : Carriage Return (CR) ---> 커서를 왼쪽 끝으로 이동
- 0A : Line Feed (LF) ---> 한 줄 내림
3. Encoding, Decoding
encoding: 컴퓨터가 보기에 적합한 형태로 변형
decoding: 사람이 보기에 적합한 형태로 변형
ASCII code: American Standard Code for Information Interchange
- 대,소문자,숫자, 특수문자를 나타내는 7bit 코드
Unicode: 제3세계 언어들을 표시하기 위해 사용하는 Code

아스키 코드의 10번과 13번을 보면 앞서 언급한 0D와 0A를 볼 수 있다.
한글을 표시하는 방법은 다음과 같다.
1. UTF-8: 아래아한글에서 도입, WWW, Linux, Database 등에서 사용중
2. EUC-kr: Microsoft에서 만듦 (Windows, Office에서 사용) 완성형을 모태로 함
- 초기 완성형에서는 표기 못했던 글자도 있다 ex) 쀍
인코딩한 파일을 다시 사람이 이해하기 편하게 바꾸는 방법에는 무엇이 있을까?
디코딩을 해야한다.
Base64로 인코딩한 문장을 다시 디코딩 해보자.
# Base64: 64진법을 기초로 해서 만든 인코딩 방식
- 웹브라우저 등에서는 잘 인식하지만 사람이 읽기 어려움
- 비밀번호 등을 감추기 위해서 많이 사용되었음 (ID, PW 인코딩)
- 안전하지 않기 때문에 최근에는 사용하지 않는 것을 권장
- 대문자, 소문자, 숫자로 구성되어 있음 (특수문자는 =만 사용함)
- 이메일 본문 내용을 MIME으로 사용하는 경우
(MIME: ASCII가 아닌 문자 인코딩을 통해 영어가 아닌 다른 언어로 된 전자 우편을 보낼 수 있는 방식
- 용량이 약 1.4배 정도 증가하게 됨

Base64로 인코딩을 하다보면 재밌는 사실을 하나 발견할 수 있다.
내가 인코딩한 문자열은 h145이다.
디코딩된 문자열은 aDE0NQ== 이다.
숫자 또는 문자 아무거나 하나 더 추가해보자. 분명 =이 한 개만 생길 것이다.
Base64는 3의 배수만큼 Encoding을 진행하기 때문에 나머지 숫자는 =으로 처리한다.
Base64 Encode and Decode - Online
Encode to Base64 format or decode from it with various advanced options. Our site has an easy to use online tool to convert your data.
www.base64encode.org
(직접 해보면 재밌어요)
'정보보안 > Forensic' 카테고리의 다른 글
| [정보보안][포렌식] File Signature의 분석과 손상 복구 (0) | 2023.07.31 |
|---|