Radio

Reading time: 8 minutes

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks

SigDigger

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

Basic Config

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

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

note

Якщо ви помітили, що ваш ПК не захоплює сигнали, спробуйте вимкнути OpenGL і знизити частоту дискретизації.

Uses

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

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

Synchronize with radio channel

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

Interesting tricks

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

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

Uncovering modulation type with IQ

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

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

AM Example

Uncovering AM

Checking the envelope

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

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

Checking the Histogram

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

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

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

With IQ

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

Get Symbol Rate

With one symbol

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

With a group of symbols

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

Get Bits

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

  • Sync to selection intervals означає, що якщо ви раніше вибрали інтервали для знаходження символної частоти, ця символна частота буде використана.
  • Manual означає, що вказана символна частота буде використана
  • У Fixed interval selection ви вказуєте кількість інтервалів, які повинні бути вибрані, і вона розраховує символну частоту з цього
  • Gadner clock recovery зазвичай є найкращим варіантом, але вам все ще потрібно вказати приблизну символну частоту.

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

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

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

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

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

Також використовуйте кодування, такі як Манчестер, і up+down може бути 1 або 0, а down+up може бути 1 або 0. У таких випадках вам потрібно обробити отримані ups (1) і downs (0), щоб замінити пари 01 або 10 на 0s або 1s.

FM Example

Uncovering FM

Checking the frequencies and waveform

Приклад сигналу, що надсилає інформацію, модуляцію в FM:

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

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

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

Checking the histogram

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

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

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

With IQ

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

Get Symbol Rate

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

Get Bits

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

tip

Вивчайте та практикуйте AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Вивчайте та практикуйте GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Підтримайте HackTricks