# ZIP 아카이브 액세스 복구: John the Ripper 실전 가이드
암호화된 아카이브의 잊힌 비밀번호는 레거시 데이터, 백업 또는 OSINT 조사 중 수집한 자료를 다룰 때 흔한 문제입니다. "크래킹"을 위해 기밀 파일을 제3자 온라인 서비스에 업로드하는 것은 데이터 유출 위험을 초래합니다. 입증된 정보 보안 도구를 활용한 로컬 감사는 데이터 보안을 유지하면서 액세스를 복구할 수 있게 해줍니다. Debian 호환 배포판에서 zip2john과 john 유틸리티를 사용해 ZIP 아카이브에서 비밀번호를 추출하고 크래킹하는 실전 파이프라인을 단계별로 안내하겠습니다.
환경 설정 및 해시 추출
이 작업을 위해 Debian Linux 기반 시스템이 필요합니다. Kali Linux나 Parrot OS 같은 전문 배포판이 이상적입니다. 이들은 john이 미리 설치되어 있고 설정되어 있기 때문입니다. 일반 배포판에서는 저장소에서 사용할 수 있습니다(sudo apt install john). 참고로 zip2john은 아카이브를 직접 크래킹하지 않습니다. ZIP 파일 구조를 분석해 암호화된 헤더를 추출하고 John the Ripper 본체 엔진이 이해할 수 있는 형식의 해시를 생성하는 것이 zip2john의 역할입니다.
대상 아카이브를 편리한 디렉터리에 배치하세요. 예시로 /home/user/Desktop/Secret.zip을 사용하겠습니다. 첫 번째 단계는 해시 파일 생성입니다:
zip2john /home/user/Desktop/Secret.zip > /home/user/Desktop/hash.txt
이 유틸리티는 아카이브 내부의 로컬 파일 헤더를 분석합니다. 아카이브에 여러 파일이 포함된 경우 zip2john은 여러 해시를 출력하거나 호환되지 않는 압축 방식에 대해 경고할 수 있습니다. 이런 경우 아카이브 내부 특정 파일 경로나 -p 플래그를 사용해 강제 파싱하세요. 결과를 텍스트 파일로 리다이렉트하면 다음 단계의 입력으로 사용됩니다.
John the Ripper의 ZIP 처리 방식
최신 ZIP 아카이브는 주로 구식 ZipCrypto (PKWARE)와 더 안전한 AES-256 두 가지 암호화 표준을 사용합니다. zip2john은 암호화 유형을 자동 감지해 적합한 해시 서명($zip$ 또는 $zip2$)을 생성합니다. John the Ripper는 이 메타데이터를 활용해 최적의 크래킹 알고리즘을 선택합니다.
비밀번호 복구 과정을 시작하려면:
john /home/user/Desktop/hash.txt
기본적으로 내장 변이 규칙이 적용된 증분 브루트포스 모드로 실행됩니다. 더 빠른 결과를 위해 단어 목록을 바로 사용하세요:
john --wordlist=/usr/share/wordlists/rockyou.txt /home/user/Desktop/hash.txt
크래킹 성공 후 또는 발견된 비밀번호를 확인하려면 --show 플래그를 사용하세요:
john /home/user/Desktop/hash.txt --show
출력 결과는 아카이브 이름과 연결된 복구된 비밀번호를 보여줍니다. 중단된 경우 John은 ~/.john/john.pot에 세션 상태를 저장해 진행 상황 손실 없이 재개할 수 있습니다.
크래킹 최적화 및 하드웨어 제약
복구 효율성은 하드웨어와 전략에 따라 달라집니다. John the Ripper의 CPU 버전은 사전 공격과 간단한 변이에 적합합니다. 복잡한 비밀번호의 경우 OpenCL 지원 john-jumbo 빌드를 사용해 GPU 성능을 활용하세요. AES-256에서 CPU 속도는 초당 수천 해시에 그치지만 GPU는 그보다 훨씬 빠릅니다.
감사 계획 시 주요 고려사항:
- 비밀번호 길이와 엔트로피가 크래킹 시간을 결정합니다. 8자 소문자 이하는 몇 분 만에 크래킹되지만 특수문자 포함 12자 이상은 브루트포스가 비현실적입니다.
- ZIP 구조 덕분에 압축 해제 없이 해시를 추출할 수 있어 원본 데이터 무결성을 유지합니다.
- 사용자 정의 규칙(
--rules)은 접두사, 접미사, 치환 등을 통해 사전 변이를 생성해 대상 감사에서 성공률을 높입니다. - 항상 아카이브에 대한 합법적 액세스 권한을 확인하세요. 이 도구들은 본인 데이터나 소유자 서면 동의 하에 시스템 감사용입니다.
주요 포인트
- zip2john은 비밀번호를 크래킹하지 않습니다. 아카이브 메타데이터에서 암호화 해시를 추출해 후속 처리에 사용합니다.
- 로컬 크래킹은 온라인 복구 서비스의 데이터 유출 위험을 피합니다.
- OpenCL john 빌드의 GPU 지원은 AES-256과 긴 비밀번호에 필수입니다.
--show플래그와john.pot파일은 세션을 관리하고 재계산 없이 결과를 검색합니다.- 사전 공격 성공은 단어 목록 품질과 사례별 변이 규칙에 달려 있습니다.
— Editorial Team
아직 댓글이 없습니다.