Hack The Planet

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

reverse engineering/CodeEngn

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

cyalume 2020. 12. 8. 09:23

๋ฌธ์ œ๋Š” ์—ฌ๊ธฐ์„œ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋ชฉํ‘œ๊ฐ’ : ํ”„๋กœ๊ทธ๋žจ์˜ OEP(Original Entry Point)

 

OEP ์ด์•ผ๊ธฐ๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฑธ ๋ณด๋‹ˆ, ์ด ํ”„๋กœ๊ทธ๋žจ์€ ํŒจํ‚น๋˜์–ด ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค.

PEid๋กœ ํ•œ ๋ฒˆ ํ™•์ธํ•ด ๋ด…์‹œ๋‹ค.

 

 

 

 

UPX๋กœ ํŒจํ‚น์ด ๋˜์–ด์žˆ๊ตฐ์š”.

(UPX ํŒจํ‚น : PUSHAD๋กœ ๋ ˆ์ง€์Šคํ„ฐ ๋ฐฑ์—… -> ์••์ถ•ํ•ด์ œ ๋ฃจํ‹ด ์‹คํ–‰ -> POPAD๋กœ ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’ ๋ณต๊ตฌ -> OEP๋กœ ์ ํ”„)

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

 

 

 

 

๊ฐ„๋‹จํ•œ ๊ณ„์‚ฐ๊ธฐ ํ”„๋กœ๊ทธ๋žจ์ด๋„ค์š”.

์‹œ๋ฆฌ์–ผ ๊ฐ’ ๊ฐ™์€ ๊ฑด ์•ˆ ์ฐพ์•„๋„ ๋  ๋“ฏํ•ฉ๋‹ˆ๋‹ค.

 

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

 

 

 

 

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

์ต์ˆ™ํ•œ ํŒจํ„ด์ด์ฃ ?

 

 

 

์Šคํฌ๋กค์„ ๋‚ด๋ฆฌ๋‹ค๋ณด๋‹ˆ POPAD ๋ช…๋ น์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.

์ด ์••์ถ• ํ•ด์ œ ๋ฃจํ‹ด์˜ ๋งจ ๋ฐ‘์—๋Š” ์›๋ณธ ์ฝ”๋“œ๋กœ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•œ JMP ๋ช…๋ น์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๋ช…๋ น์ด ์‹คํ–‰๋˜์–ด ์ด๋™ํ•˜๋Š” ์ฃผ์†Œ๊ฐ€ ์›๋ณธ ์ฝ”๋“œ์˜ ์‹œ์ž‘์ , OEP ์ž…๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์— BP๋ฅผ ๊ฑธ๊ณ , [F9]ํ‚ค๋ฅผ ๋ˆŒ๋Ÿฌ BP๊นŒ์ง€ ์‹คํ–‰ํ•œ ๋’ค [F8]ํ‚ค๋กœ ์›๋ณธ ์ฝ”๋“œ์˜ ์œ„์น˜๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

์ด๋ ‡๊ฒŒ ์••์ถ• ํ•ด์ œ๋œ ์ฝ”๋“œ๊ฐ€ ๋ณด์ž…๋‹ˆ๋‹ค.

JMP ๋ฌธ์˜ ์‹คํ–‰์œผ๋กœ 01012475 ๋ผ๋Š” ์ฃผ์†Œ๋กœ ์ด๋™ํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด OEP๋Š” 01012475 ๊ฐ€ ๋˜๊ฒ ๋„ค์š”.

 

Auth๋ฅผ ์ด์šฉํ•ด ํ™•์ธํ•ด๋ณด๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

 

 

 

 

OEP = 01012475