ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ, ํŒŒ์ผ ์‹œ๊ทธ๋‹ˆ์ฒ˜, PE ์™€ ELF ํ˜•์‹
    SECURITY/REVERSING 2020. 7. 19. 23:34

    ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ

     

    : ์‚ฌ์šฉ์ž ๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๋˜ ์ •๋ณด๋‚˜ ์ˆซ์ž ๊ฐ’์„ ํŠน๋ณ„ํ•œ ๊ฐ€๊ณต ์—†์ด ๊ทธ๋Œ€๋กœ ์ €์žฅํ•œ ๊ฒƒ

    ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ ๋‚ด์šฉ์„ ํ™•์ธํ•˜๋ ค๋ฉด ๋ณ„๋„์˜ ํ”„๋กœ๊ทธ๋žจ ๋“ฑ์ด ํ•„์š”ํ•˜๋‹ค.

     

    ๋งŒ์•ฝ ํŒŒ์ผ์— 34, 67, 97 ์˜ ์ •๋ณด๋งŒ ์ €์žฅ๋˜์–ด์žˆ๋‹ค๋ฉด ๋ฌด์Šจ ์˜๋ฏธ์ธ์ง€ ์•Œ ์ˆ˜ ์—†์ง€๋งŒ,

    ๊ทธ๋ฆผํŒ, ์‚ฌ์ง„ ์•ฑ๊ณผ ๊ฐ™์ด ์‚ฌ์ง„์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ณธ๋‹ค๋ฉด ๋‹ค๋ฅธ ์˜๋ฏธ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

     

    ์ด ํฌ์ŠคํŒ…์˜ ์ œ๋ชฉ์„ ์บก์ณํ•œ ๊ฒƒ์„ ์ €์žฅํ•˜์˜€๋‹ค.

    ์‚ฌ์ง„ ์•ฑ์œผ๋กœ ์ด ํŒŒ์ผ์„ ์—ฐ๋‹ค๋ฉด

     

     

    ์ด๋Ÿฐ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค์ง€๋งŒ, ๋ฉ”๋ชจ์žฅ์œผ๋กœ ์—ด์–ด๋ณด๋ฉด 

     

    ์™€ ๊ฐ™์€ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜จ๋‹ค.

     

    ๊ทธ๋ƒฅ ๋ด์„œ๋Š” ๊ทธ ์ด๋ฏธ๋ฅผ ์ดํ•ดํ•  ์ˆ˜ ์—†๋Š” '์“ฐ๋ ˆ๊ธฐ' ๊ฐ’์ด ๋‚˜์˜จ๋‹ค.

     

     

    ์ด๋ ‡๊ฒŒ exe, jpg, png, mp3, word ๋“ฑ์˜ ํŒŒ์ผ์ด ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ์— ํ•ด๋‹นํ•œ๋‹ค.

     

     

     

     

    ์ฐธ๊ณ ) ํ…์ŠคํŠธ ํŒŒ์ผ

     

    ํ…์ŠคํŠธ ํŒŒ์ผ์€ ๋ฌธ์ž๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ํŒŒ์ผ๋กœ, ๋ฌธ์ž๋ผ๋Š” ๊ฐ€๊ณต ์กฐ๊ฑด์œผ๋กœ ์ƒ์„ฑ๋œ ํŒŒ์ผ์ด๋‹ค. 

     

    ๋งŒ์•ฝ ASCII / UTF-8 ๊ธฐ๋ฐ˜์˜ ํ…์ŠคํŠธ ํŒŒ์ผ์ด๋ผ๋ฉด ASCII / UTF-8 ํ˜•์‹์˜ ๋ฌธ์ž์—ด์ด ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

     

    int a = 20000; ๋ฅผ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ์ €์žฅํ•œ๋‹ค๋ฉด 4 byte ์— ์ €์žฅํ•  ์ˆ˜ ์žˆ์ง€๋งŒ

    ํ…์ŠคํŠธ ํŒŒ์ผ์— ์ €์žฅํ•œ๋‹ค๋ฉด ๋” ๋งŽ์€ ๊ณต๊ฐ„์„ ํ•„์š”๋กœ ํ•œ๋‹ค.

     

     

     

    ํŒŒ์ผ ์‹œ๊ทธ๋‹ˆ์ฒ˜ (file signature) (= file magic number)

     

    : ํŒŒ์ผ ํ˜•์‹๋งˆ๋‹ค ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ณ ์œ ์˜ ํŠน์ง•, ์ฆ‰ ํฌ๋งท์— ๋Œ€ํ•œ ์ •๋ณด์ด๋‹ค.

    ์ฆ‰, ํŒŒ์ผ์˜ ํ˜•์‹๋งˆ๋‹ค ์ •ํ•ด์ ธ ์žˆ๋Š” ํŠน์ •ํ•œ byte ๋“ค ์ด๋‹ค.

     

    ํŒŒ์ผ์˜ ์ฒ˜์Œ์—๋งŒ ์กด์žฌํ•˜๋Š” ํŒŒ์ผ ํฌ๋งท๋„ ์žˆ๊ณ , ๋งˆ์ง€๋ง‰์— ์กด์žฌํ•˜๋Š” ํŒŒ์ผ ํฌ๋งท๋„ ์žˆ๋‹ค.

    ํŒŒ์ผ์˜ ์ฒ˜์Œ์— ์žˆ๋Š” ์‹œ๊ทธ๋‹ˆ์ฒ˜๋Š” ํ—ค๋”(Header) ์‹œ๊ทธ๋‹ˆ์ฒ˜,

    ํŒŒ์ผ์˜ ๋งˆ์ง€๋ง‰์— ์žˆ๋Š” ์‹œ๊ทธ๋‹ˆ์ฒ˜๋Š” ํ‘ธํ„ฐ(Footer or Tailer) ์‹œ๊ทธ๋‹ˆ์ฒ˜ ๋ผ๊ณ  ํ•œ๋‹ค.

     

    ๋งŒ์•ฝ ํ—ค๋”์™€ ํ‘ธํ„ฐ ์‹œ๊ทธ๋‹ˆ์ฒ˜๊ฐ€ ๋‹ค๋ฅธ ํ˜•์‹์ผ ๊ฒฝ์šฐ, ํŒŒ์ผ์— ๋ฌธ์ œ๊ฐ€ ์žˆ๊ฑฐ๋‚˜ ์กฐ์ž‘๋œ ํŒŒ์ผ์ผ ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ๋‹ค.

     

    HxD ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    File Type Header Signature (Hex) Footer Signature (Hex)
    JPEG FF D8 FF E0
    FF D8 FF E8
    FF D9
    GIF 47 49 46 38 37 61
    47 49 46 38 39 61
    00 3B
    PNG 89 50 4E 47 0D 0A 1A 0A 49 45 4E 44 AE 42 60 82
    PDF 25 50 44 46 2D 31 2E 25 25 45 4F 46
    ZIP 50 4B 03 04 50 4B 05 06
    ALX 41 4C 5A 01 43 4C 5A 02
    RAR 52 61 72 21 1A 07 3D 7B 00 40 07 00

     

    ๋” ๋งŽ์€ ํŒŒ์ผ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋Š”

    -> https://en.wikipedia.org/wiki/List_of_file_signatures

    -> https://www.garykessler.net/library/file_sigs.html

     

     

     

    PE ํ˜•์‹ (Portable Executable)

    : ์œˆ๋„์šฐ ์šด์˜์ฒด์ œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์‹คํ–‰ ํŒŒ์ผ, object ์ฝ”๋“œ ๋“ฑ์„ ์œ„ํ•œ ํŒŒ์ผ ํ˜•์‹

     

    ์œˆ๋„์šฐ ๋กœ๋”๊ฐ€ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ์บก์Šํ™”ํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ฒด์ด๋‹ค.

     

    Windows 3.1 ๋ถ€ํ„ฐ ์ง€์›๋˜๋Š” ์‹คํ–‰ ํŒŒ์ผ ํ˜•์‹

     

     

    ELF ํ˜•์‹ (Executable and Linkabel Format)

    : ์œ ๋‹‰์Šค ๊ณ„์—ด ์šด์˜์ฒด์ œ(๋ฆฌ๋ˆ…์Šค ๋“ฑ) ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์‹คํ–‰ ํŒŒ์ผ, object ์ฝ”๋“œ ๋“ฑ์„ ์œ„ํ•œ ํŒŒ์ผ ํ˜•์‹

     

     

     

    - ์ด๋Ÿฌํ•œ ์‹คํ–‰ ํŒŒ์ผ์„ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๋Š” API , DLL ๋“ฑ ๋‹ค์–‘ํ•œ ์ •๋ณด์™€

      ์–ด๋Š ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ์— ๋กœ๋”ฉ๋˜๋Š”์ง€๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    - ํŒŒ์ผ์ด ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

     

     

    ๊ฐ ํŒŒ์ผ ํ˜•์‹์—๋Š” ํŒŒ์ผ ์†์„ฑ(Machine, NumberOfSections ๋“ฑ)๊ณผ ๊ฐ™์€ ์ •๋ณด๊ฐ€ ์žˆ์œผ๋ฉฐ

    ์ด ์ •๋ณด๋“ค์ด ๊ฐ–๋Š” ํŒŒ์ผ ์‹œ๊ทธ๋‹ˆ์ฒ˜๋กœ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ๋‹ค.

     

     

    ์ฐธ๊ณ )

    https://rednooby.tistory.com/33

    .

    ๋Œ“๊ธ€

Designed by Tistory.