Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
hashdb — マルウェアで使用されるハッシュアルゴリズムの詰め合わせ | Kitploit
ツール/GitHubGitHub/oalabs/hashdb
静的分析ハッシュ分析リバースエンジニアリングマルウェア分析バイナリ解析
GitHuboalabs/hashdb

hashdb

マルウェアで使用されるハッシュアルゴリズムの詰め合わせ

リポジトリを見る
405746ヶ月前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
overview_hashdb

AWS Deploy Chat Support

HashDB

HashDBは、マルウェアで使用されるハッシュアルゴリズムのコミュニティ提供ライブラリです。

HashDBの使い方

HashDBはスタンドアロンのハッシュライブラリとして使用できますが、OALabsが運営するHashDB Lookup Serviceにもデータを提供しています。このサービスにより、アナリストはハッシュをリバースして、ハッシュ化されたAPI名や文字列値を取得できます。

スタンドアロンモジュール

HashDBはクローンして、標準的なPythonモジュールと同じようにリバースエンジニアリングスクリプトで使用できます。以下にサンプルコードを示します。

root@kitploit:~
>>> import hashdb
>>> hashdb.list_algorithms()
['crc32']
>>> hashdb.algorithms.crc32.hash(b'test')
3632233996

HashDB Lookup Service

OALabsは無料のHashDB Lookup Serviceを運営しており、HashDBライブラリに掲載されている任意のハッシュをハッシュテーブルで照会できます。ハッシュテーブルには、Windows APIの完全なセットと、マルウェアで使用される一般的な文字列が多数含まれています。独自の文字列を追加することもできます!

HashDB IDAプラグイン

HashDB Lookup ServiceにはIDA Proプラグインがあり、IDAから直接ハッシュルックアップを自動化できます! クライアントはGitHubこちらからダウンロードできます。

新しいハッシュの追加方法

HashDBは、ハッシュライブラリを最新に保つためにコミュニティのサポートに依存しています! 目標は、コントリビューターが最初のコミットからPRまで、新しいハッシュの追加に5分以内しか費やさないことです。この目標を達成するために、以下の合理化されたプロセスを提供しています。

  1. ハッシュアルゴリズムが既に存在しないことを確認してください…馬鹿らしいと思うかもしれませんが、念のため再確認してください。

  2. 説明的な名前でブランチを作成します。

  3. ハッシュアルゴリズムの名前を付けた新しいPythonファイルを/algorithmsディレクトリに追加します。アルゴリズムの正式名を使用するようにしてください。固有のアルゴリズムの場合は、そのアルゴリズムが固有であるマルウェアの名前を使用してください。

  4. 次のテンプレートを使用して新しいハッシュアルゴリズムをセットアップします。すべてのフィールドは必須で、大文字と小文字が区別されます。

    root@kitploit:~
    #!/usr/bin/env python
    
    DESCRIPTION = "your hash description here"
    # Type can be either 'unsigned_int' (32bit) or 'unsigned_long' (64bit)
    TYPE = 'unsigned_int'
    # Test must match the exact hash of the string 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
    TEST_1 = hash_of_string_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
    
    
    def hash(data):
        # your hash code here
    
  5. Pythonスタイルを再確認してください。Python 3.9でFlake8を使用しています。gitリポジトリのルートから、以下のlintコマンドをローカルで試すことができます。

    root@kitploit:~
    pip install flake8
    flake8 ./algorithms --count --select=E9,F63,F7,F82 --show-source --statistics
    
  6. テストスイートを使用してコードをローカルでテストします。gitリポジトリのルートから、以下のコマンドをローカルで実行します。pytestは直接実行するのではなくモジュールとして実行する必要があることに注意してください。そうしないとテストディレクトリが認識されません。

    root@kitploit:~
    pip install pytest
    python -m pytest
    
  7. プルリクエストを発行します — 新しいアルゴリズムは自動的にテスト用のキューに入り、成功すればマージされます。

これで完了です! 新しいハッシュがHashDBライブラリで利用できるようになるだけでなく、HashDB Lookup Service用の新しいハッシュテーブルも生成され、すぐにハッシュのリバースを開始できます!

❗新しいハッシュのルール

/algorithmsディレクトリ外の変更を含むPRは、自動化されたCIの対象外であり、追加の精査を受けます。

すべてのハッシュは、DESCRIPTIONフィールドに有効な説明が必要です。

すべてのハッシュは、TYPEフィールドにunsigned_intまたはunsigned_longのいずれかの型が必要です。HashDBは現在、符号なし32ビットまたは64ビットのハッシュのみを受け付けています。

すべてのハッシュは、TEST_1フィールドに文字列__ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__のハッシュが必要です。

すべてのハッシュには、バイト文字列を受け取り、文字列のハッシュを返す関数hash(data)を含める必要があります。

カスタムAPIハッシュの追加

一部のハッシュアルゴリズムは、モジュール名とAPIを個別にハッシュし、それらのハッシュを組み合わせて単一のモジュール+APIハッシュを作成します。この例としては、標準のMetasploit ROR13ハッシュがあります。これらのアルゴリズムは標準のワードリストでは機能せず、モジュール名とAPIの両方を含むカスタムワードリストが必要です。これらに対処するために、一部の単語に対してのみ有効なハッシュを返すカスタムアルゴリズムを許可しています。

カスタムAPIハッシュを追加するには、以下の追加コンポーネントが必要です。

  1. TEST_1フィールドは4294967294 (-1)に設定する必要があります。

  2. ハッシュアルゴリズムは、無効なハッシュすべてに対して値4294967294を返す必要があります。

  3. アルゴリズムに対して有効なサンプルワードを指定した追加のTEST_API_DATA_1フィールドを追加する必要があります。

  4. TEST_API_DATA_1フィールドのハッシュを指定した追加のTEST_API_1フィールドを追加する必要があります。

巨人の肩の上に立つ

FLAREチームのshellcode_hashesへの取り組みに大いに敬意を表します。何年も前に、このプロジェクトは迅速かつ簡単なマルウェアハッシュのリバースの基準を打ち立て、今でも非常に有用なツールです。では、なぜそれを複製するのでしょうか?

率直に言って、それはワードリストとアクセシビリティの問題です。現在、マルウェアではあらゆる種類の文字列にハッシュを使用するという劇的な変化が見られます。WindowsのDLLエクスポートをすべてハッシュする従来の方法ではもはや不十分です。私たちは、数百万のレジストリキーと値、ファイル名、プロセス名を継続的に処理できるソリューションを求めていました。そして、静的解析ツールだけでなく自動化ワークフローでも使用できるように、REST APIを介してそのデータを利用できるようにしたいと考えていました。とはいえ、shellcode_hashesがなければ私たちは存在しなかったので、当然の功績は称えられるべきです🙌


ツールをダウンロード