상세 컨텐츠

본문 제목

[Heap Exploitation] fastbin_dup_into_stack

SYSTEM HACKING/Exploit Tech

by koharin 2019. 11. 25. 23:13

본문

728x90
반응형

1. 조건

 

Double free bug 가 가능해야 함

 

2. 공격 방법

 

1) 동일한 크기 fast chunk 3개 생성(malloc)

2) 첫 번째 fast chunk 해제(free)

3) 두 번째 fast chunk 해제(free)

4) 첫 번째 fast chunk 해제(free) -> double free

5) 동일한 크기의 fast chunk 2개 재할당(malloc)

6) 재할당 받은 첫 번째 chunk 영역에 fdstack 주소 저장

-> stack 주소 값 + 0x8 영역에는 동일한 chunk size 저장되어야 함 (fastbin에서 재할당 시 chunk size가 요청한 size와 같은지 확인하기 때문)

7) 동일한 크기의 fast chunk 할당

-> fd + 0x10 주소가 리턴된다.

 

3. example code

 

 

fastbinsY[6] = 0x602000 -> 0x602080(fd) -> 0x602000(fd)

0x602000fdstack 주소로

=> fastbinsY[6] = 0x602000 -> &stack(fd) -> 0x602000(fd)

buf4 0x602000

buf5 0x602080

buf6 0x602000

buf7 &stack

 

 

 

4. debugging

 

pwndbg> disass main

 

 

 

bp1 : *main+87

bp2 : *main+99

bp3 : *main+111

bp4 : *main+121

bp5 : *main+135

bp6 : *main+213

bp7 : *main+227

 

 

# bp1 : 첫 번째 chunk free

 

 

첫 번째 heap : 0x602410

두 번째 heap : 0x602490

세 번째 heap : 0x602510

 

 

pwndbg> ni

 

 

fastbinsY[6] = 0x602410

 

 

# bp2 : 두 번째 fast chunk free

 

 

두 번째 free chunkfd0x602410이 저장되고, fastbinsY[6] = 0x602490

 

# bp3 : 첫 번째 fast chunk 다시 해제(free)

 

 

fastbinsY[6] = 0x602410 -> 0x602490

 

 

첫 번째 chunkfd0x602490, 두 번째 chunkfd0x602410이 저장되어 있음.

서로를 가리키게 됨.

 

# bp4 : 해제된 chunk와 같은 크기 재할당 -> fastbinsY에 등록되어 있는 0x602410heap 영역이 재할당됨

 

 

0x602410 영역 할당해주고, fastbinsY에 첫 번째 chunkfd에 저장되어 가리키고 있던 0x602490가 등록됨

 

 

# bp5 : 같은 크기 chunk 재할당 0x602490 heap 영역이 재할당됨

 

 

#fd 값 변조

조건 : 공격대상 영역에 해제된 chunk와 같은 크기 값(0x80) 저장되어 있어야 함

할당받은 4번째 heap 영역에 ‘A’*8개를 입력해서 첫 번째 fast chunkfd 값을 변경.

set 명령어로 fd 영역에 공격 대상 주소 값을 저장한다.

=> Stack_var prev_size

 

 

# bp6 :

 

 

fastbins 변화 : 0x602000 -> 0x7fffffffe218 -> 0x602010 -> 0x0

0x7fffffffe218 영역이 fastbinsY에 등록되어 0x602000의 다음 free chunk로 인식됨.

-> 0x602000 영역 할당 후 또 한 번 할당받을 경우 0x7fffffffe218 영역이 할당된다.

0x7fffffffe218+0x10 fd로 인식되어 여기에 0x602010 저장하고, 0x602010+0x10fd에는 0x0 저장

 

 

728x90
반응형

관련글 더보기