
/ |_ _ _ ___ | | / |___ __ | |_ ___ _ _ ___ | (/ _ \ ' (-</ _ \ / -) | (/ _ \ V V / '_ / _ \ || (-< __/||//_/_| __/_/_/|_./_/_, // |/ ___ ___ ___ _ ___ | _ \ / | _ __ _ | | || | / _| (| '/ ` / | / / ||_| ___|| _,_|_\
Welcome to RFCrack - A Software Defined Radio Attack Tool
Developer: @Ficti0n - http://ConsoleCowboys.com
CCLabs: http://cclabs.io
Blog: console-cowboys.blogspot.com
Release Tutorial: https://www.youtube.com/watch?v=H7-g15YZBiI
Reversing Signals With RFCrack: https://www.youtube.com/watch?v=XqKoVFyOst0
Release: 1.6 - Error Handling and Bug Fixes for Py3 and Bruijn generation code + updated Jamming Method
Hardware Needed: (1 Yardstick or 2 for RollingCode)
YardStick: https://goo.gl/wd88sr
RFCrack は私個人の RF テストベンチです。サブ GHz 帯域で通信するあらゆる物理デバイス(IoT デバイス、自動車、警報システムなど)の RF 通信をテストするために開発されました。OSX 上の Yardstick One でテストを行いましたが、RFCrack は Linux でも問題なく動作するはずです。その他の RF 関連テストのサポートは、必要に応じて追加していきます。現在はキーレスエントリーバイパスやその他の信号解析機能を研究中です。高度な攻撃のために追加のハードウェア要件が生じた場合、将来新しい機能が追加されるでしょう。
本ソフトウェアは個人使用に限り、現状のまま自由にご利用ください。このコードを他のプロジェクトや商用製品に使用しないでください。このコードを使用した行為に対して一切の責任を負いません。あなたの人生の選択はあなた自身のものです。
現在サポートされている機能:
---------------------------------
- リプレイ攻撃 -i -F
- 保存済みペイロードの送信 -s -u
- ローリングコードバイパス攻撃 -r -F -M
- ターゲット指定 -t -F
- ジャミング -j -F
- 周波数を段階的にスキャン -b -v -F
- 一般的な周波数のスキャン -k
- 受信中の信号と過去の信号を比較 -k -c -f -u
- 信号のグラフ化 -n -g -u
使用例 / 攻撃方法:
-------------------------
ライブリプレイ: python RFCrack.py -i
ローリングコード: python RFCrack.py -r -M MOD_2FSK -F 314350000
RSSI 値の調整: python RFCrack.py -r -M MOD_2FSK -F 314350000 -U -100 -L -10
ジャミング: python RFCrack.py -j -F 314000000
一般的な周波数をスキャン: python RFCrack.py -k
独自リストでスキャン: python RFCrack.py -k -f 433000000 314000000 390000000
段階的スキャン: python RFCrack.py -b -v 5000000
保存済みペイロード送信: python RFCrack.py -s -u ./captures/test.cap -F 315000000 -M MOD_ASK_OOK
設定ファイル読み込み: python RFCrack.py -l ./device_templates/doorbell.config -r
信号のグラフ化: python RFCrack.py -n -g -u 1f0fffe0fffc01ff803ff007fe0fffc1fff83fff07
ライブ信号識別と比較 (コンソールウィンドウを2つ使用):
-----------------------------------------------------------------
スニファーのセットアップ: python RFCrack.py -k -c -f 390000000
分析のセットアップ: python RFCrack.py -c -u 1f0fffe0fffc01ff803ff007fe0fffc1fff83fff07f -n
便利な引数:
------------------------
-M 変調方式の変更。通常は MOD_2FSK または MOD_ASK_OOK
-F 攻撃で使用する周波数を変更
-U ローリングコードの上部 RSSI 信号強度値
-L ローリングコードの下部 RSSI 信号強度値
-S チャンネル間隔を変更
-V 変調の偏差を変更
-a スニファーからのジャミング周波数の偏差
-s ファイルからパケットを送信
-d 攻撃完了後に現在のデバイス設定をロード可能なテンプレートとして保存
-l 以前保存したデバイス設定を攻撃時に読み込み
-n ヤードスティックを接続しなくても使用できる機能
-u 攻撃で保存済みデータを使用
ディレクトリの説明:
----------------------
保存されたキャプチャはデフォルトで ./captures ディレクトリに保存されます!
ライブ信号識別のキャプチャも ./captures ディレクトリ内の capturedClicks.log に保存されます。
デバイステンプレートはデフォルトで ./device_templates に保存・読み込みされます。
スキャンログはスキャン開始日時に基づいて ./scanning_logs に保存されます。
グラフ比較画像は imageOutput に2種類の形式で保存されます。
- ライブ: LiveComparison.png は信号解析ごとに上書きされます。
- ログ解析: Comparison1 Comparison2 形式で、ログ解析ごとに上書きされます。
その他の注意事項:
------------------------
ローリングコードは、ジャミングとスニッフィングを同時に行う性質上、成功するかどうかは運によりますが、動作します。ターゲットを尾行するかのように、ヤードスティックの近くでキーフォブを使用してください。また、ヤードスティックが2本必要です。1本はスニッフィング用、もう1本はジャミング用です。ヤードスティックは送信と受信を同時に行うことはできません。
最後に、これは私自身の研究開発用テストベンチです。RFCrack を現実的な使用例に基づいて改善するアイデアがあれば、お気軽にご連絡ください。アイデアが現実的で、よく考えられており、再利用可能なユースケースであれば、実装します。