Закладки, жучки, радиоперехват — кому не известны эти слова? Идея внедрить в канал связи, по которому передается важная информация, «свое» устройство стара как мир. Подобные устройства известны всем по фильмам, книгам и даже компьютерным играм. Они превратились в своеобразное клише, и, возможно, именно поэтому в современном мире информационной безопасности возможности физического внедрения в каналы связи часто попросту игнорируются. А зря.

Сейчас, когда все помешаны на шифровании, криптоконтейнерах и прочих методах противодействия «софтверным атакам», такие, казалось бы, устаревшие вещи, как закладки или жучки, рассматриваются не как реальная угроза, а как атрибут фильмов про Джеймса Бонда. Как следствие, физически изолированную от интернета сеть принято считать практически неуязвимой для хакеров. Даже если протяженность сети составляет километры, а многие ее узлы никем не охраняются и находятся буквально в открытом доступе, порой в самом прямом смысле этого слова, сеть все равно считается абсолютно защищенной. И как показала практика — совершенно напрасно.

Мне довелось в этом убедиться лично, в рамках проекта, где объектом тестирования была закрытая и, по убеждению администраторов, абсолютно «неприступная» сеть. Возможно, у них были основания считать так. Исследуемая сеть действительно была ограждена от интернета межсетевыми экранами и демилитаризованной зоной. Только вот о том, что узлы сети располагались буквально на улице и не были оборудованы никакими средствами физической защиты (проще говоря, не было даже амбарного замка на ящике), почему-то забыли. Здесь-то нам и пришла на помощь маленькая неприметная коробочка без опознавательных знаков — устройство от компании Pwnie Express.

Первое знакомство

Pwn plug r2 — это мобильный, незаметный, но чрезвычайно мощный плацдарм для хакера в сети. Его размеры лишь немногим больше пачки сигарет, но внешность обманчива — внутри у этой «коробочки» целый хакерский арсенал.

Рис. 1. Роутер? Свитч? Сетевой диск? Полноценный хакерский сервер с Kali Linux
Рис. 1. Роутер? Свитч? Сетевой диск? Полноценный хакерский сервер с Kali Linux

Cперваа давай посмотрим на устройство снаружи. Здесь все ясно: два разъема Ethernet, два USB, выводы под Wi-Fi и Bluetooth-антенны, а также разъемы для SD-карты и питания. Корпус нейтрального белого цвета, без каких-либо надписей или маркировок.

Пожалуй, питание — единственное, что ограничивает мобильность нашего плацдарма: POE, к сожалению, не поддерживается, внутренних источников питания нет, однако напряжение 5 В позволяет запитать устройство буквально от чего угодно. С другой стороны, везде, где есть электроника, найдется и питание, ведь потребляемая мощность невелика — согласно спецификации, всего 5 Вт.

Итак, наружный осмотр завершен, что же внутри? Сперва нас встречает довольно примитивный веб-интерфейс для базовой конфигурации, здесь мы можем сконфигурировать внешние интерфейсы, сбросить настройки и пароли. В интерфейсе присутствует большая красная кнопка «хакнуть», но ее функционал нас не впечатлил: он состоял из нескольких довольно примитивных эксплойтов.

Пришло время подключиться через SSH. Вводим логин-пароль — внутри у нас полноценная сборка Kali Linux с полным набором всевозможных инструментов.

Рис. 2. Чем тише ты становишься, тем больше ты можешь услышать
Рис. 2. Чем тише ты становишься, тем больше ты можешь услышать

Описать все «прелести» этой системы не хватит и десятка статей, поэтому просто впечатлимся и пойдем дальше. На следующем шаге необходимо решить еще одну проблему — управления нашим хакерским сервером во «вражеской» сети. Не будем же мы, в самом деле, присоединяться к нему патчкордом! Но и тут инженеры из Pwnie Express подумали за нас: Pwn plug комплектовался USB GSM модемом и двумя скриптами — один запускался на Pwn plug через веб-интерфейс при базовой конфигурации устройства и подсоединялся к нашему серверу в офисе через SSH, второй развертывался у нас и слушал входящие подключения. Завершающей частью внедрения стала защита нашего устройства и модема от погодных условий. В первую очередь это касалось модема, который должен был торчать наружу из стальной коробки, где находилось прочее оборудование. Защиту от ветра и влаги мы обеспечили с помощью коробки для бутербродов и термоусадки. Вот и все. Мы готовы. Пора в бой.

Не кочегары мы, не плотники...

Напевая этот мотив, я полез физически устанавливать наше устройство в сеть. Узел сети, который мы выбрали для внедрения, находился в открытом доступе, но подобраться к нему оказалось не так просто. В то же время никакой защиты у него не было, для нас даже были кем-то заботливо подготовлены свободная розетка и Ethernet-разъем в свитче. В итоге спустя очень долгих полчаса на холоде наружу торчал только GSM-модем, обернутый в термоусадку. Дорога в офис была полна предвкушения предстоящего пентеста.

Оказавшись снова в тепле, проверяем подключение. Для этого выполняем следующие манипуляции: заходим на наш офисный сервер, к которому должен подключаться Pwn plug через SSH, и запускаем листенер для организации туннеля. После чего, если все сконфигурировано корректно, мы сможем подключиться к устройству через локальный интерфейс ssh pwnie@localhost -p 3337. Готово. Доступ есть.

Разведка

Оказавшись внутри, первым делом необходимо осмотреться. Запускаем netdiscover, чтобы понять, какие в данном сегменте IP-адреса, где находится шлюз, и получить другие базовые сведения.

Рис. 3. Netdiscover в работе
Рис. 3. Netdiscover в работе

Теперь, когда структура сегмента стала ясна, присваиваем себе IP-адрес (сеть 192.168.0.1/24), и в дело идет Nmap. Собираем информации по максимуму: nmap -sS -sV -vv -sC -p 0-65535 -O -Pn -oA "scan" 192.168.0.1/24. Как оказалось, в нашем сегменте присутствует только три узла: маршрутизатор, некий компьютер под управлением Windows Embedded и переходник с Ethernet на COM. После непродолжительного изучения Windows Embedded стало понятно, что ничего интересного там нет, поэтому основное внимание переключилось на маршрутизатор.

Для того чтобы понять структуру сети за маршрутизатором, было решено использовать Wireshark, а точнее его консольную версию — tShark. Запускаем снифер, нас интересует только адрес маршрутизатора tshark -R "ip.addr == 192.168.0.1" -r /tmp/capture.cap. Собрав достаточное количество пакетов, дамп трафика можно проанализировать (очень удобно использовать для этого графический интерфейс Wireshark) и узнать из него, какой трафик приходит в нашу подсеть. После того как адреса некоторых серверов за маршрутизатором были получены, осталось только прописать маршруты на нашем Pwn plug и вырваться на оперативный простор — в основную сеть. Схема нашего внедрения в сеть на данном этапе представлена на рис. 4.

 

Отдельное спасибо стоит сказать производителям «закладки» за то, что Pwn plug имеет некот

Рис. 4. Схема внедрения в сеть
Рис. 4. Схема внедрения в сеть

орую защиту от дурака. К примеру, когда мы прописали маршрутизатор нашего сегмента сети в качестве шлюза по умолчанию, у нас пропала связь с Pwn plug, так как, очевидно, весь трафик стал идти через шлюз, а не через наш 4G-модем и внешний канал связи оборвался. Я уже морально подготовился вновь лезть наверх и перенастраивать наше устройство вручную, однако менее чем через полчаса настройки самостоятельно вернулись к предыдущим, связь возобновилась и мы смогли продолжить тестирование.

На просторах сети

Итак, мы в основном сегменте сети, самое время осмотреться. В ход идет все тот же Nmap. Забегая вперед, замечу, что на данный момент вся наша активность еще никем не обнаружена. Для максимального приближения к боевым условиям администраторы не были уведомлены о нашем проекте. Незамеченными мы будем оставаться еще долго, несмотря на то, что все инструменты использовались в агрессивном режиме.

Из результатов сканирования Nmap мы получили список довольно интересных сервисов. Наиболее многообещающим был скачанный с одного из серверов файл JNLP. Это файл Java Network Launching Protocol, который загружал и устанавливал клиент для одного из сервисов, расположенных во внутренней сети. После проброса соответствующих портов и настройки NAT-трансляции (мы использовали так называемый «перегруженный» NAT, или NAPT, — форму динамического NAT, который отображает несколько незарегистрированных адресов в единственный зарегистрированный IP-адрес, используя различные порты, в итоге получился своего рода VPN через SSH). Из командной строки это выглядело следующим образом:

ssh -L 8080:192.168.1.111:80 pwnie@localhost:3337

После такого подключения порт 192.168.1.111:80 внутренней сети оказывался доступен локально на нашем сервере на порту 8080. Благодаря этому нехитрому приему нам удалось развернуть Java-клиент на нашей машине в офисе.

Немного изучив полученные JAR-файлы декомпилятором JAD, мы получили несколько паролей для пользователей с довольно высокими привилегиями на одном из серверов внутренней сети. Надо сказать, что скачанные JAR-файлы даже не были обфусцированы, так как, очевидно, предполагалось, что они не могут попасть в руки злоумышленников.

 

Глубокое вторжение

После того как один из серверов во внутренней сети был захвачен, наш Pwn plug стал каналом, через который мы начали превращать скомпрометированный сервер в полноценный боевой плацдарм. Мы прописали маршруты в настройках сервера и, средствами канала Pwn plug в интернет, скачали с репозиториев все нужные нам инструменты, такие как Ettercap, tshark, hydra и другие. Теперь Pwn plug стал C&C (command and control) сервером для нашего внутреннего ботнета. Пока в нем был всего один компьютер, но это было только начало.

5_jad

Развитие атаки

На данном этапе полная компрометация сети стала вопросом времени. Благодаря отравлению ARP-кеша и атакам «человек посередине» к нам попали новые учетные данные для доступа к серверам. Чем больше серверов переходили под наш контроль, тем интенсивнее мы могли вмешиваться в работу сети, компрометируя новые узлы и даже смежные подсети. Атаки перебора по словарю с помощью гидры также дали результаты.

Meanwhile in...

Так какова была реакция администраторов сети? О том, что что-то пошло не так, они стали подозревать спустя примерно неделю с момента нашего вторжения в сеть. Однако к тому времени, как они предприняли ответные действия, значительная часть сети уже была под нашим контролем, так что организованное противодействие было сильно затруднено. В итоге все ответные действия свелись к смене паролей на захваченных нами машинах, что не дало ощутимого результата, так как общее количество скомпрометированных серверов на тот момент уже приблизилось к десятку. Судя по всему, администраторам не удалось отследить, откуда именно велось управление нашей атакой, поэтому наш C&C-сервер оставался активным до окончания проекта.

Что в итоге?

В результате проекта сеть заказчика была полностью скомпрометирована. Был получен доступ к самой разной информации, включая критически важную: к базам данных, служебным документам, электронной почте. Помимо этого, мы получили данные, позволявшие скомпрометировать сети аффилированных организаций. Естественно, этим мы пользоваться не стали, так как действовали исключительно в рамках закона, с ведома и в интересах клиента, но возможность была задокументирована.

Проект показал, что угрозы физического внедрения все еще актуальны, особенно для сетей с большой протяженностью, и степень угрозы от такого внедрения сложно переоценить. Можно сделать вывод, что эффективность современных средств внедрения чрезвычайно высока и системы обнаружения вторжений необходимы даже для изолированных сетей, чтобы вовремя найти и локализовать атаку. И как самое простое — амбарный замок как средство защиты все еще актуален даже во времена IPv6. Оставайтесь защищенными!

Для любителей скучных списков дальше будет краткая спецификация устройства Pwn plug R2.

Процессор: 1,2 ГГц Armada-370 CPU
RAM: 1 Гб DDR3
SSD: 32 Гб microSDHC (Class 10)
Wi-Fi:  802.11b/g/n, поддержка packet injection & monitor mode, возможность подключения внешней антенны
Onboard I/O: 2 x Gigabit Ethernet, 2 x USB 3.0, serial console, microSD slot Bluetooth с поддержкой packet injection & monitor mode
Питание: 5 Вт, 15 Вт пиковое
Размеры: 5,2″ x 3,7″ x 0,8″ (132 х 94 х 20 мм)
Характеристики GSM: совместим с SIM-картами AT&T, T-mobile, Vodafone, Orange и GSM-операторами более 160 стран
Диапазоны: HSDPA/UMTS (850/1700/1900/2100 МГц), GSM/GPRS/EDGE (850/900/1800/1900 МГц)

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    1 Комментарий
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии