Kali linux aircrack ng инструкция по применению

Время на прочтение
10 мин

Количество просмотров 77K

Всем привет. В преддверии старта курса «Практикум по Kali Linux» подготовили для вас перевод интересной статьи.


Сегодняшнее руководство познакомит вас с основами для начала работы с пакетом aircrack-ng. Конечно, невозможно предоставить всю необходимую информацию и охватить каждый сценарий. Так что будьте готовы делать домашние задания и проводить исследования самостоятельно. На форуме и в Wiki есть множество дополнительных туториалов и другой полезной информации.

Несмотря на то, что оно не покрывает все шаги от начала до конца, руководство Simple WEP Crack подробнее раскрывает работу с aircrack-ng.

Настройка оборудования, установка Aircrack-ng

Первым шагом в обеспечении правильной работы aircrack-ng в вашей системе Linux является патчинг и установка соответствующего драйвера для вашей сетевой карты. Многие карты работают с несколькими драйверами, некоторые из них предоставляют необходимый функционал для использования aircrack-ng, другие нет.

Думаю, излишне говорить о том, что вам нужна сетевая карта, совместимая с пакетом aircrack-ng. То есть то аппаратное обеспечение, которое полностью совместимо и может внедрять инъекции пакетов. С помощью совместимой сетевой карты можно взломать беспроводную точку доступа менее, чем за час.

Чтобы определить к какой категории относится ваша карта, ознакомьтесь со страницей совместимости оборудования. Прочитайте Tutorial: Is My Wireless Card Compatible?, если не знаете, как обращаться с таблицей. Тем не менее, это не помешает вам при чтении руководства, которое поможет вам узнать что-то новое и убедиться в тех или иных свойствах вашей карты.

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

Установка aircrack-ng

Последнюю версию aircrack-ng можно получить, скачав с главной страницы, или же вы можете воспользоваться дистрибутивом для проведения тестирования на проникновение, таким как Kali Linux или Pentoo, где стоит последняя версия aircrack-ng.

Чтобы установить aircrack-ng обратитесь к документации на странице установки.

Основы IEEE 802.11

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

Следующую часть важно понять, чтобы смочь разобраться в случае, если что-то будет работать не так, как ожидается. Понимание того, как все это работает, поможет вам найти проблему или, по крайней мере, правильно ее описать, чтобы кто-то другой смог вам помочь. Здесь все немного заумно, и, возможно вам захочется пропустить эту часть. Однако для взлома беспроводных сетей нужно немного знаний, и потому взлом – это чуть больше, чем просто набрать одну команду и позволить aircrack сделать все за вас.

Как найти беспроводную сеть

Эта часть – краткое введение в управляемые сети, которые работают с точками доступа (Access Point, AP). Каждая точка доступа посылает около 10 так называемых Бикон-фреймов (beacon frame) в секунду. Эти пакеты содержат следующую информацию:

  • Имя сети (ESSID);
  • Используется ли шифрование (и какое шифрование используется, но обратите внимание на то, что эта информация может не являться правдивой, только потому что точка доступа сообщает ее);
  • Какие скорости передачи данных поддерживаются (в MBit);
  • На каком канале находится сеть.

Именно эта информация отображается в инструменте, который подключается конкретно к этой сети. Она отображается, когда вы разрешаете карте сканировать сети с помощью iwlist <interface> scan и когда выполняете airodump-ng.

Каждая точка доступа обладает уникальным MAC-адресом (48 бит, 6 пар шестнадцатеричных чисел). Выглядит он примерно так: 00:01:23:4A:BC:DE. У каждого сетевого устройства есть такой адрес, и сетевые устройства взаимодействуют друг с другом с их помощью. Так что это что-то вроде уникального имени. MAC-адреса уникальны и нет двух устройств с одинаковыми MAC-адресами.

Подключение к сети

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

Open System Authentication:

  1. Запрашивает аутентификацию точки доступа;
  2. Точка доступа отвечает: OK, вы аутентифицированы.
  3. Запрашивает ассоциацию точки доступа;
  4. Точка доступа отвечает: ОК, вы подключены.

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

  • Используется WPA/WPA2, и вам нужна аутентификация APOL. Точка доступа ответит отказом на втором шаге.
  • У точки доступа есть список разрешенных клиентов (MAC-адресов) и она не позволит подключиться никому другому. Это называется фильтрация по MAC.
  • Точка доступа использует Shared Key Authentication, то есть вам нужно предоставить правильный WEP-ключ, чтобы подключиться. (См. раздел «Как сделать поддельную аутентификацию с общим ключом?» чтобы узнать больше об этом)

Простой сниффинг и взлом

Обнаружение сетей

Первое, что нужно сделать – это найти потенциальную цель. В пакете aircrack-ng для этого есть airodump-ng, но можно использовать и другие программы как, например, Kismet.

Прежде чем искать сети, вы должны перевести свою карту так называемый «режим мониторинга». Режим мониторинга – это специальный режим, который позволяет вашему компьютеру прослушивать сетевые пакеты. Этот режим также позволяет внедрять инъекции. Об инъекциях мы поговорим в следующий раз.

Чтобы перевести сетевую карту в режим мониторинга, используйте airmon-ng:

airmon-ng start wlan0

Так вы создадите еще один интерфейс и добавите к нему «mon». Итак, wlan0 станет wlan0mon. Чтобы проверить, действительно ли сетевая карта находится в режиме мониторинга, выполните iwconfig и убедитесь в этом сами.

Затем, запустите airodump-ng для поиска сетей:

airodump-ng wlan0mon

Если airodump-ng не сможет подключиться к WLAN-устройству, вы увидите что-то подобное:

airodump-ng перескакивает с канала на канал и показывает все точки доступа, от которых он получает биконы. Каналы с 1 по 14 используются для стандартов 802.11 b и g (в США разрешено использовать только с 1 по 11; в Европе с 1 по 13 за некоторым исключением; в Японии с 1 по 14). 802.11a работает в диапазоне 5 ГГц, и его доступность варьируется в разных странах больше, чем в диапазоне 2,4 ГГц. В целом, известные каналы начинаются с 36 (32 в некоторых странах) по 64 (68 в некоторых странах) и с 96 по 165. В Википедии вы можете найти более подробную информацию о доступности каналов. В Linux о разрешении/запрете передачи по определенным каналам для вашей страны заботится Central Regulatory Domain Agent; однако он должен быть настроен соответствующим образом.

Текущий канал показан в левом верхнем углу.
Через некоторое время появятся точки доступа и (надеюсь) некоторые связанные с ними клиенты.
Верхний блок показывает обнаруженные точки доступа:

Нижний блок показывает обнаруженные клиенты:

Теперь вам нужно следить за целевой сетью. К ней должен быть подключен хотя бы один клиент, поскольку взлом сетей без клиентов – это более сложная тема (см. раздел Как взломать WEP без клиентов). Она должна использовать WEP-шифрование и иметь хороший сигнал. Возможно, вы можете поменять положение антенны, чтобы улучшить прием сигнала. Иногда для силы сигнала несколько сантиметров могут оказаться решающими.

В примере выше есть сеть 00:01:02:03:04:05. Она оказалась единственной возможной целью, поскольку только к ней подключен клиент. А еще у нее хороший сигнал, поэтому она является подходящей целью для практики.

Сниффинг Векторов Инициализации

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

airodump-ng -c 11 --bssid 00:01:02:03:04:05 -w dump wlan0mon

С помощью параметра вы выбираете канал, а параметр после -w является префиксом сетевых дампов, записанных на диск. Флаг –bssid вместе с MAC-адресом точки доступа ограничивает получение пакетов до одной точки доступа. Флаг –bssid доступен только в новых версиях airodump-ng.

Перед взломом WEP, вам понадобится от 40 000 до 85 000 различных векторов инициализации (Initialization Vector, IV). Каждый пакет данных содержит вектор инициализации. Их можно переиспользовать, поэтому количество векторов обычно немного меньше, чем количество перехваченных пакетов.
Таким образом, вам придется подождать, чтобы перехватить от 40к до 85к пакетов данных (с IV). Если сеть не занята, это займет очень много времени. Вы можете ускорить этот процесс используя активную атаку (или атаку повторного воспроизведения). О них мы поговорим в следующей части.

Взлом

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

aircrack-ng -b 00:01:02:03:04:05 dump-01.cap

MAC-адрес после флага -b – это BSSID цели, а dump-01.cap – это файл, содержащий перехваченные пакеты. Вы можете использовать несколько файлов, для этого просто добавьте в команду все имена или воспользуйтесь символом подстановки, например dump*.cap.

Больше информации о параметрах aircrack-ng, выводе и использовании вы можете получить из руководства.

Количество векторов инициализации, необходимых для взлома ключа, не ограничено. Так происходит потому, что некоторые вектора слабее и теряют больше информации о ключе, чем другие. Обычно эти вектора инициализации смешиваются с более сильными. Так что, если вам повезет, вы сможете взломать ключ всего с 20 000 векторами инициализации. Однако часто и этого бывает недостаточно, aircrack-ng может работать долго (неделю или больше в случае высокой погрешности), а затем сказать вам, что ключ не может быть взломан. Чем больше у вас векторов инициализации, тем быстрее может произойти взлом и обычно это делает за несколько минут или даже секунд. Опыт показывает, что для взлома достаточно 40 000 – 85 000 векторов.

Существуют более продвинутые точки доступа, которые используют специальные алгоритмы, чтобы отфильтровывать слабые вектора инициализации. В результате вы не сможете получить больше, чем N векторов от точки доступа, либо вам понадобятся миллионы векторов (например, 5-7 миллионов), чтобы взломать ключ. Вы можете почитать на форуме, что делать в таких случаях.

Активные атаки
Большинство устройств не поддерживают инъекции, по крайней мере без пропатченных драйверов. Некоторые поддерживают только определенные атаки. Обратитесь к странице совместимости и посмотрите в столбец aireplay. Иногда эта таблица не дает актуальной информации, поэтому если вы увидите слово “NO” напротив вашего драйвера, не расстраивайтесь, а лучше посмотрите на домашнюю страницу драйвера, в список рассылок драйверов на нашем форуме. Если вам удалось успешно провести повторное воспроизведение с помощью драйвера, который не был включен в список поддерживаемых, не стесняйтесь предлагать изменения на странице таблицы совместимости и добавлять ссылку на краткое руководство. (Для этого нужно запросить учетную запись wiki на IRC.)

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

Вам понадобится BSSID (MAC-адрес точки доступа) и ESSID (сетевое имя) точки доступа, которая не выполняет фильтрацию по MAC-адресам (например, ваша собственная), и находится в доступном диапазоне.

Попробуйте подключиться к точке доступа с помощью aireplay-ng:

aireplay-ng --fakeauth 0 -e "your network ESSID" -a 00:01:02:03:04:05 wlan0mon

Значением после будет BSSID вашей точки доступа.
Инъекция сработала, если вы увидите что-то вроде этого:

12:14:06  Sending Authentication Request
12:14:06  Authentication successful
12:14:06  Sending Association Request
12:14:07  Association successful :-)

Если нет:

  • Перепроверьте корректность ESSID и BSSID;
  • Удостоверьтесь, что на вашей точке доступа отключена фильтрация по MAC-адресам;
  • Попробуйте это же на другой точке доступа;
  • Удостоверьтесь, что ваш драйвер правильно настроен и поддерживается;
  • Вместо «0» попробуйте «6000 -o 1 -q 10».

ARP replay

Теперь, когда мы знаем, что инъекция пакетов работает, мы можем сделать что-нибудь, что сильно ускорит перехват векторов инициализации: атака инъекций ARP-запросов.

Основная идея

Если говорить простым языком, то ARP работает, передавая широковещательный запрос на IP-адрес, а устройство с этим IP-адресом отправляет обратно ответ. Поскольку WEP не защищает от повторного воспроизведения, вы можете сниффить пакет и отправлять его снова и снова, пока он валидный. Таким образом, вам нужно просто перехватить и воспроизвести ARP-запрос, отправленный точке доступа, чтобы создать траффик (и получить вектора инициализации).

Ленивый способ

Сначала откройте окно с airodump-ng, который сниффит трафик (см. выше). Aireplay-ng и airodump-ng могут работать одновременно. Дождитесь появления клиента в целевой сети и начинайте атаку:

aireplay-ng --arpreplay -b 00:01:02:03:04:05 -h 00:04:05:06:07:08 wlan0mon

-b указывает на целевой BSSID, -h на MAC-адрес подключенного клиента.

Теперь вам нужно дождаться получения ARP-пакета. Обычно нужно ждать несколько минут (или прочитать статью дальше).
Если вам повезло, вы увидите что-то подобное:

Saving ARP requests in replay_arp-0627-121526.cap
You must also start airodump to capture replies.
Read 2493 packets (got 1 ARP requests), sent 1305 packets...

Если вам нужно прекратить воспроизведение, то не нужно ждать появления следующего ARP-пакета, вы можете просто использовать ранее перехваченные пакеты с помощью параметра -r <filename>.
При использовании ARP-инъекций, вы можете использовать метод PTW для взлома WEP-ключа. Он значительно сокращает количество необходимых пакетов, а с ними и время на взлом. Вам нужно перехватить полный пакет с помощью airodump-ng, то есть не использовать опцию “--ivs” при выполнении команды. Для aircrack-ng используйте “aircrack -z <file name>”. (PTW – тип атаки умолчанию)

Если количество пакетов данных получаемых airodump-ng перестает увеличиваться, вам, возможно, придется уменьшить скорость воспроизведения. Сделайте это с помощью параметра -x <packets per second>. Я обычно начинаю с 50 и уменьшаю до тех пор, пока пакеты снова не начнут приниматься непрерывно. А еще вам может помочь изменение положения антенны.

Агрессивный способ

Большинство операционных систем очищают кэш ARP при отключении. Если нужно отправить следующий пакет после повторного подключения (или просто использовать DHCP), они отправляют ARP-запрос. В качестве побочного эффекта вы можете сниффить ESSID и, возможно, keystream во время переподключения. Это удобно, если ESSID вашей цели скрыт или она использует shared-key authentication.
Пускай airodump-ng и aireplay-ng работают. Откройте еще одно окно и запустите атаку деаутентификации:

Здесь -a – это BSSID точки доступа, МАС-адрес выбранного клиента.
Подождите несколько секунд и ARP replay заработает.
Большинство клиентов пытаются восстановить соединение автоматически. Но риск того, что кто-то распознает эту атаку, или, по крайней мере, проявит внимание к тому, что происходит на WLAN, выше, чем при других атаках.

Больше инструментов и информации о них, вы найдете здесь.

Узнать подробнее о курсе

Table of Contents

Aircrack-ng Newbie Guide for Linux

Idea and initial work: ASPj

Additions by: a number of good souls

Last updated: Nov 21, 2018

This tutorial will give you the basics to get started using the aircrack-ng suite. It is impossible to provide every piece of information you need and cover every scenario. So be prepared to do some homework and research on your own. The Forum and the Wiki have lots of supplementary tutorials and information.

Although it does not cover all the steps from start to finish like this tutorial, the Simple WEP Crack tutorial covers the actual aircrack-ng steps in much more detail.

Setting up Hardware, Installing Aircrack-ng

The first step in getting aircrack-ng working properly on your Linux system is patching and installing the proper driver for your wireless card. Many cards work with multiple drivers, some of which provide the necessary features for using aircrack-ng, and some of which do not.

Needless to say, you need a wireless card which is compatible with the aircrack-ng suite. This is hardware which is fully compatible and can inject packets. A compatible wireless card can be used to crack a wireless access point in under an hour.

To determine to which category your card belongs to, see hardware compatibility page. Read Tutorial: Is My Wireless Card Compatible? if you don’t know where to look in this table. It still does not hurt to read this tutorial to build your knowledge and confirm your card attributes.

First, you need to know which chipset is used in your wireless card and which driver you need for it. You will have determined this using the information in the previous paragraph. The drivers section will tell you which drivers you need.

Aircrack-ng installation

Get the latest copy of aircrack-ng from the homepage, use our packages or use a penetration testing distribution such as Kali Linux or Pentoo where Aircrack-ng is already installed and up to date.

To install aircrack-ng, refer to the documentation on the installation page.

IEEE 802.11 basics

Ok, now everything is ready, time to make a pit stop before the action finally starts and learn something about how wireless networks work.

The following chapter is very important, if something doesn’t work as expected. Knowing what all is about helps you find the problem or helps you at least to describe it so someone else who can help you. This is a little bit scientific and maybe you feel like skipping it. However, a little knowledge is necessary to crack wireless networks and because it is a little more than just typing one command and letting aircrack do the rest.

How a wireless network is found

This is a short introduction into managed networks, these ones working with Access Points (AP). Every AP sends out about 10 so called beacon frames a second. These packets contain the following information:

  • Name of the network (ESSID)

  • If encryption is used (and what encryption is used; pay attention, that may not be always true just because the AP advertises it)

  • What MBit data rates are supported

  • Which channel the network is on

This information is then shown in your tool that connects to this network. It is shown when you let your card scan for networks with iwlist <interface> scan and when you run airodump-ng.

Every AP has a unique MAC address (48 bit, 6 pair of hexadecimal numbers). It looks like 00:01:23:4A:BC:DE. Every network hardware device has such an address and network devices communicate with each other by using this MAC address. So its basically like a unique name. MAC addresses are unique, no two network devices in the world have the same MAC address.

Connecting with a network

If you want to connect to a wireless network, there are some possibilities. In most cases, Open System Authentication is used. (Optional: If you want to learn more about authentication, check this out.)

Open System Authentication:

  1. Ask the AP for authentication.

  2. The AP answers: OK, you are authenticated.

  3. Ask the AP for association

  4. The AP answers: OK, you are now connected.

This is the simplest case, BUT there could be some problems if you are not legitimate to connect:

  • WPA/WPA2 is in use, you need EAPOL authentication. The AP will deny you at step 2.

  • Access Point has a list of allowed clients (MAC addresses), and it lets no one else connect. This is called MAC filtering.

Simple sniffing and cracking

Discovering Networks

The first thing to do is looking out for a potential target. The aircrack-ng suite contains airodump-ng for this — but other programs like Kismet can be used too.

Prior to looking for networks, you must put your wireless card into what is called “monitor mode”. Monitor mode is a special mode that allows your computer to listen to every wireless packet. This monitor mode also allows you to optionally inject packets into a network. Injection will be covered later in this tutorial.

To put your wireless card into monitor mode using airmon-ng:

airmon-ng start wlan0

It will create create another interface, and append “mon” to it. So, wlan0 will become wlan0mon. To confirm it is in monitor mode, run “iwconfig” and confirm the mode.

Then, start airodump-ng to look out for networks:

airodump-ng wlan0mon

If airodump-ng could connect to the WLAN device, you’ll see a screen like this:

airodump-ng hops from channel to channel and shows all access points it can receive beacons from. Channels 1 to 14 are used for 802.11b and g (in US, they only are allowed to use 1 to 11; 1 to 13 in Europe with some special cases; 1-14 in Japan). 802.11a is in the 5GHz and availability in different countries is more fragmented than on 2.4GHz. In general, known channels starts at 36 (32 in some countries) to 64 (68 in some countries) and 96 to 165. Wikipedia has more details on channel availability. The Linux Central Regulatory Domain Agent takes care of allowing/forbidding transmissions on the different channels for your country; however, it needs to be set appropriately.

The current channel is shown in the top left corner.

After a short time some APs and (hopefully) some associated clients will show up.

The upper data block shows the access points found:

BSSID The MAC address of the AP
RXQ Quality of the signal, when locked on a channel
PWR Signal strength. Some drivers don’t report it
Beacons Number of beacon frames received. If you don’t have a signal strength you can estimate it by the number of beacons: the more beacons, the better the signal quality
Data Number of data frames received
CH Channel the AP is operating on
MB Speed or AP Mode. 11 is pure 802.11b, 54 pure 802.11g. Values between are a mixture
ENC Encryption: OPN: no encryption, WEP: WEP encryption, WPA: WPA or WPA2 encryption, WEP?: WEP or WPA (don’t know yet)
ESSID The network name. Sometimes hidden

The lower data block shows the clients found:

BSSID The MAC of the AP this client is associated to
STATION The MAC of the client itself
PWR Signal strength. Some drivers don’t report it
Packets Number of data frames received
Probes Network names (ESSIDs) this client has probed

Now you should look out for a target network. It should have a client connected because cracking networks without a client is an advanced topic (See How to crack WEP with no clients). It should use WEP encryption and have a high signal strength. Maybe you can re-position your antenna to get a better signal. Often a few centimeters make a big difference in signal strength.

In the example above the net 00:01:02:03:04:05 would be the only possible target because it’s the only one with an associated client. But it also has a high signal strength so it’s really a good target to practice.

Sniffing IVs

Because of the channel hopping you won’t capture all packets from your target net. So we want to listen just on one channel and additionally write all data to disk to be able to use it for cracking:

airodump-ng -c 11 --bssid 00:01:02:03:04:05 -w dump wlan0mon

With the -c parameter you tune to a channel and the parameter after -w is the prefix to the network dumps written to disk. The “--bssid” combined with the AP MAC address limits the capture to the one AP. The “--bssid” option is only available on new versions of airodump-ng.

Before being able to crack WEP you’ll usually need between 40 000 and 85 000 different Initialization Vectors (IVs). Every data packet contains an IV. IVs can be re-used, so the number of different IVs is usually a bit lower than the number of data packets captured.

So you’ll have to wait and capture 40K to 85K of data packets (IVs). If the network is not busy it will take a very long time. Often you can speed it up a lot by using an active attack (=packet replay). See the next chapter.

Cracking

If you’ve got enough IVs captured in one or more file, you can try to crack the WEP key:

aircrack-ng -b 00:01:02:03:04:05 dump-01.cap

The MAC after the -b option is the BSSID of the target and dump-01.cap the file containing the captured packets. You can use multiple files, just add all their names or you can use a wildcard such as dump*.cap.

For more information about aircrack-ng parameters, description of the output and usage see the manual.

The number of IVs you need to crack a key is not fixed. This is because some IVs are weaker and leak more information about the key than others. Usually these weak IVs are randomly mixed in between the stronger ones. So if you are lucky, you can crack a key with only 20 000 IVs. But often this it not enough and aircrack-ng will run a long time (up to a week or even longer with a high fudge factor) and then tell you the key could not be cracked. If you have more IVs cracking can be done a lot faster and is usually done in a few minutes, or even seconds. Experience shows that 40 000 to 85 000 IVs is usually enough for cracking.

There are some more advanced APs out there that use an algorithm to filter out weak IVs. The result is either that you can’t get more than “n” different IVs from the AP or that you’ll need millions (like 5 to 7 million) to crack the key. Search in the Forum, there are some threads about cases like this and what to do.

Active attacks

Injection support

Most devices don’t support injection — at least not without patched drivers. Some only support certain attacks. Take a look at the compatibility page, column aireplay. Sometimes this table is not up-to-date, so if you see a “NO” for your driver there don’t give up yet, but look at the driver homepage, the driver mailing list or our Forum. If you were able to successfully replay using a driver which is not listed as supported, don’t hesitate to update the compatibility page table and add a link to a short howto. (To do this, request a wiki account on IRC.)

The first step is to make sure packet injection really works with your card and driver. The easiest way to test it is the injection test attack. Make sure to perform this test prior to proceeding. Your card must be able to successfully inject in order to perform the following steps.

You’ll need the BSSID (AP MAC) and ESSID (network name) of an AP that does not do MAC filtering (e.g. your own) and must be in range of the AP.

Try to connect to your AP using aireplay-ng:

aireplay-ng --fakeauth 0 -e "your network ESSID" -a 00:01:02:03:04:05 wlan0mon

The value after -a is the BSSID of your AP.

If injection works you should see something like this:

12:14:06  Sending Authentication Request
12:14:06  Authentication successful
12:14:06  Sending Association Request
12:14:07  Association successful :-)

If not

  1. double-check ESSID and BSSID

  2. make sure your AP has MAC filtering disabled

  3. test it against another AP

  4. make sure your driver is properly patched and supported

  5. Instead of “0”, try “6000 -o 1 -q 10”

ARP replay

Now that we know that packet injection works, we can do something to massively speed up capturing IVs: ARP-request reinjection

The idea

ARP works (simplified) by broadcasting a query for an IP and the device that has this IP
sends back an answer. Because WEP does not protect against replay, you can sniff a packet, send it out again and again and it is still valid.
So you just have to capture and replay an ARP-request targeted at the AP to create lots of traffic (and sniff IVs).

The lazy way

First open a window with an airodump-ng sniffing for traffic (see above). aireplay-ng and airodump-ng can run together.
Wait for a client to show up on the target network. Then start the attack:

aireplay-ng --arpreplay -b 00:01:02:03:04:05 -h 00:04:05:06:07:08 wlan0mon

-b specifies the target BSSID, -h the MAC of the connected client.

Now you have to wait for an ARP packet to arrive. Usually you’ll have to wait for a few minutes (or look at the next chapter).

If you were successful, you’ll see something like this:

Saving ARP requests in replay_arp-0627-121526.cap
You must also start airodump to capture replies.
Read 2493 packets (got 1 ARP requests), sent 1305 packets...

If you have to stop replaying, you don’t have to wait for the next ARP packet to show up, but you can re-use the previously captured packet(s) with
the -r <filename> option.

When using the ARP injection technique, you can use the PTW method to crack the WEP key. This dramatically reduces the number of data packets you need and also the time needed. You must capture the full packet in airodump-ng, meaning do not use the “--ivs” option when starting it. For aircrack-ng, use “aircrack -z <file name>”. (PTW is the default attack)

If the number of data packets received by airodump-ng sometimes stops increasing you maybe have to reduce the replay-rate. You do this with the -x <packets per second> option. I usually start out with 50 and reduce until packets are received continuously again. Better positioning of your antenna usually also helps.

The aggressive way

Most operating systems clear the ARP cache on disconnection. If they want to send the next packet after reconnection (or just use DHCP), they have to send out ARP requests. So the idea is to disconnect a client and force it to reconnect to capture an ARP-request. A side-effect is that you can sniff the ESSID and possibly a keystream during reconnection too. This comes in handy if the ESSID of your target is hidden, or if it uses shared-key authentication.

Keep your airodump-ng and aireplay-ng running. Open another window and run a deauthentication attack:

aireplay-ng --deauth 5 -a 00:01:02:03:04:05 -c 00:04:05:06:07:08 wlan0mon

-a is the BSSID of the AP, -c the MAC of the targeted client.

Wait a few seconds and your ARP replay should start running.

Most clients try to reconnect automatically. But the risk that someone recognizes this attack or at least attention is drawn to the stuff happening on the WLAN is higher than with other attacks.

More tutorials can be found on this page.

Текст статьи не является руководством к действию и публикуется для ознакомления с методами взлома и построения грамотной защиты. Напоминаем, что за преступления в сфере компьютерной информации предусмотрена ответственность по статье 274 УК РФ.

***

Разработчики Kali предупреждают, что в виртуальной машине не получится установить драйвера для Nvidia и соответственно мы не сможем проводить расчеты на ГП. Подтверждаю, у меня драйвера не установились. В таком случае лучше ставить Kali как вторую ОС. Расчет на ЦП в виртуальной машине работает нормально.

В статье представлены рецепты для Kali Linux 20.04 и Ubuntu 20.04. Если Kali не устраивает, у нее есть аналог – Parrot OS.

1. Установка Kali в VirtualBox

Устанавливаем последнюю версию VirtualBox и скачиваем Kali Linux VirtualBox 64-Bit (OVA) или 32-Bit. Запускаем VirtualBox и нажимаем на кнопку Импортировать.

Рис. 1. Установка Kali Linux в VirtualBox

Рис. 1. Установка Kali Linux в VirtualBox

Выбираем образ Kali Linux, назначаем количество ядер и ОЗУ для виртуальной машины и нажимаем на кнопку Импорт.

Рис. 2. Установка Kali Linux в VirtualBox

Рис. 2. Установка Kali Linux в VirtualBox

Запускаем Kali Linux и вводим логин kali и пароль kali.

Рис. 3. Ввод логина и пароля в Kali Linux

Рис. 3. Ввод логина и пароля в Kali Linux

2. Установка aircrack-ng

Aircrack-ng – набор инструментов для мониторинга, пентестинга Wi-Fi сетей и взлома WEP, WPA 1 и 2. В Kali утилита aircrack-ng предустановлена. В Ubuntu выполним следующую команду:

        sudo apt install aircrack-ng
    

3. Установка bettercap

Bettercap – программа для мониторинга и спуфинга. Установим bettercap из исходников. Введем в терминале следующие команды:

        sudo apt update
sudo apt install golang git build-essential libpcap-dev libusb-1.0-0-dev libnetfilter-queue-dev

#эта команда выполняется долго
go get github.com/bettercap/bettercap
    

Перейдем в каталог с bettercap:

        #в Kali:
cd /home/kali/go/src/github.com/bettercap/bettercap/

#в Ubuntu:
cd /home/USERNAME/go/src/github.com/bettercap/bettercap/

#Затем введем:
make build
sudo make install
    

Если к компьютеру подключен USB Wi-Fi адаптер, включим его следующим образом: УстройстваUSBMediaTek 802.11 n WLAN. Название Wi-Fi адаптера может отличаться.

Рис. 4. Включение беспроводного USB Wi-Fi адаптера в Kali Linux в VirtualBox

Рис. 4. Включение беспроводного USB Wi-Fi адаптера в Kali Linux в VirtualBox
Рис. 5. Wi-Fi адаптер из AliExpress за 150 руб., который использовался для мониторинга Wi-Fi
Рис. 5. Wi-Fi адаптер из AliExpress за 150 руб., который использовался для мониторинга Wi-Fi

Узнаем имя Wi-Fi адаптера с помощью команды ifconfig или ip a.

Рис. 6. Узнаем имя адаптера командой <code class="inline-code">ifconfig</code>

Рис. 6. Узнаем имя адаптера командой ifconfig

В нашем случае адаптер называется wlan0.

Сначала отключим ненужные процессы:

        sudo airmon-ng check kill
    

Затем переключим адаптер в режим мониторинга:

        sudo airmon-ng start wlan0
    

Запустим bettercap следующей командой:

        sudo bettercap --iface wlan0
    

Рис. 7. Запуск bettercap в Kali Linux

Рис. 7. Запуск bettercap в Kali Linux

Начнем «слушать» Wi-Fi, введя в терминал wifi.recon on.

Рис. 8. Мониторинг Wi-Fi сетей с помощью bettercap в Kali Linux

Рис. 8. Мониторинг Wi-Fi сетей с помощью bettercap в Kali Linux

Для просмотра списка обнаруженных сетей введем wifi.show.

Рис. 9. Просмотр обнаруженных W-Fi сетей с помощью bettercap в Kali Linux

Рис. 9. Просмотр обнаруженных W-Fi сетей с помощью bettercap в Kali Linux

5. Получение рукопожатий

Выберем цель – точка доступа NX531J. Попробуем получить рукопожатия (англ. handshake) между точкой доступа NX531J и подключенным к ней устройством. Ждем, когда клиент отключится и подключится снова, либо принудительно отключим его командой деаутентификации: wifi.deauth MAC-адрес точки доступа

MAC-адрес – уникальный идентификатор сетевого устройства. Его значение берем из столбца BSSID. В нашем случае: wifi.deauth 90:c7:aa:bb:cc:dd.

Повторяем эту команду, пока не перехватим рукопожатия.

wifi.deauth * и wifi.deauth all отключают все устройства на всех точках доступа.

Рис. 10. Перехват рукопожатий с помощью bettercap в Kali Linux

Рис. 10. Перехват рукопожатий с помощью bettercap в Kali Linux

Четырехстороннее рукопожатие

Четырехстороннее рукопожатие (англ. four-way handshake) – механизм создания парного переходного ключа PTK для защиты трафика.

PTK содержит:

  • временный ключ TK;
  • ключ подтверждения ключа EAPOL;
  • ключ шифрования EAPOL-key.

Первое рукопожатие

Точка доступа отправляет клиенту случайное 32-байтное число ANonce.

Второе рукопожатие

Клиент в ответ генерирует свое случайное 32-байтное число SNonce. ANonce, SNonce и общий PMK (парный мастер-ключ) образуют PTK (парный переходной ключ). Во втором сообщении клиент отправляет SNonce и MIC (код целостности сообщения) точке доступа.

Третье рукопожатие

Точка доступа генерирует свой PTK для проверки значений MIC из второго сообщения. Если все верно, точка доступа отправляет клиенту сообщение о применении PTK.

Четвертое рукопожатие

Клиент подтверждает использование ключа PTK. [1]

Самое важное рукопожатие – второе. В дополнение к нему необходимо первое и/или третье рукопожатие. Лучший минимальный вариант – второе и третье рукопожатия.

Рис. 11. Схема четырехстороннего рукопожатия точки доступа (AP) и клиента (STA)

Рис. 11. Схема четырехстороннего рукопожатия точки доступа (AP) и клиента (STA)

Файл с рукопожатиями сохраняется в /root/bettercap-wifi-handshakes.pcap. Скопируем его в домашнюю директорию:

        #в Kali:
sudo cp /root/bettercap-wifi-handshakes.pcap /home/kali/

#в Ubuntu:
sudo cp /root/bettercap-wifi-handshakes.pcap /home/USERNAME/
    

6. Выбор нужных рукопожатий

Чтобы выбрать интересующие нас рукопожатия и экспортировать их в отдельный файл, нам понадобится программа для анализа сетевых протоколов WireShark.

В Ubuntu установим WireShark:

        sudo apt install wireshark
    

Введем в терминале команду wireshark. Откроется программа с графическим интерфейсом. Нажмем Сtrl+O и откроем файл с рукопожатиями bettercap-wifi-handshakes.pcap

Отфильтруем данные по мак-адресу wlan.addr==90:c7:aa:bb:cc:dd и отсортируем по времени, кликнув по столбцу Time. Также можно отсортировать по номеру No.. Значения ANonce и SNonce меняются каждую сессию, поэтому выбираем рукопожатия, разделенные небольшим временным промежутком (десятки миллисекунд). Рукопожатия из разных сессий для взлома непригодны.

Рис. 12. Просмотр рукопожатий в программе WireShark

Рис. 12. Просмотр рукопожатий в программе WireShark

Как видно, мы получили первое, второе и третье рукопожатия. Выделим все рукопожатия EAPOL, файл с именем сети SSID (в нашем случае это Association Request) и нажмем FileExport Specified Packets.

Рис. 13. Экспорт рукопожатий в программе WireShark

Рис. 13. Экспорт рукопожатий в программе WireShark

Откроется диалоговое окно, в котором выберем Selected packets only и сохраним файл под названием hs.pcap.

Рис. 14. Сохранение рукопожатий в программе WireShark

Рис. 14. Сохранение рукопожатий в программе WireShark

7. Получаем пароль

Для начала, конвертируем файл hs.pcap в файл hs.hccapx (в команде новый файл пишется без расширения, только название):

        #в Kali:
sudo aircrack-ng -j /home/kali/hs /home/kali/hs.pcap

#в Ubuntu:
sudo aircrack-ng -j /home/USERNAME/hs /home/USERNAME/hs.pcap
    

Это нужно, чтобы программа по расшифровке хеша hashcat смогла прочесть файл. Она подбирает пароли с помощью ЦП и/или ГП.

Рис. 15. Конвертация из .pcap в .hccapx утилитой hashcat

Рис. 15. Конвертация из .pcap в .hccapx утилитой hashcat

8. Подбор по словарю

В Ubuntu установим hashcat командой:

        sudo apt install hashcat
    

Словарь – txt-файл с одним словом в каждой строке (рис. 16) Создадим или скачаем словарь (см. доп. материалы) и поместим его в /home/kali, либо /home/USERNAME для Ubuntu.

Рис. 16. Пример словаря для атаки по словарю

Рис. 16. Пример словаря для атаки по словарю

Пароль от моей точки доступа: qwerty12. Он присутствует в словаре для подбора пароля.

Чтобы начать перебор по словарю введем команду:

        #в Kali:
hashcat --force -m2500 -a0 /home/kali/hs.hccapx /home/kali/dic.txt

#в Ubuntu:
hashcat --force -m2500 -a0 /home/USERNAME/hs.hccapx /home/USERNAME/dic.txt
    

Расшифруем значения опций:

--force – скрыть ошибки.

-m2500 – тип взламываемого хеша WPA-EAPOL-PBKDF2.

-a0 – атака по словарю. Можно без этого флага, так как он работает по умолчанию.

/home/kali/hs.hccapx – файл хеша.

/home/kali/dic.txt – словарь.

В случае успеха статус взлома примет значение Cracked и мы получим пароль (рис. 17).

Рис. 17. Успешный взлом пароля атакой по словарю утилитой hashcat

Рис. 17. Успешный взлом пароля атакой по словарю утилитой hashcat
Тип атаки Пример команды
Словарь hashcat -a0 -m2500 example.hash example.dict
Словарь + Правила hashcat -a0 -m2500 example0.hash example.dict -r rules/best64.rule
Брутфорс hashcat -a3 -m2500 example.hash ?a?a?a?a?a?a
Комбинаторная атака hashcat -a1 -m2500 example.hash example1.dict example2.dict

9. Брутфорс и атака по маске

При брутфорсе (англ. brute force) перебираются все возможные символы. Используя маски, мы сужаем диапазон подбираемых символов, например, только числа или только числа и строчные символы. Таким образом на перебор требуется меньше времени. Этот подход удобен, если мы примерно знаем, как человек придумывает пароли. Из атаки по маске можно сделать брутфорс, включив в перебор все символы.

Для атаки по маске введем следующую команду:

        #в Kali:
hashcat -m2500 -a3 -1?l -2?d /home/kali/hs.hccapx ?1werty?2?2

#в Ubuntu:
hashcat -m2500 -a3 -1?l -2?d /home/USERNAME/hs.hccapx ?1werty?2?2
    

Значения опций:

-m2500 – тип взламываемого хеша, WPA-EAPOL-PBKDF2.

-a3 – атака по маске.

-1?l – маска по прописным латинскими буквам (прописная буква L).

-2?d – маска по цифрам.

hs.hccapx – файл хеша.

?1werty?2?2 – предполагаемый пароль с неизвестными символами. В данном случае задача упрощена для экономии времени.

Рис. 18. Успешный взлом пароля атакой по маске утилитой hashcat

Рис. 18. Успешный взлом пароля атакой по маске утилитой hashcat
? Символы
l (прописная буква L) abcdefghijklmnopqrstuvwxyz
u ABCDEFGHIJKLMNOPQRSTUVWXYZ
d 0123456789
h 0123456789abcdef
H 0123456789ABCDEF
s !»#$%&'()*+,-./:;<=>?@[]^_`{|}~
a ?l?u?d?s
b 0x00 – 0xff

Команда для расчета через видеокарту:

        hashcat -D2 -m2500 -a3 -1?l -2?d hs.hccapx ?1werty?2?2
    

Здесь -D2 – устройство для расчета, ГП.

Номер Устройство
1 ЦП
2 ГП
3 FPGA, DSP, Co-Processor

10. Комбинаторная атака

В комбинаторной атаке используются два словаря. Слова из двух словарей конкатенируются. Если словари содержат следующие слова:

        Hello
World
5588
!
    

то после их соединения получим такой словарь:

        HelloHello
HelloWorld
Hello5588
Hello!
WorldHello
WorldWorld
World5588
World!
5588Hello
5588World
55885588
5588!
!Hello
!World
!5588
!!

    

Запустим комбинаторную атаку:

        #в Kali:
hashcat -m2500 -a1 /home/kali/hs.hccapx /home/kali/dic1.txt /home/kali/dic2.txt

#в Ubuntu:
hashcat -m2500 -a1 /home/USERNAME/hs.hccapx /home/USERNAME/dic1.txt /home/USERNAME/dic2.txt
    

Здесь:

/home/kali/dic1.txt – первый словарь.

/home/kali/dic2.txt – второй словарь.

Рис. 19. Успешный взлом пароля комбинаторной атакой утилитой hashcat

Рис. 19. Успешный взлом пароля комбинаторной атакой утилитой hashcat

11. Куда сохраняется пароль

После удачной расшифровки пароль выводится на экран и записывается в файл ~/.hashcat/hashcat.potfile.

Откроем его в текстовом редакторе, чтобы посмотреть результат:

        sudo nano ~/.hashcat/hashcat.potfile
    

12. Онлайн-сервисы по расшифровке хеша

Также хеш был отправлен в бесплатный онлайн-сервис по расшифровке хеша onlinehashcrack.com и через 12 часов 6 минут пришло письмо, что пароль получен (рис. 20).

Рис. 20. Результаты взлома пароля с помощью сервиса onlinehashcrack.com

Рис. 20. Результаты взлома пароля с помощью сервиса onlinehashcrack.com

Платформа passcrack.online получила пароль за 5 минут (рис. 21). С отправки в онлайн-сервисы лучше начинать расшифровку, так как вычислительных ресурсов у них больше, чем у домашнего компьютера.

Рис. 21. Результаты взлома пароля с помощью сервиса passcrack.online

Рис. 21. Результаты взлома пароля с помощью сервиса passcrack.online

13. Разница между WPA2 и WPA3

В июле 2018 года Wi-Fi Alliance выпустил протокол беспроводной безопасности WPA3. Посмотрим, чем он отличается от своего предшественника.

Недостатки WPA2:

  • уязвим к взлому через WPS;
  • возможен перехват рукопожатий и получение пароля с помощью брутфорса;

Преимущества WPA3 в сравнении с WPA2:

  • устранена уязвимость четырехстороннего рукопожатия за счет применения технологии SAE (Simultaneous Authentication of Equals), которая защищает от офлайн атак по словарю.
  • поддержка PMF (Protected Management Frames) для контроля целостности трафика;
  • шифрование 192 бит в режиме WPA3-Enterprise и 128 бит в WPA3-Personal;
  • упрощенная настройка IoT-устройств.

Недостатки WPA3:

  • уязвим к взлому через WPS. [2]

Общее уязвимое место у WPA 2 и 3 – WPS (Wi-Fi Protected Setup).

14. Дополнительные материалы

Файл .hccapx для практики

На сайте hashecat доступен для скачивания файл .hccapx, на котором можно попрактиковаться в расшифровке. Зашифрованный пароль: hashcat!.

Онлайн-конвертер .pcap в .hccapx

  • hashcat.net/cap2hccapx/

Словари

  • wpa2-wordlists – GitHub;
  • SecLists – GitHub;
  • Probable-Wordlists – GitHub;
  • naive-hashcat – GitHub, файл rockyou.txt, 14 300 000 слов
  • wordlists – GitHub, 460 000 слов;
  • english-words – GitHub;
  • md5this.com – пароль к архивам md5this.com;
  • Rocktastic12a – 1.37 ГБ;
  • crackstation.net;
  • wirelesshack.org;
  • wpa-sec.stanev.org.

Онлайн-платформы для расшифровки хеша

Бесплатные

  • crypt-fud.ru – принимает файлы .cap и .hccapx;
  • passcrack.online – принимает только файлы .hccapx размером не более 5Кб. Ссылка на страницу загрузки файла для расшифровки придет в письме после регистрации;
  • onlinehashcrack.com – бесплатно, если пароль простой «12345678» или он есть в словаре из 20 млн слов. В ином случае используется брутфорс на ГП 9$/час.
  • wpa-sec.stanev.org – распределенная система;
  • kraken-client – распределенная система;

Платные

  • gpuhash.me – в случае успеха нужно заплатить 0.001BTC;
  • xsrc.ru – 100 руб. за пароль.

Чем открыть большой текстовой файл

Бесплатные программы для чтения и редактирования больших txt-файлов.

Чтение

  • Large Text File Viewer (Windows);
  • klogg (Windows, macOS, Linux);
  • LogExpert (Windows);
  • loxx (Windows);
  • readfileonline.com (Web).

Редактирование

  • Vim (Windows, macOS, Linux);
  • Emacs (Windows, macOS, Linux);
  • Notepad++ (Windows);
  • Large File Editor (Windows);
  • GigaEdit (Windows);

Полезные ссылки

  • wifi-arsenal – Awesome-список по взлому/безопасности Wi-Fi.
  • Awesome Learn Wifi Security – еще один Awesome-список по Wi-Fi;

Законодательство

  • Статья 274 УК РФ о преступлениях в сфере компьютерной информации.

Саундтреки из сериала «Мистер Робот»

  • Яндекс.Музыка – часть 1, 2, 3, 4, 5, 6, 7;
  • Spotify – часть 1, 2, 3, 4, 5, 6, 7 и все треки;
  • iTunes – часть 1, 2, 3, 4, 5, 6, 7;
  • YouTube – часть 1&2, 3, 4, 5, 6, 7.

***

Мы научились мониторить Wi-Fi сети, проводить деаутентификацию подключенных к точке доступа устройств, перехватывать рукопожатия, получать пароли методом подбора по словарю и брутфорсом. Также узнали разницу между WPA2 и WPA3, и определили их общее уязвимое место.

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

  • использовать сложный пароль и периодически менять его;
  • отключить функцию WPS в роутере;
  • регулярно обновлять прошивку роутера;
  • использовать VPN (виртуальная частная сеть): OpenVPN, WireGuard и прочие.

Источники

[1] Самль, С. Д., Роуминг в защищенных беспроводных сетях с использованием IEEE 802.11i. «Научно-практический электронный журнал Аллея Науки» №6(22) 2018.

[2] Кухта А. И., Анализ методов защиты беспроводной сети Wi-Fi. «Молодой исследователь Дона» №2(23) 2020.

Aircrack-ng is a tool that comes pre-installed in Kali Linux and is used for wifi network security and hacking. Aircrack is an all in one packet sniffer, WEP and WPA/WPA2 cracker, analyzing tool and a hash capturing tool. It is a tool used for wifi hacking. It helps in capturing the package and reading the hashes out of them and even cracking those hashes by various attacks like dictionary attacks. It supports almost all the latest wireless interfaces. 
It mainly focuses on 4 areas:

  • Monitoring: Captures cap, packet, or hash files.
  • Attacking: Performs deauthentication or creates fake access points
  • Testing: Checking the wifi cards or driver capabilities
  • Cracking: Various security standards like WEP or WPA PSK.

Working with aircrack-ng

1. To list all network interfaces.

airmon-ng

This command will return all the network interfaces available or connected to the system.

airmon-ng

2. Stopping the desired network interface.

airmon-ng stop wlan0mon

To stop a network interface enter the above command and replace “wlan0” with the desired network interface.

3. Starting a network interface at a specific channel.

airmon-ng start wlan0 10

To start a network interface at a specific channel enter the above command and replace “wlan0” with the desired network interface and 10 with the desired channel name.

4. Collecting authentication handshake

airodump-ng -c 10 --bssid 00:15:5D:9C:44:00 -w psk wlan0

To collect the authentication handshake enter the above command in terminal and replace “wlan0” with the desired network interface and 10 with the desired channel name and bssid with the bssid of the wifi.

5. Cracking the captured handshake file by means of a wordlist

aircrack-ng -w wordlist psk*.cap

To run a brute force attack and to crack the password enter the above command in the terminal and replace “wordlist” with the desired wordlist to be used and “wpa.cap” with the desired handshake filename.

6. To get the help section of the tool

aircrack-ng --help

The above command will display the help section of the aircrack-ng command.

7. To display the # of CPUs and SIMD support

aircrack-ng -u

The above command will display the details of the hash of CPUs and SIMD support.

capture cpu and simd hash

Last Updated :
28 Jul, 2020

Like Article

Save Article

Всем привет. В преддверии старта курса «Практикум по Kali Linux» подготовили для вас перевод интересной статьи.

Руководство по Aircrack-ng в Linux для новичков

Сегодняшнее руководство познакомит вас с основами для начала работы с пакетом aircrack-ng. Конечно, невозможно предоставить всю необходимую информацию и охватить каждый сценарий. Так что будьте готовы делать домашние задания и проводить исследования самостоятельно. На

форуме

и в

Wiki

есть множество дополнительных туториалов и другой полезной информации.

Несмотря на то, что оно не покрывает все шаги от начала до конца, руководство Simple WEP Crack подробнее раскрывает работу с aircrack-ng.

Настройка оборудования, установка Aircrack-ng

Первым шагом в обеспечении правильной работы aircrack-ng в вашей системе Linux является патчинг и установка соответствующего драйвера для вашей сетевой карты. Многие карты работают с несколькими драйверами, некоторые из них предоставляют необходимый функционал для использования aircrack-ng, другие нет.

Думаю, излишне говорить о том, что вам нужна сетевая карта, совместимая с пакетом aircrack-ng. То есть то аппаратное обеспечение, которое полностью совместимо и может внедрять инъекции пакетов. С помощью совместимой сетевой карты можно взломать беспроводную точку доступа менее, чем за час.

Чтобы определить к какой категории относится ваша карта, ознакомьтесь со страницей совместимости оборудования. Прочитайте Tutorial: Is My Wireless Card Compatible?, если не знаете, как обращаться с таблицей. Тем не менее, это не помешает вам при чтении руководства, которое поможет вам узнать что-то новое и убедиться в тех или иных свойствах вашей карты.

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

Установка aircrack-ng

Последнюю версию aircrack-ng можно получить, скачав с главной страницы, или же вы можете воспользоваться дистрибутивом для проведения тестирования на проникновение, таким как Kali Linux или Pentoo, где стоит последняя версия aircrack-ng.

Чтобы установить aircrack-ng обратитесь к документации на странице установки.

Основы IEEE 802.11

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

Следующую часть важно понять, чтобы смочь разобраться в случае, если что-то будет работать не так, как ожидается. Понимание того, как все это работает, поможет вам найти проблему или, по крайней мере, правильно ее описать, чтобы кто-то другой смог вам помочь. Здесь все немного заумно, и, возможно вам захочется пропустить эту часть. Однако для взлома беспроводных сетей нужно немного знаний, и потому взлом – это чуть больше, чем просто набрать одну команду и позволить aircrack сделать все за вас.

Как найти беспроводную сеть

Эта часть – краткое введение в управляемые сети, которые работают с точками доступа (Access Point, AP). Каждая точка доступа посылает около 10 так называемых Бикон-фреймов (beacon frame) в секунду. Эти пакеты содержат следующую информацию:

  • Имя сети (ESSID);
  • Используется ли шифрование (и какое шифрование используется, но обратите внимание на то, что эта информация может не являться правдивой, только потому что точка доступа сообщает ее);
  • Какие скорости передачи данных поддерживаются (в MBit);
  • На каком канале находится сеть.

Именно эта информация отображается в инструменте, который подключается конкретно к этой сети. Она отображается, когда вы разрешаете карте сканировать сети с помощью iwlist <interface> scan и когда выполняете airodump-ng.

Каждая точка доступа обладает уникальным MAC-адресом (48 бит, 6 пар шестнадцатеричных чисел). Выглядит он примерно так: 00:01:23:4A:BC:DE. У каждого сетевого устройства есть такой адрес, и сетевые устройства взаимодействуют друг с другом с их помощью. Так что это что-то вроде уникального имени. MAC-адреса уникальны и нет двух устройств с одинаковыми MAC-адресами.

Подключение к сети

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

Open System Authentication:

  1. Запрашивает аутентификацию точки доступа;
  2. Точка доступа отвечает: OK, вы аутентифицированы.
  3. Запрашивает ассоциацию точки доступа;
  4. Точка доступа отвечает: ОК, вы подключены.

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

  • Используется WPA/WPA2, и вам нужна аутентификация APOL. Точка доступа ответит отказом на втором шаге.
  • У точки доступа есть список разрешенных клиентов (MAC-адресов) и она не позволит подключиться никому другому. Это называется фильтрация по MAC.
  • Точка доступа использует Shared Key Authentication, то есть вам нужно предоставить правильный WEP-ключ, чтобы подключиться. (См. раздел «Как сделать поддельную аутентификацию с общим ключом?» чтобы узнать больше об этом)

Простой сниффинг и взлом

Обнаружение сетей

Первое, что нужно сделать – это найти потенциальную цель. В пакете aircrack-ng для этого есть airodump-ng, но можно использовать и другие программы как, например, Kismet.

Прежде чем искать сети, вы должны перевести свою карту так называемый «режим мониторинга». Режим мониторинга – это специальный режим, который позволяет вашему компьютеру прослушивать сетевые пакеты. Этот режим также позволяет внедрять инъекции. Об инъекциях мы поговорим в следующий раз.

Чтобы перевести сетевую карту в режим мониторинга, используйте airmon-ng:

airmon-ng start wlan0

Так вы создадите еще один интерфейс и добавите к нему «mon». Итак, wlan0 станет wlan0mon. Чтобы проверить, действительно ли сетевая карта находится в режиме мониторинга, выполните iwconfig и убедитесь в этом сами.

Затем, запустите airodump-ng для поиска сетей:

airodump-ng wlan0mon

Если airodump-ng не сможет подключиться к WLAN-устройству, вы увидите что-то подобное:

Руководство по Aircrack-ng в Linux для новичков

airodump-ng

перескакивает с канала на канал и показывает все точки доступа, от которых он получает биконы. Каналы с 1 по 14 используются для стандартов 802.11 b и g (в США разрешено использовать только с 1 по 11; в Европе с 1 по 13 за некоторым исключением; в Японии с 1 по 14). 802.11a работает в диапазоне 5 ГГц, и его доступность варьируется в разных странах больше, чем в диапазоне 2,4 ГГц. В целом, известные каналы начинаются с 36 (32 в некоторых странах) по 64 (68 в некоторых странах) и с 96 по 165. В Википедии вы можете найти более подробную информацию о доступности каналов. В Linux о разрешении/запрете передачи по определенным каналам для вашей страны заботится

Central Regulatory Domain Agent

; однако он должен быть настроен соответствующим образом.

Текущий канал показан в левом верхнем углу.
Через некоторое время появятся точки доступа и (надеюсь) некоторые связанные с ними клиенты.
Верхний блок показывает обнаруженные точки доступа:

bssid
mac-адрес точки доступа

pwr
качество сигнала, когда выбран канал

pwr
сила сигнала. некоторые драйверы ее не сообщают.

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

data
количество полученных фреймов данных

ch
канал, на котором работает точка доступа

mb
скорость или режим точки доступа. 11 – это чистый 802.11b, 54 – это чистый 802.11g. значения между этими двумя – это смесь.

enc
шифрование: opn: нет шифрования, wep: wep шифрование, wpa: wpa или wpa2, wep?: wep или wpa (пока неясно)

essid
имя сети, порой скрыто

Нижний блок показывает обнаруженные клиенты:

bssid
mac-адрес, с которым клиент ассоциируется у данной точки доступа

station
mac-адрес самого клиента

pwr
сила сигнала. некоторые драйверы ее не сообщают.

packets
количество полученных фреймов данных

probes
имена сети (essid), которые этот клиент уже апробировал

Теперь вам нужно следить за целевой сетью. К ней должен быть подключен хотя бы один клиент, поскольку взлом сетей без клиентов – это более сложная тема (см. раздел Как взломать WEP без клиентов). Она должна использовать WEP-шифрование и иметь хороший сигнал. Возможно, вы можете поменять положение антенны, чтобы улучшить прием сигнала. Иногда для силы сигнала несколько сантиметров могут оказаться решающими.

В примере выше есть сеть 00:01:02:03:04:05. Она оказалась единственной возможной целью, поскольку только к ней подключен клиент. А еще у нее хороший сигнал, поэтому она является подходящей целью для практики.

Сниффинг Векторов Инициализации

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

airodump-ng -c 11 --bssid 00:01:02:03:04:05 -w dump wlan0mon

С помощью параметра вы выбираете канал, а параметр после -w является префиксом сетевых дампов, записанных на диск. Флаг –bssid вместе с MAC-адресом точки доступа ограничивает получение пакетов до одной точки доступа. Флаг –bssid доступен только в новых версиях airodump-ng.

Перед взломом WEP, вам понадобится от 40 000 до 85 000 различных векторов инициализации (Initialization Vector, IV). Каждый пакет данных содержит вектор инициализации. Их можно переиспользовать, поэтому количество векторов обычно немного меньше, чем количество перехваченных пакетов.
Таким образом, вам придется подождать, чтобы перехватить от 40к до 85к пакетов данных (с IV). Если сеть не занята, это займет очень много времени. Вы можете ускорить этот процесс используя активную атаку (или атаку повторного воспроизведения). О них мы поговорим в следующей части.

Взлом

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

aircrack-ng -b 00:01:02:03:04:05 dump-01.cap

MAC-адрес после флага -b – это BSSID цели, а dump-01.cap – это файл, содержащий перехваченные пакеты. Вы можете использовать несколько файлов, для этого просто добавьте в команду все имена или воспользуйтесь символом подстановки, например dump*.cap.

Больше информации о параметрах aircrack-ng, выводе и использовании вы можете получить из руководства.

Количество векторов инициализации, необходимых для взлома ключа, не ограничено. Так происходит потому, что некоторые вектора слабее и теряют больше информации о ключе, чем другие. Обычно эти вектора инициализации смешиваются с более сильными. Так что, если вам повезет, вы сможете взломать ключ всего с 20 000 векторами инициализации. Однако часто и этого бывает недостаточно, aircrack-ng может работать долго (неделю или больше в случае высокой погрешности), а затем сказать вам, что ключ не может быть взломан. Чем больше у вас векторов инициализации, тем быстрее может произойти взлом и обычно это делает за несколько минут или даже секунд. Опыт показывает, что для взлома достаточно 40 000 – 85 000 векторов.

Существуют более продвинутые точки доступа, которые используют специальные алгоритмы, чтобы отфильтровывать слабые вектора инициализации. В результате вы не сможете получить больше, чем N векторов от точки доступа, либо вам понадобятся миллионы векторов (например, 5-7 миллионов), чтобы взломать ключ. Вы можете почитать на форуме, что делать в таких случаях.

Активные атаки
Большинство устройств не поддерживают инъекции, по крайней мере без пропатченных драйверов. Некоторые поддерживают только определенные атаки. Обратитесь к странице совместимости и посмотрите в столбец aireplay. Иногда эта таблица не дает актуальной информации, поэтому если вы увидите слово “NO” напротив вашего драйвера, не расстраивайтесь, а лучше посмотрите на домашнюю страницу драйвера, в список рассылок драйверов на нашем форуме. Если вам удалось успешно провести повторное воспроизведение с помощью драйвера, который не был включен в список поддерживаемых, не стесняйтесь предлагать изменения на странице таблицы совместимости и добавлять ссылку на краткое руководство. (Для этого нужно запросить учетную запись wiki на IRC.)

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

Вам понадобится BSSID (MAC-адрес точки доступа) и ESSID (сетевое имя) точки доступа, которая не выполняет фильтрацию по MAC-адресам (например, ваша собственная), и находится в доступном диапазоне.

Попробуйте подключиться к точке доступа с помощью aireplay-ng:

aireplay-ng --fakeauth 0 -e "your network ESSID" -a 00:01:02:03:04:05 wlan0mon

Значением после будет BSSID вашей точки доступа.
Инъекция сработала, если вы увидите что-то вроде этого:

12:14:06  Sending Authentication Request
12:14:06  Authentication successful
12:14:06  Sending Association Request
12:14:07  Association successful :-)

Если нет:

  • Перепроверьте корректность ESSID и BSSID;
  • Удостоверьтесь, что на вашей точке доступа отключена фильтрация по MAC-адресам;
  • Попробуйте это же на другой точке доступа;
  • Удостоверьтесь, что ваш драйвер правильно настроен и поддерживается;
  • Вместо «0» попробуйте «6000 -o 1 -q 10».

ARP replay

Теперь, когда мы знаем, что инъекция пакетов работает, мы можем сделать что-нибудь, что сильно ускорит перехват векторов инициализации: атака инъекций ARP-запросов.

Основная идея

Если говорить простым языком, то ARP работает, передавая широковещательный запрос на IP-адрес, а устройство с этим IP-адресом отправляет обратно ответ. Поскольку WEP не защищает от повторного воспроизведения, вы можете сниффить пакет и отправлять его снова и снова, пока он валидный. Таким образом, вам нужно просто перехватить и воспроизвести ARP-запрос, отправленный точке доступа, чтобы создать траффик (и получить вектора инициализации).

Ленивый способ

Сначала откройте окно с airodump-ng, который сниффит трафик (см. выше). Aireplay-ng и airodump-ng могут работать одновременно. Дождитесь появления клиента в целевой сети и начинайте атаку:

aireplay-ng --arpreplay -b 00:01:02:03:04:05 -h 00:04:05:06:07:08 wlan0mon

-b указывает на целевой BSSID, -h на MAC-адрес подключенного клиента.

Теперь вам нужно дождаться получения ARP-пакета. Обычно нужно ждать несколько минут (или прочитать статью дальше).
Если вам повезло, вы увидите что-то подобное:

Saving ARP requests in replay_arp-0627-121526.cap
You must also start airodump to capture replies.
Read 2493 packets (got 1 ARP requests), sent 1305 packets...

Если вам нужно прекратить воспроизведение, то не нужно ждать появления следующего ARP-пакета, вы можете просто использовать ранее перехваченные пакеты с помощью параметра -r <filename>.
При использовании ARP-инъекций, вы можете использовать метод PTW для взлома WEP-ключа. Он значительно сокращает количество необходимых пакетов, а с ними и время на взлом. Вам нужно перехватить полный пакет с помощью airodump-ng, то есть не использовать опцию “--ivs” при выполнении команды. Для aircrack-ng используйте “aircrack -z <file name>”. (PTW – тип атаки умолчанию)

Если количество пакетов данных получаемых airodump-ng перестает увеличиваться, вам, возможно, придется уменьшить скорость воспроизведения. Сделайте это с помощью параметра -x <packets per second>. Я обычно начинаю с 50 и уменьшаю до тех пор, пока пакеты снова не начнут приниматься непрерывно. А еще вам может помочь изменение положения антенны.

Агрессивный способ

Большинство операционных систем очищают кэш ARP при отключении. Если нужно отправить следующий пакет после повторного подключения (или просто использовать DHCP), они отправляют ARP-запрос. В качестве побочного эффекта вы можете сниффить ESSID и, возможно, keystream во время переподключения. Это удобно, если ESSID вашей цели скрыт или она использует shared-key authentication.
Пускай airodump-ng и aireplay-ng работают. Откройте еще одно окно и запустите атаку деаутентификации:

Здесь -a – это BSSID точки доступа, МАС-адрес выбранного клиента.
Подождите несколько секунд и ARP replay заработает.
Большинство клиентов пытаются восстановить соединение автоматически. Но риск того, что кто-то распознает эту атаку, или, по крайней мере, проявит внимание к тому, что происходит на WLAN, выше, чем при других атаках.

Больше инструментов и информации о них, вы найдете здесь.

Понравилась статья? Поделить с друзьями:
  • Тридерм мазь для чего применяется для детей инструкция к применению
  • Электросушилка редмонд rfd 0158 инструкция по применению
  • Руководства по эксплуатации ниссан х трейл
  • Мезенхим кальциум карбоникум композитум инструкция по применению
  • Мп3 плеер digma r3 руководство пользователя