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 명령을 사용하여 스택을 탐색하고, 변수를 검사하며, 충돌의 원인을 이해할 수 있습니다.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)