소개
PDFCrack은 PDF 파일의 사용자 및 소유자 비밀번호를 복구하는 오픈소스 도구입니다. 원래 Henning Norén이 개발했으며, alitrack이 Windows 지원을 추가하여 GitHub에 아카이브된 저장소로 유지하고 있습니다. 이 도구는 표준 보안 핸들러를 사용하는 PDF 파일에 대해 워드리스트 및 브루트포스 공격을 지원하며, 작업 저장 및 재개 기능을 제공합니다.
상세정보
비밀번호 복구 방식
PDFCrack은 두 가지 주요 공격 방식을 지원합니다: 사용자 제공 워드리스트를 이용한 사전 공격과 모든 가능한 문자 조합을 시도하는 브루트포스 공격입니다. 사용자는 공격 범위와 문자 집합을 설정하여 효율성을 높일 수 있습니다.
작업 저장 및 재개
장시간 실행되는 복구 작업을 위해 진행 상황을 파일에 저장하고 나중에 이어서 할 수 있는 기능을 제공합니다. 이는 특히 긴 비밀번호나 큰 워드리스트를 다룰 때 유용합니다.
지원되는 암호화 방식
이 도구는 RC4-40 및 RC4-128 암호화를 사용하는 PDF의 재버전 2, 3, 4, 5를 지원합니다. 또한 SHA-256 기반의 보안 핸들러도 처리할 수 있으나, AES-256을 사용하는 재버전 6(PDF 2.0 이상)은 지원하지 않습니다.
다운로드 및 설치 방법
공식 GitHub 저장소에서 최신 소스 코드 또는 사전 컴파일된 Windows용 ZIP 파일을 다운로드할 수 있습니다. ZIP 압축을 해제하면 실행 가능한 pdfcrack.exe 파일을 확인할 수 있습니다. 별도의 설치 과정 없이 바로 명령 프롬프트에서 실행할 수 있습니다.
기본 사용법
명령 프롬프트를 열고 PDFCrack이 있는 디렉터리로 이동한 후, 다음과 같은 형식으로 명령을 실행합니다:
pdfcrack -f target.pdf -w wordlist.txt
여기서 -f는 대상 PDF 파일, -w는 사용할 워드리스트 파일을 지정합니다. 브루트포스 공격을 원할 경우 -c 옵션으로 문자 집합을, -l로 최소 및 최대 길이를 설정할 수 있습니다. 예를 들어:
pdfcrack -f target.pdf -c "abcdefghijklmnopqrstuvwxyz" -l 1-6
작업을 저장하려면 -s statefile 옵션을 사용하고, 나중에 이어서 하려면 -l statefile를 추가합니다.
이런 경우에 유용합니다
PDF 파일의 비밀번호를 잊어버렸지만 가능한 비밀번호 후보를 알고 있거나, 간단한 워드리스트를 통해 시도해 볼 수 있는 상황에서 유용합니다. 예를 들어 회사 내 오래된 아카이브 PDF나 개인 문서의 비밀번호를 복구해야 할 때, 추가 비용 없이 직접 시도해 볼 수 있는 도구로 활용할 수 있습니다. 다만, 현대적인 AES 암호화를 사용하는 PDF(2017년 이후 생성된 대부분의 PDF)는 복구할 수 없음을 반드시 확인해야 합니다.
제한 사항·확인 사항
PDFCrack은 AES-256 암호화를 사용하는 PDF 재버전 6(PDF 2.0, 2017년 이후 일반적인 표준)을 지원하지 않습니다. 이는 현대적인 대부분의 PDF 파일에 적용되므로, 대상 파일이 이 방식인지 먼저 확인해야 합니다. 또한 이 도구는 단일 스레드만 사용하므로 멀티코어 CPU나 GPU 가속을 활용할 수 없으며, 복구 속도가 상대적으로 느립니다. 문서 내용 자체를 복호화하는 기능은 없으며, 오직 비밀번호만 찾습니다. 마지막으로, 이 프로젝트는 2020년부터 개발이 중단되었고 2026년 6월에 공식적으로 아카이브 상태가 되었으므로, 버그 수정이나 지원이 제공되지 않습니다.
시스템 요구사항
PDFCrack은 Windows에서 실행되며, 추가적인 의존성 없이 독립적으로 작동하는 명령줄 도구입니다. 소스 코드 기반이므로 C 컴파일러가 있는 환경에서 빌드할 수 있으나, 배포된 ZIP 파일은 바로 실행 가능하도록 준비되어 있습니다.


