Превращаем любой телефон в супероружие хакера с помощью Sonic
Серия видеоигр Watch Dogs вышла в 2014 году, заразив зрителей идеей о волшебном смартфоне, который может изменять сигналы трафика, взламывать веб-камеры и даже дистанционно управлять погрузчиками. Это может звучать как научная фантастика, но The Sonic использует кастомную сборку Kali Linux, что позволяет развернуть всю мощь Kali на любом смартфоне — и все это без необходимости создавать точку доступа для его контроля.
Если вы когда-либо пытались что-то взломать с iPhone, то знаете, что это непростая задача. При попытке осуществления какого-нибудь взлома со смартфона сразу возникает несколько проблем. Операционные системы невероятно ограничивают наши возможности. Самое близкое к «хакингу», что вы когда-либо получите на iPhone — это банальный сканер портов.
Вы можете сделать джейлбрейк своего iPhone или установить Kali NetHunter на Android, но даже в этом случае вы будете крайне ограничены в тех ситуациях, когда дело дойдет до Wi-Fi взлома. По своей сути, имеющиеся стратегии взлома ожидают слишком большой гибкости от устройств, предназначенных для совершенно конкретной цели.
Войдите в Sonic. Он поставляется со всеми предустановленными инструментами, необходимыми для управления Raspberry Pi прямо с вашего смартфона. Благодаря этому мы начинаем ослаблять эти пресловутые цепи наших смартфонов, присоединяя к нему более универсального компаньона в виде устройства Raspberry Pi. Когда мы подключимся к The Sonic, мы сможем переложить с телефона всю ту работу, которую он не может выполнять, и использовать для атаки полностью функциональную Kali Linux.
Эта сборка отличается от той Kali Linux, которую мы использовали в наших прошлых статьях про Raspberry Pi, где для того, чтобы контролировать нашу Pi, нам нужно было подключить ее к точке доступа нашего смартфона. Если у вашего телефона нет точки доступа, то The Sonic превратит внутреннюю Wi-Fi-карту Raspberry Pi в канал беспроводной связи и управления, с которой вы можете подключиться к любому смартфону, чтобы получить доступ к его функциям.
Одно из существенных различий в этих двух сборках заключается в том, что The Sonic не может использовать интернет-соединение с вашего телефона. Чтобы подключиться к Интернету, вам необходимо сначала подключиться с вашего телефона к Wi-Fi точке доступа Sonic, а затем подключить Sonic к ближайшей сети Wi-Fi, чтобы установить связь с Интернетом.
Другими словами, Sonic Pi может получить для вас доступ к сети, скрывая ваш реальный MAC-адрес. Для доступа в Интернет вы сначала подключаетесь к Sonic Pi, а затем подключаете Sonic Pi к сети Wi-Fi, предоставляющей доступ в Интернет.
Это означает, что Sonic’у нужно два интерфейса: интерфейс команд и управления для подключения к вашему смартфону и интерфейс для «атакующей» антенны, обеспечивающий подключение Pi к сети, с которой вы хотите подключиться к Интернету.
Шаг 1. Собираем необходимые детали
Находясь на веб-сайте Sonic, мы видим, что есть еще некоторые вещи, которые нам понадобятся. В дополнение к Paspberry Pi 3 предполагается иметь следующее:
- Беспроводная карта TP-Link TL-WN722N. Любая беспроводная карта с чипом Atheros также будет соответствовать этим рекомендациям. Если вы не знаете, какой набор чипсетов использует ваша беспроводная карта, то можно ознакомиться с нашей статьей о лучших Wi-Fi адаптерах 2017 года.
- Нам также понадобится карта microSD для записи образа Sonic.
- Хоть это не является требованием веб-сайта Sonic, нам также может понадобиться хорошая батарейка для Raspberry Pi. Потому что если мы хотим собрать действительно мобильное решение, то нам потребуется емкая батарейка.
Главное преимущество, которое мы получаем при использовании Pi над чем-то вроде ноутбука — это ее мобильность и скрытность. В то время как ноутбук с несколькими антеннами, торчащими во все стороны, выглядит довольно подозрительно, парень, который использует The Sonic, выглядит вполне заурядно — как будто смотрит что-то на своем телефоне.
Теперь, когда у нас есть оборудование, нам нужно получить соответствующее программное обеспечение. Для мобильных устройств нам нужно убедиться, что у нас установлен веб-браузер Google Chrome. Safari на iPhone не поддерживает те функции JavaScript, которые использует Sonic, поэтому нам необходим именно Google Chrome.
Шаг 2. Скачайте и запишите образ с Sonic
Скачать IMG-файл Sonic’а вы можете здесь. Образ будет скачан в виде ZIP-архива размером в 2,1 ГБ, который вам нужно будет распаковать. После того, как вы распакуете образ, его общий размер увеличится до 16 ГБ, поэтому имейте в виду, что вам придется работать с довольно большими файлами.
Поскольку файлы действительно очень большие, хорошей идеей будет проверить их целостность. Вы можете сделать это, проверив хэши скачанного файла и сравнив с теми хешами, которые указаны на веб-сайте. FCIV — это простой в использовании инструмент командной строки для Windows, который занимается тем, что вычисляет хеши. Для Linux вы можете использовать команду md5sum, а пользователи Mac могут использовать команду md5.
После того, как вы получите этот образ, шаги по его записи на microSD-карту будут зависеть от вашей операционной системы. Найдите вашу операционную систему чуть ниже и выполните все необходимые действия.
Windows
Для того, чтобы записать образ Sonic в Windows, нужно скачать дополнительную программу. Win32 Disk Imager позволит вам выбрать файл образа, а затем выбрать, на какое устройство вы хотите его записать. А остальное она сделает сама.
Mac и Linux
Мы можем использовать утилиту dd в нашем терминале. Но для начала нам нужно выяснить, какое из уже подключенных устройств является нашей SD-картой. Это можно сделать, запустив команду lsblk в Linux или diskutil list в macOS. Затем нам нужно размонтировать нашу карту командой umount путь_до_карты в Linux или командой diskutil unmount /dev/device diskutil в macOS. И наконец, запишем образ Sonic на SD-карту с помощью следующей команды:
dd if=theImageFile.img of=/dev/device bs=4m
Как только образ запишется на карту, вставьте ее в Raspberry Pi.
Шаг 3. Подключение к Sonic
Теперь пришло время запустить наш Sonic!
Небольшое замечание перед тем, как продолжим. Sonic запрограммирован на автоматическое конфигурирование нужных файлов Linux для создания точки доступа. Для этого Pi сама перезапустится один или два раза. Это совершенно нормально.
Во время этого процесса Sonic присваивает Wi-Fi-карте вашей Raspberry Pi специальное имя интерфейса, чтобы он мог запускать точку доступа. После этого Sonic запустит несколько скриптов для настройки точки доступа, включения SSH-входа и запустит веб-приложение.
Подключите Wi-Fi-адаптер к Raspberry Pi и включите питание Pi, подключив его к источнику питания через MicroUSB-кабель.
Как только Pi произведет настройку, она запустит встроенную точку доступа. По умолчанию SSID — это «The Sonic», а пароль — «password». Хорошей идеей будет поменять эти дефолтные значения на настоящие. Это можно сделать, перейдя на вкладку «AP Manager» в веб-приложении Sonic, о котором мы вскоре поговорим.
Шаг 4. Устранение проблем с Sonic
Если вы не увидите точку доступа с названием «The Sonic» через 15 минут после загрузки, то вам нужно проверить несколько вещей.
Первым делом выключите ваш Sonic, подключите его к монитору и снова включите. Мы хотим убедиться, что устройство загружается нормально, и нет зацикленных перезагрузок или каких-либо сообщений об ошибках.
Если устройство бесконечно перезагружается или вы постоянно получаете сообщение об ошибке «ссылка wlan0 не готова», то это может быть проблема с драйверами вашего конкретного Wi-Fi-адаптера. Если у вас есть другой Wi-Fi-адаптер, то попробуйте подключить его.
В противном случае попробуйте отсоединить карту и загрузить Sonic без внешнего интерфейса. Как только Pi загрузится, проверьте, установлен ли драйвер для вашей беспроводной карты. Вы можете узнать, какие драйверы установлены, введя в терминале следующую команду:
lspci | grep -i wireless
Если драйвер для вашей беспроводной карты не установлен, то действия, которые необходимо предпринять для их установки могут отличаться. Зайдите на веб-сайт производителя вашей Wi-Fi карты, чтобы узнать, как устанавливать их драйверы именно для Debian Linux.
Если Pi загружается успешно, но вы не видите точку доступа с названием «The Sonic», то попробуйте подключить клавиатуру и запустить следующее:
ifconfig
Проверьте, видит ли он обе Wi-Fi карты и присутствует ли интерфейс с именем «wap0». Если вы видите в списке интерфейс с именем «wap0», то введите в терминале следующее:
/var/www/html/scripts/ifaceChecker.py
Эта команда запустит скрипт, который проверяет текущее состояние встроенного в Raspberry Pi интерфейса Wi-Fi. Если он не может найти этот интерфейс, то это может быть проблема со встроенной в Raspberry Pi картой Wi-Fi.
В этом случае попробуйте использовать вторую Raspberry Pi, если у вас есть еще одна, или дважды проверьте Wi-Fi-карту с другим образом для Raspberry Pi (например, Raspbian) и монитором.
Если ни одно из вышеперечисленных действий не помогает, то возможно, произошла какая-то ошибка при записи образа на вашу SD-карту. Попробуйте повторно записать на нее образ с системой. Вы также можете посмотреть документацию на веб-сайте (здесь).
Шаг 5. Использование Sonic
Как только мы подключаемся — все становится возможным! Ну, по крайней мере, в тех уголках мира, где имеются серьезные недостатки информационной безопасности. Прежде чем мы что-нибудь сделаем, нам нужно будет подключиться к Wi-Fi, так как текущее соединение не будет обслуживать данные на вашем телефоне или Pi. К счастью, у Sonic есть встроенное веб-приложение, которое делает утомительные манипуляции в терминале вполне посильной задачей.
По умолчанию веб-приложение находится по адресу 192.168.8.1. Просто вставьте этот адрес в адресную строку браузера на вашем смартфоне, и вас встретит окно, приглашающее ввести имя пользователя, а затем пароль. По умолчанию имя пользователя — «sonic», а пароль — «password».
Как только вы это сделаете, появится главное меню, как показано на нижнем левом скриншоте. Дизайн меню очень прост, но зато отражает самую суть. Нажав на «Wifi Manager», мы можем быстро просмотреть имеющиеся точки доступа Wi-Fi вокруг нас (смотрите правый нижний скриншот).
Точки доступа, которые мы видим, отсортированы по силе сигнала. В этом примере все точки доступа со словом «Open» справа являются частью Wi-Fi-сети, у которой нет пароля, но она требует аутентификации через используемый веб-портал.
К сожалению, у нас нет учетных данных. Однако, будучи умными хакерами, мы все равно сможем получить к ней доступ.
Шаг 6. Получение доступа к сети
Чтобы обойти веб-аутентификацию для этой сети, сначала нужно понять, как эта аутентификация отслеживает ее пользователей. Подобно тому, как веб-сайты используют cookie-файлы для автоматической аутентификации пользователей, которые уже вошли в систему, эти типы сетей регистрируют MAC-адреса клиентов, чтобы отслеживать, разрешен ли доступ этих устройств к сети.
Поэтому нам нужно найти MAC-адрес клиента, который уже подключен к этой сети. Sonic делает для нас этот процесс невероятно легким. Если мы вернемся в веб-приложение, то мы сможем найти некоторые замечательные функции.
В Wifi Manager нажмем на кнопку для той сети, которую мы пытаемся взломать. Нас поприветствует окно приложения, подобно тому, которые представлены на нижнем левом скриншоте. Здесь мы видим пару опций: мы можем либо подключиться к сети, либо сделать анализ беспроводного трафика (sniffing) и увидеть всех клиентов, подключенных к этой сети. Конечно, мы проверим все, что можно, поэтому нажимаем на «List Connected Devices».
Sonic откроет новую вкладку, которая начнет сканирование подключенных устройств. В принципе, это фоновый процесс, запускаемый Airodump-ng из пакета Aircrack-ng, который обработает данные и покажет нам результат. Этот процесс занимает около 33 секунд, поэтому придется немного подождать.
Эта функция в настоящее время является той единственной, которая не работает в браузере Safari. Safari не поддерживает новую функцию JavaScript, которую использует Sonic. У разработчиков имеются планы по расширению поддержки Safari, но уже после реализации дополнительных функций.
Шаг 7. Изменение нашего MAC-адреса
Как только веб-приложение закончит загрузку, нам будет представлен список MAC-адресов клиентов. Просто нажав на любой из них, нас перенаправит на страницу MAC Changer, куда будут отправлены все необходимые для назначения нашему устройству нового MAC-адреса данные. Теперь все, что нам нужно сделать, это вернуться в Wifi Manager и подключиться к точке доступа. Вот и все!
Стоит отметить, что, сделав это, вы, скорее всего, прервете обслуживание того, чей MAC-адрес вы использовали для своей маскировки. Имейте это в виду — атака не совсем скрытна.
Но, давайте отложим этот вопрос в сторону. Теперь, когда мы можем подключаться к сети, остается действительно не так много вещей, которые мы не можем сделать. Для подключения к Интернету Sonic перенаправляет его встроенную точку доступа Wi-Fi через точку доступа, к которой он подключился. Это означает, что вы все равно можете получить доступ к Интернету с вашего телефона, как только Sonic подключится к ближайшей точке доступа.
Отсюда мы можем провести анализ локального трафика, подменить DNS-сервер, запускать эксплоиты на сетевых устройствах и делать практически все, что вы в состоянии сделать с помощью ноутбука или настольного компьютера под управлением Kali Linux. Красота The Sonic заключается в его портативности и скрытности.
Начните и дайте волю своему внутреннему хакеру
Пока проект еще очень новый, основные функции The Sonic делают его Plag-and-Play инструментом для хакинга, которому пока нет равных. Уже сейчас Sonic активно поддерживается, а новые функции постоянно добавляются в веб-приложение, делая его более интуитивным и удобным в использовании.
Если вы хотите использовать потенциал The Sonic на полную катушку, то для начала вы должны хорошо освоить Kali Linux. Обязательно изучайте наш сайт, и рано или поздно вы станете настоящим профессиональным хакером.