hacktricks/todo/hardware-hacking/radio.md

12 KiB
Raw Blame History

ラジオ

htARTEHackTricks AWS Red Team Expert を使って、ゼロからヒーローまでAWSハッキングを学ぶ

HackTricksをサポートする他の方法

SigDigger

SigDiggerは、GNU/LinuxとmacOS用の無料のデジタル信号アナライザーで、未知の無線信号の情報を抽出するために設計されています。SoapySDRを介してさまざまなSDRデバイスをサポートし、FSK、PSK、ASK信号の調整可能な復調、アナログビデオのデコード、バースト信号の分析、アナログ音声チャネルのリアルタイムリスニングを可能にします。

基本設定

インストール後、構成を考慮するべきいくつかのことがあります。
設定2番目のタブボタンでは、SDRデバイスを選択したり、読み取るファイルを選択したり、どの周波数を合成するか、サンプルレートPCがサポートしている場合は最大2.56Mspsまで推奨)を選択できます。

GUI動作では、PCがサポートしている場合はいくつかの機能を有効にすることをお勧めします

{% hint style="info" %} PCが何もキャプチャしていないことに気づいた場合は、OpenGLを無効にしてサンプルレートを下げてみてください。 {% endhint %}

使用法

  • 信号の一部をキャプチャして分析するためには、「キャプチャを押す」ボタンを必要な時間だけ押し続けます。

  • SigDiggerのチューナーは、信号をよりよくキャプチャするのに役立ちますただし、信号を劣化させることもあります。理想的には、0から始めて、ノイズが増加し始める前のレベルまで徐々に大きくしていきます

ラジオチャンネルと同期

SigDiggerを使用して、聞きたいチャンネルと同期し、「Baseband audio preview」オプションを構成し、送信されているすべての情報を取得するための帯域幅を構成し、次にイズが本当に増加し始めるレベルにチューナーを設定します

興味深いトリック

  • デバイスが情報のバーストを送信する場合、通常最初の部分は前置きになるため、そこに情報が見つからないか、エラーがある場合は心配する必要はありません
  • 情報のフレームでは、通常、互いによく整列した異なるフレームを見つけるはずです:

  • ビットを回復した後は、何らかの方法でそれらを処理する必要があります。たとえば、マンチェスター符号化では、上+下は1または0であり、下+上はもう一方です。したがって、1と0のペア上と下は実際の1または実際の0になります。
  • 信号がマンチェスター符号化を使用していても連続して2つ以上の0または1を見つけることは不可能です、前置きで複数の1または0が見つかることがあります!

IQで変調タイプを特定する

信号に情報を格納する方法には、振幅周波数位相を変調する3つの方法があります。
信号をチェックしている場合、情報が格納されている方法を特定しようとするさまざまな方法があります以下でさらに多くの方法を見つけることができます、しかし、IQグラフをチェックするのは良い方法の1つです。

  • 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を使用してAM情報をチェックし、エンベロープを見るだけで、異なる明確な振幅レベルが見えます。使用されている信号はAMで情報をパルスで送信しており、これが1つのパルスの見た目です

そして、これが波形でシンボルの一部がどのように見えるかです:

ヒストグラムをチェックする

情報がある信号全体を選択し、振幅モードを選択し、選択をクリックしてヒストグラムをクリックします。2つの明確なレベルのみが見つかることがわかります

たとえば、このAM信号で振幅の代わりに周波数を選択すると、1つの周波数しか見つかりません周波数が1つだけ使用されている場合、周波数で情報が変調されている可能性はありません

多くの周波数が見つかる場合、これはFMではない可能性があり、おそらく信号周波数がチャンネルによって変更されたためです。

IQで

この例では、大きな円中心にたくさんのポイントがあることがわかります。

シンボルレートを取得する

1つのシンボルで

見つけられる最小のシンボルを選択して1つだけであることを確認するため、"Selection freq"をチェックします。この場合、1.013kHzつまり1kHzになります。

シンボルのグループで

選択するシンボルの数を指定し、SigDiggerが1つのシンボルの周波数を計算します選択されたシンボルが多いほど良いでしょう。このシナリオでは、10個のシンボルを選択し、「Selection freq」は1.004 kHzです

ビットを取得する

これがAM変調された信号であり、シンボルレートを見つけたことこの場合、何かが上にあると1を意味し、下にあると0を意味することを知っている、信号にエンコードされたビットを簡単に取得できます。したがって、情報が含まれた信号を選択し、サンプリングと決定を構成し、サンプルを押します(振幅が選択されていること、発見されたシンボルレートが構成されていること、Gadnerクロック回復が選択されていることを確認してください):

  • 選択間隔に同期を行うと、以前にシンボルレートを見つけるために間隔を選択した場合、そのシンボルレートが使用されます。
  • Manualは、指定されたシンボルレートが使用されることを意味します
  • 固定間隔選択では、選択するべき間隔の数を指定し、それからシンボルレートを計算します
  • Gadnerクロック回復が通常最適なオプションですが、おおよそのシンボルレートを指定する必要があります。

サンプルを押すと、次のように表示されます:

今、SigDiggerに情報を運ぶレベルの範囲がどこにあるかを理解させるために、最小のレベルをクリックして、最大のレベルまでクリックし続けます:

たとえば、振幅の異なる4つのレベルがある場合、シンボルごとのビットを2に構成し、最小から最大まで選択する必要があります。

最後に、ズームを増やし行のサイズを変更すると、ビットが表示されます(すべてを選択してコピーしてすべてのビットを取得できます):

信号が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で変調された信号を送信する信号例