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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
sharem — SHAREMはシェルコード解析フレームワークであり、45,000以上のWinAPIと事実上すべてのWindowsシステムコールをエミュレートできます。また、独自のカスタム逆アセンブラを搭載しており、エンコードされたシェルコードの難読化解除された逆アセンブリ表示や、エミュレーションデータを統合して逆アセンブリを強化するなど、多くの革新的な機能を備えています。 | Kitploit
ツール/GitHubGitHub/bw3ll/sharem
動的分析 (サンドボックス)リバースエンジニアリングシェルコードデバッガファジングマルウェア分析バイナリ解析AIセキュリティ
GitHubbw3ll/sharem

sharem

SHAREMはシェルコード解析フレームワークであり、45,000以上のWinAPIと事実上すべてのWindowsシステムコールをエミュレートできます。また、独自のカスタム逆アセンブラを搭載しており、エンコードされたシェルコードの難読化解除された逆アセンブリ表示や、エミュレーションデータを統合して逆アセンブリを強化するなど、多くの革新的な機能を備えています。

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

人気

すべて見る →

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

すべてのツールを探索

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

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

SHAREM

SHAREMへようこそ!

SHAREMは、DEFCON 31の「Game-Changing Advances in Windows Shellcode Analysis」およびBlack Hat USA Arsenalで発表されました。Max Kersten氏の好意により、TrellixからGhidraプラグイン(別途)が提供されています。これにより、必要に応じてSHAREMの機能をGhidraに拡張できます。

SHAREMは、究極のWindowsシェルコードツールを目指して設計されており、45,000以上のWinAPIのエミュレーション、事実上すべてのユーザーモードWindowsシステムコールをサポートし、多数の新機能を提供します。SHAREMには、エミュレータ、逆アセンブラ、タイムレスデバッグ、ブルートフォースによる難読化解除、その他多くの機能が含まれています。SHAREMのエミュレータは、完全な構造体(または構造体内の構造体)を表示することもでき、エンコードされたシェルコードが自身を難読化解除できるようにします。SHAREMは、分析されたすべてのWinAPIおよびWindowsシステムコールからの出力をログに記録し、それぞれを多数のカテゴリとサブカテゴリに分類します。SHAREMの完全なコードカバレッジにより、到達不可能な機能を発見することもできます。

SHAREMの逆アセンブラは、発見された関数を逆アセンブリに統合し、それぞれにラベルを付けることができます。また、SHAREMはエンコードされたシェルコードの復号化された形式を逆アセンブラに表示するため、シェルコードをデバッグする必要はありません。

SHAREMの使用方法に関する説明情報を提供するSHAREM Wikiを作成しましたが、現在文書化されていない部分や機能も多くあります。SHAREMは2年間にわたって複数の人物によって開発されてきました。SHAREMの逆アセンブラは、主要な逆アセンブラよりも大幅に正確です。さらに、SHAREMはエミュレーションデータを逆アセンブラに統合できるため、ほぼ完璧な逆アセンブリを取得できます。

SHAREMはリリースされたばかりであるため、こちらのドキュメントはやや不十分であることにご注意ください。今後数週間で、GitHubにさらに多くの情報を追加する予定です。

SHAREMを初めて使用される方は、その機能の一部を紹介する短いデモビデオをご覧ください。画像をクリックするとデモが表示されます: 動画を見る

最近のアップデート

2026年3月:SHAREMは起動時に最大61のDLLを読み込みますが、最新のアップデートにより、369のDLLと45538の固有WinAPIをサポートできるようになりました。さらに、DLLは必要に応じてオンデマンドで読み込まれます。Windows内部機能(モジュールリスト、フリンク、ブリンクなど)は、LoadLibraryAなどを介して追加のDLLを読み込む必要がある場合に自動的に更新されます。機能を改善するためのその他の多数のアップデートがあります。インストールの課題に関して報告されたいくつかの問題を合理化するための変更が加えられました。

2026年3月22日:ループ脱出のロジックがより微調整されました。この多くが書き直され、再テストされました。この機能を使用する場合、一般的にはconfig.cfgのデフォルトを変更しないことをお勧めします。

2024/2025:SHAREMはオプションでAIを活用して結果を分析できます(OpenAIキーはユーザー提供)。SHAREMは最近のAIの進歩より前に作られており、AIの使用はSHAREMの初期分析が完了した後にのみ行われます。このオプション機能により、見つかったものを調査し、MITRE ATT&CKフレームワークなどに適用できます。

インストール手順

Windows

SHAREMはローカルのPythonパッケージとしてインストールされるため、他のプロジェクトからアクセスできます。これにより、SHAREMの一部をインポートできます。そのため、パッケージとしてインストールする必要があります。注意:いくつかのインストールの問題の報告を聞いています。最近の変更でこの問題が修正されることを願っています。

  1. SHAREMのインストールにはGitが必要です。 https://git-scm.com/download/win からインストールできます。インストール後、コンピュータを再起動してSHAREMのインストールを続行してください。GitはWindows SSDeepのインストールを自動化するためのものです。手動で行い、.batファイルを修正してSSDeepを除外することもできます(自分で行う場合)。手動でインストールすればGitは不要です。Windowsでは、以前のバージョンのインストール問題を修正したBw3llアカウントのSSDeepフォークに移行しています。このバージョンと以前のバージョンはSSDeepのラッパーでした。

  2. .batファイルを実行します。setup.pyファイルを呼び出します。Pythonの呼び出し方によっては、別の.batファイルを呼び出すか、非標準のものを使用している場合は少し修正する必要があるかもしれません。

  3. 次のコマンドを実行します: py -m pip list または python3 -m pip list SHAREMがローカルパッケージとしてインストールされていることを確認します。動作するにはパッケージとしてインストールされている必要があります。表示されない場合はどうすればよいですか?その場合、パッケージとしてインストールされておらず、SHAREMは動作しません。インストーラディレクトリからWindowsコマンドプロンプトで.batファイルを使用していることを確認してください。うまくいかない場合は、エラーメッセージを探してください。エラーがあれば修正してみてください。数回試しても問題が解決しない場合は、問題を報告し、この情報をすべて含めてください。そうすれば問題を特定できます。通常はこれを行う必要はありませんが、時々必要になることがあります。一度アンインストールして再度インストールする場合は、インストールスクリプトを再度実行する必要があるかもしれません。py -m pip listを実行したときにsharemが表示されれば、ローカルパッケージとして正しくインストールされています。

SHAREMのインストール後、初めてシェルコードを実行するときは、sharem_cliフォルダ内にいる必要があります。例えば、そのディレクトリにいるときにpy main.py -r32 shellcode.binを実行できます。シェルコードがありませんか?問題ありません。私が別のリポジトリでホストしているシェルコードサンプルリポジトリにいくつかのサンプルがあります。

注意:Windowsで初めてシェルコードのエミュレーションを試みると、Windows DLLの収集と展開が自動的に行われます。このプロセスは最初のエミュレーション試行時に自動的に開始されます。DLLをコピーし、コピーした(後に展開された)DLLをSHAREMディレクトリに移動します。追加の手順もありますが、この初期プロセス全体には数分、古いCPUの場合は10〜15分かかることがあります。完了後は、この作業を再度行う必要はありません。この処理は32ビットと64ビットのシェルコードで別々に行う必要があります。sharem/sharem/sharem/sharem/DLLs/x86に移動すると、DLLがゆっくりと表示されるのを確認できます。これらはOSから取得され、OSが行うであろう動作をエミュレートするように変更され、このディレクトリに保存されます。約60個以上あります。その数くらいのDLLが表示され、追加のDLLが保存されていない場合は、スタックしている可能性があります。その場合はEnterキーをもう一度押してください。それでもダメな場合は、再起動してエミュレーションを再度試してください。DLLが保存されれば、再度行う必要はありません。最初の1回だけ、CPU速度によっては時間がかかる場合があります。完了すると、さまざまなWinAPIやWindowsシステムコールの列挙などのエミュレーション結果が表示されるはずです。

ファイルの拡張子が.txtの場合、シェルコードは16進数のASCII表現(純粋な16進数ではなく)であると見なされ、そのように解釈されます。これはオンラインで見つかるものに適しています。16進数のASCII表現を使用する場合、ファイル名の末尾を.txtにすることが必須です。

Linux

  1. chmod +x linux_installer.sh インストーラの実行を有効にする
  2. sudo ./linux_installer.sh インストーラを実行する
  3. DLLファイルを追加する

Windows DLLファイルを追加する必要があります。現在、Linuxユーザー向けに別途ダウンロードは提供していません。現時点では、ユーザーはWindows経由でインストールして収集する必要があります。(注意:これらのDLLはSHAREMによって展開される必要があります。展開されていないDLLは使用できません。適切な量だけ展開されていない場合、ほとんど(すべてではないにしても)は失敗します。)後日、別途ダウンロードを提供する可能性があります。それまでの間、ユーザーはWindowsの手順に従ってDLLを生成し、Linuxに移動して、sharem\sharem\sharem\DLLs\x64およびsharem\sharem\sharem\DLLs\x86に配置できます。また、foundDLLAddresses32.jsonとFoundDLLAddresses64.jsonも必要です。これらはsharem\sharem\sharemに配置する必要があります。

OpenAI

2024年にSHAREMはOpenAIのサポートを追加しました。これにより、AIを活用していくつかの分析タスクを自動化できます。メインメニューのA - 「leverage AI」から有効化できます。これを行うには、OpenAIキーが必要で、それをsharem/sharem/sharem/sharem/config.cfgにあるconfig.cfgファイルに設定する必要があります。さらに、AIを活用する前にシェルコードをエミュレートする必要があります。現時点ではこれがAIを使用する唯一の方法です(ヘッドレスでは動作しません)。ただし、ヘッドレスでの使用が必要な場合は、問題を報告してください。configから選択できる別のオプションとしてサポートを追加します。すでにSHAREMをインストールしていて更新版を入手した場合は、OpenAIを手動でインストールすることをお勧めします(例:pip install openai)。初期インストールスクリプトを実行するときにアクティブ化されるsetup.pyファイルの要件にも追加しました。

Ghidra Script

Max Kersten氏の優れたGhidra Script(2023年8月のBlack HatおよびDEFCONで展示)はこちらにあります:https://github.com/advanced-threat-research/GhidraScripts/blob/main/Sharem.java Max氏の説明の一部はこちら:https://github.com/advanced-threat-research/GhidraScripts/ このGhidraプラグインはTrellixから提供されています!SHAREMの使用は依然として必要です。このプラグインはSHAREMが生成したJSON出力を取り込み、Ghidraで使用できる形式に変換します。Max氏自身の詳細はhttps://maxkersten.nl/をご覧ください。

ドキュメント

ドキュメントはSHAREM Wikiにあります。SHAREMの使用方法に関する説明情報を提供していますが、現在文書化されていない部分や機能も多くあります。

更新履歴

  • 2022年9月29日:numpyに関するsetup.pyの非常に小さな更新を行いました。最新バージョンのPythonを使用している一部のユーザーに影響する可能性があります。
  • 2022年11月25日:長い間待たれていましたが、ShellWaspスタイルのシステムコールをサポートするためにいくつかの変更を加えました。以前にシステムコールのサポートを実装していましたが、ShellWaspスタイルは動作せず、ハードコードされたSSN(システムコール値)のみが機能していました。OSMajorVersion、OSMinorVersion、OSBuildが32ビットおよび64ビット用に初期化されました。configまたはUIでユーザーが設定したOSバージョンが内部で反映されるようになりました。例えば、Windows 10 20H2を選択すると、正しい値が設定され、ShellWaspテクニックが動作するようになります(このサンプル出力で示されています)。現在、ShellWaspテクニックのエミュレーションをサポートしているのはWindows 7、10、11のみです。
  • 2022年11月29日:Windows 10および11用の新しいOSBuild(22H2)のエミュレーションサポートを追加しました。これはWindowsシステムコールのエミュレーションに関連する場合のみです。多くのマイナーバグ修正と品質向上。SHAREMをシェルコード(主な焦点)に使用する場合とPEファイルの分析に使用する場合の機能の区別を改善しました。
  • 2022年12月1日:bins/ASCIIの出力デフォルトファイルの場所をlogsに変更しました。このコマンドで難読化解除されたbins/ASCIIを出力する機能を追加しました。難読化解除されたASCIIがログに追加されました。binのASCIIもログから欠落しているように見えましたが、修正されました。
  • 2022年12月29日:スタックのオプションのタイムレスデバッグ機能を追加しました。以前は、タイムレスデバッグは実行された命令と前後のレジスタ値のみをキャプチャしていました。現在は、ESPから±0xA0を表示できます。残念ながら、少し遅いです。これは別途有効化する必要があります。さらに、ループからの脱出に関して誤った結果を招くいくつかのバグを発見しました。場合によってはエミュレーションが早期に終了する原因となっていました。これを修正しました。また、SHAREMがループから脱出したときに、どこに移動するかを示す出力を追加しました。
  • 2023年1月4日:完全なコードカバレッジを大幅に改良し、パフォーマンスを向上させました。また、エキスパートユーザーがUIまたは設定ファイルを介してケースバイケースで調整できるいくつかのオプション機能を公開しました。詳細は完全なコードカバレッジのWikiページをご覧ください。
  • 2023年1月5日:エミュレータメニューから完全なコードカバレッジサブメニューへのキーストロークショートカットを追加しました。昨日更新をダウンロードした方には、キーストロークは「o」です。
  • 2023年1月16日:生成される逆アセンブリJSONファイルに3つの新しいフィールドを追加しました。この更新は、これらのJSONを使用しない方(SHAREMの非標準的な使用方法)には不要です。
  • 2023年8月3日:約30の追加DLLから約5000〜6000のAPIを追加しました。その他の機能強化。
  • 2024/2025:SHAREMはオプションでAIを活用して結果を分析できます(OpenAIキーはユーザー提供)。SHAREMは最近のAIの進歩より前に作られており、AIの使用はSHAREMの初期分析が完了した後にのみ行われます。このオプション機能により、見つかったものを調査し、MITRE ATT&CKフレームワークなどに適用できます。
  • 2026年3月:SHAREMは起動時に最大61のDLLを読み込みますが、最新のアップデートにより、369のDLLと45538の固有WinAPIをサポートできるようになりました。機能を改善するためのその他の多数のアップデートがあります。インストールの課題に関して報告されたいくつかの問題を合理化するための変更が加えられました。
  • 2026年3月22日:ループ脱出のロジックがより微調整されました。

スクリーンショット

SHAREMは非常に強力なフレームワークであり、多くの機能を備えています。その一部は十分に文書化されていますが、そうでないものもあります。このセクションでは、それらの機能の一部をご紹介します。

SHAREMはエンコードされたシェルコードをエミュレーションによって難読化解除できます。すべてのWinAPIまたはシステムコール情報をキャプチャするだけでなく、逆アセンブラで表示することを選択すると、シェルコードの復号化された形式が表示されます:

image

SHAREMは12,000以上のWinAPI関数を列挙できるだけでなく、事実上すべてのユーザーモードWindowsシステムコールも同様に処理できます。さらに、一部の関数では構造体情報を表示します。レジストリを扱う場合、レジストリ情報を抽出してレジストリマネージャに追加します:

image

SHAREMは、UrldownloadToFileAを介してファイルが存在する場合にダウンロードする機能も備えています。これらはエミュレータのメモリにダウンロードされ、ディスクには保存されません。成功した場合、ハッシュをキャプチャします。また、限定的な擬似ファイルシステムがあり、例えばファイルが別のものとしてダウンロードされ、別の名前に変更されるといった関連性を確認できます。必要なダウンロードが利用できない場合は、単にダウンロード成功としてシミュレーションされます。ライブダウンロードはconfigで有効または無効にできるオプションです。

image

共同著者および貢献者

Dr. Bramwell Brizendine, Austin Babcock, Jake Hince, Shelby VandenHoek, Sascha Walker, Evan Read, Dylan Park, Kade Brost, James Tate Forcella, William Lochte, Hunter Murphy, and Tarek Abdelmotaleb.

謝辞

本研究および一部の共同著者は、NSA助成金H98230-20-1-0326の支援を受けています。

ツールをダウンロード