보호기법 완전 제거(ASLR 제외)
64비트
gcc -no-pie -fno-stack-protector -z norelro -z execstack -fno-builtin
32비트
gcc -m32 -no-pie -fno-stack-protector -z norelro -z execstack -fno-builtin -mpreferred-stack-boundary=2
ASLR 제거
echo 0 > /proc/sys/kernel/randomize_va_space
randomize_va_space = 0 | ASLR 제거 |
randomize_va_space = 1 | 스택, 라이브러리 랜덤 |
randomize_va_space = 2 | 스택, 라이브러리, 힙 랜덤 |
ulimit -s unlimited | 일시적 ASLR 해제 |
보호기법
Canary | -fno-stack-protector | SSP 해제 |
-fstack-protector | SSP 설정 | |
PIE | -no-pie | PIE 해제 |
-fpie | .text만 랜덤 | |
-fpie -pie | PIE 설정 | |
NX | -z execstack | 컴파일시 NX해제 |
RELRO | -z norelro | RELRO 해제 |
-Wl,-z,relro | PARTIAL-RELRO 설정 | |
-Wl,-z,relro,-z,now | FULL-RELRO 설정 |
-mpreferred-stack-boundary
범위 | 권장 값 (Dummy 제거) | |
32비트 | 2~12 | 2 |
64비트 | 4~12 | 4 |
라이브러리 링크 제외
-fno-builtin
https://gist.github.com/jrelo/f5c976fdc602688a0fd40288fde6d886
'보안' 카테고리의 다른 글
일방향 침해 고급과정 공격 공부 노트 (0) | 2024.05.26 |
---|---|
공급망 보안 모아놓은 글 (0) | 2024.05.25 |
[CVE-2023-46604] Apache ActiveMQ 서버 RCE 취약점 간단한 리뷰 (0) | 2024.05.20 |
[CVE-2023-20198] Cisco IOS XE Software Web UI 권한상승 취약점 (0) | 2024.05.20 |
[CVE-2023-20593] AMD VECTOR REGISTER FILE ZENBLEED 취약점 (0) | 2024.05.20 |