Hack The Planet

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

reverse engineering 35

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

๋ฌธ์ œ ํŒŒ์ผ์€ ์ฝ”๋“œ์—”์ง„ ์‚ฌ์ดํŠธ์—์„œ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชฉํ‘œ๊ฐ’ : Name ์ด CodeEngn ์ผ ๋•Œ Serial ๊ฐ’ ์‹คํ–‰์„ ์‹œ์ผœ๋ณด๋ฉด ๋ฉ”์„ธ์ง€๋ฐ•์Šค๊ฐ€ ํ•˜๋‚˜ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. Name ๊ฐ’์„ ๋”ฐ๋กœ ๋ฐ›๋Š” ๋ถ€๋ถ„์ด ์žˆ๋Š” ๊ฑธ๋กœ ๋ณด์•„, ์ด๋ฅผ ์ผ๋ จ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ†ตํ•ด ๊ฐ€๊ณตํ•ด์„œ ์‹œ๋ฆฌ์–ผ์„ ๋งŒ๋“œ๋Š” ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค. ๋””๋ฒ„๊ฑฐ๋กœ ์—ด์–ด๋ด…์‹œ๋‹ค. ์ƒ๋‹จ๋ฐ”์˜ Az ์•„์ด์ฝ˜์„ ๋ˆŒ๋Ÿฌ Try Again! ์ด๋ผ๋Š” ๋ฌธ์ž์—ด์„ ์ฐพ์•„๊ฐ€๋ด…์‹œ๋‹ค. ์ญ‰ ๋‚ด๋ฆฌ๋‹ค ๋ณด๋ฉด ์–ด๋ ต์ง€ ์•Š๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”๋ธ”ํด๋ฆญ ํ•ด์„œ ํ•ด๋‹น ์ฃผ์†Œ๋กœ ์ด๋™ํ•ด์ค๋‹ˆ๋‹ค. ์œ„์— ์„ฑ๊ณต ๋ฌธ์ž์—ด์ด ์ถœ๋ ฅ๋˜๋Š” ๋ถ€๋ถ„์ด ์žˆ์Šต๋‹ˆ๋‹ค. 00458837 ์ฃผ์†Œ์˜ jne ๋ช…๋ น์ด ์‹คํ–‰๋˜๋ฉด ์„ฑ๊ณต ๋ฌธ์ž์—ด ์ถœ๋ ฅ ๋ถ€๋ถ„์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ์‹คํŒจ ๋ฌธ์ž์—ด๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ ์œ„์—์„œ๋Š” cmp ๋กœ eax ์™€ ์–ด๋–ค ์ฃผ์†Œ์— ์ €์žฅ๋œ ๊ฐ’์„ ๋น„๊ตํ•ฉ๋‹ˆ๋‹ค. eax ๊ฐ’์„ ์•Œ์•„..

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

๋ฌธ์ œ๋Š” ์ฝ”๋“œ์—”์ง„ ์‚ฌ์ดํŠธ์—์„œ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชฉํ‘œ๊ฐ’ : Name ์ด CodeEngn ์ผ ๋•Œ Serial ๊ฐ’ ์‹คํ–‰์„ ์‹œ์ผœ๋ด…์‹œ๋‹ค. Name ๊ฐ’๊ณผ ์ผ๋ จ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์ƒ์„ฑ๋œ Serial ๊ฐ’์„ ๋น„๊ตํ•œ ๋’ค ๋ถ„๊ธฐํ•˜๋Š” ์œ ํ˜•์˜ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ๋””๋ฒ„๊ฑฐ๋กœ ์—ด์–ด๋ณด๋‹ˆ pushad ๋ช…๋ น์ด ๋ˆˆ์— ๋•๋‹ˆ๋‹ค. PEid ๋กœ ํ™•์ธ ํ•ด ๋ด…๋‹ˆ๋‹ค. UPX ํŒจํ‚น์ด ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. [Ctrl + F] ํ‚ค๋กœ popad ๋ช…๋ น์„ ๊ฒ€์ƒ‰ํ•œ ๋’ค ๊ทธ ์ฃผ์†Œ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. OEP ๋กœ JMP ํ•˜๋Š” ๋ช…๋ น์ด ๋ณด์ด์‹œ๋‚˜์š”? ์ €๊ธฐ์— BP ๋ฅผ ๊ฑธ์–ด์ค€ ๋’ค [F9] + [F8] ํ‚ค๋กœ ์›๋ณธ ์ฝ”๋“œ๊ฐ€ ์••์ถ• ํ•ด์ œ ๋œ ๊ณณ์œผ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ง์ด์ฃ . [Ctrl + A] ํ‚ค๋กœ ๋ชจ๋“ˆ ๋ถ„์„์„ ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ ๋ฐ”์˜ Az ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ด ๋ฌธ์ž์—ด์„ ์ฐพ์•„๋ด…์‹œ๋‹ค. ๋งจ ๋งˆ์ง€๋ง‰ ์ค„์— ์šฐ๋ฆฌ..

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

๋ฌธ์ œ๋Š” ์ฝ”๋“œ์—”์ง„ ์‚ฌ์ดํŠธ์—์„œ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์••์ถ•ํ•ด์ œ ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” codeengn ์ž…๋‹ˆ๋‹ค.) ๋ชฉํ‘œ๊ฐ’ : ์„ฑ๊ณต ๋ฉ”์„ธ์ง€๋ฅผ ์ถœ๋ ฅํ•ด์ฃผ๋Š” ์ •๋‹ต ์‹คํ–‰์„ ์‹œ์ผœ๋ด…์‹œ๋‹ค. ์‚ฌ์šฉ์ž์˜ ์ž…๋ ฅ ๊ฐ’๊ณผ ์ •๋‹ต์„ ๋น„๊ตํ•ด ๋ถ„๊ธฐํ•˜๋Š” ์œ ํ˜•์˜ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. PEid ๋กœ ์—ด์–ด๋ณผ๊นŒ์š”? C# .NET ๊ธฐ๋ฐ˜ ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค. ์ด๋Š” .NET ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์—†๋Š” ํ™˜๊ฒฝ์—์„œ ๋ถ„์„ํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋Š˜์€ ์ƒˆ๋กœ์šด ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ด ํ”„๋กœ๊ทธ๋žจ์„ ๋””์ปดํŒŒ์ผ ํ•ด ๋ณด๊ณ , ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•ด ํ”Œ๋ž˜๊ทธ๋ฅผ ์–ป๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๋””์ปดํŒŒ์ผ์ด๋ž€? ๋”๋ณด๊ธฐ ์‰ฝ๊ฒŒ ๋งํ•ด ์ปดํŒŒ์ผ๋œ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ๋ฐ˜๋Œ€๋กœ ๋˜๋Œ๋ ค์ฃผ๋Š” ์ผ๋ จ์˜ ๊ณผ์ • Jetbrains dotPeek ์™€ Visual Studio ๋ฅผ ๋‹ค์šด๋ฐ›์•„ ์ค๋‹ˆ๋‹ค. (Visual Studio ๋‹ค์šด๋กœ๋“œ๋Š” ์—ฌ๊ธฐ๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.) ๊ทธ ๋’ค ๋””์ปดํŒŒ์ผ๋Ÿฌ๋ฅผ ์‹คํ–‰์‹œํ‚ต๋‹ˆ..

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

rer๋ฌธ์ œ๋Š” ์ฝ”๋“œ์—”์ง„ ์‚ฌ์ดํŠธ์—์„œ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์••์ถ• ํ•ด์ œ ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” codeengn ์ž…๋‹ˆ๋‹ค.) ๋ชฉํ‘œ๊ฐ’ : Key ๊ฐ’ + ์„ฑ๊ณต ๋ฉ”์„ธ์ง€ ๋Œ€์‹  Key ๊ฐ’์ด ์ถœ๋ ฅ๋˜๊ฒŒ ํ•  ๋•Œ Hexedit ์œผ๋กœ overwrite ํ•  ์ฃผ์†Œ ๋”๋ณด๊ธฐ Key๋ฅผ ๊ตฌํ•œ ํ›„ ์ž…๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด ์„ฑ๊ณต๋ฉ”์‹œ์ง€๋ฅผ ๋ณผ ์ˆ˜ ์žˆ๋‹ค ์ด๋•Œ ์„ฑ๊ณต๋ฉ”์‹œ์ง€ ๋Œ€์‹  Key ๊ฐ’์ด MessageBox์— ์ถœ๋ ฅ ๋˜๋„๋ก ํ•˜๋ ค๋ฉด ํŒŒ์ผ์„ HexEdit๋กœ ์˜คํ”ˆ ํ•œ ๋‹ค์Œ 0x???? ~ 0x???? ์˜์—ญ์— Key ๊ฐ’์„ overwrite ํ•˜๋ฉด ๋œ๋‹ค. ๋ฌธ์ œ : Key๊ฐ’๊ณผ + ์ฃผ์†Œ์˜์—ญ์„ ์ฐพ์œผ์‹œ์˜ค Ex) 7777777???????? ์‹คํ–‰ ํ•ด ๋ด…์‹œ๋‹ค. ํ‹€๋ฆฐ ๊ฐ’์ธ์ง€ Check ๋ฒ„ํŠผ์„ ๋ˆŒ๋Ÿฌ๋„ ์•„๋ฌด๋Ÿฐ ์ฐฝ์ด ๋œจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋””๋ฒ„๊ฑฐ๋กœ ์—ด์–ด๋ด…์‹œ๋‹ค. ํ•œ ๋ˆˆ์— ์„ฑ๊ณต ๋ฉ”์„ธ์ง€๊ฐ€ ๋ณด์ž…๋‹ˆ๋‹ค. ์ € ์œ„์— ๋ถ„..

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

๋ฌธ์ œ๋Š” ์ฝ”๋“œ์—”์ง„ ์‚ฌ์ดํŠธ์—์„œ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์••์ถ•ํ•ด์ œ ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” codeengn ์ž…๋‹ˆ๋‹ค.) ๋ชฉํ‘œ๊ฐ’ : OEP + Stolenbyte ์‹คํ–‰ ํ•ด ๋ด…์‹œ๋‹ค. ํ‚ค ํŒŒ์ผ์„ ์ฐพ์œผ๋ผ๋Š” ๋ฉ”์„ธ์ง€ ๋ฐ•์Šค๊ฐ€ ๋œจ๊ณ , ํ™•์ธ์„ ๋ˆ„๋ฅด๋ฉด ํ‚ค ํŒŒ์ผ ์œ ๋ฌด๋ฅผ ํ™•์ธํ•˜๊ณ  ๋ถ„๊ธฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์ž…๋‹ˆ๋‹ค.์ฝ”๋“œ์—”์ง„ 9๋ฒˆ๊ณผ ๋™์ผํ•œ ํ”„๋กœ๊ทธ๋žจ์ด๋„ค์š”.๋ฌธ์ œ์—์„œ ์›ํ•˜๋Š” ๊ฐ’์ธ OEP ์™€ Stolenbyte ๋งŒ ์ฐพ๊ณ  ํฌ๋ž™ ๊ณผ์ •์€ ์ƒ๋žตํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. PEid๋กœ UPX ํŒจํ‚น์ด ๋œ ๊ฒƒ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋””๋ฒ„๊ฑฐ๋กœ ์—ด์–ด๋ด…์‹œ๋‹ค. (x32dbg ๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.)PUSHAD ๊ฐ€ ์žˆ์œผ๋‹ˆ POPAD ๋ฅผ ์ฐพ์•„๊ฐ€์•ผ๊ฒ ์ฃ ?[Ctrl + F] ํ‚ค๋กœ POPAD ๋ช…๋ น์„ ๊ฒ€์ƒ‰ํ•œ ๋’ค, ํ•ด๋‹น ์ฃผ์†Œ๋กœ ์ด๋™ํ•ด์ค๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ POPAD ๋ช…๋ น๊ณผ OEP๋กœ์˜ JMP ์— BP ๋ฅผ ๊ฑธ์–ด์ค๋‹ˆ๋‹ค.ํ˜„์žฌ OEP..

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

๋ฌธ์ œ๋Š” ์ฝ”๋“œ์—”์ง„ ์‚ฌ์ดํŠธ์—์„œ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์••์ถ• ํ•ด์ œ ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ codeengn) ๋ชฉํ‘œ๊ฐ’ : OEP + ๋“ฑ๋ก์„ฑ๊ณต์œผ๋กœ ๊ฐ€๋Š” ๋ถ„๊ธฐ์ ์˜ OPCODE OPCODE ๋ž€? ๋”๋ณด๊ธฐ๋””๋ฒ„๊ฑฐ์—์„œ ์ฃผ์†Œ๊ฐ€ ํ‘œ์‹œ๋˜๋Š” ์ฐฝ๊ณผ ์–ด์…ˆ๋ธ”๋ฆฌ ๋ช…๋ น์ด ํ‘œ์‹œ๋˜๋Š” ์ฐฝ ์‚ฌ์ด์˜ ์ˆซ์ž๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ฝ”๋“œ.์ปดํ“จํ„ฐ๊ฐ€ ์‹คํ–‰ํ•  ์ฒ˜๋ฆฌ์˜ ์ข…๋ฅ˜ (์—ฐ์‚ฐ์˜ ์ข…๋ฅ˜)๋ฅผ ๋‚˜ํƒ€๋ƒ„. ์‹คํ–‰์„ ์‹œ์ผœ๋ด…๋‹ˆ๋‹ค. ์•„๋ฌด๊ฒƒ๋„ ์ž…๋ ฅ์ด ๋˜์ง€ ์•Š๋Š”๊ตฐ์š”.OEP ์ด์•ผ๊ธฐ๊ฐ€ ๋‚˜์™”์œผ๋‹ˆ ํŒจํ‚น์ด ๋˜์–ด์žˆ๊ฒ ์ฃ ?PEid๋กœ ํ™•์ธํ•ด๋ด…์‹œ๋‹ค. ASPack์œผ๋กœ ํŒจํ‚น์ด ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค. ASPack ํŒจํ‚น์˜ ํŠน์ง•? ๋”๋ณด๊ธฐPUSHAD -> ๋ณตํ˜ธํ™” ์ฝ”๋“œ ์‹คํ–‰ -> POPAD -> Return 0C -> OEP ๊ฐ’ PUSH -> Return์œผ๋กœ OEP ์ฃผ์†Œ๋กœ ์ด๋™ ๋””๋ฒ„๊ฑฐ๋กœ ์—ด์–ด๋ด…์‹œ๋‹ค. PUSHAD ๋ช…๋ น์ด ์žˆ๋„ค์š”.์šฐํด๋ฆญ -> ..

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

๋ฌธ์ œ๋Š” ์—ฌ๊ธฐ์„œ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์••์ถ• ํ•ด์ œ ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” codeengn ์ž…๋‹ˆ๋‹ค.) ๋ชฉํ‘œ๊ฐ’ : ํ”„๋กœ๊ทธ๋žจ์˜ stolenbyte stolenbyte ๋ž€? ๋”๋ณด๊ธฐ ํ›”์ณ์ง„ ๋ฐ”์ดํŠธ๋ผ๋Š” ์˜๋ฏธ๋กœ, ์›๋ณธ ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ์˜ ์ผ๋ถ€๋ถ„์„ ํŒจ์ปค๊ฐ€ ์ƒ์„ฑํ•œ ๋ฉ”๋ชจ๋ฆฌ ์˜์—ญ์œผ๋กœ ์˜ฎ๊ฒจ ์‹คํ–‰ํ•˜๋Š” ๊ธฐ๋ฒ•. ๋งŒ์•ฝ ์ด๋ฅผ ๋ณต๊ตฌํ•˜์ง€ ์•Š๊ณ  ๋คํ”„๋ฅผ ๋–  ๋ฒ„๋ฆฌ๋ฉด OEP ์ฝ”๋“œ ์ผ๋ถ€๊ฐ€ ์ œ๊ฑฐ๋˜์–ด ์ •์ƒ์ ์ธ ์‹คํ–‰์ด ๋˜์ง€ ์•Š๋Š”๋‹ค. POPAD ์™€ OEP๋กœ์˜ ์ ํ”„๋ฌธ ์‚ฌ์ด์— ์—ฐ์†๋œ PUSH ๋ช…๋ น์–ด๊ฐ€ ์ด stolenbyte ์ด๋‹ค. ์‹คํ–‰์„ ์‹œ์ผœ๋ด…๋‹ˆ๋‹ค. OK๋ฅผ ๋ˆŒ๋Ÿฌ์ค์‹œ๋‹ค. ํ‚ค ํŒŒ์ผ์ด ์žˆ๋Š”์ง€ ํ™•์ธ์„ ํ•œ ํ›„ ์„ฑ๊ณต/์‹คํŒจ๋กœ ๋ถ„๊ธฐํ•˜๋Š” ๋“ฏ ํ•ฉ๋‹ˆ๋‹ค. ์ฐพ์•„์•ผ ํ•  ๊ฐ’์€ stolenbyte ์ด๋‹ˆ ํฌ๋ž™์€ ์ƒ๋žตํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. stolenbyte ์ด์•ผ๊ธฐ๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฑธ ๋ณด๋‹ˆ ํŒจํ‚น์ด ๋˜์–ด์žˆ๊ฒ ๊ตฐ์š”...

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

๋ฌธ์ œ๋Š” ์—ฌ๊ธฐ์„œ ๋‹ค์šด๋กœ๋“œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชฉํ‘œ๊ฐ’ : ํ”„๋กœ๊ทธ๋žจ์˜ OEP(Original Entry Point) OEP ์ด์•ผ๊ธฐ๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฑธ ๋ณด๋‹ˆ, ์ด ํ”„๋กœ๊ทธ๋žจ์€ ํŒจํ‚น๋˜์–ด ์žˆ์„ ๊ฒ๋‹ˆ๋‹ค.PEid๋กœ ํ•œ ๋ฒˆ ํ™•์ธํ•ด ๋ด…์‹œ๋‹ค. UPX๋กœ ํŒจํ‚น์ด ๋˜์–ด์žˆ๊ตฐ์š”.(UPX ํŒจํ‚น : PUSHAD๋กœ ๋ ˆ์ง€์Šคํ„ฐ ๋ฐฑ์—… -> ์••์ถ•ํ•ด์ œ ๋ฃจํ‹ด ์‹คํ–‰ -> POPAD๋กœ ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’ ๋ณต๊ตฌ -> OEP๋กœ ์ ํ”„)์‹คํ–‰์„ ์‹œ์ผœ๋ด…์‹œ๋‹ค. ๊ฐ„๋‹จํ•œ ๊ณ„์‚ฐ๊ธฐ ํ”„๋กœ๊ทธ๋žจ์ด๋„ค์š”.์‹œ๋ฆฌ์–ผ ๊ฐ’ ๊ฐ™์€ ๊ฑด ์•ˆ ์ฐพ์•„๋„ ๋  ๋“ฏํ•ฉ๋‹ˆ๋‹ค. ๋””๋ฒ„๊ฑฐ๋กœ ์—ด์–ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ PUSHAD ๋ช…๋ น์–ด๋กœ EAX~EDI ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ์Šคํƒ์— ๋ฐฑ์—…ํ•˜๋Š” ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ต์ˆ™ํ•œ ํŒจํ„ด์ด์ฃ ? ์Šคํฌ๋กค์„ ๋‚ด๋ฆฌ๋‹ค๋ณด๋‹ˆ POPAD ๋ช…๋ น์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค.์ด ์••์ถ• ํ•ด์ œ ๋ฃจํ‹ด์˜ ๋งจ ๋ฐ‘์—๋Š” ์›๋ณธ ์ฝ”๋“œ๋กœ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•œ JMP ๋ช…๋ น..

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

๋ฌธ์ œ๋Š” ์—ฌ๊ธฐ์„œ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์••์ถ• ํ•ด์ œ ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” codeengn ์ž…๋‹ˆ๋‹ค.) ๋ชฉํ‘œ๊ฐ’ : C ๋“œ๋ผ์ด๋ธŒ์˜ ์ด๋ฆ„์ด CodeEngn ์ผ ๊ฒฝ์šฐ ์‹œ๋ฆฌ์–ผ์ด ์ƒ์„ฑ๋  ๋•Œ CodeEngn ์ด ๋ฐ”๋€ ์ด๋ฆ„ ๋จผ์ € ์‹คํ–‰์„ ์‹œ์ผœ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์•„๋ฌด ๊ฐ’์„ ์ž…๋ ฅํ•œ ๋’ค ํ™•์ธ์„ ๋ˆŒ๋Ÿฌ์ค๋‹ˆ๋‹ค. ์ž…๋ ฅํ•œ ์‹œ๋ฆฌ์–ผ ๊ฐ’์ด ์˜ฌ๋ฐ”๋ฅด์ง€ ์•Š๋‹ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’๊ณผ ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜์— ์˜ํ•ด ์ƒ์„ฑ๋œ ์‹œ๋ฆฌ์–ผ ๊ฐ’์„ ๋น„๊ตํ•ด ๋ถ„๊ธฐํ•˜๋Š” ์ต์ˆ™ํ•œ ์œ ํ˜•์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.๋””๋ฒ„๊ฑฐ๋กœ ์—ด์–ด์ค๋‹ˆ๋‹ค. ์กฐ๊ธˆ ๋‚ด๋ ค ๋ณด๋ฉด GetVolumeInformation ํ•จ์ˆ˜์˜ VolumeNameBuffer ๋กœ C๋“œ๋ผ์ด๋ธŒ์˜ ์ด๋ฆ„์„ ๋ฐ›๋Š” ๋ถ€๋ถ„์ด ์žˆ์Šต๋‹ˆ๋‹ค.C๋“œ๋ผ์ด๋ธŒ์˜ ์ด๋ฆ„์€ ๋ฉ”๋ชจ๋ฆฌ์˜ 0040225C ์ฃผ์†Œ์— ์ €์žฅ์ด ๋ฉ๋‹ˆ๋‹ค.ํ˜„์žฌ ์ œ C๋“œ๋ผ์ด๋ธŒ์˜ ์ด๋ฆ„์€ ์„ค์ •๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 00401099 ๋ถ€ํ„ฐ..

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

๋ฌธ์ œ๋Š” ์—ฌ๊ธฐ์„œ ๋‹ค์šด๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (์••์ถ• ํ•ด์ œ ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋Š” codeengn ์ž…๋‹ˆ๋‹ค.) ๋ชฉํ‘œ๊ฐ’ : OEP(Original Entry Point) + Serial ๊ฐ’ OEP ๋ž€?๋”๋ณด๊ธฐํ”„๋กœ๊ทธ๋žจ์˜ ์ง„์งœ ์‹œ์ž‘ ์œ„์น˜, ํŒจํ‚น๋˜์–ด ์žˆ๋Š” ํŒŒ์ผ์„ ์ •์ƒ์ ์œผ๋กœ ์–ธํŒจํ‚น ํ–ˆ์„ ๋•Œ์˜ ๋ณธ ์‹œ์ž‘ ์œ„์น˜.UPX ์˜ ๊ฒฝ์šฐ์—๋Š” POPAD ๋ช…๋ น ๋’ค JMP ๋ฌธ์„ ์‚ฌ์šฉํ•ด ์••์ถ•ํ•ด์ œ๋œ ์›๋ณธ ์ฝ”๋“œ์˜ ์œ„์น˜๋กœ ์ ํ”„ํ•˜๋Š”๋ฐ, ๊ทธ ์ ํ”„๋ฌธ์ด ์‹คํ–‰๋˜์–ด ์ด๋™ํ•œ ์ฃผ์†Œ๊ฐ€ OEP ์ž…๋‹ˆ๋‹ค. ์‹คํ–‰์„ ์‹œ์ผœ๋ด…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’๊ณผ ์‹œ๋ฆฌ์–ผ์„ ๋น„๊ตํ•˜๋Š” ์œ ํ˜•์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ž…๋ ฅ๊ฐ’๊ณผ ์‹œ๋ฆฌ์–ผ์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„ ์‹œ ์‹คํŒจ ๋ฉ”์„ธ์ง€๋ฐ•์Šค๊ฐ€ ํ˜ธ์ถœ๋ฉ๋‹ˆ๋‹ค. ๋””๋ฒ„๊ฑฐ๋กœ ์—ด์–ด๋ณด๋ฉด PUSHAD ๋ผ๋Š” ๋ช…๋ น์ด ๊ฐ€์žฅ ๋จผ์ € ๋ˆˆ์— ๋•๋‹ˆ๋‹ค.UPX ๋กœ ํŒจํ‚น๋˜์–ด ์žˆ๋Š” ํŒŒ์ผ์ด๋„ค์š”. ์ด๋ ‡๊ฒŒ PEid ๋กœ ํŒจํ‚น๋œ ๋ชจ์Šต์„..