hacktricks/todo/hardware-hacking/radio.md

20 KiB
Raw Blame History

Радіо

{% hint style="success" %} Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks
{% endhint %}

SigDigger

SigDigger є безкоштовним аналізатором цифрових сигналів для GNU/Linux та macOS, призначеним для витягування інформації з невідомих радіосигналів. Він підтримує різноманітні SDR пристрої через SoapySDR і дозволяє регулювати демодуляцію FSK, PSK та ASK сигналів, декодувати аналогове відео, аналізувати сплески сигналів і слухати аналогові голосові канали (все в реальному часі).

Основна конфігурація

Після встановлення є кілька речей, які ви можете розглянути для налаштування.
У налаштуваннях (друга вкладка) ви можете вибрати SDR пристрій або вибрати файл для читання, а також частоту для синхронізації та частоту дискретизації (рекомендується до 2.56Msps, якщо ваш ПК це підтримує)\

У поведінці GUI рекомендується активувати кілька речей, якщо ваш ПК це підтримує:

{% hint style="info" %} Якщо ви помітили, що ваш ПК не захоплює сигнали, спробуйте вимкнути OpenGL і знизити частоту дискретизації. {% endhint %}

Використання

  • Просто захопіть частину сигналу та проаналізуйте її, утримуючи кнопку "Push to capture" стільки, скільки потрібно.

  • Тюнер SigDigger допомагає захоплювати кращі сигнали (але він також може їх погіршити). Ідеально почати з 0 і продовжувати збільшувати, поки шум, що вводиться, не стане більшим, ніж покращення сигналу, яке вам потрібно).

Синхронізація з радіоканалом

З SigDigger синхронізуйтеся з каналом, який ви хочете почути, налаштуйте опцію "Baseband audio preview", налаштуйте ширину смуги, щоб отримати всю інформацію, що надсилається, а потім встановіть Тюнер на рівень, перед тим як шум почне дійсно зростати:

Цікаві трюки

  • Коли пристрій надсилає сплески інформації, зазвичай перша частина буде преамбулою, тому вам не потрібно турбуватися, якщо ви не знайдете інформацію там або якщо там є деякі помилки.
  • У кадрах інформації зазвичай ви повинні знайти різні кадри, добре вирівняні між собою:

  • Після відновлення бітів вам, можливо, потрібно буде обробити їх якимось чином. Наприклад, у манчестерській кодуванні підйом+спад буде 1 або 0, а спад+підйом буде іншим. Таким чином, пари 1 і 0 (підйоми та спади) будуть реальним 1 або реальним 0.
  • Навіть якщо сигнал використовує манчестерське кодування (неможливо знайти більше ніж два 0 або 1 підряд), ви можете знайти кілька 1 або 0 разом у преамбулі!

Визначення типу модуляції з IQ

Існує 3 способи зберігати інформацію в сигналах: модуляція амплітуди, частоти або фази.
Якщо ви перевіряєте сигнал, є різні способи спробувати з'ясувати, що використовується для зберігання інформації (знайдіть більше способів нижче), але хороший спосіб - перевірити графік IQ.

  • Виявлення AM: Якщо на графіку IQ з'являються, наприклад, 2 кола (можливо, одне в 0, а інше на іншій амплітуді), це може означати, що це AM сигнал. Це тому, що на графіку IQ відстань між 0 і колом - це амплітуда сигналу, тому легко візуалізувати різні амплітуди, що використовуються.
  • Виявлення PM: Як у попередньому зображенні, якщо ви знайдете маленькі кола, які не пов'язані між собою, це, ймовірно, означає, що використовується фазова модуляція. Це тому, що на графіку IQ кут між точкою та 0,0 - це фаза сигналу, тому це означає, що використовуються 4 різні фази.
  • Зверніть увагу, що якщо інформація прихована в тому, що фаза змінюється, а не в самій фазі, ви не побачите чітко різні фази.
  • Виявлення FM: IQ не має поля для ідентифікації частот (відстань до центру - це амплітуда, а кут - це фаза).
    Тому, щоб ідентифікувати FM, ви повинні бачити в основному коло на цьому графіку.
    Більше того, інша частота "представляється" графіком IQ через прискорення швидкості по колу (тому в SysDigger, вибираючи сигнал, графік IQ заповнюється, якщо ви знайдете прискорення або зміну напрямку в створеному колі, це може означати, що це FM):

Приклад AM

{% file src="../../.gitbook/assets/sigdigger_20220308_165547Z_2560000_433500000_float32_iq.raw" %}

Визначення AM

Перевірка обгортки

Перевіряючи AM інформацію з SigDigger і просто дивлячись на обгортку, ви можете побачити різні чіткі рівні амплітуди. Використовуваний сигнал надсилає імпульси з інформацією в AM, ось як виглядає один імпульс:

І ось як виглядає частина символу з формою хвилі:

Перевірка гістограми

Ви можете вибрати весь сигнал, де знаходиться інформація, вибрати режим Амплітуда та Вибір і натиснути на Гістограму. Ви можете спостерігати, що 2 чіткі рівні знаходяться лише

Наприклад, якщо ви виберете Частоту замість Амплітуди в цьому AM сигналі, ви знайдете лише 1 частоту (немає способу, щоб інформація, модуляція в частоті, використовувала лише 1 частоту).

Якщо ви знайдете багато частот, це, ймовірно, не буде FM, можливо, частота сигналу була просто змінена через канал.

З IQ

У цьому прикладі ви можете побачити, як є велике коло, але також багато точок у центрі.

Отримати символічну частоту

З одним символом

Виберіть найменший символ, який ви можете знайти (щоб ви були впевнені, що це лише 1) і перевірте "Вибір частоти". У цьому випадку це буде 1.013kHz (тобто 1kHz).

З групою символів

Ви також можете вказати кількість символів, які ви збираєтеся вибрати, і SigDigger розрахує частоту 1 символу (чим більше символів вибрано, тим краще, ймовірно). У цьому сценарії я вибрав 10 символів, і "Вибір частоти" становить 1.004 Khz:

Отримати біти

Знайшовши, що це AM модуляційний сигнал і символічна частота (і знаючи, що в цьому випадку щось вгору означає 1, а щось вниз означає 0), дуже легко отримати біти, закодовані в сигналі. Отже, виберіть сигнал з інформацією, налаштуйте дискретизацію та рішення і натисніть зразок (перевірте, що Амплітуда вибрана, виявлена Символічна частота налаштована, а Відновлення годинника Гаднера вибрано):

  • Синхронізація з вибраними інтервалами означає, що якщо ви раніше вибрали інтервали для знаходження символічної частоти, ця символічна частота буде використана.
  • Ручний означає, що вказана символічна частота буде використана
  • У Виборі фіксованого інтервалу ви вказуєте кількість інтервалів, які повинні бути вибрані, і вона розраховує символічну частоту з цього
  • Відновлення годинника Гаднера зазвичай є найкращим варіантом, але вам все ще потрібно вказати приблизну символічну частоту.

Натискаючи зразок, з'являється:

Тепер, щоб змусити SigDigger зрозуміти де знаходиться діапазон рівня, що несе інформацію, вам потрібно натиснути на нижній рівень і утримувати натиснутим до найбільшого рівня:

Якщо б було, наприклад, 4 різних рівні амплітуди, вам потрібно було б налаштувати Біти на символ до 2 і вибрати від найменшого до найбільшого.

Нарешті, збільшивши Масштаб і змінивши розмір рядка, ви можете побачити біти (і ви можете вибрати всі та скопіювати, щоб отримати всі біти):

Якщо сигнал має більше ніж 1 біт на символ (наприклад, 2), SigDigger не має способу знати, який символ є 00, 01, 10, 11, тому він використовуватиме різні сірі відтінки, щоб представити кожен (і якщо ви скопіюєте біти, він використовуватиме числа від 0 до 3, вам потрібно буде їх обробити).

Також використовуйте кодування, такі як Манчестер, і підйом+спад може бути 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:

На попередньому зображенні ви можете досить добре спостерігати, що використовується 2 частоти, але якщо ви спостерігаєте за формою хвилі, ви, можливо, не зможете правильно ідентифікувати 2 різні частоти:

Це тому, що я захопив сигнал на обох частотах, тому одна приблизно є інша в негативі:

Якщо синхронізована частота ближча до однієї частоти, ніж до іншої, ви можете легко побачити 2 різні частоти:

Перевірка гістограми

Перевіряючи частотну гістограму сигналу з інформацією, ви можете легко побачити 2 різні сигнали:

У цьому випадку, якщо ви перевірите Гістограму амплітуди, ви знайдете лише одну амплітуду, тому це не може бути AM (якщо ви знайдете багато амплітуд, це може бути через те, що сигнал втратив потужність по каналу):

І це буде гістограма фази (що чітко показує, що сигнал не модуляційний у фазі):

З IQ

IQ не має поля для ідентифікації частот (відстань до центру - це амплітуда, а кут - це фаза).
Тому, щоб ідентифікувати FM, ви повинні бачити в основному коло на цьому графіку.
Більше того, інша частота "представляється" графіком IQ через прискорення швидкості по колу (тому в SysDigger, вибираючи сигнал, графік IQ заповнюється, якщо ви знайдете прискорення або зміну напрямку в створеному колі, це може означати, що це FM):

Отримати символічну частоту

Ви можете використовувати ту ж техніку, що й у прикладі AM, щоб отримати символічну частоту, як тільки ви знайдете частоти, що несуть символи.

Отримати біти

Ви можете використовувати ту ж техніку, що й у прикладі AM, щоб отримати біти, як тільки ви знайдете, що сигнал модуляційний у частоті і символічна частота.

{% hint style="success" %} Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks
{% endhint %}