Категория > Новости > Мегадрон. Строим хакерский беспилотник — дальнобойный и с защитой от глушилок - «Новости»
Мегадрон. Строим хакерский беспилотник — дальнобойный и с защитой от глушилок - «Новости»5-05-2023, 10:07. Автор: Аникита |
предыдущей статье я описал атаки, требующие непосредственного присутствия злоумышленника поблизости от атакуемого объекта. Но ограниченный радиус беспроводных сетей не позволяет «дотянуться» абсолютно до всех целей. Однако устройство столь малого размера можно не только незаметно спрятать под окнами, его можно поместить внутрь небольшой посылки и направить кому угодно. И тогда, двигаясь по коридорам зданий, оно будет способно совершить уже совсем иные атаки. Правда, посылка — это для устройства Pineapple билет в один конец. Беспроводные атаки можно проводить и с помощью дрона. Читайте также - Натрий тетраборнокислый, 10-водный (Тетраборат натрия / Бура) - соль слабой борной кислоты и сильного основания, распространённое соединение бора, имеет несколько кристаллогидратов, широко применяется в технике, купить буру в порошке по доступным ценам. infoЭта статья — часть серии публикаций о практических приемах взлома и атак с использованием подручных устройств, которые можно собрать дома. В этих материалах мы раскрываем простые способы получения несанкционированного доступа к защищенной информации и показываем, как ее оградить от подобных атак. Предыдущая статья серии: «Грозный ананас. Собираем и применяем свой Wi-Fi Pineapple». warningСтатья имеет ознакомительный характер и предназначена для специалистов по безопасности, проводящих тестирование в рамках контракта. Автор и редакция не несут ответственности за любой вред, причиненный с применением изложенной информации. Распространение вредоносных программ, нарушение работы систем и нарушение тайны переписки преследуются по закону. Дроны стали незаменимы в самых разных областях, и сегодня они доступны практически каждому. Но что они могут дать хакеру? Важная особенность дрона заключается в том, что к нему можно присоединить фактически что угодно. Таким образом дрон может значительно увеличить дистанцию применения атак, ведь он позволяет быстро получить физический доступ туда, куда нельзя добраться ногами. Дрон может преодолеть почти любое ограждение, подлететь к окнам высотного здания и, что немаловажно, сделать это достаточно быстро, а иногда и незаметно. Миниатюрные габариты позволяют ему пролететь даже в приоткрытое окно, проникнуть в помещение и молниеносно совершить компьютерные атаки. Одним словом, с таким средством доступной становится практически любая цель. Это делает дрон крайне удобным для проведения быстрых атак, реализуемых через беспроводные технологии — то есть там, где требуется фиксированный и часто небольшой радиус действия. Так что атаки, показанные в некоторых компьютерных играх, вполне реальны. Коллекционная статуэтка PureArts по игре Watch Dogs 2 РеализацияДроны в большинстве случаев управляются по радиоканалу. При этом частоты и протоколы для приема сигнала с пульта (RX), а также для передачи видео и телеметрии с дрона (TX) могут отличаться. В обобщенном виде это выглядит так:
Для атакующего дрон главным образом транспортное средство, поэтому он должен быть крепким и надежным. Поскольку почти все атаки так или иначе могут быть связаны с близким пролетом вблизи строений, а где‑то даже и внутри них, то куда важнее обеспечить максимальную защиту пропеллеров, нежели высокую скорость. Отличным выбором могут быть дроны с защитной рамой вокруг пропеллеров (Cinewhoop), как на следующем рисунке. Модель рамы Cinewhoop Такая конструкция не позволяет дрону разбиться в случае контакта со стеной или другими препятствиями. Дрон также должен иметь некоторый запас мощности, достаточный для подъема хакерских девайсов массой хотя бы с треть его веса. Поскольку злоумышленник может атаковать отдаленные объекты, использовать для этого целесообразно дроны, управление которых завязано не на Wi-Fi. Ведь радиус Wi-Fi ограничен 50–100 м, и управляемость (отклик) ухудшается по мере отдаления дрона от пульта управления. Профессиональные дроны с выделенным радиоканалом управления (FRSKY, ELRS или TBS) подходят для подобных целей куда лучше. По прямой видимости дрон на таком управлении может улететь на несколько километров, и время отклика при этом держится на приемлемом уровне. Раз летать злоумышленнику придется не в чистом поле, а вблизи зданий, где находятся объекты атак, то немаловажен и контроль над полетом. Дроны семейства FPV обеспечивают максимально возможное погружение и вид от первого лица. Отличным выбором по гибкости, открытости компонентов и простоты станут популярные дроны с полетным контроллером системы Betaflight. Основные плюсы подобных открытых решений:
На самом деле не так важна модель дрона, куда важнее умение хорошо летать. Прежде чем переходить к атакам с дрона, стоит немного поговорить, как возможно улучшить управление дрона и защитить его. Управление через 4GПолеты среди зданий могут сильно уменьшить предельную дистанцию. Даже если у дрона супердальнобойная система связи, она не пробьет несколько бетонных стен, когда квадрокоптер залетит за здание. Но что, если дрон будет управляться по мобильным сетям? В наше время хороший прием обеспечивается даже за пределами города, не говоря уже про здания. Сотовую связь можно использовать в качестве отличного канала для передачи данных. Тогда расстояние полета будет ограничено исключительно ресурсом аккумулятора. Сегодня 4G-сети обладают достаточно высокой скоростью, но при их использовании отклик от пульта управления и картинка с камеры не передаются с той же скоростью, как на специально разработанных для этого радиопротоколах. Тем не менее полет вполне возможен. А с учетом скорости, с которой дроны способны лететь (200 км/ч), и запаса аккумулятора злоумышленник может атаковать цель на расстоянии более 20 км! Итак, как перевести дрон на 4G-управление? Это должно быть не очень сложное решение, применимое к широкой линейке доступных моделей. Можно использовать, например, следующую схему. 4G → Wi-Fi-шлюз → дрон Самые простые и дешевые дроны полностью управляются по Wi-Fi. Внутри дрона запущена точка доступа Wi-Fi, мобильный телефон подключается к ней и через приложение отправляет команды в обычный UDP-порт. Видео с дрона идет в обратном направлении на телефон простым RTSP-стримом. Получается, дрон — это обычное сетевое устройство. Следовательно, если к нему прикрепить мини‑компьютер с 4G-модемом, то через VPN можно проброситься прямо в дрон с любого расстояния. И далее останется лишь отправлять закодированные команды управления моторами. Однако в этом способе есть пара минусов. Во‑первых, скорее всего, придется иметь дело с закрытым протоколом и реверсить его с успешностью 50/50 — повезет или нет. Возможно, попадется шифрование, а возможно — аутентификация с неизвестным принципом. Словом, взламывать собственный дрон, чтобы полетать, несколько странно. Во‑вторых, в такие протоколы закладывают достаточно частую отправку пакетов от пульта на дрон. Это сделано для лучшего отклика при управлении. Кроме того, так дрон оперативно понимает, если сигнал с пультом теряется. Тут абсолютно невыгодно отправлять по сети одни и те же пакеты на дрон, ведь так 4G-канал управления будет забит, а по нему должно передаваться еще и видео. 4G → видеошлюз → дрон А что, если вместо сетевого шлюза для доступа к дрону воспользоваться видеошлюзом? То есть к квадрокоптеру прикрепить небольшой телефон, подключенный к нему по Wi-Fi, а к самому телефону подключиться с помощью средства удаленного управления? Ведь в любом случае видео с дрона нужно смотреть, только теперь это можно будет делать с экрана удаленного телефона. Как ни странно, этот способ позволяет решить все проблемы. Телефон дает отвязку по трафику — все пакеты с требуемой скоростью он отправляет сам, пилот лишь через виртуальные стики на экране удаленного телефона управляет дроном. Также видеопоток с экрана телефона принимается уменьшенного качества, что еще немного увеличивает скорость передачи. Плюсом мобильное приложение берет на себя кодирование положений стиков пульта, так что ничего реверсить не требуется. Пример такой реализации приведен на следующем рисунке. Бюджетный комнатный дрон и мини‑телефон Простой до невозможности трюк, но на самом деле он позволит преодолеть любые расстояния и преграды. Мини‑телефон, прикрепленный к дрону, всегда будет обеспечивать ему приемлемый уровень сигнала Wi-Fi, который на таком расстоянии крайне сложно заглушить подавителем. Также он дает развязку по трафику — не нужно принимать высококачественный стрим с дрона, а вместо этого достаточно лишь получить картинку с экрана телефона в разрешении 320 × 240, передача которой более надежна при просадках скорости мобильного соединения. Еще такой подход обеспечивает развязку и по протоколу: больше не нужно вникать в подробности кодирования положений стиков троттлинга, крена, углов атаки и рысканья — мобильное приложение все сделает самостоятельно. Подключиться к дрону по 4G можно с любого устройства — хоть с ноутбука, хоть с телефона. Для этого можно использовать любое программное решение для облачного удаленного управления, например кросс‑платформенный AnyDesk. Кросс‑платформенное удаленное управление дроном через телефон Далее, используя простые средства автоматизации GUI, можно назначить тем или иным нажатиям на клавиатуре определенные действия с виртуальным пультом на экране: drone/control.sh #!/bin/bashconsole=$(xdotool getactivewindow)control=$(xwininfo | grep id | grep 'xwininfo:' | awk '{print $4}')xdotool windowfocus $controlX=$(xwininfo -id $control | grep 'Absolute upper-left X:' | awk '{print $4}')Y=$(xwininfo -id $control | grep 'Absolute upper-left Y:' | awk '{print $4}')left_stick_x=$[$X+123] Тут в бесконечном цикле происходит ожидание нажатия тех или иных клавиш, после чего, в соответствии с нажатием, курсор мыши двигает виртуальный стик на экране удаленного телефона. Все максимально просто. Данные о состоянии дрона (телеметрия) также в распоряжении оператора, пример представлен на следующем рисунке. Условное расположение значений телеметрии на экране В зависимости от модели дрона и мобильного приложения картинка может отличаться. Используя те же самые средства автоматизации GUI, а также распознавание текста, можно реализовать произвольную обработку показаний телеметрии: drone/telemetry.sh INTERVAL=1 Здесь выполняется цикличное распознавание текста различных областей экрана, на которых расположены те или иные показания. После их преобразования с изображения на экране в понятную компьютеру форму можно обрабатывать их дальше. В этом примере скрипт использует синтезатор речи для информирования о низком заряде аккумулятора. С помощью этих примитивов управления и телеметрии можно полностью автоматизировать полет дрона. Подобный подход чрезвычайно прост в исполнении и сразу открывает доступ и к управлению, и к телеметрии, но имеет лишнее звено — телефон с Wi-Fi. Сигнал от телефона может быть слишком сильный, что может негативно сказаться на управлении. Плюс ко всему дрон в этом случае вынужден поднимать достаточно большую лишнюю массу (около 50 г). 4G → UART → дрон Но зачем удаленно подключаться к дрону через его явные интерфейсы управления (по Wi-Fi)? Почему бы злоумышленнику не подключиться напрямую к его полетному контроллеру? В случае с дронами по типу «готового решения» можно столкнуться, скорее всего, все с той же проблемой — закрытым протоколом и необходимостью его реверсить. Однако есть множество открытых решений для управления дронами, например прошивки Betaflight, iNav или Ardupilot. Самое простое из них — Betaflight среди прочего поддерживает прямую отправку команд управления моторами в полетный контроллер через уже знакомый UART. Это значит, что управлять дроном можно почти с любого одноплатника. Стоит лишь подключить к нему 4G-модуль и настроить VPN. Все‑таки с открытыми решениями работать куда приятнее. Итак, атакующему сначала необходим одноплатный компьютер минимального размера и массы, а также 4G-модем. Отличный вариант — NanoPi Neo Air и Sim7600G, оба устройства миниатюрны и практически идентичны по габаритам. Одноплатный компьютер и 4G-модем для удаленной связи с дроном Перейти обратно к новости |