9.5 KiB
{% hint style="success" %}
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する: HackTricks Training GCP Red Team Expert (GRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 DiscordグループまたはTelegramグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
Wasm逆コンパイルとWatコンパイルガイド
WebAssemblyの領域では、逆コンパイルとコンパイルのためのツールが開発者にとって不可欠です。このガイドでは、**Wasm (WebAssemblyバイナリ)およびWat (WebAssemblyテキスト)**ファイルを扱うためのオンラインリソースとソフトウェアを紹介します。
オンラインツール
- WasmをWatに逆コンパイルするには、Wabtのwasm2watデモが便利です。
- WatをWasmにコンパイルするには、Wabtのwat2wasmデモが役立ちます。
- 別の逆コンパイルオプションはweb-wasmdecで見つけることができます。
ソフトウェアソリューション
- より堅牢なソリューションとして、PNF SoftwareのJEBが広範な機能を提供します。
- オープンソースプロジェクトwasmdecも逆コンパイルタスクに利用可能です。
.Net逆コンパイルリソース
.Netアセンブリの逆コンパイルは、以下のツールを使用して実行できます。
- ILSpyは、Visual Studio Code用のプラグインも提供しており、クロスプラットフォームでの使用が可能です。
- 逆コンパイル、修正、および再コンパイルを含むタスクには、dnSpyが強く推奨されます。メソッドを右クリックしてModify Methodを選択することで、コードの変更が可能です。
- JetBrainsのdotPeekも.Netアセンブリの逆コンパイルのための別の選択肢です。
DNSpyによるデバッグとロギングの強化
DNSpyロギング
DNSpyを使用してファイルに情報をログするには、以下の.Netコードスニペットを組み込みます。
%%%cpp using System.IO; path = "C:\inetpub\temp\MyTest2.txt"; File.AppendAllText(path, "Password: " + password + "\n"); %%%
DNSpyデバッグ
DNSpyを使用した効果的なデバッグのためには、デバッグのためにAssembly属性を調整する一連の手順が推奨され、デバッグを妨げる可能性のある最適化が無効にされます。このプロセスには、DebuggableAttribute
設定の変更、アセンブリの再コンパイル、および変更の保存が含まれます。
さらに、IISによって実行される.Netアプリケーションをデバッグするには、iisreset /noforce
を実行してIISを再起動します。デバッグのためにDNSpyをIISプロセスにアタッチするには、DNSpy内でw3wp.exeプロセスを選択し、デバッグセッションを開始するように指示します。
デバッグ中に読み込まれたモジュールの包括的なビューを得るためには、DNSpyのModulesウィンドウにアクセスし、すべてのモジュールを開いてアセンブリをソートして、ナビゲーションとデバッグを容易にすることが推奨されます。
このガイドは、WebAssemblyと.Net逆コンパイルの本質を要約し、開発者がこれらのタスクを容易にナビゲートできる道筋を提供します。
Java逆コンパイラ
Javaバイトコードを逆コンパイルするために、これらのツールが非常に役立ちます:
DLLのデバッグ
IDAを使用
- Rundll32は、64ビットおよび32ビットバージョンの特定のパスからロードされます。
- Windbgがデバッガとして選択され、ライブラリのロード/アンロード時に一時停止するオプションが有効になります。
- 実行パラメータにはDLLパスと関数名が含まれます。この設定により、各DLLのロード時に実行が停止します。
x64dbg/x32dbgを使用
- IDAと同様に、rundll32はコマンドラインの修正を加えてDLLと関数を指定してロードされます。
- DLLエントリでブレークするように設定が調整され、希望するDLLエントリポイントでブレークポイントを設定できます。
画像
- 実行停止ポイントと設定はスクリーンショットを通じて示されています。
ARM & MIPS
- エミュレーションには、arm_nowが便利なリソースです。
シェルコード
デバッグ技術
- Blobrunnerとjmp2itは、メモリにシェルコードを割り当て、Idaまたはx64dbgでデバッグするためのツールです。
- Blobrunner リリース
- jmp2it コンパイル版
- CutterはGUIベースのシェルコードエミュレーションと検査を提供し、ファイルとしてのシェルコード処理と直接シェルコード処理の違いを強調します。
デオブフスケーションと分析
-
scdbgはシェルコード関数とデオブフスケーション機能に関する洞察を提供します。 %%%bash scdbg.exe -f shellcode # 基本情報 scdbg.exe -f shellcode -r # 分析レポート scdbg.exe -f shellcode -i -r # インタラクティブフック scdbg.exe -f shellcode -d # デコードされたシェルコードをダンプ scdbg.exe -f shellcode /findsc # 開始オフセットを見つける scdbg.exe -f shellcode /foff 0x0000004D # オフセットから実行 %%%
-
シェルコードの逆アセンブルにはCyberChefを使用: CyberChefレシピ
Movfuscator
- すべての命令を
mov
に置き換えるオブフスケータです。 - 有用なリソースにはYouTubeの説明とPDFスライドがあります。
- demovfuscatorはmovfuscatorのオブフスケーションを逆転させる可能性があり、
libcapstone-dev
とlibz3-dev
の依存関係が必要で、keystoneをインストールする必要があります。
Delphi
- Delphiバイナリには、IDRが推奨されます。
コース
{% hint style="success" %}
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する: HackTricks Training GCP Red Team Expert (GRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 DiscordグループまたはTelegramグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。