Hack The Planet

๋ฐ˜๊ฐ‘์Šต๋‹ˆ๋‹ค, cyalume์˜ ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.

reverse engineering/CodeEngn

[CodeEngn] Basic RCE L05 ๋ฌธ์ œํ’€์ด

cyalume 2020. 12. 5. 22:13

๋ฌธ์ œ๋Š” ์—ฌ๊ธฐ์„œ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์••์ถ• ํ•ด์ œ ๋น„๋ฐ€๋ฒˆํ˜ธ : codeengn)

 

๋ชฉํ‘œ๊ฐ’ : ํ”„๋กœ๊ทธ๋žจ์˜ ๋“ฑ๋กํ‚ค

 

์ด๋ฒˆ ๋ฌธ์ œ์—์„œ๋Š” ํŒจํ‚น์— ๋Œ€ํ•œ ๋‚ด์šฉ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

 

ํŒจํ‚น์ด๋ž€?

๋”๋ณด๊ธฐ

์‹คํ–‰ ํŒŒ์ผ์„ ๋Œ€์ƒ์œผ๋กœ ํ•œ ์‹คํ–‰ ์••์ถ•์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

ZIP, RAR ๋“ฑ ๋”ฐ๋กœ ์••์ถ•์„ ํ•ด์ œํ•ด์•ผ ํ•˜๋Š” ํŒŒ์ผ๊ณผ๋Š” ๋‹ฌ๋ฆฌ, ์ด ํŒจํ‚น๋œ ํŒŒ์ผ์€ ๋‚ด๋ถ€์— ์••์ถ• ํ•ด์ œ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์–ด ์‹คํ–‰๋˜๋Š” ์ˆœ๊ฐ„ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์••์ถ•์„ ํ•ด์ œํ•œ ํ›„ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. 

์ฃผ๋กœ ๋ฐ์ดํ„ฐ ์••์ถ• (์‹คํ–‰ ํŒŒ์ผ ํฌ๊ธฐ ์ค„์ด๊ธฐ) ์ด๋‚˜ ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ๊ฐ€ ๋ชฉ์ ์ž…๋‹ˆ๋‹ค.

 

์‹คํ–‰์„ ํ•ด ๋ด…์‹œ๋‹ค.

 

 

 

 

์ด๋ฆ„๊ณผ ๋“ฑ๋ก ํ‚ค๋ฅผ ๋ฐ›์•„์„œ ์ด๋ฅผ ๊ฒ€์‚ฌํ•œ ๋’ค ์„ฑ๊ณต/์‹คํŒจ๋กœ ๋ถ„๊ธฐํ•˜๋Š” ์ต์ˆ™ํ•œ ์œ ํ˜•์˜ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ์•„๋ฌด๊ฑฐ๋‚˜ ์ž…๋ ฅํ•œ ๋’ค Register now! ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.

 

 

 

 

์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š์€ ์‹œ๋ฆฌ์–ผ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ์˜ฌ๋ฐ”๋ฅธ ์ด๋ฆ„๊ณผ ์‹œ๋ฆฌ์–ผ์„ ์•Œ์•„๋‚ด๊ธฐ ์œ„ํ•ด ๋ถ„์„ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ฌ๋ฆฌ๋””๋ฒ„๊ฑฐ๋กœ ํ”„๋กœ๊ทธ๋žจ์„ ์—ด์–ด์ค๋‹ˆ๋‹ค.

 

 

 

 

๊ฐ€์žฅ ๋จผ์ € PUSHAD ๋ช…๋ น์–ด๋กœ EAX~EDI ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์Šคํƒ์— ๋ฐฑ์—…ํ•ฉ๋‹ˆ๋‹ค.

์ด PUSHAD ๋ช…๋ น์€ UPX ํŒจํ‚น์˜ ํŠน์ง• ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ PEid ๋ผ๋Š” ๋„๊ตฌ๋กœ ์ด ํ”„๋กœ๊ทธ๋žจ์„ ์—ด์–ด๋ณด๋ฉด UPX ๋กœ ํŒจํ‚น๋œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

 

์–ธํŒจ์ปค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ์žˆ์ง€๋งŒ ์—ฐ์Šต์„ ์œ„ํ•ด ๋””๋ฒ„๊ฑฐ๋กœ ํŒจํ‚น์„ ํ’€์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ฌ๋ฆฌ๋””๋ฒ„๊ฑฐ์—์„œ ๋คํ”„๋ฅผ ๋œจ๊ธฐ ์œ„ํ•ด์„œ๋Š” OllyDump ๋ผ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ด์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์•„๋ž˜ ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›์œผ์„ธ์š”.

 

 

OllyDump.dll
0.08MB

 

 

 

 

OllyDump.dll ํŒŒ์ผ์„ ์˜ฌ๋ฆฌ๋””๋ฒ„๊ฑฐ๊ฐ€ ์„ค์น˜๋œ ๊ฒฝ๋กœ์˜ PlugIn ํด๋” ์•ˆ์œผ๋กœ ์˜ฎ๊ฒจ์ค๋‹ˆ๋‹ค.

๊ทธ ํ›„ ์˜ฌ๋ฆฌ๋””๋ฒ„๊ฑฐ ์ƒ๋‹จ๋ฐ”์˜ Options -> Appearance -> Directories ์˜ Plugin Path ์— PlugIn ํด๋”์˜ ๊ฒฝ๋กœ๋ฅผ ๋„ฃ๊ณ  ๋””๋ฒ„๊ฑฐ๋ฅผ ์žฌ์‹œ์ž‘ ํ•ฉ๋‹ˆ๋‹ค. 

์ƒ๋‹จ๋ฐ”์— Plugins ๊ฐ€ ์ถ”๊ฐ€๋œ ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

(UPX ํŒจํ‚น์˜ ํŠน์ง• : PUSHAD ๋ช…๋ น์œผ๋กœ EAX~EDI ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์Šคํƒ์— ๋ฐฑ์—… -> ํŒŒ์ผ ์••์ถ• ํ•ด์ œ ๋ฃจํ‹ด์„ ์‹คํ–‰ -> POPAD ๋ช…๋ น์œผ๋กœ ์Šคํƒ์— ์žˆ๋Š” EAX~EDI ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’์„ ๋ณต๊ตฌ -> JUMP ๋ช…๋ น์œผ๋กœ ์••์ถ•ํ•ด์ œ๋œ ์›๋ณธ ์ฝ”๋“œ ์œ„์น˜๋กœ ์ด๋™)

 

 

 

 

์••์ถ•ํ•ด์ œ๋œ ์›๋ณธ ์ฝ”๋“œ๋ฅผ ๋ณด๊ธฐ ์œ„ํ•ด ์••์ถ• ํ•ด์ œ ๋ฃจํ‹ด์„ ์‹คํ–‰ํ•ด๋ด…์‹œ๋‹ค.

[F2] ํ‚ค๋กœ POPAD ๋ฐ‘ JUMP ๋ช…๋ น์— BP ๋ฅผ ๊ฑธ๊ณ  [F9] ํ‚ค๋กœ POPAD ๊นŒ์ง€ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

[F8] ํ‚ค๋กœ JUMP ๋ช…๋ น์„ ์‹คํ–‰ํ•ด ์›๋ณธ ์ฝ”๋“œ๊ฐ€ ์••์ถ• ํ•ด์ œ๋œ ์ฃผ์†Œ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

์—ฌ๊ธฐ์„œ ์šฐํด๋ฆญ -> Search for -> All referenced text strings ๋ฅผ ์‚ฌ์šฉํ•ด๋„ ์šฐ๋ฆฌ๊ฐ€ ๋ดค๋˜ ๋ฌธ์ž์—ด์„ ์ฐพ์„ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

์ด์ œ ์•„๊นŒ ์ถ”๊ฐ€ํ–ˆ๋˜ OllyDump ํ”Œ๋Ÿฌ๊ทธ์ธ์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ฐจ๋ก€์ž…๋‹ˆ๋‹ค.

์šฐํด๋ฆญ -> Dump debugged process ๋ฅผ ํด๋ฆญํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ฐฝ์ด ๋œน๋‹ˆ๋‹ค.

 

 

 

 

์—ฌ๊ธฐ์„œ Rebuild Import ๋ฅผ ํ•ด์ œํ•ด์ค€ ๋’ค Dump ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ ๋คํ”„๋ฅผ ๋–  ์ฃผ๊ณ  ํŒŒ์ผ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

ํŽธ์˜์ƒ ํŒŒ์ผ ์ด๋ฆ„์„ 05_dump ๋กœ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ด ์ƒํƒœ์—์„œ ๋””๋ฒ„๊ฑฐ๋กœ ์—ด์–ด๋ณด๋ฉด 77270000 ๊ณผ ๊ฐ™์€ ์ต์ˆ™์น˜ ์•Š์€ ์ฃผ์†Œ๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค.

์™„์ „ํ•œ ์›๋ณธ ์ฝ”๋“œ๋ฅผ ๋ณด๊ธฐ ์œ„ํ•ด์„œ๋Š” IAT๋ฅผ ๋ณต๊ตฌํ•ด์ค˜์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ €๋Š” LordPE ๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

 

IAT๋ž€?

๋”๋ณด๊ธฐ

IAT (Import Address Table)

IAT๋ž€ ์‰ฝ๊ฒŒ ๋งํ•ด ํ”„๋กœ๊ทธ๋žจ์ด ์–ด๋–ค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์–ด๋–ค ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š”์ง€ ๊ธฐ์ˆ ํ•œ ํ…Œ์ด๋ธ” ์ž…๋‹ˆ๋‹ค.

 

 

lordpe-yoda.zip
0.43MB

 

 

 

 

LordPE ๋ฅผ ์‹คํ–‰์‹œํ‚จ ๋’ค ์˜ค๋ฅธ์ชฝ์˜ Rebuild PE ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

์•„๊นŒ ๋คํ”„๋ฅผ ๋œฌ ํŒŒ์ผ์„ ์„ ํƒํ•œ ํ›„ ์•„๋ž˜์™€ ๊ฐ™์€ ์ฐฝ์ด ๋œจ๋ฉด OK ๋ฅผ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.

 

 

 

 

์ด์ œ ์„ ํƒํ•œ ํŒŒ์ผ์˜ IAT ๋ณต๊ตฌ๊ฐ€ ๋๋‚ฌ์Šต๋‹ˆ๋‹ค.

์ด ํŒŒ์ผ์„ ๋‹ค์‹œ ๋””๋ฒ„๊ฑฐ๋กœ ์—ด์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์šฐํด๋ฆญ -> Search for -> All referenced text strings ์— ๋“ค์–ด๊ฐ€๋ฉด ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€ ๋ฌธ์ž์—ด์ด ์ •์ƒ์ ์œผ๋กœ ๋œน๋‹ˆ๋‹ค.

์‹คํŒจ ๋ฌธ์ž์—ด์„ ์ถœ๋ ฅํ•˜๋Š” ์ฃผ์†Œ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

์œ„ ์ฝ”๋“œ์˜ JNZ ๋ช…๋ น ์‹คํ–‰ ์‹œ ์ด๋™ํ•˜๋Š” ์ฃผ์†Œ๊ฐ€ ์‹คํŒจ ์‹œ ์ถœ๋ ฅ๋˜๋Š” ๋ฌธ์ž์—ด์˜ ๋ฐ”๋กœ ์œ„์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ช…๋ น์ด ์‹คํ–‰๋œ๋‹ค๋ฉด ์‹คํŒจํ•  ๊ฒ๋‹ˆ๋‹ค.
์ด์ œ ํ”„๋กœ๊ทธ๋žจ์˜ ๋Œ€๋žต์ ์ธ ๊ตฌ์กฐ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
JNZ ๋ช…๋ น ์œ„์—์„œ ํ˜ธ์ถœ๋œ ํ•จ์ˆ˜๊ฐ€ ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด๊ณผ ์œ ์ €๋„ค์ž„/์‹œ๋ฆฌ์–ผ ๊ฐ’์„ ๋น„๊ตํ•˜๊ณ , ๋น„๊ตํ•˜๋Š” ๋‘ ๋ฌธ์ž์—ด์ด ๊ฐ™์€์ง€ ์•„๋‹Œ์ง€ ํ™•์ธํ•œ ํ›„ ์„ฑ๊ณต/์‹คํŒจ๋กœ ๋‚˜๋‰  ๊ฒ๋‹ˆ๋‹ค.

440F34 ์ฃผ์†Œ์— BP ๋ฅผ ๊ฑธ๊ณ  ์‹คํ–‰ํ•ด๋ด…๋‹ˆ๋‹ค.

 

 

 

 

 

 

 

 

์ด๋ ‡๊ฒŒ ์ž…๋ ฅํ•œ ๋’ค Register now! ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค.

 

 

 

 

๊ทธ๋Ÿฌ๋ฉด ์ด๋ ‡๊ฒŒ ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋ฌธ์ž์—ด์ด ์Šคํƒ์„ ํ†ตํ•ด EAX์—, Registered User ๋ผ๋Š” ๋ฌธ์ž์—ด์ด EDX์— ๋“ค์–ด๊ฐ‘๋‹ˆ๋‹ค.

440F34 ์ฃผ์†Œ์—์„œ ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜ ๋‚ด๋ถ€๋กœ step in [F7] ํ•ด ๋ถ„์„ํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

 

 

403B33 ์ฃผ์†Œ์˜ CMP EAX, EDX ๋กœ ์šฐ๋ฆฌ๊ฐ€ ์ž…๋ ฅํ•œ ๋ฌธ์ž์—ด์ด ์ €์žฅ๋œ EAX ์™€ Registered User ๋ผ๋Š” ๋ฌธ์ž์—ด์ด ์ €์žฅ๋œ EDX ๋ฅผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

์ด ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด ๋น„๊ตํ•จ์ˆ˜๊ฒ ๋„ค์š”.

 

 

 

 

์ด๋ ‡๊ฒŒ ์œ ์ €๋„ค์ž„์— Registered User ๋ผ๋Š” ๋ฌธ์ž์—ด์„ ๋„ฃ์–ด์ฃผ๋ฉด ์ฒซ๋ฒˆ์งธ ๋‚œ๊ด€์€ ํ†ต๊ณผํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

 

 

 

๋‹ค์Œ์€ ๋“ฑ๋ก ํ‚ค๋ฅผ ๋น„๊ตํ•˜๊ฒ ์ฃ ?

440F51 ์ฃผ์†Œ์—์„œ ์œ„์˜ ์œ ์ €๋„ค์ž„์„ ๋น„๊ตํ•  ๋•Œ ์‚ฌ์šฉํ–ˆ๋˜ ํ•จ์ˆ˜์™€ ๋™์ผํ•œ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค.
์ด ์ฃผ์†Œ์— BP ๋ฅผ ๊ฑธ์–ด๋ณด๊ณ  ๋“ฑ๋ก ํ‚ค๋ฅผ ์ž…๋ ฅํ•œ ๋’ค ๋ ˆ์ง€์Šคํ„ฐ ์ฐฝ์„ ๊ด€์ฐฐํ•ฉ๋‹ˆ๋‹ค.

์Šคํƒ์˜ EBP-4 ์ฃผ์†Œ์— ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๋“ฑ๋ก ํ‚ค๊ฐ€ ์ €์žฅ๋˜๊ณ , ์ด๋ฅผ EAX ์— ์˜ฎ๊ธด ๋’ค ๋ฌธ์ž์—ด ๋น„๊ต ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•ด EDX ์™€ ๋น„๊ตํ•˜๋„ค์š”.

์ด ๋•Œ EDX ์— ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฐ’์€ GFX-754-IER-954 ์ž…๋‹ˆ๋‹ค.

 

 

 

 

๊ทธ๋ ‡๋‹ค๋ฉด ํ”„๋กœ๊ทธ๋žจ์˜ ๋“ฑ๋ก ํ‚ค๋Š” GFX-754-IER-954 ๊ฐ€ ๋  ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

ํ™•์ธ์„ ์œ„ํ•ด ํ”„๋กœ๊ทธ๋žจ์„ ์žฌ์‹œ์ž‘ํ•ด์„œ ์–ป์€ ๊ฐ’์„ ๋„ฃ์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์œ ์ €๋„ค์ž„์—๋Š” Registered User ๋ฅผ, ๋“ฑ๋ก ํ‚ค์—๋Š” GFX-754-IER-954 ๋ผ๋Š” ๋ฌธ์ž์—ด์„ ์ž…๋ ฅํ•ด์ค๋‹ˆ๋‹ค.

 

 

 

 

๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์„ฑ๊ณตํ–ˆ๋‹ค๋Š” ๋ฉ”์„ธ์ง€๋ฐ•์Šค๊ฐ€ ๋œน๋‹ˆ๋‹ค.

 

 

 

 

๋”ฐ๋ผ์„œ ์ด ํ”„๋กœ๊ทธ๋žจ์˜ ๋“ฑ๋ก ํ‚ค๋Š” GFX-754-IER-954 ์ž…๋‹ˆ๋‹ค.