System-hacking/๐
![[ASC ์คํฐ๋] 9์ฃผ์ฐจ - Return to Library(RTL)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FANajs%2FbtrKuU2sSEV%2Fr4Yo4vwcixFvjhyh6VUUVK%2Fimg.png)
[ASC ์คํฐ๋] 9์ฃผ์ฐจ - Return to Library(RTL)
๐ ์ง๋ ์ฐจ์ 2022.08.19 - [System-hacking/๐] - [ASC ์คํฐ๋] 8์ฃผ์ฐจ - Stack Canary + Out Of Boundary 1. Return To Libc ( RTL ) ์ด์ง ์ด๋ ค์ธ ์ ์๋ค ! 1.1. ํจ์ํธ์ถ ๊ท์ฝ( Calling Convention ) : ํจ์๋ฅผ ํธ์ถํ๋ ๋ฐฉ์์ ๋ํ ์ฝ์ ํจ์ ํธ์ถ ๊ท์ฝ์ ์ธ์ ์ ๋ฌ ๋ฐฉ๋ฒ, ์ธ์ ์ ๋ฌ ์์, Stack Frame์ ์ ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๊ทธ ์ข ๋ฅ๋ฅผ ๊ตฌ๋ถํ๋ค. ํจ์ํธ์ถ๊ท์ฝ ์ฐธ๊ณ > ํจ์ํธ์ถ๊ท์ฝ 1. ํจ์ ํธ์ถ ๊ท์ฝ ๊ฐ์ ํจ์ ํธ์ถ ๊ท์ฝ(Calling Convention)์ด๋, ํจ์๋ฅผ ํธ์ถํ๋ ๋ฐฉ์์ ๋ํ ์ฝ์์ด๋ค. ํจ์ ํธ์ถ ๊ท์ฝ์ ์ธ์ ์ ๋ฌ ๋ฐฉ๋ฒ, ์ธ์ ์ ๋ฌ ์์, Stack Frame์ ์ ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ฐ๋ผ ๊ทธ ์ข ..
![[ASC ์คํฐ๋] 8์ฃผ์ฐจ - Stack Canary + Out Of Boundary](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcK5Dwx%2FbtrJ6COA4vV%2FpxKMxIOqJywUdEJ1bXNA2K%2Fimg.png)
[ASC ์คํฐ๋] 8์ฃผ์ฐจ - Stack Canary + Out Of Boundary
๐ ์ง๋ ์ฐจ์ 2022.07.30 - [System-hacking/๐] - [ASC ์คํฐ๋] 7์ฃผ์ฐจ - Stack Buffer Overflow ๋ฌธ์ ํ์ด, Integer Overflow ( 2์ฃผ์น ๋ฐ๋ ค์ ๋ถ๋ด๋ถ๋ด ์ฐ๋์ค... ) 1. Stack Canary ์คํ ๋ฒํผ ์ค๋ฒํ๋ก์ฐ๋ฅผ ๋ง๊ธฐ ์ํ ๊ธฐ๋ฒ์ด๋ค. ( SFP์ RET ๊ฐ์ด ๋ณ์กฐ ๋๋ ๊ฒ์ ๋ง๋๋ค. ) Buffer์ SFP ์ฌ์ด์ ๋๋คํ 4 or 8 ๋ฐ์ดํธ์ Canary ๊ฐ์ด ์ฝ์ ๋๋ค. ํจ์ ์ง์ ์ ์นด๋๋ฆฌ ๊ฐ์ ์ค์ ํ๊ณ , ํจ์ ์ข ๋ฃ์ ์นด๋๋ฆฌ ๊ฐ์ด ๋ณ์กฐ ๋๋์ง ํ์ธํ๋ค. ( ์นด๋๋ฆฌ ๊ฐ์ด ๋ณ์กฐ๋๋ค๋ฉด __stack_check_fail ํจ์๋ฅผ ํตํด ํ๋ก๊ทธ๋จ์ด ์ข ๋ฃ๋๋ค. ) ์ปดํ์ผ ๋ฐฉ๋ฒ : ์นด๋๋ฆฌ ํด์ : -fno-stack-protector ์นด๋๋ฆฌ ์ค์ : -..
![[ASC ์คํฐ๋] 7์ฃผ์ฐจ - Stack Buffer Overflow ๋ฌธ์ ํ์ด, Integer Overflow](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcHXoAT%2FbtrIzarGFZb%2FnMZ2YiWTAR8wxhrSCNBv2k%2Fimg.png)
[ASC ์คํฐ๋] 7์ฃผ์ฐจ - Stack Buffer Overflow ๋ฌธ์ ํ์ด, Integer Overflow
๐ ์ง๋ ์ฐจ์ 2022.07.23 - [System-hacking/๐] - [ASC ์คํฐ๋] 6์ฃผ์ฐจ - ํจ์์ ์คํ ํ๋ ์, ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ๊ธฐ๋ฒ, Stack Buffer Overflow 1. Stack Buffer Overflow ์ค์ต ๋ฌธ์ ํ์ด ๋ฌธ์ ํ์ด1 : overwrite_ret64 ์คํํ ๋๋ง๋ค ๋ฒํผ์ ์ฃผ์๊ฐ ๋ฐ๋๊ณ ์๋ค => ASLR ์ทจ์ฝํ ๋ถ๋ถ : scanf๋ก ์ ๋ ฅ์ ๋ฐ๋๋ฐ ํฌ๊ธฐ ์ ํ์ ํ์ง ์๊ณ ์๋ค. * ํ์ด ์์ 1. buf์ ์ฃผ์๋ฅผ ๊ฐ์ ธ์จ๋ค. - 2. size๋ฅผ int์ 4๋ฐ์ดํธ๋งํผ ์ ๋ ฅํ๋ค. 3. Input์์ ๋ฒํผ์ค๋ฒํ๋ก์ฐ๋ฅผ ์ด์ฉํด ์์ฝ๋๋ฅผ ์คํ์ํจ๋ค. pwntools์ ์ด์ฉํด์ ์ต์คํ๋ก์ ์ฝ๋๋ฅผ ์ง๋ณด์. 1. buf์ ์ฃผ์๋ฅผ ๊ฐ์ ธ์จ๋ค. p.recvuntil(b'buf address ..
![[ASC ์คํฐ๋] 6์ฃผ์ฐจ - ํจ์์ ์คํ ํ๋ ์, ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ๊ธฐ๋ฒ, Stack Buffer Overflow](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbwu0zC%2FbtrHZDXjvne%2FIq8KMmsAvmHreBfQDO2GAk%2Fimg.png)
[ASC ์คํฐ๋] 6์ฃผ์ฐจ - ํจ์์ ์คํ ํ๋ ์, ๋ฉ๋ชจ๋ฆฌ ๋ณดํธ๊ธฐ๋ฒ, Stack Buffer Overflow
๐ ์ง๋ ์ฐจ์ 2022.07.07 - [System-hacking/๐] - [ASC ์คํฐ๋] 5์ฃผ์ฐจ - ์ฐ์ต๋ฌธ์ ํ์ด, GDB, IDA, Pwntools ์ฌ์ฉ๋ฒ 1. ํจ์์ ์คํ ํ๋ ์ ํจ์ ํธ์ถ ๊ณผ์ > ํจ์๊ฐ ์ฌ์ฉํ ์ธ์๋ฅผ ์คํ์ ๋ฃ๊ณ ํจ์ ์์์ง์ ์ผ๋ก ์ ํ > ํจ์ ๋ด์์ ์ฌ์ฉํ ์คํ ํ๋ ์ ์ค์ > ํจ์ ๋ด์ฉ ์คํ > ์คํ์ ๋ง์น ํ, ํธ์ถ ์ง์ ์ผ๋ก ๋์๊ฐ๊ธฐ ์ํด ์คํ ๋ณต์ #include int add(int a, int b){ return a+b; } int main(){ int result = add(2,3); printf("2+3 = %d\n", result); return 0; } Buffer SFP RET addํจ์ ํธ์ถ ์ ์คํ ํ๋ ์ Buffer SFP RET a b Buffer S..
![[ASC ์คํฐ๋] 5์ฃผ์ฐจ - ์ฐ์ต๋ฌธ์ ํ์ด, GDB, IDA, Pwntools ์ฌ์ฉ๋ฒ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FboCxwp%2FbtrGEJKS1fk%2Fc5ZgdX6srNjxkdPkmB0BBK%2Fimg.png)
[ASC ์คํฐ๋] 5์ฃผ์ฐจ - ์ฐ์ต๋ฌธ์ ํ์ด, GDB, IDA, Pwntools ์ฌ์ฉ๋ฒ
๐ ์ง๋ ์ฐจ์ 2022.06.27 - [System-hacking/๐] - [ASC ์คํฐ๋] 4์ฃผ์ฐจ - ๋ ์ง์คํฐ, ์ด์ ๋ธ๋ฆฌ, ์ฐ์ต๋ฌธ์ , GDB ์ฌ์ฉ๋ฒ 1. ์ฐ์ต๋ฌธ์ ํ์ด & ๋ณต์ต ๊ฒฐ๊ณผ ํ์ธ ๋ฐฉ๋ฒ => nasm, gdb sudo apt-get install nasm vi ex1.asm nasm -f elf64 ex1.asm -o ex1.o && ld ex1.o -o ex1.elf ./ex1.elf pwndbg, Pwngdb ์ฌ์ฉ ๋ฐฉ๋ฒ: git clone ํด์ ๋ค์ด ๋ฐ๋๋ค => pwndbg/ ๋ค์ด๊ฐ์ ./setup.sh ํด์ค๋ค => .gdbinit ํ์ผ ์์ ํด์ค๋ค. => gdb ์คํํด๋ณด๊ธฐ source ~/pwndbg/gdbinit.py source ~/Pwngdb/pwngdb.py source ~/Pwngd..
![[ASC ์คํฐ๋] 4์ฃผ์ฐจ - ๋ ์ง์คํฐ, ์ด์
๋ธ๋ฆฌ, ์ฐ์ต๋ฌธ์ , GDB ์ฌ์ฉ๋ฒ](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FKBG0b%2FbtrFTNmq9GD%2F5dV8aEkxRa9RS7MwoA4Sk0%2Fimg.png)
[ASC ์คํฐ๋] 4์ฃผ์ฐจ - ๋ ์ง์คํฐ, ์ด์ ๋ธ๋ฆฌ, ์ฐ์ต๋ฌธ์ , GDB ์ฌ์ฉ๋ฒ
๐ ์ง๋ ์ฐจ์ 2022.06.19 - [System-hacking/๐] - [ASC ์คํฐ๋] 3์ฃผ์ฐจ - ๊ธฐ์ด์ด๋ก , ํ๊ฒฝ์ธํ , ๋ฉ๋ชจ๋ฆฌ๊ตฌ์กฐ ( x86-64 ์ํคํ ์ฒ ๊ธฐ๋ฐ ) 1. ๋ ์ง์คํฐ(Register) CPU๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ์ ์ฅํ๊ณ ์ฌ์ฉํ ๋ ์ด์ฉํ๋ ๋ณด๊ด์์ด๋ค. ๋ฉ๋ชจ๋ฆฌ๋ ๋ณด์กฐ ๊ธฐ์ต ์ฅ์น๋ณด๋ค ๋น ๋ฅด๋ค. 1.1. 32๋นํธ ๋ ์ง์คํฐ โจ E๋ก ์์ํ๋ค. ex) 32bit EAX > 16bit AX > 8bit AH + 8bit AL - ๋ฐ์ดํฐ ๋ ์ง์คํฐ (1) EAX(Accumulator) ์ฐ์ฐ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๊ณ ํจ์ ๋ฐํ ๊ฐ์ ๋ด๋๋ค. (2) ECX(Counter) ์ฃผ๋ก ์นด์ดํ ํ ๋ ์ฌ์ฉํ๋ค. ( for๋ฌธ์ i ๊ฐ์ด ) (3) EBX(Base) ์ฃผ๋ก ์ฃผ์์ ๊ธฐ๋ณธ ๊ฐ์ ์ ์ฅํ๋ค. (4) EDX(Data) ์ฃผ๋ก ..
[ASC ์คํฐ๋] 3์ฃผ์ฐจ - ๊ธฐ์ด์ด๋ก , ํ๊ฒฝ์ธํ , ๋ฉ๋ชจ๋ฆฌ๊ตฌ์กฐ
๋ณดํธ๋์ด ์๋ ๊ธ์ ๋๋ค.