Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

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

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

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
HiveV5_file_decryptor — Hive v5 파일 복호화 알고리즘 | Kitploit
도구/GitHubGitHub/reecdeep/hivev5_file_decryptor
Encryption/Decryption ToolsReverse EngineeringData RecoveryMalware AnalysisCryptography
GitHubreecdeep/hivev5_file_decryptor

HiveV5_file_decryptor

Hive v5 파일 복호화 알고리즘

저장소 보기
34373년 전Kitploit 검토 완료

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

HiveV5 파일 복호화 PoC

소개

지난 몇 달간 수행된 작업은 Hive v5-5.2의 악성 파일 암호화 메커니즘을 밝혀내기 위해 필요했습니다. 작업은 두 부분으로 나뉘었습니다.

  1. 키스트림 복호화
  2. 복호화된 키스트림을 이용한 파일 복호화

훌륭하신 @rivitna 님께 이 몇 달간의 작업에 대한 지원, 대화, 조언에 감사드립니다! rivitna의 github에는 Hive 랜섬웨어 등에 관한 유용한 정보가 가득하니 꼭 확인해 보시기 바랍니다.

이 readme에서는 파일 복호화 알고리즘에 대한 몇 가지 정보를 찾을 수 있으며, 작동 방식에 대한 더 완전한 그림은 PoC를 참조하시기 바랍니다. 키스트림은 암호화된 평문(cleartext)입니다. 평문은 0xA00000 바이트 집합에 첫 0x2FFF00 바이트가 추가된 것으로, 총 0xCFFF00 바이트입니다. 이 바이트들은 2022년 7월에 공개된 첫 번째 파트에서 이미 논의된 취약한 알고리즘으로 생성되었습니다. 다음은 평문의 예입니다.

cleartext

이 문서에서 분석되고 참조된 Hive 샘플은 @rivitna가 작성한 이 목록에서 선택되었으며, 다시 한번 깊은 감사를 드립니다. 랜섬웨어의 복잡성을 이해하려면 Microsoft Threat Intelligence Center(MSTIC)에서 발행한 이 분석을 살펴보시기 바랍니다.

파일 암호화 알고리즘

평문(복호화된 키스트림)은 Hive 랜섬웨어가 각 파일을 암호화할 때 사용됩니다. 파일을 암호화할 때 Hive 랜섬웨어는 다음 공식에 따라 파일을 암호화하는 데 사용할 평문 내 정확한 위치(오프셋)를 참조하는 두 개의 정수를 계산합니다.

formula

여기서 c = i % 0x2FFF00, d = i % 0x2FFD00 이며, i는 바이트 카운터입니다.

암호화된 파일 확장자

파일을 쓰기 전의 사전 작업은 다음과 같습니다.

  • MoveFileExW를 사용하여 파일 이름을 바꾸고 확장자를 변경합니다.
  • 위에 표시된 xor 연산 결과로 이름이 바뀐 파일을 작성합니다.

file_extension

이 경우에도 평문은 핵심적인 역할을 합니다. 실제로 평문은 다음 용도로 사용됩니다.

  1. 해시 함수를 사용하여 키스트림 ID(처음 6바이트)를 결정합니다.
  2. 평문에서 바이트를 추출하는 데 사용되는 위치(오프셋)를 암호화합니다. 단, 첫 번째 오프셋은 평문의 고정된 위치를 사용하여 암호화되며 Hive 5/5.1/5.2 샘플마다 다릅니다. 일종의 마법 값입니다. 많은 Hive 5/5.1 아티팩트에서 이 마법 값은 메모리 참조 내부에 명시적으로 표시됩니다(예: 0x98072A).

off1

또는 이 경우 0x7539D:

off2

그러나 다음 증거에서는 for 루프가 약간 다르며, 우리가 식별해야 하는 마법 값을 명시하지 않도록 작성되었습니다. 이는 Hive 5.2에 속하는 아티팩트에 관한 것입니다.

off3

이 경우 공개된 도구에 포함된 오프셋 무차별 대입 기능을 사용할 수 있으며, 알려진 확장자를 가진 파일과 해당 복호화된 키스트림을 사용합니다. 암호화된 파일의 헤더와 암호화되지 않은 파일의 헤더를 사용하면 복호화기가 파일 복호화를 시작해야 하는 오프셋이 무엇인지 알 수 있습니다.

파일 암호화 모드는 0xFB 또는 0xFF 두 가지 값을 가질 수 있습니다.

  • 0xFB는 랜섬웨어가 파일의 어떤 부분도 암호화되지 않은 상태로 남기지 않고 전체 파일을 암호화했음을 의미합니다.
  • 0xFF는 랜섬웨어가 각 파일에 대해 NCB(암호화되지 않은 블록)를 계산하고 0x100000 바이트 블록을 암호화했음을 의미합니다. 암호화되지 않은 블록의 크기 계산 및 평문 오프셋에 대한 자세한 내용은 PoC 코드를 참조하시기 바랍니다.

사용법

이 프로그램은 두 가지 옵션을 제공합니다.

usage

  1. 복호화된 키스트림을 사용한 파일 복호화. 파일을 암호화한 샘플에 존재하는 특수 오프셋을 입력해야 합니다.
  2. 알려진 헤더(PDF, JPG, PNG, Office 파일)를 가진 파일이 주어지면 첫 번째 바이트를 복호화하고 알려진 시그니처와 일치하는지 찾아 특수 오프셋의 가능한 값을 무차별 대입합니다.

참고 자료

https://github.com/rivitna/Malware/blob/main/Hive/Hive_samples.txt

도구 다운로드