RELRO, Stack Canary, NX, ASLR, DEP, PIE, RELRO 등 해당파일에 리눅스 보호기법이 어느정도 걸려있는지 쉽게 체크할 수 있다.


다운로드는 여기서 http://www.trapkit.de/tools/checksec.html


Examples

normal (or --format cli)

$checksec.sh --file /bin/ls
RELRO           STACK CANARY      NX            PIE             RPATH      RUNPATH      FILE
Partial RELRO   Canary found      NX enabled    No PIE          No RPATH   No RUNPATH   /bin/ls

csv

$ checksec.sh --format csv --file /bin/ls
Partial RELRO,Canary found,NX enabled,No PIE,No RPATH,No RUNPATH,/bin/ls

xml

$ checksec.sh --format xml --file /bin/ls
<file relro="partial" canary="yes" nx="yes" pie="no" rpath="no" runpath="no" filename='/bin/ls'/>

누가 업그레이드를 한 버전도 있나봄..


https://github.com/slimm609/checksec.sh


윈도우에서 다운받아 xftp로 linux로 옮겨 사용하려했더니 오류가 뜬다.

-bash: ./checksec.sh: /bin/bash^M: bad interpreter: No such file or directory


이는 윈도우에서 linux로 전송하면서 줄바꿈, 개행문자가 달라서 발생하는 문제로... ^M으로 표기된다.

해결방법을 아래 url에서 찾았다.

https://askubuntu.com/questions/304999/not-able-to-execute-a-sh-file-bin-bashm-bad-interpreter


sed -i -e 's/\r$//' checksec.sh


참고할만한 블로그 : linux 환경에서의 메모리 보호기법을 알아보자 – checksec.sh


 



'Pwnable!!' 카테고리의 다른 글

python socket 연결  (0) 2018.04.27
readelf를 이용하여 함수의 got주소 알아내기  (0) 2018.04.27
IDA 사용법  (0) 2018.04.27
gdb에서 run 실행후 입력값 주기  (0) 2018.04.23
파이썬 주소값 리틀엔디안 변환  (0) 2018.04.23

+ Recent posts