checksec.sh
실행 파일에서 제공하는 보안 매커니즘을 알기 쉬운 형태로 표시해주는 쉘 스크립트로 메모리 보호 기법인 PIE, RELRO, Canaries, ASLR, NX bit 등을 확인하는 데 사용되는 툴
https://github.com/slimm609/checksec.sh
GitHub - slimm609/checksec.sh: Checksec.sh
Checksec.sh. Contribute to slimm609/checksec.sh development by creating an account on GitHub.
github.com
peda
peda는 gdb 디버깅 툴의 기능을 대폭 강화해주는 확장 스크립트로서 디버그 정보 표시 강화, 간이 ROP Gadget 검색, 메모리 검색 강화 등 pwn 문제를 풀 때 편리한 기능을 제공해주는 툴
https://github.com/longld/peda
GitHub - longld/peda: PEDA - Python Exploit Development Assistance for GDB
PEDA - Python Exploit Development Assistance for GDB - GitHub - longld/peda: PEDA - Python Exploit Development Assistance for GDB
github.com
rp++
실행 파일에 존재하는 ROP Gadget을 표시해주는 툴입니다. 역어셈블의 결과를 보고 찾는 것과 달리 명령의 일부분을 잘라낸 가젯도 표시하는 기능 제공
https://github.com/0vercl0k/rp
GitHub - 0vercl0k/rp: rp++ is a fast C++ ROP gadget finder for PE/ELF/Mach-O x86/x64/ARM binaries.
rp++ is a fast C++ ROP gadget finder for PE/ELF/Mach-O x86/x64/ARM binaries. - GitHub - 0vercl0k/rp: rp++ is a fast C++ ROP gadget finder for PE/ELF/Mach-O x86/x64/ARM binaries.
github.com
socat
pwn 문제의 대부분은 지정된 호스트와 포트를 연결하여 풀어야 하는 '원격 익스플로잇' 방식으로 socat을 이용하면 손쉽게 재현할 수 있도록 도와주는 도구
http://www.dest-unreach.org/socat/
socat
dest-unreach / socat socat - Multipurpose relay Abstract what: "netcat++" (extended design, new implementation) OS: AIX, BSD, HP-UX, Linux, Solaris e.a. (UNIX) lic: GPL2 inst: tar x...; ./configure; make; make install doc: README; socat.html, socat.1; xio.
www.dest-unreach.org
pwntools
간단히 원격 서버에 연결할 수 있는 기능에서부터 ROP를 구축할 수 있는 기능까지 매우 많은 기능을 제공하는 CTF 문제 풀이를 위한 파이썬 라이브러리
https://github.com/Gallopsled/pwntools
GitHub - Gallopsled/pwntools: CTF framework and exploit development library
CTF framework and exploit development library. Contribute to Gallopsled/pwntools development by creating an account on GitHub.
github.com
CTF Tools 환경 구축 명령 (Ubuntu 14.04 LTS x86_64)
sudo apt-get install build-essential gcc-multilib git gdb
git clone https://github.com/zachriggle/peda.git ~/peda
echo "source ~/peda/peda.py" >> ~/.gdbinit
export PATH=$HOME/bin:$PATH
mkdir $HOME/bin
wget https://github.com/downloads/0vercl0k/rp/rp-lin-x64 -0 $HOME/bin/rp
wget https://github.com/slimm609/checksec.sh/archive/1.6.tar.gz
tar zxvf 1.6.tar.gz
cp checksec.sh-1.6/checksec $HOME/bin/checksec.sh
참고 문헌
[1] 양현 옮김, 『CTF 정보보안 콘테스트 챌린지북』, 위키북스(2016), p101-103.
'System Security > Technology' 카테고리의 다른 글
| 메모리 보호 기법 (0) | 2022.02.13 |
|---|---|
| Use after free (0) | 2022.01.23 |
| GOT Overwrite (0) | 2022.01.22 |
| NOP Sled (0) | 2022.01.19 |
| 스택 프레임(Stack Frame)이란? (0) | 2022.01.18 |