absinthe

PEDA 설치하기

System2017. 2. 18. 20:25

1. PEDA

PEDA는 'PEDA - Python Exploit Development Assistance for GDB'으로 BlackHat에서 2012년에 공개되었다. 

기존 GDB의 기능을 확장하여 리눅스 상의 Exploit을 도와준다.


사용요건

1. Linux

2. GDB 7.x (하지만 GDB 7.7버전에서는 동작하지 않으니 버전을 낮추어야 한다.)

3. Python 2.6 이상 (3.x는 안된다.)

4. Utilities: nasm, readelf, objdump



2. 설치

2-1. wget 명령어로 압축파일을 받아준다.

# wget http://ropshell.com/peda/peda.tar.gz




2-2. 압축을 풀어준다.

$ tar zxvf peda.tar.gz




2-3. PEDA를 GDB에 연동시킨다.

$ echo “source ~/peda/peda.py” >> ~/.gdbinit



이제 .gdbinit파일이 존재하는 위치에서 GDB를 실행하면 PEDA가 실행되어야 한다.

하지만 PEDA가 실행이 되지 않을 때가 있다.



3. 실행이 안될 시

GDB 7.7버전에서는 PEDA가 실행이 되지 않는다. GDB 7.7이 Python 3을 사용하기 때문이다.



3-1. synaptic으로 GDB 버전 낮추기

$ apt-get install synaptic



여기서 왼쪽 위의 Settings - Repositories - Other Software에서 

deb http://kr.archive.ubuntu.com/ubuntu/ precise main 를 추가해 준다.



이후 창읃 닫고 Reload를 눌러준다.


오른쪽 위의 검색창에서 GDB를 검색해 선택한 후 



Package - Force Version을 누른 후 7.4버전으로 바꾸어준다.



선택한 후 Apply를 눌러 적용해 준다.

적용 후 설치된 버전이 7.4로 바뀐 것을 확인 할 수 있다.

이후 Package - Lock Version으로 버전을 고정해도 되고 안해도 된다.



다시 GDB를 실행해보면 PEDA가 동작하는 것을 볼 수 있다.


* 만약 Linux의 Python 버전이 2.6.x 미만, 3이상이면 Python을 맞는 버전으로 재설치를 해준다.




참고

https://pypi.python.org/pypi/peda/1.0

- http://kblab.tistory.com/220    //GDB 버전

- https://hexa-unist.github.io/2015/02/25/PEDA-Introduction-Installation/    //Python 버전



'System' 카테고리의 다른 글

linux 메모리 보호 기법 해제(우분투)  (0) 2015.08.01