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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
Uchihash — 악성코드에 포함된 해시를 처리하는 작은 유틸리티입니다. | Kitploit
도구/GitHubGitHub/n1ght-w0lf/uchihash
Hash AnalysisReverse EngineeringScripting & AutomationMalware AnalysisBinary Analysis
GitHubn1ght-w0lf/uchihash

Uchihash

악성코드에 포함된 해시를 처리하는 작은 유틸리티입니다.

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

Uchihash

Uchihash는 악성코드 분석가들이 임베디드 해시 값을 처리하는 데 드는 시간을 절약해 주는 작은 도구입니다. 이러한 해시 값은 다음과 같은 다양한 용도로 사용됩니다:

  • API 동적 임포트 (특히 셸코드에서)
  • 분석가가 사용하는 실행 중인 프로세스 확인 (안티-분석)
  • VM 또는 안티바이러스 아티팩트 확인 (안티-분석)

특징

  • 표준 알고리즘 또는 사용자 정의 해싱 알고리즘을 사용하여 해시 생성.
  • 분석 데이터베이스에서 해시 값을 주석 처리하기 위한 스크립트(IDC, IDAPython, Ghidra) 생성.
  • 해시맵 생성 및 해시 값 검색.

설치

root@kitploit:~
$ git clone https://github.com/N1ght-W0lf/Uchihash.git
$ pip install -r requirements.txt

사용법

root@kitploit:~
usage: uchihash.py [-h] [--algo ALGO] [--apis] [--keywords] [--list LIST] [--script SCRIPT] [--search SEARCH]
                   [--hashes HASHES] [--idaidc] [--idapython]

options:
  -h, --help       도움말 메시지 출력 후 종료
  --algo ALGO      해싱 알고리즘
  --apis           API의 해시 계산
  --keywords       키워드의 해시 계산
  --list LIST      사용자 단어 목록의 해시 계산
  --script SCRIPT  사용자 정의 해싱 알고리즘을 포함한 스크립트 파일
  --search SEARCH  해시가 단어에 매핑된 JSON 파일 검색
  --hashes HASHES  검색할 해시 목록이 포함된 파일
  --idaidc         IDA Pro에서 해시 값을 주석 처리하는 IDC 스크립트 생성
  --idapython      IDA Pro에서 해시 값을 주석 처리하는 IDAPython 스크립트 생성
  --ghidra         Ghidra에서 해시 값을 주석 처리하는 파이썬 스크립트 생성

Examples:
    * python uchihash.py --algo crc32 --apis
    * python uchihash.py --algo murmur3 --list mywords.txt
    * python uchihash.py --script myalgo.py --apis --idapython
    * python uchihash.py --search hashmap.txt --hashes myhashes.txt

참고 사항

  • --algo: 사용 가능한 해싱 알고리즘 중 하나

  • --apis: 광범위한 Windows API 목록 해싱 (data/apis_list.txt 참조)

  • --keywords: 분석 도구, VM/안티바이러스/EDR 아티팩트 등 악성코드 계열에서 흔히 사용되는 일반 키워드 목록 해싱 (data/keywords_list.txt 참조)

  • --list: 단어는 개행으로 구분됨 (examples/mywords.txt 참조)

  • --script: 해싱 함수는 hashme로 불려야 하며, 해시를 계산할 값을 나타내는 바이트 문자열을 하나의 인자로 받고 반환값은 16진수 형식이어야 함 (examples/custom_algo.txt 참조)

  • --search: 검색할 파일은 JSON 형식이어야 함 (examples/searchme.txt 참조)

  • --hashes: 해시 값은 개행으로 구분되며 16진수 형식이어야 함 (examples/myhashes.txt 참조)

자세한 내용은 examples 폴더를 참조하세요.

사용 가능한 해싱 알고리즘

  • md4
  • md5
  • sha1
  • sha224
  • sha256
  • sha384
  • sha512
  • ripemd160
  • whirlpool
  • crc8
  • crc16
  • crc32
  • crc64
  • djb2
  • sdbm
  • loselose
  • fnv1_32
  • fnv1a_32
  • fnv1_64
  • fnv1a_64
  • murmur3

예제

실제 악성코드 계열을 예로 들어 보겠습니다. 이 경우 **BuerLoader**는 해시 값을 사용하여 API를 동적으로 임포트하며 사용자 정의 해싱 알고리즘을 사용합니다.

먼저 파이썬으로 해싱 알고리즘을 구현해야 합니다:

root@kitploit:~
def ROR4(val, bits, bit_size=32):
    return ((val & (2 ** bit_size - 1)) >> bits % bit_size) | \
           (val << (bit_size - (bits % bit_size)) & (2 ** bit_size - 1))
    
def hashme(s):
    res = 0
    for c in s:
        v3 = ROR4(res, 13)
        v4 = c - 32
        if c < 97:
            v4 = c
        res = v4 + v3
    return hex(res)

그런 다음 다음 명령을 사용하여 모든 API의 해시를 계산합니다:

root@kitploit:~
$ python uchihash.py --script custom_algo.py --apis --idapython

이 명령은 두 개의 파일을 생성합니다. 첫 번째 파일은 **"output/search_hashmap.txt"**로, 해시 값을 해당 API 이름에 다음과 같이 매핑합니다:

root@kitploit:~
{
  "0x8a8b468c": "LoadLibraryW",
  "0x302ebe1c": "VirtualAlloc",
  "0x1803b7e3": "VirtualProtect",
  "0xe183277b": "VirtualFree",
  "0x24e2968d": "GetComputerNameW",
  "0xab489125": "GetNativeSystemInfo",
  .......
}

두 번째 파일은 **"output/idapython_script.py"**로, IDA Pro에서 실행할 수 있으며 아래와 같이 IDB에 해시 주석을 추가합니다:

도구 다운로드