일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- C
- 구현
- SuNiNaTas
- wargame
- Text
- N0Named
- 써니나타스
- Database
- MySQL
- 수학
- Web Hacking
- Forensics
- 사칙연산
- Incognito
- 정렬
- php
- misc
- Network
- Digital Forensics
- writeup
- HackCTF
- 문자열
- 백준
- CTF
- 인코그니토
- Web
- Python
- 그리디 알고리즘
- cryptography
- xcz.kr
- Today
- Total
보안을 그리다, 훈이
[Forensics] N0Named Wargame Left Side B(140p) Write Up 본문
N0Named Wargame Forensics 분야 Left Side B(140p) 문제에 대한 Write Up입니다.
문제 이름에 힌트가 있다고 하는데 보자마자 LSB(least significant bit, 최하위 비트) 관련 문제라고 생각했다.
LSB 변조를 통한 스테가노그래피 기법은 대표적으로 24bit 이미지 파일인 JPEG와 BMP 파일에 적용된다.
이 기법은 실제 이미지에 영향을 주긴 하지만, 24bit가 하나의 색을 표현하기 때문에 영향력이 큰 MSB(Most Significat Bit)와 달리 LSB가 변조되어도 사람의 눈으로 알아채기 힘들고 Hex Editor를 통해 분석해보면 알 수 있는 정도이다.
task.bmp 파일의 hex 값을 살펴보면,
무수히 많은 FF 사이에 FE가 섞여있는 것을 확인할 수 있다.
이와 같이, 흰색을 나타내는 0xFFFFFF 값에 대하여 LSB 변조를 하면 FE가 된다.
FE의 LSB는 0이고 FF의 LSB는 1이며, 0과 1로 8자리 즉 char 값을 나타낼 수 있으므로 ASCII에 대응하는 문자열을 숨길 수 있다.
이는 결과적으로 흰색을 나타내는 값의 LSB를 1만큼 변조하여 사람의 눈으로는 알아차릴 수 없는 이미지 변화를 일으킬 수 있다.
[관련 게시글] [Cryptography] 스테가노그래피(Steganography) 기법
LSB 값에 따라 FF를 1로, FE를 0으로 치환하고 Binary to String 해보자.
Flag : NND{listen_listen_ICAN_listen}
BMP File Format
'Security > Wargame' 카테고리의 다른 글
[Reversing] 써니나타스(SuNiNaTaS) 9번 문제 Write Up (0) | 2022.02.05 |
---|---|
[Forensics] N0Named Wargame 123321123(200p) Write Up (0) | 2022.01.29 |
[Forensics] N0Named Wargame 길에서 주어온 만두(100p) Write Up (0) | 2022.01.29 |
[Forensics] N0Named Wargame 어제 뭐 했어?(100p) Write Up (0) | 2022.01.26 |
[Forensics] N0Named Wargame 누가 진짜일까?(70p) Write Up (0) | 2022.01.26 |