-
Introduction to pwnable 시스템해킹 개론CTF/PWNABLE 2021. 1. 20. 01:03
Roadmap 로드맵
Tutorial 사전 준비
- WSL2 : Linux용 Window 하위 시스템
- Basic Linux instructions : wargame을 통해 Linux 명령어 익히기
- Assembly Language : 어셈블리어에 대해 이해하기
- Shellcode : 시스템해킹의 최종 목적인 쉘과 이를 실행시키는 쉘코드에 대해 이해하기
- Stack Frame : 스택 영역의 구조와 작동 방식에 대해 이해하기
- pwntools : 시스템해킹에 사용하기 위한 python 라이브러리
- pwngdb : 시스템해킹에 사용하기 위한 GNU 디버거
Basic exploitations
- Memory Mitigation : 메모리 보호기법에 대해 이해하기
- RET Overwrite : 버퍼 오버플로우를 이용해 스택의 return address를 덮는 exploitation
- RTL(Return-to-libc) : 라이브러리 내장 함수를 이용한 exploitation
- Stack address leak : environ ptr을 통한 스택 주소 leak
- Oneshot gadget : 라이브러리를 통한 oneshot gadget 활용법
- PLT&GOT : PLT와 GOT 영역의 구조와 동작 방식에 대해 이해하기
- GOT Overwrite : 임의 주소 쓰기를 이용해 GOT를 덮는 exploitation
- ROP(Return Oriented Programming) : return address를 중심으로 한 반환 지향형 exploitation
- ROPgadget : ROP에 도움이 되는 gadget을 찾아주는 도구
- Format String Bug : format string을 사용하는 문자열 함수들을 이용한 exploitation
- RTC(Return-to-csu) : csu 함수를 이용해 레지스터를 조작하는 exploiatation
- SROP(Sigreturn Oriented Programming) : sigreturn 함수를 이용해 레지스터를 조작하는 exploitation
Heap exploitations
- hook Overwrite : malloc이나 free 함수의 hook을 조작하는 exploitation
- Unsorted bin attack : unsorted bin에 들어간 청크를 이용해 libc address를 알아내는 exploitation
- Tcache dup : tcache의 double free 검증을 우회해 공격하는 exploitation
- House of Spirit : 스택 영역의 fake chunk를 free함으로써 스택에 heap을 할당하는 exploitation
Useful Information 유용한 자료
Exploit Technique
- www.lazenca.net/ : exploitation
- d4m0n.tistory.com/ : basic exploitation & writeup
- github.com/shellphish/how2heap : heap exploitation
- dreamhack.io/ exploitation & wargame
CTF & Wargame
- ctftime.org/ CTF & writeup
- adworld.xctf.org.cn/ CTF & wargame
- pwnable.kr/ wargame
- pwnable.tw/ wargame
- overthewire.org/wargames/ wargame
- ctf.j0n9hyun.xyz/ wargame
Knowledge
- blackperl-security.gitlab.io/ : information & writeup
- elixir.bootlin.com/glibc/latest/source : libc
- libc.nullbyte.cat/ libc database search
'CTF > PWNABLE' 카테고리의 다른 글
Problemset 문제 모음 (0) 2021.01.21 RTL(Return-to-libc) (0) 2021.01.16 Stack address leak (0) 2021.01.14 hook Overwrite (0) 2021.01.14 RET Overwrite (0) 2021.01.08