Hack The Planet

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

reverse engineering/CodeEngn

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

cyalume 2020. 12. 12. 17:51

rer๋ฌธ์ œ๋Š” ์ฝ”๋“œ์—”์ง„ ์‚ฌ์ดํŠธ์—์„œ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์••์ถ• ํ•ด์ œ ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” codeengn ์ž…๋‹ˆ๋‹ค.)

 

๋ชฉํ‘œ๊ฐ’ : Key ๊ฐ’ + ์„ฑ๊ณต ๋ฉ”์„ธ์ง€ ๋Œ€์‹  Key ๊ฐ’์ด ์ถœ๋ ฅ๋˜๊ฒŒ ํ•  ๋•Œ Hexedit ์œผ๋กœ overwrite ํ•  ์ฃผ์†Œ

 

๋”๋ณด๊ธฐ

Key๋ฅผ ๊ตฌํ•œ ํ›„ ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด ์„ฑ๊ณต๋ฉ”์‹œ์ง€๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค
์ด๋•Œ ์„ฑ๊ณต๋ฉ”์‹œ์ง€ ๋Œ€์‹  Key ๊ฐ’์ด MessageBox์— ์ถœ๋ ฅ ๋˜๋„๋ก ํ•˜๋ ค๋ฉด ํŒŒ์ผ์„ HexEdit๋กœ ์˜คํ”ˆ ํ•œ ๋‹ค์Œ 0x???? ~ 0x???? ์˜์—ญ์— Key ๊ฐ’์„ overwrite ํ•˜๋ฉด ๋œ๋‹ค.
๋ฌธ์ œ : Key๊ฐ’๊ณผ + ์ฃผ์†Œ์˜์—ญ์„ ์ฐพ์œผ์‹œ์˜ค
Ex) 7777777????????

 

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

 

 

ํ‹€๋ฆฐ ๊ฐ’์ธ์ง€ Check ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ๋„ ์•„๋ฌด๋Ÿฐ ์ฐฝ์ด ๋œจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋””๋ฒ„๊ฑฐ๋กœ ์—ด์–ด๋ด…์‹œ๋‹ค.

 

 

ํ•œ ๋ˆˆ์— ์„ฑ๊ณต ๋ฉ”์„ธ์ง€๊ฐ€ ๋ณด์ž…๋‹ˆ๋‹ค.

์ € ์œ„์— ๋ถ„๊ธฐ์ ์ด ์žˆ์„ ๊ฒƒ ์ž…๋‹ˆ๋‹ค.

 

 

๋ฐ”๋กœ ์œ„ CMP ๋ช…๋ น์œผ๋กœ EAX ์™€ 0x7A2896BF ๋ฅผ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋‘ ๊ฐ’์ด ๊ฐ™์ง€ ์•Š์œผ๋ฉด ์„ฑ๊ณต ๋ฉ”์„ธ์ง€๋ฅผ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค.

 

 

EAX๋Š” ๋ฆฌํ„ด ๊ฐ’์„ ์ €์žฅํ•˜๋Š” ๋ฒ”์šฉ ๋ ˆ์ง€์Šคํ„ฐ์˜€์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๋ฐ”๋กœ ์œ„์—์„œ ํ˜ธ์ถœ๋œ ํ•จ์ˆ˜์— ์ฃผ๋ชฉํ•ด์•ผ๊ฒ ๋„ค์š”.

 

 

์ด ํ•จ์ˆ˜์— BP ๋ฅผ ๊ฑธ๊ณ  ๊ฐ’์„ ์ž…๋ ฅํ•œ ๋’ค, [F8] ํ‚ค๋ฅผ ํ•œ ๋ฒˆ ๋ˆŒ๋Ÿฌ ๋ฆฌํ„ด๊ฐ’์„ ๊ด€์ฐฐํ•ด ๋ด…์‹œ๋‹ค.

 

 

16์ด๋ผ๋Š” ๊ฐ’์„ ๋„ฃ์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

EAX ๋ ˆ์ง€์Šคํ„ฐ์— 0x10 ์ด๋ผ๋Š” ๊ฐ’์ด ๋“ค์–ด๊ฐ”์Šต๋‹ˆ๋‹ค. (16์ง„์ˆ˜๋กœ 10, 10์ง„์ˆ˜๋กœ 16)

์ด๋ฅผ 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด๋ณด๋ฉด ์šฐ๋ฆฌ๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ์œผ๋กœ EAX์˜ ๊ฐ’์„ 0x7A2896BF ์™€ ๋น„๊ตํ•ด ๋ถ„๊ธฐํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์šฐ๋ฆฌ๊ฐ€ ์„ฑ๊ณตํ•˜๊ธฐ ์œ„ํ•ด ์ž…๋ ฅํ•ด์•ผ ํ•  ํ‚ค ๊ฐ’์€ 0x7A2896BF ๋ฅผ 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•œ ํ˜•ํƒœ๊ฒ ์ฃ ?

 

 

๊ณ„์‚ฐ๊ธฐ ๊ธฐ๋Šฅ์„ ์ด์šฉํ•ด ๊ตฌํ•œ ๊ฐ’์€ 2049480383 ์ž…๋‹ˆ๋‹ค.

๋””๋ฒ„๊ฑฐ๋ฅผ ์žฌ์‹œ์ž‘ํ•œ ํ›„ ์ด๋ฅผ ์ž…๋ ฅํ•ด๋ณด๋ฉด EAX ๊ฐ’์ด 7A2896BF ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

 

 

์ด๋กœ ์ธํ•ด JNE ๋ช…๋ น์ด ์‹คํ–‰๋˜์ง€ ์•Š์•„ ์„ฑ๊ณต ๋ฌธ์ž์—ด์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

 

 

์ด๋ ‡๊ฒŒ ๋ง์ด์ฃ .

๋”ฐ๋ผ์„œ ํ‚ค ๊ฐ’์€ 2049480383 ์ž…๋‹ˆ๋‹ค.

 

์ด์ œ ์„ฑ๊ณต์‹œ ์ถœ๋ ฅ๋˜๋Š” ์ด ๋ฉ”์„ธ์ง€๋ฐ•์Šค์˜ ๋ฌธ์ž์—ด์„ ํ‚ค ๊ฐ’์œผ๋กœ ๊ต์ฒดํ•ด์•ผ๊ฒ ์ฃ ?

 

 

HxD ๋ผ๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ํŒŒ์ผ์„ ์—ด์–ด์ค๋‹ˆ๋‹ค.

 

 

์กฐ๊ธˆ ๋‚ด๋ฆฌ๋‹ค ๋ณด๋ฉด ์ด๋ ‡๊ฒŒ ์„ฑ๊ณต์‹œ ์ถœ๋ ฅ๋˜๋Š” ๋ฌธ์ž์—ด์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฅผ ์ง€์šด ํ›„ ํ‚ค ๊ฐ’์„ ๋„ฃ์–ด์ค๋‹ˆ๋‹ค. (ํŒŒ์ผ์ด ์‹คํ–‰์ค‘์ด๊ฑฐ๋‚˜ ์‚ฌ์šฉ์ค‘์ด๋ฉด ํŽธ์ง‘์ด ๋ถˆ๊ฐ€ํ•˜๋‹ˆ ๋””๋ฒ„๊ฑฐ๋ฅผ ๋„๊ณ  ํŽธ์ง‘ํ•ฉ๋‹ˆ๋‹ค.)

 

 

์„ฑ๊ณต ์‹œ ์ถœ๋ ฅ๋˜๋Š” ๋ฌธ์ž์—ด์„ ํ‚ค ๊ฐ’์œผ๋กœ overwrite ํ–ˆ์Šต๋‹ˆ๋‹ค.

์–ผํ• ๋ณด๋ฉด ๊ทธ ์ฃผ์†Œ๊ฐ€ 0x0D3B~0x0D44 ์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค๋งŒ ๋ฌธ์ž์—ด์˜ ๋์„ ์•Œ๋ ค์ฃผ๋Š” NULL ์„ ์žŠ์ง€ ๋ง๊ณ  ํฌํ•จ์‹œ์ผœ์ค์‹œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ํ‚ค ๊ฐ’์„ overwrite ํ•œ ์ฃผ์†Œ๋Š” 0x0D3B ~ 0x0D45 ๊ฐ€ ๋˜๊ฒ ๋„ค์š”.

์ด๋ฅผ ์ €์žฅํ•œ ๋’ค ์‹คํ–‰ํ•˜๋ฉด ์ •์ƒ์ ์œผ๋กœ ํ‚ค ๊ฐ’์ด ์ถœ๋ ฅ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

Key๊ฐ’ + ์ฃผ์†Ÿ๊ฐ’ = 20494803830D3B0D45