728x90
PEDA (Python Exploit Development Assistance for GDB)
linux 환경에서 동작하여 binary 분석 및 exploit을 도와주는 도구이다. 리눅스 환경에서 pead를 사용하기 위해서는 아래 git clone으로 peda 레포지토리를 받아와서 설치해야한다.
git clone https://github.com/longld/peda.git ~/peda
echo "source ~/peda/peda.py" >> ~/.gdbinit
간단한 PEDA 명령어
1-1) context
gdb-peda$ context "code/register/stack/all"
코드, 레지스터, 스택 영역을 볼 수 있음. 인자 생략 시에는 context all 과 같다.
1-2) session
기존과 달리 break point와 같은 설정들을 저장하고 불러오는게 가능하다.
gdb-peda$ session save "파일이름"
파일이름 생략시엔
peda-session-"실행파일이름".txt
1-3) vmmap
gdb-peda$ vmmap "all/binary/libc/stack 등"
현재 디버깅 중인 프로세스의 Virtual Memory MAP을 보여줌 인자를 생략할 시에는 vmmap all 과 같다.
1-4) checksec
gdb-peda$ checksec
현재 바이너리에 걸려있는 보안 기법들을 보여준다.
1-5) nxtest
gdb-peda$ nxtest
NX 가 걸려있는지 테스트 해주는 명령어로 스택에 실행권한이 있는지 체크하는 명령어이다.
1-6) procinfo / getpid
gdb-peda$ procinfo gdb-peda$ getpid
procinfo -> 현재 디버깅중인 프로세스의 정보를 표시 getpid -> pid 값을 출력한다.
1-7) elfsymbol
gdb-peda$ elfsymbol "symbol"
현재 디버깅 중인 바이너리의 plt, got 주소 등을 표시 인자를 생략하면 symbol들을 모두 보여준다.
1-8) elfheader
gdb-peda$ elfheader
현재 디버깅 중인 바이너리의 헤더 정보 출력한다.
1-9) find / searchmem
gdb-peda$ find/searchmem "pattern" "범위"
같은 기능의 명령어, 메모리 영역에서 특정 패턴을 찾아준다. 범위 부분을 생략하는 경우 binary 영역으로 세팅된다.
1-10) shellcode
gdb-peda$ shellcode generate x86/linux exec
peda에서 제공하는 쉘코드라고 하며, shellcode generate 명령어로 현재 가능한 쉘 코드 종류 확인 및 생성 가능하다.
'잡다한 지식' 카테고리의 다른 글
| Colab 실행 관련 단축키 (0) | 2024.07.11 |
|---|---|
| The processor type 'metapc' is not included in the installed version of IDA. 오류 (0) | 2023.04.19 |
| GDB 도구 명령어 정리 (0) | 2022.02.04 |
| Pwntools 개념 및 사용법 (0) | 2022.02.03 |