
Universal Radio Hacker: ワイヤレスプロトコルをボスのように調査する

Universal Radio Hacker(URH)は、ワイヤレスプロトコル調査のための完全なスイートで、多くの一般的な__ソフトウェア定義ラジオ__をネイティブサポートしています。 URHは、信号の__簡単な復調__を可能にし、自動的な変調パラメータ検出と組み合わせることで、空中を飛び交うビットとバイトを簡単に識別できます。 データは送信前に_エンコード_されることが多いため、URHは__カスタマイズ可能なデコード__を提供し、CC1101データホワイトニングのような高度なエンコーディングにも対応します。 __プロトコルリバースエンジニアリング__に関して、URHは2つの方法で役立ちます。手動でプロトコルフィールドとメッセージタイプを割り当てるか、ルールベースのインテリジェンスを使用してURHに__自動的にプロトコルフィールドを推測__させることができます。 最後に、URHはステートレスプロトコル向けの__ファジングコンポーネント__と、ステートフル攻撃のための__シミュレーション環境__を含んでいます。
始めるには
URHが気に入ったら、このリポジトリに⭐を付け、Slackチャンネルに参加してください。ご支援ありがとうございます!
URHを使用する研究者は、この WOOT'18の論文を引用するか、以下のBibTeXエントリを直接使用することを推奨します。
@inproceedings {220562,
author = {Johannes Pohl and Andreas Noack},
title = {Universal Radio Hacker: A Suite for Analyzing and Attacking Stateful Wireless Protocols},
booktitle = {12th {USENIX} Workshop on Offensive Technologies ({WOOT} 18)},
year = {2018},
address = {Baltimore, MD},
url = {https://www.usenix.org/conference/woot18/presentation/pohl},
publisher = {{USENIX} Association},
}
URHはWindows、Linux、macOSで動作します。OS別のインストール手順は以下を参照してください。
Windowsでは、インストーラーを使用してURHをインストールできます。追加の依存関係は必要ありません。
api-ms-win-crt-runtime-l1-1-0.dllが欠落しているというエラーが発生した場合は、Windows Updateを実行するか、KB2999226を直接インストールしてください。
URHはPyPiで利用可能なので、例えばpipxでインストールできます:
pipx install urh
これはLinuxでURHをインストールする推奨方法です。なぜなら、__すべてのネイティブ拡張__が事前にコンパイルされているからです。
root以外のユーザーとしてSDRにアクセスするには、対応する__udevルール__をインストールしてください。wikiで見つけることができます。
URHは、Arch Linux、Gentoo、Fedora、openSUSE、__NixOS__など、多くのLinuxディストリビューションのリポジトリに含まれています。__FreeBSD__用のパッケージもあります。利用可能な場合は、パッケージマネージャーを使用してURHをインストールしてください。
注:ネイティブサポートを得るには、URHをインストールする__前に__、SDRの対応する-devパッケージ(例:hackrf-dev)をインストールする必要があります。
公式のURH Dockerイメージはこちらで入手できます。すべてのネイティブバックエンドが含まれており、すぐに使用できます。
こちらで入手可能なDMGを使用する場合は、__少なくともmacOS 13__を使用することを推奨します。
URHはhomebrew formulaとして利用可能なので、以下のコマンドでインストールできます:
brew install urh
インストールせずにUniversal Radio Hackerを実行するには、次のコマンドを実行します:
git clone https://github.com/jopohl/urh/
cd urh/src/urh
PYTHONPATH=.. ./main.py
注:初回使用前にC++拡張がビルドされます。
ソースからURHをインストールするには、python-setuptoolsがインストールされている必要があります。python3 -m pip install setuptoolsで入手できます。
setuptoolsがインストールされたら、以下を実行します:
git clone https://github.com/jopohl/urh/
cd urh
python setup.py install
そして、ターミナルでurhと入力してアプリケーションを起動します。
コミュニティが提供する外部デコードのリストについては、wikiを参照してください!ありがとうございます!