· broken-png
์คํฐ๋์์ ์๊ฒ๋ 010 Editor๋ก ์ฌ์ง์ ์ด์ด๋ดค๋ค. ์ค๋ช ์์ ์ ์ฌ๊ฐํ์ผ๋ก ์์ผ ํ ์ด๋ฏธ์ง๊ฐ ๋ฐ๋ฐ์ ์์๋ค๊ณ ํ๋ค. ์ฌ์ง๋ ๋ณด๋๊น ๋ฐ์ฏค ์๋ ค์์ด์ ์ด ์ด๋ฏธ์ง ํฌ๊ธฐ๋ฅผ ๋ณ๊ฒฝํ๋ฉด ๋ ๊ฒ ๊ฐ์๋ค.
sig๋ chunk0, 1, 2, 3 ์ผ๋ก ์ด๋ฏธ์ง๊ฐ ๋ถ๋ฅ๋ ๊ฒ ๊ฐ์๊ณ ์ด๊ฒ ์ ๊ฒ ๋๋ฌ๋ณด๋ค๊ฐ ์ด๋ฆ ์์ ์๋ > ๋ฅผ ๋๋ฅด๋ ์ด๋ฆ ๋ณ๋ก ์ค์ ํ๋ ์นธ์ด ๋์๋ค. ๊ทธ ์ค์์ ํ์ผ ํฌ๊ธฐ? ํด์๋ ๊ฐ์ ๊ฑธ ์กฐ์ ํ ์ ์๋ ๋ถ๋ถ์ด chunk 0์ ์๋ ihdr ์ธ๊ฑฐ ๊ฐ์์ ์กฐ์ ์ ํด์คฌ๋ค.
์๊น ์ ์ฌ๊ฐํ์ผ๋ก ์์ผ ํ๋ค๊ณ ํ์ผ๋ ๊ฐ๋ก ์ธ๋ก ๋ชจ๋ 512๋ก ์ค์ ํ๊ณ ์ ์ฅํ ํ ๋ค์ ์ด๋ฏธ์ง ํ์ผ์ ์ด์ด๋ดค๋๋ ํ๋๊ทธ ์ ์ฒด๊ฐ ๋์๋ค.
DH{image_height_property}
· Forensics 101
์ค๋ช ์ ์๋ ๋งํฌ๋ก ๋ค์ด๊ฐ๋ ๊ท์ฌ์ด ๋ฏธ๋์ธ์ฆ ์ฌ์ง์ด ๋์จ๋ค. 010 Editor๋ก ์ด์ด๋ดค๋ค. ์ด ๋ฌธ์ ๋ ์ ๋ฌธ์ ๋ ๋ค๋ฅด๊ฒ png๊ฐ ์๋๋ผ jpg์ฌ์ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ํ์ด์ผ ๋๋? ์ถ์๋ค.
ctrl f๋ฅผ ๋๋ฅด๋ฉด ๊ฒ์์ฐฝ์ด ๋จ๋๋ฐ ์ฌ์ดํธ์์ ์๋ ค์ค ํ๋๊ทธ ํ์์ด CTFlearn{} ์ด๊ธธ๋ CTF๋ฅผ ๊ฒ์ํด๋ดค๋๋ฐ ์๋ฌด๊ฒ๋ ์๋์์ flag๋ ๊ฒ์ํ๋๋ฐ ๋์ค๋ ๊ฑด ์์๋ค. ๊ทธ๋ฆฌ๊ณ ํ์ฐธ ์ฐพ์๋ณด๊ณ ๊ทธ๋ฌ๋๋ฐ ๊ฒ์ ์นดํ ๊ณ ๋ฆฌ๋ผ๊ณ ํด์ผ๋๋ ์ ๋ถ๋ถ์ด Hex Bytes๋ก ๋์ด์์ด ๊ฒ์์ด ์ ๋๋ก ์๋ ๊ฒ ๊ฐ์๋ค. ์นดํ ๊ณ ๋ฆฌ๋ฅผ ๋ณด๋ Text๋ ์์ด์ ๋ค์ ๊ฒ์์ ํด๋ดค๋ค.
๊ฒ์์ ํ๋ flag ๋ถ๋ถ์ด ๋ฑ ๋์๋ค.
flag{wow!_data_is_cool}
· PNG ํ์ผ ๊ตฌ์กฐ ์ ๋ฆฌ
PNG ํ์ผ์ Portable Network Graphics๋ก ๋ฌด์์ค ์์ถ ๋ฐฉ์์ ์ฌ์ฉํ๋ ์ด๋ฏธ์ง ํ์ผ ํฌ๋งท์ด๋ค. PNG ํ์ผ์ ๊ตฌ์กฐ๋ ์ฌ๋ฌ ๊ฐ์ ์ฒญํฌ(chunk)๋ก ๊ตฌ์ฑ๋๋ฉฐ ๊ฐ ์ฒญํฌ๋ ๊ณ ์ ๊ธฐ๋ฅ์ ์ํํ๋ค. ์๊น 010 Editor๋ก ๋ดค๋ chunk[0] ์ด๊ฒ ์ฒญํฌ์ธ ๊ฒ์ด๋ค.
[ ์๊ทธ๋์ฒ (Signature) ]
- PNG ํ์ผ์ 8 ๋ฐ์ดํธ์ ๊ณ ์ ์๊ทธ๋์ฒ๋ก ์์ํ๋ค.
- 89 50 4E 47 0D 0A 1A 0A
[ ์ฒญํฌ (Chunks) ]
- PNG ํ์ผ์ ์ฌ๋ฌ ์ฒญํฌ๋ก ๊ตฌ์ฑ๋๋ค.
- ๊ฐ ์ฒญํฌ๋ ๊ธธ์ด(Length), ์ ํ(Type), ๋ฐ์ดํฐ(Data), CRC(Cyclic Redundancy Check)๋ก ๊ตฌ์ฑ๋๋ค. ๊ทธ๋์ ๋ฌธ์ ํ๋ ์ฒญํฌ ์ค์ ์ ํด์ ๊ธธ์ด๋ฅผ ์กฐ์ ํด ํ๋๊ทธ๋ฅผ ์ป์ ์ ์์๋ ๊ฒ์ด๋ค.
- IHDR
- ํ์ผ์ ์ฒซ ๋ฒ์งธ ์ฒญํฌ๋ก ๋ฐ๋์ ์กด์ฌํด์ผ ํ๋ค.
- ๋ฐ์ดํฐ ๊ตฌ์กฐ : ํญ (4 ๋ฐ์ดํธ), ๋์ด (4 ๋ฐ์ดํธ), ๋นํธ ๊น์ด (1 ๋ฐ์ดํธ), ์์ ์ ํ (1 ๋ฐ์ดํธ), ์์ถ ๋ฐฉ๋ฒ (1 ๋ฐ์ดํธ), ํํฐ ๋ฐฉ๋ฒ (1 ๋ฐ์ดํธ), ์ธํ ๋ ์ด์ค ๋ฐฉ๋ฒ (1 ๋ฐ์ดํธ)
- PLTE (palette)
- ์์ ํ๋ ํธ๋ฅผ ์ ์ํ๋ ์ฒญํฌ์ด๋ค.
- ๋ฐ์ดํฐ๋ 3 ๋ฐ์ดํธ ์ช RGB๋ก ์ด๋ฃจ์ด์ง ์ฌ๋ฌ ์์ ๊ฐ๋ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค.
- IDAT (Image Data)
- ์ด๋ฏธ์ง ๋ฐ์ดํฐ๋ฅผ ํฌํจํ๋ฉฐ Zlib๋ก ์์ถ๋๋ค.
- ์ฌ๋ฌ IDAT ์ฒญํฌ๊ฐ ์ฐ์์ ์ผ๋ก ์ฌ ์ ์๊ณ ๋ฐ์ดํฐ๋ฅผ ์์๋๋ก ๊ฒฐํฉํด ์ด๋ฏธ์ง๋ฅผ ๋์ฝ๋ฉํ๋ค.
- ์ธ์ฝ๋ฉ ๊ณผ์ : ํฝ์ ๋ฐ์ดํฐ ใ ก> Filter ใ ก> compression ใ ก> IDAT chunk data
- ๋์ฝ๋ฉ ๊ณผ์ : IDAT chunk data ใ ก> Decompression ใ ก> Unfilter ใ ก> Pixel data
- IEND (Image End)
- ํ์ผ์ ๋์ ๋ํ๋ด๋ฉฐ ๋ฐ๋์ ์กด์ฌํด์ผ ํ๋ค.
- ๋ฐ์ดํฐ ํ๋๋ ๋น์ด์๋ค.
[ ๊ธฐํ ์ฒญํฌ ]
- tEXt, zTXt, iTXt : ํ ์คํธ ์ ๋ณด๋ฅผ ํฌํจํ๋ ์ฒญํฌ
- bKGD : ๊ธฐ๋ณธ ๋ฐฐ๊ฒฝ ์์์ ์ง์ ํ๋ ์ฒญํฌ
- pHYs : ์ด๋ฏธ์ง์ ๋ฌผ๋ฆฌ์ ํฝ์ ํฌ๊ธฐ ์ ๋ณด๋ฅผ ํฌํจํ๋ ์ฒญํฌ
- tIME : ๋ง์ง๋ง ์์ ์๊ฐ์ ๋ํ๋ด๋ ์ฒญํฌ
[ ๋ฐ์ดํฐ (Data) ]
- ๊ฐ๋ณ ๊ธธ์ด, ์ฒญํฌ์ ๋ฐ๋ผ ๋ฌ๋ผ์ง๋ค.
[ CRC (Cyclic Redundancy Check) ]
- 4 ๋ฐ์ดํธ๋ก ์ฒญํฌ ์ ํ๊ณผ ๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ์ ๊ฒ์ฆํ๋ค.
< ๋๋ ์ >
์์ง 1์ฃผ์ฐจ ์ฒซ๋ ์ด์ฌ์ ๊ทธ๋ ๊ฒ ์ง๋ง ํฌ๋ ์์ด๋ผ๊ณ ๋ง ๋ค์์ ๋ ๋ญ๊ฐ ๋๊ฒ ์ด๋ ต๊ณ ๋ค๊ฐ๊ฐ๊ธฐ ํ๋ ..? ๋ฉ๊ฒ๋ง ๋๊ปด์ก๋๋ฐ ๊ฐ๋จํ ๋ฌธ์ ํ์ด๋ก ์ ๊ทผํ๋ ์ฝ๊ณ ์ดํดํ๊ธฐ๋ ์์ํ ๊ฒ ๊ฐ๋ค. ์ฌ์ง ๊ตฌ์กฐ๋ฅผ ๋ด๊ฐ ๋ฏ๊ณ ๊ณ ์น๊ณ ์ด์ด๋ณด๋๊ฒ ๋๊ฒ ํฅ๋ฏธ๋ก์ ๋ค.
'Forensic' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SKS! ์ฐํฉ์คํฐ๋] 3์ฃผ์ฐจ. volatility ํ๋ฌ๊ทธ์ธ (0) | 2024.08.02 |
---|---|
[SKS! ์ฐํฉ์คํฐ๋] 2์ฃผ์ฐจ. evidence03 (2) | 2024.07.26 |
[SKS! ์ฐํฉ์คํฐ๋] 2์ฃผ์ฐจ. evidence02 3-8 (0) | 2024.07.25 |
[SKS! ์ฐํฉ์คํฐ๋] 1์ฃผ์ฐจ. steganography (0) | 2024.07.18 |