Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Simple-Sweet32 — 생일 역설에 기반한 암호화 공격의 간소화된 버전: Sweet32 (CVE-2016-2183) | Kitploit
도구/GitHubGitHub/zakyhermawan/simple-sweet32
Vulnerability AnalysisExploitationCryptographyPenetration TestingLearning & Education
GitHubzakyhermawan/simple-sweet32

Simple-Sweet32

생일 역설에 기반한 암호화 공격의 간소화된 버전: Sweet32 (CVE-2016-2183)

저장소 보기
3110개월 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Sweet32

이것은 Sweet32 공격(CVE-2016-2183)의 데모입니다: https://sweet32.info/

이 공격은 CBC 모드에서 3DES 및 Blowfish와 같이 작은 블록 크기(64비트)를 사용하는 암호화 알고리즘을 악용하는 생일 공격(birthday attack)의 예입니다. 이 공격은 알려진 평문을 포함한 많은 암호화 블록을 생성해야 합니다. 생성 후, 동일한 암호화 블록을 식별하고, 이들을 사용하여 알 수 없는 평문을 가진 블록의 평문 값을 식별할 수 있습니다.

이 구현은 암호화 알고리즘으로 **3DES(Triple DES)**를 사용하며, 64비트(8바이트) 블록 크기를 가집니다. 이는 실제 환경의 3DES가 Sweet32 공격에 취약한 바로 그 블록 크기입니다.

공격 공식 (Beastly Attack)

두 개의 암호문 블록이 충돌할 때 (c_i = c_j), 다음을 사용하여 알 수 없는 평문을 복구할 수 있습니다:

p_i = p_j ⊕ c_{i-1} ⊕ c_{j-1}

여기서:

  • p_i는 알 수 없는 평문입니다 (예: 비밀 쿠키)
  • p_j는 알려진 평문입니다 (예: HTTP 헤더)
  • c_{i-1} 및 c_{j-1}는 이전 암호문 블록입니다

이것은 CBC 모드에서 충돌이 블록 암호의 입력값이 동일하다는 것을 의미하므로, 암호화 키를 알지 못해도 XOR 복구가 가능하기 때문에 작동합니다.

빠른 데모

보장된 충돌을 이용해 데모를 실행합니다:

# Step 1: Generate encrypted packet with secret cookie
python generate_rigged_packets.py rigged_demo.bin

# Step 2: Execute the attack to recover the cookie
python sweet32.py --block-size 8 rigged_demo.bin

공격은 SECRET COOKIE 값을 표시한 다음, 암호문만을 사용하여 이를 복구합니다!

스크립트

generate_rigged_packets.py

시연 목적으로 보장된 충돌을 가진 패킷을 생성합니다. 쿠키 값은 알려진 평문 블록과 충돌하도록 제작됩니다.

sweet32.py

쿠키를 복구하기 위해 Sweet32 생일 공격을 실행합니다.

Sweet32에 대해

Sweet32 공격은 생일 역설을 악용합니다. 64비트 블록 암호의 경우:

  • 약 2^32 블록(~32GB 데이터) 이후에는 충돌이 발생할 가능성이 높아집니다
  • 두 암호문 블록이 충돌하면, 이를 XOR하면 평문들의 XOR이 드러납니다
  • 하나의 평문을 알고 있다면, 다른 하나를 복구할 수 있습니다

이로 인해 3DES(및 기타 64비트 블록 암호)는 장기간 유지되는 HTTPS 세션에서 취약해집니다.

통계

실제 3DES(64비트 블록)에 대한 Sweet32 공격의 경우:

블록 크기블록 크기패킷 수필요한 데이터블록 수
8바이트64비트~785GB~785GB~2^32 블록

실제 공격은 동일한 키로 암호화된 ~785GB의 데이터가 필요하므로, 주로 장기간 유지되는 HTTPS 연결에 영향을 미칩니다.

도구 다운로드