상세 컨텐츠

본문 제목

2020 2학기 시스템 해킹 계획

SISS/2020

by koharin 2020. 9. 4. 01:53

본문

728x90
반응형

주차

과제

1

(9/7-9/13)

Lazenca glibc(ptmalloc2)

Dreamhack ptmalloc2 allocator

Dreamhack Security Check

2

(9/14-9/20)

Dreamhack Double free

Lazenca UAF

hackCTF UAF

3

(9/21-9/27)

Dreamhack house of spirit

pwnable.xyz free spirit

4

(9/28-10/4)

Dreamhack house of force

Dreamhack wargame house of force

5

(10/26-11/1)

Dreamhack wargame basic_heap_overflow

Dreamhack memory leak

6

(11/2-11/8)

Dreamhack unsortedbin attack

HITCON-Training Magicheap

7

(11/9-11/15)

Lazenca unsafe unlink

Dreamhack unsafe unlink

8

(11/16-11/22)

HITCON-Training Bamboobox (Unsafe unlink)

9

(11/23-11/29)

Dreamhack fastbin dup

Dreamhack wargame hook

 

 

Heap 공부 시 알아야 할 것

 

1. Heap에서는 디버깅이 생명!

 

힙 청크의 구조를 확인하고, malloc이나 free를 할 때마다 bin에 어떻게 들어가는지, fdbk에 어떤 값이 쓰이는지, overwrite할만한 요소가 있는지 등을 확인하면서 exploit 과정을 만들어가야 합니다. exploit code를 짜는 과정에서 malloc, free할 때나, 값을 청크의 데이터 영역에 적을 때마다 어떻게 청크가 변하는지 확인하는 과정은 필수입니다.

gdb.attach(p)을 자주 사용해주세요.

 

2. Exploit code를 짤 때 malloc, free, modify 등의 각 메뉴는 함수로 만들어주세요.

 

Heap은 주로 malloc, free, modify 등과 같은 메뉴가 주어지고, 이러한 malloc, free 등은 exploit code 내에서 빈번하게 사용됩니다. 따라서 반복되는 과정을 함수로 만들면 exploit code를 짤 때에도, 나중에 다시 봐도 이해하기 쉽습니다.

(저는 IDA로 보고 메뉴가 나오면 먼저 어떤 공격 기법을 써야할지 분석이 안 되었어도 각 메뉴에 대한 함수 먼저 만들고 시작합니다.)

 

dreamhack

LectureHeap Allocator Exploit를 공부하면 됩니다.

Wargame의 경우, heap 이외에 다른 좋은 문제들도 많으니 Lecture 공부 후 적용해보는 방식으로 공부해보는 것을 추천합니다.

 

HITCON-Training

https://github.com/scwuaptx/HITCON-Training

heap 문제 이외에 좋은 stack exploitation 문제들이 많이 있습니다.

스터디에는 넣지 않았지만 공부하면 정말 좋은 FSB, double staged FSB 등과 같은 기법들도 공부해볼 수 있으니 lab별로 공부해보는 것을 추천합니다.

 

how2heap

https://github.com/shellphish/how2heap

heap 공부 시 도움이 될 자료입니다. Heap exploitation을 공부한다면 거쳐가는 자료입니다. (Lazenca 같이)

Heap의 경우, Glibc 버전에 따라 구현된 malloc, free가 달라서 Glibc 버전에 따라 사용할 수 있는 heap exploitation이 다릅니다. Heap exploitation에 대한 전체적인 아웃룩을 보고싶을 때 참고하고 공부해보는 것을 추천합니다.

 

Lazenca – Heap Exploitation

과제 상에는 Dreamhack 강의로 공부하라고 써있지만, Lazenca와 같이 공부하는 것을 추천합니다.

Dreamhack에 아직 정리되지 않은 기법도 Heap Exploitation에 정리되어 있으니 heap exploitation에 관심있다면 공부해보면 좋아요.

 

이번 한 학기에 모든 heap exploitation을 다루지 못하는 다른 기법들도 Dreamhack 사이트의 Heap Allocator Exploit, Lazena에 있으니 공부해보면 좋습니다.

728x90
반응형

관련글 더보기