Статья для участия в конкурсе на Codeby
Топик написан, исходя из собственного опыта и знаний, а потому не претендует на исключительность и полноту. Ориентирован на информационную направленность.
Основная цель: совместить глобальное с частным, обобщить разрозненный материал, дать информацию и простейшим частным примером показать атаку на роутер в бытовых условиях.
Сегодняшний мир трудно представить без использования сетевых технологий. Беспроводные сети имеют ряд неоспоримых преимуществ перед проводными, но кое в чём и уступают (пока) последним. Главное их преимущество – это мобильность, быстрота развертывания, отсутствие громоздкой и дорогостоящей инфраструктуры кабельных каналов и разветвлённой сети проводов.
В целом, компьютерные сети можно классифицировать по нескольким признакам, разделив на виды и подвиды. В различной литературе можно встретить урезанную, аналогичную или же дополненную классификацию, но в общем виде картинка вырисовывается примерно следующая:
1) По территориальной принадлежности
1.1. Глобальные (Wide Area Network – WAN)
1.2. Региональные (могут включать в себя CAN(Campus Area network) и WAN)
1.3. Локальные (Local Area Network – LAN)
2) По ведомственной принадлежности
2.1 Государственные
2.2 Корпоративные (кампусные: CAN - Campus Area network)
2.3 Частные (личные)
3) По скорости передачи информации
3.1 низкоскоростные (<10 Мбит/с)
3.2 среднескоростные (10-100 Мбит/с)
3.3 высокоскоростные (>100 Мбит/с)
4) По способу соединения и среды передачи информации
4.1 Проводные (в качестве линии связи может быть коаксиальный кабель, "витая пара", оптоволокно, телефонные линии)
4.2 Беспроводные (ИК-связь, Bluetooth, WiFi, технологии GPRS, 2G,3G,4G, спутниковые каналы)
5) По типу соединения
5.1 Кольцо

5.2 Шина

5.3 Звезда

и их различные комбинации
6) По способу управления
6.1 Одноранговые (децентрализованные, все компьютеры равноправны, функции управления сетью определяется перевыборами мастер-браузера)
6.2 Клиент-серверные (управление сетью осуществляется одним или N-ным количеством серверов - хранилищ разделяемых ресурсов)
Я не стану углубляться в классификационные дебри, - каждый желающий легко найдет всю необходимую информацию в сети интернет. Я лишь обозначил основные вехи и направления.
Дальнейшая информация будет посвящена беспроводным сетям и конкретно WiFi.
Протоколы Wi-Fi и скорости передачи данных:
Здесь стоит обратить внимание на то, что рекомендуется делать привязку канала к частоте 5 ГГц, так как количество каналов без перекрытия, доступных в полосе на частоте 2,4 ГГц, жёстко ограничено. Попросту говоря, канал 2,4Ггц "забит". Особенно это чувствуется в спальных районах.
Много пользователей "сидит" на одном канале или, если выбран автоматический режим, бесконечно перескакивают с канала на канал в поисках менее занятого для улучшения полосы пропускания.
Дополнительно отмечу, что расширение канала на 20-40 МГц только ухудшает ситуацию, увеличивая перекрытие каналов и создавая помехи, хотя на практике эта "фишка" применяется как раз для обратного. Но это справедливо только для не "забитого" эфира.
Кстати, помимо основных стандартов WiFi - 802.11 a, b, g, n, существуют и используются дополнительные стандарты для реализации различных сервисных функций.
Ограничения по объёму статьи не позволяют вдаваться в подробности.
Методы взлома сетей WiFi
Я умышенно опускаю упоминания и разъяснения о Bluetooth и инфракрасных передатчиках.
Во-первых, мне просто не уложиться в лимит количества знаков. Во-вторых, тема инфракрасников более относится к "железу", чем к программному обеспечению. А в-третьих, тема атаки на Bluetooth уже была раскрыта на форуме CODEBY в темах "Как взломать Bluetooth" (части 1-N) и "Атакуем смарты через Bluetooth" и у меня нет желания быть уличённым в плагиате.
Методы взлома Wi-Fi не столь обширны, хотя здесь, как нигде, можно проявить смекалку, творчество и собственный IQ. Цель атаки, как правило, - раздающий узел. Я бы разделил их на следующие:
1) "На дурака" - это когда на роутере или маршрутизаторе остаются дефаултные связки логина-пароля. Комментарии излишни.
2) Прямой брутфорс (метод перебора). Один из самых распространенных способов атаки. Наиболее действенной защитой от него является создание сложных паролей, длиной не менее 16 символов. А я настоятельно рекомендую проявить смекалку и использовать пароли, типа
PrimeR#PasS@PROBA@OnlY#CodebY
Смысл уловили? Запоминающаяся фраза, симметрично (для красоты и запоминания) разделённая спецсимволами и включающая в себя цифры и заглавные буквы. Можно пойти ещё дальше: писать на английской раскладке русскими буквами. Получится зрительная абракадабра.
Преимущество такого метода очевидны: легко запомнить, каждый сам для себя составит фразу. Словари для брута и радужные таблицы нервно курят в сторонке и самому мощному компьютеру понадобится не один год (зависит от длины) для полного перебора (вероятность попадания такого "слова" в словари ничтожна).
Не зря, к примеру, майнер mymonero.com в качестве пароля безальтернативно принуждает взять пароль из 12-14 несвязанных и независимых слов через пробел. Там отнюдь не дураки сидят!
Но и производители роутеров стараются не отставать. В последних версиях программно установлена защита от брутфорса: после N неудачных попыток авторизации роутер блокируется для авторизации на 60 секунд и перебор теряет смысл (если не использовать возможности "ривера" и простенький скрипт, помогающий это дело обойти)
3) Метод анализа + брутфорс - для "продвинутых". Здесь используется анализ "веб-морды" роутера, определяется метод запроса - GET или POST и правится командная строка, в зависимости от метода. К примеру, для HYDRA, что позволяет в более чем половине случаев случаях обходить блокировку веб-интерфейса.
4) Атака с фишинговой точкой доступа (Rogue Wi-Fi Access Point Attack). Здесь я подчеркну, что целью этой атаки является не пароль от Wi-Fi сети, а данные, передаваемые через эту точку доступа. Осуществляется перехват трафика, который, естественно, можно проанализировать и позаимствовать нужное.
Здесь дополнительно используется атака "человек-посередине" (Man-In-The-Middle attacks). Программные средства для этого известны. К примеру, MitmAP, WIFI-Pumpkin (c GUI и множеством плагинов).
5) Использование снифферов для перехвата и анализа трафика. При авторизации атакуемого на ресурсе (устройстве) легко перехватывается логин-пароль, потому что снифферы ставят сетевую карту в прослушивающий режим (PROMISC).
Программных решений для этого пункта особенно много как под Windows, так и под *NIX-системы.
Под "Windows": CommView, SpyNet, IRIS, WinDUMP, SniffitNT, ButtSniff, NatasX, NetXRay, CooperSniffer, LanExplorer, Net Analyzer и ещё множество других
Под *NIX: Linsniffer, Sniffit, Hunt, ReadSMB, TCPDump, Dsniff и пр.
Единственно действенным способом защиты от снифферов (кроме их недопущения) является шифрование (SSH, Kerberous, VPN, S/Key, S/MIME, SHTTP, SSL и прочие). Или можно использовать антиснифферные пакеты, которых тоже предостаточно.
Но это не относится к теме топика, а потому рассматривать и упоминать я их не буду. Это - отдельная тема.
Казалось бы, что этих пяти пунктов достаточно. Но нельзя не упомянуть ещё два способа, поскольку они очень важны. Первый из них можно применять, когда ключ сети уже получен. А второй находится ещё в доработке, но уже наделал много шума в интернете. Поэтому я вынес их отдельно.
Представляю:
1) ARP-спуффинг. Он реализует атаку человек посередине (man-in-the-middle) на протокол ARP. Осуществляется подмена ARP-таблиц в сети, в результате чего нарушается сопоставление IP-MAC-адресов в выгодном атакующему свете и он будет получать любые необходимые ему пакеты.
Опытные админы, как правило, страхуются от этого соответствующими программными средствами. К примеру, MD ARP Monitor. Программа постоянно следит за локальной ARP-таблицей в локальной сети и при появлении новой пары IP-MAC сравнивает её с заранее полученными (или введенными вручную) образцами. В случае подмены (изменения) IP и(или) MAC - немедленно сигнализирует об этом.
2) Новая угроза WiFI - атака с переустановкой ключа (key reinstallation attack), имеющая грозно звучащую и однозначно трактуемую абревиатуру KRACK (https://codeby.net/threads/krack-detector.60837/#post-286620), весьма созвучную с направлением ее действия - CRACK.
Суть её в том, что создается Wi-Fi сеть с таким же SSID, как у уже существующей сети, а затем атакуется конкретный пользователь. Когда атакуемый попытается подключиться к оригинальной сети, атакующий формирует специальные пакеты, переключающие устройство на другой канал и вынуждают цель подключиться к одноименной фишинговой сети.
Из-за обнаруженной недавно ошибки в выполнении протоколов шифрования, атакующий может обнулить ключи шифрования в буквальном смысле слова и получить весь трафик пользователя в незашифрованном виде.
Ну а теперь я продемонстрирую атаку на роутер.
В качестве инструмента я оставлюсь на AirSlax Pro. Выбор именно его обусловлен следующими причинами:
- О нём практически не писалось на форуме (поиск дает только упоминания)
- Он прекрасно подходит как для начинающих, так и для опытных
- Имеет как командную строку, так и GUI-интерфейс
- Интерфейсы донельзя просты, дружелюбны и эргономичны
- Имеется возможность PXE-сервера
Основные опции программы:
- сканирование WiFi сети
- перехват пакетов
- дешифровка ключей в стандартах WEP, WPA/WPA2
- подборка PIN-кода WPS
Нельзя не отметить ещё один важный момент из "плюсов" AirSlax: возможность создания LiveCD и, соответственно, автономной работы с USB-накопителем.
Я не стану вдаваться в подробности установки или создания portable-версий, всё это прекрасно описано на сайте производителя airslax.org. Скажу лишь для особо любопытных, что свежую Pro-версию "на халяву" найти довольно проблематично.
Итак, имеем ноутбук, AirSalx Pro и неуёмное желание попробовать свои силы в проникновении. Естественно, - в образовательных целях...
Грузимся и видим Linux-подобный интерфейс. У меня на ноутбуке AirSlax установлен в качестве одного из загрузчиков, а потому все ресурсы компьютера отдаются для работы в программе.
Запускаем кому что нравится - GUI или терминал. Отличие только в оконной оболочке.
Как видим, меню в комментариях не нуждается.
1) Скан - Проканировать эфир
2) Выбор - Выбрать цель
3) Перехват - Перехват цели
4) Клиент - Отключить клиента
5) Подбор - Подбор пароля WPA
6) Сохранить - Сохранить результат. При этом будут очищены все ненужные следы и файлы от работы AirSlax.
7) WEP - Подбор пароля WEP
8) Скан WPS - Сканировать WPS
9) Подбор WPS - Подбор PIN-кода WPS
10) Автомат - Автоподбор и автоперехват
88 Смена МАС-адреса
99 Выход
Сканируем эфир. Сразу хочу предупредить, что скрины немного подчищены мной. А самые внимательные даже заметят несоответствие MAC-адресов в начальных и конечных скринах.
Я объясню. Хотя снимки - это результат одного процесса, но это - результат нескольких атак. На планируемом изначально роутере подключенные к нему устройства находились в спящем режиме (это видно по количеству пакетов - цифры стояли на одном месте) и перехват был физически невозможен.
Тогда я просто выбрал другой TP-Link.
Здесь нужно дать время системе для нескольких пересканов. Подождите пару минут. Спешка нужна только при ловле блох, диарее и когда спишь с чужой женой...
Для успешной атаки необходимо, чтобы на второй строчке вместо восклицательных знаков (см. скрин) появились подключенные к роутеру устройства.
Иначе будет просто некого отключать и перехватывать пакеты. В этом случае придется начинать вторжение с применением 3-его метода взлома (см. выше) - метод анализа + брутфорс.
Далее мы определяемся с целью.
Я выбрал TP-Link.
Это довольно "упрямый" роутер, а потому, основываясь на практике, я увеличиваю количество пакетов деидентификации. Чем меньше число, тем незаметнее для атакуемого произойдет процесс переаутентификации.
Но как раз именно TP-Link-и чаще всего его (разовый пакет) банально игнорируют. А потому для них я обычно ставлю число от 5 до 7.
Что делает программа?
Она посылает деаутентификационные пакеты, подменяя их на якобы от лица атакуемого (MAC-адреса).
В терминале Kali, Cyborg или любой другой сборки это будет выглядеть так:
Код:
aireplay-ng -0 1 -a MAC_адрес_точки_доступа -c МАС_адрес_атакуемого wlanХ
-0 (ноль) - команда на прерывание соединения
1 - количество команд-пакетов
-а - МАС-адрес роутера
-с- МАС-адрес цели
wlanX - сетевая карта атакующего
Итак, отключаем клиента (если их несколько - выбираем кого именно)
и ждём, когда его сетевая карта пошлет запрос роутеру на аутентификацию, который мы, собственно, и ожидаем.
После появления в правом верхнем углу надписи WPA HANDSHAKE: бла-бла-бла
можно отключаться - дело сделано.
Точнее - это половина дела. А ещё точнее - 1/3. Хэндшейк получен, теперь его нужно расшифровать и уже с полученным паролем внедряться в атакуемую LAN.
Здесь рекомендовать что-то для расшифровки - занятие довольно неблагодарное. Дело, как говорится, вкуса и цвета. Но нам что нужно? Чтобы принимало большие объёмы словарей и работало шустро. Так ведь?
Лично я остановился на Aircrack-ng. А кому-то, возможно, больше по нраву THC-Hydra. Это ПО также существует в двух вариациях: GUI и терминал. И работает весьма быстро и устойчиво.
Итак, мы копируем полученный *.cap-файл с хендшейком на флешку или сразу на примонтированный жёсткий диск. Или на раздел ноутбука. Перезагружаем ноут в удобоваримую для нас ОС, переносим *.cap в директорию AirCrack, через "выбор" (Choose) указываем на него, подсовываем словари и жмём "Запуск" (Launch).
Теперь остаётся надеяться, что пароль роутера - не 16-разрядный и более (я выше упоминал о рекомендациях), а потому пока что можно спокойно попивать кофеек и продумывать дальнейший план атаки.
Очень многое зависит от качества словарей. В сети можно найти множество "бесплатных" и услужливо выложенных с размерами до 1Гб и выше. Но по опыту скажу, что иной раз словарик мегабайт на 20-40 оказывается гораздо эффективнее гигабайтного.
В Kali Linux уже встроен универсальный словарик rockyou (там есть ещё и неплохой DIRBuster в директории /usr /share /wordlists /dirbuster /, есть словари и в Metaslpoit). На любую другую пентестную систему его легко установить:
Код:
git clone git://git.kali.org/packages/wordlists.git
Если объект атаки, по вашим предположениям, не должен быть крутым админом, то и пароль у него никак не должен быть особо сложным.
Ну, допустим, что он у него будет от 6 до 12 символов и, предположительно, содержит, как минимум, две группы из основных (заглавные буквы, прописные, цифры и символы).
Тогда адаптация rockyou будет выглядеть примерно так:
Код:
pw-inspector -i wordlists/rockyou.txt -m 6 -М 12 -c 2 -l -u -n -p
Затем мы оптимизируем:
- выводим пароли из rockyou.txt командой конкатенации
Код:
cat rockyou.txt
Код:
sort rockyou.txt (help по ключам в помощь)
Код:
uniq rockyou.txt (см. help)
допустим, brut.txt
Код:
cat rockyou.txt | sort | uniq | pw-inspector -m 6 -M 12 > brut.txt
Всё! Пользуйтесь во благо (и не очень)!
Возвращаемся в тему.
Итак, мне в примерной атаке просто повезло и владелец роутера оказался ленивым, а потому его ключ Wi-Fi открылся буквально за 15 минут: 789456123 (удобно жать на цифровой клавиатуре)
Но ведь наша цель - не халявный интернет, а компьютер его владельца!
Подключаемся к LAN и пробуем зайти на роутер. Сразу хочу предупредить, что с TP-Link-ами и Microtic-ами всем известная утилита RouterScan под Windows практически бесполезна. Она технически отстаёт.
Я начал брут с периодичностью 1 пакет в 5 сек. А убедившись, что меня не блокирует роутер, уменьшил время и через примерно полтора часа моя атака увенчалась успехом. Это был номер мобильного телефона.
В качестве инструментов для атаки можно использовать неплохо разъяснённые здесь на форуме
REXT (Router Exploitatoin Toolkit) и RouterSploit.
Заходим в веб-интерфейс роутера. Если только, конечно, там не включен контроль доступа с привязкой по МАС. Это тоже можно обойти, приложив некоторые усилия, но это уже другая тема, а я не укладываюсь в лимит по этой.
Мы видим, что контроль доступа отключен (мы бы иначе и не вошли вот так сразу).
А теперь очень важный момент!
Прежде всего необходимо:
- очистить логи роутера и отключить их ведение
- изменить пароль владельца
- отключить WPS, если он включен
Зачем это нужно? Да чтобы не оставить следы. Если владелец не сможет войти, то он сбросит его на заводские настройки, логично? Ваши следы исчезнут, если умудрились наследить. А если он грамотный и зайдёт, взломав роутер, как и вы, то логи-то - отключены, он ничего не увидит.
Теперь готовим плацдарм для прыжка на целевой компьютер (в принципе, ещё до захода на роутер мы уже находились в домашней сети атакуемого и можно пробовать атаковать через LAN. Кстати, домашняя группа у подавляющего большинства остаётся дефаултной - WORKGROUP, что может несколько облегчить путь).
Для этого можно поднять виртуальный сервер или сделать вручную проброс портов.
Ну а дальнейшее, как говорится, "на вкус и цвет" - кто что пожелает. Оставляю это для вашей фантазии и в угоду вашей цели.
P.S. продолжение темы не планирую, она логически завершена, да и это был пробный шар. И так три часа убил. Просто захотелось подразмять мозги. А вышел ли толк - не мне судить.
Последнее редактирование модератором: