hacktricks/todo/hardware-hacking/radio.md

167 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# ラジオ
<details>
<summary><strong>htARTEHackTricks AWS Red Team Expert</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>を使って、ゼロからヒーローまでAWSハッキングを学ぶ</strong></a><strong></strong></summary>
HackTricksをサポートする他の方法
- **HackTricksで企業を宣伝したい**または**HackTricksをPDFでダウンロードしたい場合**は、[**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)をチェックしてください!
- [**公式PEASSHackTricksスウォッグ**](https://peass.creator-spring.com)を入手する
- [**The PEASS Family**](https://opensea.io/collection/the-peass-family)を発見し、独占的な[**NFT**](https://opensea.io/collection/the-peass-family)コレクションを見つける
- **Discordグループ**に**参加**する💬https://discord.gg/hRep4RUj7fまたは[**telegramグループ**](https://t.me/peass)に参加するか、**Twitter**で**フォロー**する🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**。**
- **HackTricks**https://github.com/carlospolop/hacktricksと[**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud)のGitHubリポジトリにPRを提出して、あなたのハッキングテクニックを共有してください。
</details>
## SigDigger
[**SigDigger**](https://github.com/BatchDrake/SigDigger)は、GNU/LinuxとmacOS用の無料のデジタル信号アナライザーで、未知の無線信号の情報を抽出するために設計されています。SoapySDRを介してさまざまなSDRデバイスをサポートし、FSK、PSK、ASK信号の調整可能な復調、アナログビデオのデコード、バースト信号の分析、アナログ音声チャネルのリアルタイムリスニングを可能にします。
### 基本設定
インストール後、構成を考慮するべきいくつかのことがあります。\
設定2番目のタブボタンでは、**SDRデバイス**を選択したり、読み取る**ファイルを選択**したり、どの周波数を合成するか、サンプルレートPCがサポートしている場合は最大2.56Mspsまで推奨)を選択できます。
![](<../../.gitbook/assets/image (655) (1).png>)
GUI動作では、PCがサポートしている場合はいくつかの機能を有効にすることをお勧めします
![](<../../.gitbook/assets/image (465) (2).png>)
{% hint style="info" %}
PCが何もキャプチャしていないことに気づいた場合は、OpenGLを無効にしてサンプルレートを下げてみてください。
{% endhint %}
### 使用法
* **信号の一部をキャプチャして分析する**ためには、「キャプチャを押す」ボタンを必要な時間だけ押し続けます。
![](<../../.gitbook/assets/image (631).png>)
* SigDiggerの**チューナー**は、**信号をよりよくキャプチャ**するのに役立ちますただし、信号を劣化させることもあります。理想的には、0から始めて、**ノイズが増加し始める前のレベルまで**徐々に**大きくしていきます**。
![](<../../.gitbook/assets/image (658).png>)
### ラジオチャンネルと同期
[**SigDigger**](https://github.com/BatchDrake/SigDigger)を使用して、聞きたいチャンネルと同期し、「Baseband audio preview」オプションを構成し、送信されているすべての情報を取得するための帯域幅を構成し、次にイズが本当に増加し始めるレベルにチューナーを設定します
![](<../../.gitbook/assets/image (389).png>)
## 興味深いトリック
* デバイスが情報のバーストを送信する場合、通常**最初の部分は前置き**になるため、そこに**情報が見つからない**か、**エラーがある**場合は**心配する必要はありません**。
* 情報のフレームでは、通常、**互いによく整列した異なるフレーム**を見つけるはずです:
![](<../../.gitbook/assets/image (660) (1).png>)
![](<../../.gitbook/assets/image (652) (1) (1).png>)
* **ビットを回復した後は、何らかの方法でそれらを処理する必要があります**。たとえば、マンチェスター符号化では、上+下は1または0であり、下+上はもう一方です。したがって、1と0のペア上と下は実際の1または実際の0になります。
* 信号がマンチェスター符号化を使用していても連続して2つ以上の0または1を見つけることは不可能です、前置きで**複数の1または0が見つかる**ことがあります!
### IQで変調タイプを特定する
信号に情報を格納する方法には、**振幅**、**周波数**、**位相**を変調する3つの方法があります。\
信号をチェックしている場合、情報が格納されている方法を特定しようとするさまざまな方法があります以下でさらに多くの方法を見つけることができます、しかし、IQグラフをチェックするのは良い方法の1つです。
![](<../../.gitbook/assets/image (630).png>)
* **AMを検出する**IQグラフにたとえば**2つの円**が表示されている場合おそらく1つは0で、もう1つは異なる振幅である可能性があります、これはAM信号である可能性があります。これは、IQグラフでは、0と円の間の距離が信号の振幅であるため、異なる振幅が使用されているのが視覚的にわかりやすいからです。
* **PMを検出する**前の画像のように、関連性のない小さな円が見つかる場合、位相変調が使用されている可能性があります。これは、IQグラフでは、点と0,0の間の角度が信号の位相であるため、4つの異なる位相が使用されていることを意味します。
* 情報が位相自体ではなく位相が変化することに隠されている場合、異なる位相が明確に区別されないことに注意してください。
* **FMを検出する**IQには周波数を識別するためのフィールドがありません中心への距離は振幅であり、角度は位相です。\
したがって、FMを識別するには、このグラフに**基本的に円だけが表示**されているはずです。\
さらに、異なる周波数は、このグラフで**円を加速させることによって**表されますしたがって、SysDiggerで信号を選択するとIQグラフが作成され、作成された円で加速や方向の変更を見つけると、これがFMである可能性があります
## AMの例
{% file src="../../.gitbook/assets/sigdigger_20220308_165547Z_2560000_433500000_float32_iq.raw" %}
### AMを解明する
#### エンベロープをチェックする
[**SigDigger**](https://github.com/BatchDrake/SigDigger)を使用してAM情報をチェックし、**エンベロープ**を見るだけで、異なる明確な振幅レベルが見えます。使用されている信号はAMで情報をパルスで送信しており、これが1つのパルスの見た目です
![](<../../.gitbook/assets/image (636).png>)
そして、これが波形でシンボルの一部がどのように見えるかです:
![](<../../.gitbook/assets/image (650) (1).png>)
#### ヒストグラムをチェックする
情報がある信号全体を選択し、**振幅**モードを選択し、**選択**をクリックして**ヒストグラム**をクリックします。2つの明確なレベルのみが見つかることがわかります
![](<../../.gitbook/assets/image (647) (1) (1).png>)
たとえば、このAM信号で振幅の代わりに周波数を選択すると、1つの周波数しか見つかりません周波数が1つだけ使用されている場合、周波数で情報が変調されている可能性はありません
![](<../../.gitbook/assets/image (637) (1) (1).png>)
多くの周波数が見つかる場合、これはFMではない可能性があり、おそらく信号周波数がチャンネルによって変更されたためです。
#### IQで
この例では、**大きな円**と**中心にたくさんのポイント**があることがわかります。
![](<../../.gitbook/assets/image (640).png>)
### シンボルレートを取得する
#### 1つのシンボルで
見つけられる最小のシンボルを選択して1つだけであることを確認するため、"Selection freq"をチェックします。この場合、1.013kHzつまり1kHzになります。
![](<../../.gitbook/assets/image (638) (1).png>)
#### シンボルのグループで
選択するシンボルの数を指定し、SigDiggerが1つのシンボルの周波数を計算します選択されたシンボルが多いほど良いでしょう。このシナリオでは、10個のシンボルを選択し、「Selection freq」は1.004 kHzです
![](<../../.gitbook/assets/image (635).png>)
### ビットを取得する
これが**AM変調された**信号であり、**シンボルレート**を見つけたことこの場合、何かが上にあると1を意味し、下にあると0を意味することを知っている、信号にエンコードされた**ビットを簡単に取得**できます。したがって、情報が含まれた信号を選択し、サンプリングと決定を構成し、サンプルを押します(**振幅**が選択されていること、発見された**シンボルレート**が構成されていること、**Gadnerクロック回復**が選択されていることを確認してください):
![](<../../.gitbook/assets/image (642) (1).png>)
- **選択間隔に同期**を行うと、以前にシンボルレートを見つけるために間隔を選択した場合、そのシンボルレートが使用されます。
- **Manual**は、指定されたシンボルレートが使用されることを意味します
- **固定間隔選択**では、選択するべき間隔の数を指定し、それからシンボルレートを計算します
- **Gadnerクロック回復**が通常最適なオプションですが、おおよそのシンボルレートを指定する必要があります。
サンプルを押すと、次のように表示されます:
![](<../../.gitbook/assets/image (659).png>)
今、SigDiggerに**情報を運ぶレベルの範囲**がどこにあるかを理解させるために、**最小のレベル**をクリックして、最大のレベルまでクリックし続けます:
![](<../../.gitbook/assets/image (662) (1) (1) (1).png>)
たとえば、**振幅の異なる4つのレベル**がある場合、**シンボルごとのビットを2**に構成し、最小から最大まで選択する必要があります。
最後に、**ズームを増やし**、**行のサイズを変更**すると、ビットが表示されます(すべてを選択してコピーしてすべてのビットを取得できます):
![](<../../.gitbook/assets/image (649) (1).png>)
信号が1つのシンボルあたり複数のビットたとえば2つを持っている場合、SigDiggerには**どのシンボルが**00、01、10、11**であるかを知る方法がないため、それぞれを表すために異なる**グレースケール**が使用されます(ビットをコピーすると、**0から3の数値**が使用され、これらを処理する必要があります)。
また、**Manchester**などの**符号化**を使用し、**上+下**が**1または0**であり、**下+上**が1または0である場合、取得した上1と下0を処理して、01または10のペアを0または1に置き換える必要があります。
## FMの例
{% file src="../../.gitbook/assets/sigdigger_20220308_170858Z_2560000_433500000_float32_iq.raw" %}
### FMを解明する
#### 周波数と波形をチェックする
情報がFMで変調された信号を送信する信号例
![](<../../.gitbook/assets/image (661) (1).png>)