Common Binary Exploitation Protections & Bypasses
Last updated
Last updated
AWS 해킹 학습 및 실습:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 학습 및 실습: HackTricks Training GCP Red Team Expert (GRTE)
코어 파일은 프로세스가 충돌할 때 운영 체제에서 생성하는 파일 유형입니다. 이러한 파일은 프로세스가 종료될 때의 메모리 이미지를 캡처하며, 프로세스의 메모리, 레지스터, 프로그램 카운터 상태 등을 포함합니다. 이 스냅샷은 디버깅 및 충돌이 발생한 이유를 이해하는 데 매우 유용할 수 있습니다.
기본적으로 많은 시스템은 코어 파일의 크기를 0으로 제한하여 디스크 공간을 절약합니다. 코어 파일 생성을 활성화하려면 ulimit
명령어(배시 또는 유사한 쉘에서)를 사용하거나 시스템 전반적인 설정을 구성할 수 있습니다.
ulimit 사용: 명령어 ulimit -c unlimited
은 현재 쉘 세션에서 무제한 크기의 코어 파일을 생성할 수 있습니다. 이는 디버깅 세션에 유용하지만 부팅이나 새 세션 간에는 지속되지 않습니다.
지속적인 구성: 더 영구적인 해결책으로, /etc/security/limits.conf
파일을 편집하여 * soft core unlimited
와 같은 줄을 포함시킬 수 있습니다. 이는 모든 사용자가 세션에서 ulimit을 수동으로 설정하지 않고 무제한 크기의 코어 파일을 생성할 수 있게 합니다.
코어 파일을 분석하려면 GDB( GNU 디버거)와 같은 디버깅 도구를 사용할 수 있습니다. 실행 파일이 코어 덤프를 생성하고 코어 파일의 이름이 core_file
인 경우 다음과 같이 분석을 시작할 수 있습니다:
이 명령은 실행 파일과 코어 파일을 GDB에로드하여 충돌 시점의 프로그램 상태를 검사할 수 있게 합니다. GDB 명령을 사용하여 스택을 탐색하고 변수를 검사하며 충돌 원인을 이해할 수 있습니다.
AWS 해킹 학습 및 실습:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 학습 및 실습: HackTricks Training GCP Red Team Expert (GRTE)