728x90
  • PEDA

0. peda란?

 

: Python Exploit Development Assistance for GDB의 약자로 linux 환경에서 동작하여 binary 분석 및 exploit을 도와주는 도구이다.

 

: linux 환경에서 peda를 설치하기 위해서는 아래와 같은 코드를 입력해 설치를 해준다. 

git clone https://github.com/longld/peda.git ~/peda
echo "source ~/peda/peda.py" >> ~/.gdbinit

 

1. 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 명령어로 현재 가능한 쉘 코드 종류 확인 및 생성 가능하다.

'자기개발 > 포너블' 카테고리의 다른 글

[2022 CTF ] 포너블 - Day 9  (0) 2022.02.08
[2022 CTF] 포너블 - Day 8  (0) 2022.02.08
[포너블] gdb 개념 및 명령어  (0) 2022.02.04
[포너블스터디] pwntool 개념 및 사용법  (0) 2022.02.03
[LOB]gremlin 문제 풀이  (0) 2022.01.27

+ Recent posts