๐โSystem_Study/๐โDreamhack_Hacking
๋ผ์ด๋ธ๋ฌ๋ฆฌ ๐ ์ฌ๋ฌ ์ปดํ์ผ ์ธ์ด๋ค์ ์์ฃผ ์ฌ์ฉ๋๋ ํจ์๋ค์ ์ ์๋ฅผ ๋ฌถ์ด์ ํ๋์ lib ํ์ผ๋ก ์์ฑ ์ด๋ฅผ ์ฌ๋ฌ ํ๋ก๊ทธ๋จ์ด ๊ณต์ ํด์ ์ฌ์ฉํ ์ ์๋๋ก ์ง์ํฉ๋๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ์ ํจ์๋ค ๋ฐ๋ณต์ ์ ์ ํ์ X ์ฆ, ์ฝ๋ ๊ฐ๋ฐ์ ํจ์จ์ฑ์ด ํฅ์๋๋ ์ฅ์ !! ๋ํ ๊ฐ ์ธ์ด์ ๋ฒ์ฉ์ ์ฌ์ฉ๋๋ ํจ์๋ค์ ํ์ค lib๊ฐ ์ ์๋์ด ๊ฐ๋ฐ์๋ค์ด ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ์ฃ ๋ํ์ ์ธ C์ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ libc๋ ์ฐ๋ถํฌ์ ๊ธฐ๋ณธ ํ์ฌ๋ lib์
๋๋ค. ์ค์ตํ๊ฒฝ์์ /lib/x86_64-linux-gun/libc-2.27.so ๊ฐ ์์ฃ ๊ทธ๋ฆฌ๊ณ ๊ธฐํ ํจ์๋ค์ ์ฌ์ฉ์ ์์ด์ ์ ์ ์์ด ์ฌ์ฉํ ์ ์๋ ์ด์ ๋ ์ด ์ด์ ๋๋ฌธ์
๋๋ค. ๋งํฌ๐๏ธ ๋งํฌ(Link)๋ ๋ง์ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ปดํ์ผ์ ๋ง์ง๋ง ๋จ๊ณ๋ก์จ.. ํ๋ก๊ทธ๋จ์์ ์ด๋ค lib์..
๐โSystem_Study/๐โDreamhack_Hacking
์์คํ
๋ณด์์ ์ง๋ ์๋
๊ฐ ๋ฐ์ ํด์จ ๊ณต๊ฒฉ ๊ธฐ๋ฒ๊ณผ ๋ณดํธ ๊ธฐ๋ฒ์ ๋ฐ์ ์์์ ๋ณด์๋ฉด.. ์ด๋ค ๋ณดํธ ๊ธฐ๋ฒ์ด ๋ฑ์ฅํ๋ฉด ์ฐํ ๊ธฐ์ ๋ ๋ฑ์ฅํฉ๋๋ค.. ์ด๋ ๊ฒ ์ด๋ค ๊ณต๊ฒฉ์ด ์ฌ์ง ๋ชจ๋ฅด๊ธฐ์ ์์คํ
๊ฐ๋ฐ์๋ค์ ์ฌ๋ฌ ๊ฒบ์ ๋ณดํธ ๊ธฐ๋ฒ์ ์ ์ฉํด ์์คํ
์ด ๊ณต๊ฒฉ๋นํ ์ ์๋ ํํ ์์ฒด↓ ์ด์ ์ ๊ธ์ ๋ณด์๋ฉด r2s๋ฅผ ํตํ ๊ณต๊ฒฉ์ด ๊ฐ๋ฅํ๊ธฐ์ ๋ ์ด๋ ต๊ฒ ํ๊ธฐ ์ํด์ ๊ณต๊ฒฉ์๊ฐ ๋ฉ๋ชจ๋ฆฌ์ ์์ ๋ฒํผ ์ฃผ์ ์๊ธฐ ํ๋ค๊ฒ, ๋ฉ๋ชจ๋ฆฌ ์์ญ์ ๋ถํ์ํ ์คํ ๊ถํ ์ ๊ฑฐ Exploit Tech: Return to Shellcode dystopia050119.tistory.com ์ด์ ๊ด๋ จ๋ ๋ณดํธ๊ธฐ๋ฒ์ผ๋ก ์ฐ๋ฆฌ๋ ASLR๊ณผ NX๋ฅผ ๋ฐฐ์๋ณผ๊ป์ ASLR Address Space Layout Randomization์ ์ฝ์ด ๋ฐ์ด๋๋ฆฌ๊ฐ ์คํ๋ ๋๋ง๋ค ์คํ/ํ/๊ณต์ l..
๐โSystem_Study/๐โDreamhack_Hacking
๋ฌธ์ ํ์ด ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ ๊ธฐ๋ฒ์ ๋จผ์ ๋ณด์๋ฉด canary์ ์ฉ๊ณผ NX๊ฐ ์์ฃ RELRO๋ ์ ๊ฒ ๋๊ฑด๊ฐ? Relro๋ ๋ค์์ ์์ธํ ์์ ํ ์๊ฐ์ด ์ค๊ฒ ์ฃ ๊ทธ๋ฌ๋ ์ด ๋ด์ฉ์ ํจ์คํ๊ณ ์ฝ๋๋ฅผ ๋ณด๋ฉด์ ๋ญ๊ฐ ์ทจ์ฝํ ์ฝ๋์ธ์ง ์ํ์ด ์ฝ๋ฉ๊ณผ ์ ์ฌํ๊ฒ ์ง์ ๊น์ง ํด๋ณผ๊น์ HTML ์ฝ์
๋ฏธ๋ฆฌ๋ณด๊ธฐํ ์ ์๋ ์์ค ์ด ์ฝ๋์
๋๋ค. ์ ๋ชฉ๊ณผ ์ฃผ์ ๊ฐ ์ฃผ์ ์ด๋ฏ๋ก ๋น์ฐํ BOF๊ฐ ์ ์ด๋ ๋ ๋ฒ ๋์ค๊ฒ ์ฃ ์ฝ๋๋ฅผ ๋ณด์๋ฉด... ์์งํ ์ case ๋ชจ๋ ์ทจ์ฝํ ์ฝ๋์ด๊ธด ํด์ ๋ญ๊ฐ ๋ฌธ์ ์ธ์ง ํ๋์ฉ ์์๋ณผ๊น์ ์ ์ฝ๋๋ BOF๋ฅผ ๋ฐ์์ํฌ ์ ์์ง๋ง ์น๋ช
์ ์ธ ์ฝ๋ ์คํ๊น์ง๋ ๋ถ๊ฐ๋ฅํ๋ฏ๋ก Canary๊ฐ์ ์์ฑํ๋๋ฐ.. ์๋ํ๋ฉด Box์ ๋ณ์๋ช
์ธ ๋ณ์ ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ 0x40์ด๋๊น ๊ทธ ์ด์์ผ๋ก ์
๋ ฅํ์๋ฉด ๋๊ฒ ์ฃ ๋ ๋ฒ์งธ ์ฝ๋๋ ์ฐ๋ฆฌ๊ฐ ์
๋ ฅ๊ฐ์ ์ธ์์ ๊ธธ์ด๋ฅผ..
๐โSystem_Study/๐โDreamhack_Reversing
ํ์ผ ์คํ ๋จผ์ ๋ค์ด๋ก๋ ๋ฐ์ ํ์ผ์ ์คํํ์ฌ ํ๋ก๊ทธ๋จ์ด ์ด๋ค ์์ผ๋ก ๋์ํ๋์ง ํ์ธํฉ์๋ค. ์ฐธ๊ณ ๋ก ์๊ฒ์ ๋ฌธ์ ์ ๊ฐ์ด ์ ๋ขฐํ ์ ์๋ ํ๋ก๊ทธ๋จ์ ์คํํ ๋๋ ๊ฐ์ํ๊ฒฝ(VM)์์ ์คํํ๋ ๊ฒ์ด good! ๋ง์ฝ ๋ฌธ์ ์ ๋ณด๋ฅผ ํตํด ํ๋ก๊ทธ๋จ์ ๋์ ๋ฐฉ์์ด ์์์ด ๊ฐ๋ค๋ฉด ์คํํ์ง ์๊ณ ์ ์ ๋ถ์์ ๋จผ์ ์๋๋ ์ข์ ๋ฐฉ๋ฒ ์๋์ฐ OS์์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ๊ณต๋๋ Windows PowerShell์ ๋ฌธ์ ํ์ผ์ ์คํํ ๋ชจ์ต์ ๋ณด์ฌ์ฃผ์๋ฉด.. ๋ฌธ์ ๊ฐ ์ฌ์ฉ์์๊ฒ ๋ฌธ์๋ฅผ ์
๋ ฅ๋ฐ๊ณ ํ๋ก๊ทธ๋จ ๋ด๋ถ์ ์ด๋ค ๊ฒ์ฆ๊ณผ์ ์ ๊ฑฐ์ณ ์
๋ ฅํ ๋ฌธ์์ด์ด ๊ฒ์ฆ์ ํต๊ณผํ๋ค๋ฉด Correct, ํต๊ณผ ๋ชปํ๋ฉด Wrong์ ์ถ๋ ฅํ๋ ๋ฐฉ์์ผ๋ก ๋์ํ๋ ๊ฑธ ์ ์ถ๊ฐ๋ฅ ๊ทธ๋ ๋ค๋ฉด ๋ฌธ์ ์ ์ ๋ต(flag)์ ๊ฒ์ฆ๊ณผ์ ์ ํต๊ณผํ์ฌ Correct๊ฐ ์ถ๋ ฅ๋๋๋ก ํ๋ ์
๋ ฅ๊ฐ์ด ๋ ๊ฑฐ..
๐โSystem_Study/๐โDreamhack_Reversing
๋ถ์(Export)! ์์ ๋ก HelloWorld.exe๋ฅผ ๋ถ์ํด๋ณด๋ ์ค์ต์ ํด๋ด
์๋ค. ์์ ์ 1์ด๋ฅผ ๋๊ธฐ ํ Hello, world!๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ผ๋ก, ์ค๋ฅธ์ชฝ์์ ๋ด๋ ค๋ฐ์ ์ ์์ต๋๋ค. ์ฌ๋ฌ๋ถ์ด ์ง์ ์ปดํ์ผํ๊ณ ๋ถ์ํ ์ ์๊ฒ ์ฝ๋๋ ์น์ ํ ์ฌ๋ ค์ผ์ฃ ์ฐ๋ฆฌ๋ ์ด ์ฝ๋์ ๋ํ์ฌ ์๋ฌด๊ฒ๋ ๋ชจ๋ฅธ๋จ ์ ์ฌํ์ ์งํํด์ผ ๋ฆฌ๋ฒ์ฑ์ด๊ฒ ์ฃ ์ ๊ทธ๋ผ ํ๋ฒ ๋ฐ์ exe ํ์ผ์ ๋ค์ด๋ก๋ ๋ฐ๊ฑฐ๋ ์ปดํ์ผ ํ์
์ ํ์ธํด๋ด
์๋ค ์ฐธ๊ณ ๋ก ์ IDA ์ธ๊ฑฐ์์ /* File: hello-world.cpp Build opts: - /MT -> Library Static Linking - /DYNAMICBASE:NO -> Disable ASLR - /od -> Disable Optimization */ #include #include ch..
๐โSystem_Study/๐โDreamhack_Reversing
x86 Assembly๐ค: Essential Part x86 Assembly: Essential Part ํด์ปค์ ์ธ์ด: ์ด์
๋ธ๋ฆฌ๐ฌ PC์์ ๋ณต์กํ ๋
ผ๋ฆฌ์ ์ธ๊ณผ๊ด๊ณ, ์ฌ๋ฌ ๊ฐ์ฒด๊ฐ ์ํธ์์ฉํ๋ฉฐ ๊ทธ ์ธ๊ณ์์ ํต์ฉ๋๋ ๊ธฐ๊ณ์ด(Machine Code)์ธ์ด ํต์ฌ! ์์คํ
ํดํน์ ํ ๋๋ ์ปดํจํฐ ์ธ์ด, ์ด์์ฒด์ , ๋คํธ์ dystopia050119.tistory.com Quiz: x86 Assembly Quiz: x86 Assembly dystopia050119.tistory.com ๊ธฐ์กด์ ์ ๋ฆฌ๋ ๋ถ๋ถ์ด ์์๋ค์.. ์์คํ
์ ํ๊ธฐ์ ์ ์ด ์ปค๋ฆฌํ๋ผ์ ๋จผ์ ํ ๊ฑธ.. ใ
์ ๊ฐ ์ด ๋ธ๋ก๊ทธ๋ฅผ ํ๋ ์ด์ ๋ ์ฌ๋ฌ ์ด์ ๊ฐ ์์ง๋ง ๊ทธ ์ค์ ํ๋๊ฐ ํฌํด์ฉ์ด๋ผ์ ์ด๋ฒ๋ง ๋ ๋จนํ ๊ป์ ํท ์ฐธ๊ณ ์๋ฃ x86 Assembly๐ค: Essential ..
๐โSystem_Study/๐โDreamhack_Reversing
Computer Architecture Computer Architecture 1. ์ปดํจํฐ ๊ตฌ์กฐ(Computer Architecture) ์ปดํจํฐ ๊ณผํ์์๋ PC์ค๊ณ๋ฅผ ์ฌ๋ฌ ํ๋์จ์ด๊ฐ ๊ฐ๋ฐ๋๊ณ , ์ด๋ค์ ์กฐ๋ฆฝํด์ ์ปดํจํฐ๊ฐ ์์ฑํ ๊ฒ์ด ์ปดํจํฐ ๊ตฌ์กฐ! ๋๋ณด๊ธฐ ๐๊ฐ์๐ ์ปดํจํฐ ๊ตฌ์กฐ(Computer Architecture) dystopia050119.tistory.com ํด์ฆ๋ ๋ฑํ ์ค๋ช
์ ํ ๊ป์ ์ ๊ฑฐ ๋ดค์ผ๋ฉด ์ง์ง๋ก ๊ธฐ์ด๋๊น ์ด์งํผ ๋ชจ๋ฅด์๋ฉด ๋ค์ ๋ฐฐ์์ผํด์ Background: Windows Memory Layout ๋ฉ๋ชจ๋ฆฌ ๋ ์ด์์(Memory Layout) : ํ๋ก์ธ์ค ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ(Virtual Memory)์ ๊ตฌ์ฑ ํ๋ก๊ทธ๋จ์ ์คํํ๋ฉด OS๋ ํ๋ก์ธ์ค์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ ๊ณต๊ฐ์ ํ ๋นํ๋ฉฐ, CS์์ ์ด ๊ณต๊ฐ์ ..
๐โSystem_Study/๐โDreamhack_Reversing
๋ฆฌ๋ฒ์ค ์์ง๋์ด๋ง ์ ์ ๋ถ์(Static)๊ณผ ๋์ ๋ถ์(Dynamic) ๊ตฌ๋ถ ์ ์ ๋ถ์ : ์ธ์ ์ธ ๊ด์ฐฐ๋ง์ ํตํด ์ ๋ณด๋ฅผ ์ทจ๋ ๋์ ๋ถ์ : ์คํ์ ํตํด ๋์์ ๋ถ์ํ๋ ๊ฒ! ๋๊ฒ ์ ์ ์ธ ๋ฐฉ๋ฒ๊ณผ ๋์ ์ธ ๋ฐฉ๋ฒ์ ์ ์ ํ ํผ์ฉํ๋ฉด ๋์์ ํจ๊ณผ์ ์ผ๋ก ๋ถ์ ๊ฐ๋ฅ! ๋์ ์ธ ๋ฐฉ๋ฒ๋ง์ ๊ณ ์ํ๋ฉด ํฐ ๊ตฌ์กฐ๋ฅผ ๋์น ์ ์๊ณ , ๋ฐ๋๋ก ์ ์ ๋ง ๊ณ ์ํ๋ฉด ์คํ์ ํตํด ์ง๊ด์ ์ผ๋ก ์ ์ ์๋ ๋ถ๋ถ์ ๋ถ์ํ๋๋ผ ์๊ฐ์ ํ๋นํ ๊ฐ๋ฅ์ฑ์ด ๋ํํ์ฃ .. ๋ฐ๋ผ์ ์ฐ๋ฆฌ๋ ์ ์ ๋ถ์๊ณผ ๋์ ๋ถ์ ์ค ํ ๋ฐฉ๋ฒ๋ง์ ๊ณ ์ํ๋ ๊ฒ์ด ์๋ ์ํฉ์ ๋ฐ๋ผ ์ ์ ํ ๋ฐฉ๋ฒ์ผ๋ก.. ์ด๋ค ์ํฉ์ ์ด๋ค ๋ฐฉ๋ฒ์ ์ ํํ ๊ฒ์ด๋๊ฐ ์ค๋ ฅ์ ์ข์ฐํ๋ ์ค์ํ ์์์ฃ ์ ์ ๋ถ์(Static Analysis)๐ ์ ์ ๋ถ์(Static Analysis) : ํ๋ก๊ทธ๋จ์ ์คํ์ํค์ง ์๊ณ ๋ถ..