Снова странное название. Но мы опять слегка выходим за рамки тематики форума и поговорим про самолётные транспондеры. Конечно же всё будет в упрощённом виде, чтобы всем точно было понятно
Рекламная пауза:
1. Приглашаю всех в свой блог в телеграме. Здесь публикуются все мои авторские статьи, полезный софт, гайды, практика на реальных кейсах и иной эксклюзивный контент! - @ssh_lab
2. Реклама форума будет в конце статьи. Не угадаете где :)
Берите любимую вкусняшку ( с достаточным количеством сахара для лучшей работы мозга и следовательно лучшей усвояемости информации). Начинаем!
Уверен ,что все мы хоть раз летали или видали эти железяки в небе, их кстати называют "Самолётами". И быть может некоторые из вас задумывались - "А как же они не сталкиваются? А как за ними следят? За всеми же нельзя уследить из диспетчерских." Так вот это мы и затронем
С самого начала коммерческих авиаперевозок возникла необходимость в системах наблюдения за воздушным движением. В 1920-х годах, когда первые коммерческие рейсы начали пересекать континенты, диспетчеры использовали радиосвязь и визуальные наблюдения для отслеживания самолетов. Однако с ростом числа рейсов и увеличением скорости полетов стало ясно, что нужны более точные и надежные методы.
Инженеры, радиотехники и иные "умы" почесали репу и придумали Самолётный Транспондер.
Вся эта шняга состоит из двух основных компонентов:
- Out: Самолет передает данные о своем местоположении, высоте, скорости и других параметрах. Эти данные могут быть получены другими самолетами и наземными станциями ( иногда по запросу ).
- In: Самолет принимает данные от других самолетов и наземных станций, что позволяет пилотам видеть окружающую обстановку в реальном времени.
- Mode A - передает только идентификационный номер самолёта. Не совсем полезная функция, но знайте.
- Mode C - как ни странно, был придуман позже и позволял отслеживать не только "айдишник" судна, но и высоту полета. К слову всё работало в автоматическом режиме.
- Mode S - базовое поколение для нашего времени. Почти все самолеты оборудованы таким транспондером. Позволяет отслеживать местоположение, скорость, направленность полёта, давлении воздуха, авиакомпании ( благодаря ADS-B ). Он кстати получил полную двустороннюю связь. ( с чем мы кстати и поиграемся )
- Mode 4 и Mode 5 - ими оснащены лишь военные суда. В принципе смысл такой же, как и у Mode S, только эти поколения имеют неплохую защиту - шифрование.
Кстати, если вникнуть в Mode S, становится ясно, что большинство сообщений в этом протоколе отправляются транспондером только по запросу диспетчеров или наземных служб. Однако, ADS-B — это исключение. Эта система наблюдения за летательными аппаратами, название которой буквально означает "автоматическое зависимое наблюдение-вещание", собственно поэтому и запрос диспетчера не нужен.
Вроде понятно. Но нам много теории не надо, мы переходим к самой интересной части - Подмене данных.
Для успешного результата нам понадобятся:
- SDR ( Software Defined Radio ). Для новичков буду использовать HackRF, ибо он самый часто встречаемый и дешёвый представитель радио-трансиверов у радио-проказников.
- Антенна. Либо штыревая, либо параболическая. Частота: 1090 МГц Подробнее можете прочитать в моей прошлой статье ( кликабельно )
- Аппаратная составляющая - ПК/Микрокомпьютер/Нетбук и иные.
Чтобы подменить данные нам нужно определиться с жертвой. Чтобы получить от неё всё необходимое:
- На частоте 1030МГц посылается широковещательных запрос, он же all-call broadcast interrogation ( 11 тип ). В поле AP - имеется Controlsum пакета данных. XOR контрольная сумма содержит 24 битный идентификатор транспондера ( ID )
- Борты отвечают на частоте 1090МГц. Длина ID, как ни странно - 24 бита
Всё это дело мы получаем с помощью GQRX и adsb-attack-simulation. Ставим на Debian ( иль Ubuntu ):
Код:
sudo apt install hackrf gqrx-sdr -y
Теперь в папку hackrf gqrx-sdr переносим содержимое репозитория -
https://github.com/KingAkhenaten/adsb-attack-simulation
Глянем все доступные борты -
hackrf_transfer -adsb.py -- bort_info
И выберем любой понравившийся командой
select
Ну и наконец вписываем любой текст, который хотите, чтобы он транслировался -
tran_data <текст>
Вот и всё, заходим в FlightRadar24 и глядим что вы там натворили :)
Ну, а теперь немножко рекламки форума на просторах неба: