Arp сканирование локальной сети linux
Содержание:
- Changelog
- Как пользоваться Nmap для сканирования портов в Linux
- Проблема №1
- Prerequisites
- Updating
- Docker
- Usage
- Установка Masscan
- Conclusion
- Lab: Simple Host discovery & Related Options
- Обнаружение уязвимых тем
- Сам себе аудитор, или безопасность собственными силами
- Синтаксис Nmap
- Conclusion
- Troubleshooting
- Reviews
- Принцип действия
- Что нужно для аудита беспроводных сетей?
- WARNING
- INFO
- Prerequisites
- Updating
- Docker
- Usage
Changelog
1.8
- Show severity ratings for Enterprise users
- Show Plugin Closed label
- Add PDF report download
- Add account status meta box
- Add support for API token constant in wp-config.php file
- Show vulnerabilities in Site Health
- Update menu icon to monochrome
1.4
- Prevent multiple tasks to run simultaneously
- Check Now Button disabled and Spinner icon displayed when a task is already running
- Results page automatically reloaded when Task is finished (checked every 10s)
1.3
- Use the /status API endpoint to determine if the Token is valid. As a result, a call is no longer consumed when setting/changing the API token.
- Trim and remove potential leading ‘v’ in versions when comparing then with the fixed_in values.
Как пользоваться Nmap для сканирования портов в Linux
Дальше рассмотрим примеры nmap. Сначала давайте рассмотрим как найти все подключенные к сети устройства, для этого достаточно использовать опцию -sL и указать маску нашей сети. в моем случае это 192.168.1.1/24. Маску вашей локальной сети вы можете найти, выполнив команду:
Из вывода для используемого интерфейса возьмите число после слеша, а до слэша укажите ip вашего роутера. Команда на сканирование сети nmap будет выглядеть вот так:
Иногда это сканирование может не дать никаких результатов, потому что некоторые операционные системы имеют защиту от сканирования портов. Но это можно обойти, просто использовав для сканирования ping всех ip адресов сети, для этого есть опция -sn:
Как видите, теперь программа обнаружила активные устройства в сети. Дальше мы можем сканировать порты nmap для нужного узла запустив утилиту без опций:
Теперь мы можем видеть, что у нас открыто несколько портов, все они используются каким-либо сервисом на целевой машине. Каждый из них может быть потенциально уязвимым, поэтому иметь много открытых портов на машине небезопасно. Но это еще далеко не все, что вы можете сделать, дальше вы узнаете как пользоваться nmap.
Чтобы узнать более подробную информацию о машине и запущенных на ней сервисах вы можете использовать опцию -sV. Утилита подключится к каждому порту и определит всю доступную информацию:
На нашей машине запущен ftp, а поэтому мы можем попытаться рассмотреть эту службу подробнее с помощью стандартных скриптов nmap. Скрипты позволяют проверить порт более детально, найти возможные уязвимости. Для этого используйте опцию -sC и -p чтобы задать порт:
Мы выполняли скрипт по умолчанию, но есть еще и другие скрипты, например, найти все скрипты для ftp вы можете командой:
Затем попытаемся использовать один из них, для этого достаточно указать его с помощью опции —script. Но сначала вы можете посмотреть информацию о скрипте:
Этот скрипт будет пытаться определить логин и пароль от FTP на удаленном узле. Затем выполните скрипт:
В результате скрипт подобрал логин и пароль, admin/admin. Вот поэтому не нужно использовать параметры входа по умолчанию.
Также можно запустить утилиту с опцией -A, она активирует более агрессивный режим работы утилиты, с помощью которого вы получите большую часть информации одной командой:
Обратите внимание, что здесь есть почти вся информация, которую мы уже видели раньше. Ее можно использовать чтобы увеличить защиту этой машины
Проблема №1
Пришел баг, что вместо двух элементов в списке разрешенной утром еды приложение показывает только один.
Один из способов проверить, что пошло не так, — увидеть JSON, который вам возвращает сервер.
Как сниффить трафик?
Предположим, что ваши MacOS-компьютер и iOS-устройство находятся в одной локальной сети, которая выглядит примерно так:
Трафик идет от iOS-устройства через роутер к серверу независимо от трафика компьютера.
Чтобы читать трафик iOS-устройства, нам нужно сделать так, чтобы он шел через наш Мac. Примерно так:
Кроме того, нам понадобится HTTP/S-прокси-сервер, с помощью которого мы бы и смотрели/модифицировали проходящий трафик iOS-устройства.
Еще одна очень важная задача — иметь возможность сниффить HTTPS-трафик. Загвоздка в том, что HTTPS-протокол и создавался, чтобы, кроме клиента и сервера, никто не мог прочесть, что передается в HTTPS-запросах. Поэтому HTTPS-прокси должен поставлять с собой еще и SSL-сертификат, который нужен для работы с HTTPS-трафиком.
Иными словами, нам нужно реализовать Man-in-the-Middle-атаку на нашу собственную сеть.
Charles Web Debugging Proxy Application
Как видим, сниффить HTTPS-трафик — задача многоэтапная, поэтому чтобы максимально упростить себе жизнь, я использую Charles Proxy.
Начнем с минусов:
- Он платный, но единственное ограничение которое есть в пробной версии — Charles работает не дольше 30 минут, потом его надо перезапускать. Еще есть пятисекундные задержки при запуске. Это раздражает, но жить можно.
- Если вам нужен подлинный хакерский инструмент для работы на удаленном сервере 24/7, да еще с нормальным CLI, Charles не для вас.
- Если вы работаете на Windows, вам лучше взять Fiddler, он еще и бесплатный.
- Если вам нужен прокси-сервер для большого количества устройств (больше двух-трех), Charles не для вас.
- Если вам нужно работать с TCP/IP-пакетами в чистом виде, возьмите Wireshark.
Теперь плюсы:
- User-Friendly UI. Charles не требует никаких специальных знаний ни для установки, ни для настройки, ни для использования. Обычное MacOs оконное приложение.
- HTTPS for iOS — у Charles есть набор инструментов, которые делают HTTPS-сниффинг с вашего iOS-устройства максимально простым в настройке.
- Функционал — Charles может сниффить, модифицировать проходящий через него трафик, имитировать медленный интернет, собирать статистику, импорт/экспорт трафика в различных форматах.
- Доступен для Windows и Linux.
Для меня это оптимальное решение по соотношению функционала и простоты в использовании при работе с iOS-устройствами.
Как смотреть трафик iOS-устройства
Откройте приложение FoodSniffer. Если настройка прокси была сделана правильно, то вы должны увидеть такой экран:
В Charles Proxy откройте в меню Tools -> No Caching.
И полностью выключите кэширование на прокси-сервере.
В приложении реализован Pull-to-refresh, после обновления списка продуктов вы должны в Charles увидеть https://www.dropbox.com в списке с левой стороны. Нажмите правой кнопкой мыши на него и выберите Enable SSL Proxing.
После этого еще раз обновите список продуктов в приложении. Теперь вы должны увидеть примерно такую картину:
Теперь мы можем свободно читать HTTPS-трафик, который идет от приложения на Dropbox за нашим JSON.
Но это еще не все!
Dropbox не отдает JSON c хоста dropbox.com напрямую. Вместо этого он возвращает 302-респонс и редиректит еще на один хост, с которого и происходит загрузка данных.
Найти его можно, просмотрев Raw Response следующего запроса:
В данном случае это —uc9c29db95802af8490afc3afda9.dl.dropboxusercontent.com.
У вас, скорее всего, будет немного другой хост.
Затем включаем для него SSL Proxing: Enabled.
Обновляем FoodSniffer еще раз.
И теперь мы наконец можем увидеть реальный JSON, который и показывает приложение!
Мы видим, что у нас есть всего один тип еды на вечернее время — виски, пишем об этом нашему тимлиду и идем пить кофе, проблема не на нашей стороне.
*В проекте применяется уже исправленный JSON, с двумя типами еды на вечер: пивом и виски. *Если вы не видите хост http://uc9c29db95802af8490afc3afda9.dl.dropboxusercontent.com или похожий на него в списке в левой части окна, попробуйте обновить список продуктов в приложении несколько раз.
Prerequisites
- Ruby >= 2.3 — Recommended: latest
- Curl >= 7.21 — Recommended: latest
- RubyGems — Recommended: latest
In a Pentesting distribution
When using a pentesting distubution (such as Kali Linux), it is recommended to install/update wpscan via the package manager if available.
From RubyGems
gem install wpscan
On MacOSX, if a is raised due to the Apple’s System Integrity Protection (SIP), either install RVM and install wpscan again, or run (see #1286)
Updating
You can update the local database by using
Updating WPScan itself is either done via or the packages manager (this is quite important for distributions such as in Kali Linux: ) depending how WPScan was (pre)installed
Docker
Pull the repo with
Enumerating usernames
docker run -it --rm wpscanteam/wpscan --url https://target.tld/ --enumerate u
Enumerating a range of usernames
docker run -it --rm wpscanteam/wpscan --url https://target.tld/ --enumerate u1-100
** replace u1-100 with a range of your choice.
Usage
Full user documentation can be found here; https://github.com/wpscanteam/wpscan/wiki/WPScan-User-Documentation
This will scan the blog using default options with a good compromise between speed and accuracy. For example, the plugins will be checked passively but their version with a mixed detection mode (passively + aggressively). Potential config backup files will also be checked, along with other interesting findings.
If a more stealthy approach is required, then can be used.
As a result, when using the option, don’t forget to set the accordingly, as its default is ‘passive’.
For more options, open a terminal and type (if you built wpscan from the source, you should type the command outside of the git repo)
The DB is located at ~/.wpscan/db
Установка Masscan
Программа предустановлена в Kali Linux.
Установка в Debian, Mint, Ubuntu
sudo apt-get install git gcc make libpcap-dev git clone https://github.com/robertdavidgraham/masscan cd masscan make
Это поместит программу в подкаталог masscan/bin. Если вы хотите установить её куда-то в систему, то вы должны вручную скопировать её куда-нибудь вроде usr/local/bin.
Исходник состоит из множества маленьких файлов, поэтому сборка пройдёт намного быстрее, если будете использовать многопоточную сборку:
make -j
Хотя Linux является главной целевой платформой, код хорошо запускается на многих других системах. Вот дополнительная информация о них:
Установка в Windows
Windows с Visual Studio: используйте проект VS10
Windows с MingGW: просто наберите make
Windows с cygwin: не работает
Mac OS X с XCode: используйте проект XCode4
Mac OS X с cmdline: просто наберите make
Conclusion
Netdiscover is a simple arp scanner which can be used to enumerate hosts. I would like to share with you one of my experience. Out of curiosity, I tried running the tool in my company network. The network has a firewall & I am part of the monitoring team which needs to look for network traffic anomalies. So me & my team can get the info even if somebody is performing a ping between internal hosts. We have detected ping scans, web server scans with nikto etc from our internal network. So I had a clear idea about my target network. So I ran the tool in passive mode. It ran for about 7 hours & I got more than 100 IPs. I cross-checked this result with my monitoring tool and the numbers were about the same. But interestingly not even a single alert was generated from the monitoring tool. I also wondered why it didn’t detect that my interface was in promiscuous mode. So I got 2 major results out of this. One is that I got all the IPs in the network which were live over a period of time. The second is that my monitoring tool was not capable or was not configured to detect promiscuous interfaces in the network. So here are my suggestions.
- Never perform a scanning activity without having a clear knowledge of your network.
- As the Kali Linux slogan says “The quieter you are, the more you are able to hear”
- Use the results from such activities in a constructive way
So if you learned something new from this tutorial, please support me by sharing it with those whom this will benefit.
Lab: Simple Host discovery & Related Options
Netdiscover runs simply by calling executing the command in auto mode
Syntax: netdiscover <options>
Auto Mode
Specifying Range
We can scan a specific range with -r option
Syntax: netdiscover -r <range> Command: netdiscover -r 192.168.1.0/24
Specifying Range
Multiple Ranges from a File
We can also scan for multiple ranges. This is useful when you have a large network with multiple subnets & networks. For this, simply we need specify all the ranges we want to scan in a file line-by-line
Syntax: netdiscover -l <file containing ranges> Command: netdiscover -l ranges
File containing ranges to scanMultiple Ranges
Passive Scanning
Sometimes it’s better to stay quiter. -p option helps on this but at the cost of patience.
Syntax: netdiscover -p -r <range,optional>
Passive Mode
Parsable Outputs
There is a parsable output option also in case you want to pipe it to a file.
Syntax: netdiscover -P<parsable> -N<ommit headers> Command: netdiscover-r 192.168.1.1/24 -PN
Parsable Output
Обнаружение уязвимых тем
Для перечисления тем используется аргумент —enumerate t.
Для обнаружения уязвимых тем используйте аргумент —enumerate vt:
Вывод выглядит примерно так:
Итак, результат сообщает, что тема rockstar уязвима к удаленному неавторизованному выполнению шорткода; это означает, что любой желающий может выполнить шорткод на сайте без необходимости авторизации.
Кроме того, WPScan может быть использован для перечисления пользователей WordPress с действительными логинами. Обычно это делает злоумышленник, чтобы получить список пользователей в рамках подготовки к брутфорс-атаке.
Последняя функция WPScan, охваченная данным руководством, — это способность перечислять файлы timthumb. В последнее время timthumb стал очень распространенным объектом атак; причиной этого являются многочисленные уязвимости, обнаруженные и опубликованные в интернет-форумах, списках сообщений и других консультативных материалах. WPScan может найти уязвимые файлы timthumb с помощью следующей команды.
Чтобы обновить WPScan, используйте:
GithubLinuxOS XRubyWordPressWPScan
Сам себе аудитор, или безопасность собственными силами
Перед администраторами, а уж тем более перед аудиторами ИБ часто встают задачи проверить защищенность большого количества хостов за очень короткое время. И конечно, для решения этих задач в Enterprise-сегменте существуют специализированные инструменты, к примеру такие, как сетевые сканеры безопасности. Уверен, что все они — от open sources движка OpenVAS до коммерческих продуктов типа Nessus или Nexpose — известны нашему читателю. Однако этот софт обычно используется, чтобы искать устаревшее и потому уязвимое ПО и затем запустить патч-менеджмент. К тому же не все сканеры учитывают некоторые специфические особенности встроенных механизмов защиты Linux и других open sources продуктов. Ну и не в последнюю очередь значение имеет цена вопроса, ведь коммерческие продукты в состоянии позволить себе разве что компании, выделяющие под это дело бюджеты.
Именно поэтому сегодня речь пойдет о специализированном наборе свободно распространяемых утилит, которые могут диагностировать текущий уровень защищенности системы, оценить потенциальные риски, к примеру «лишние сервисы», торчащие в интернет, или небезопасный конфиг по умолчанию, и даже предложить варианты исправления найденных недостатков. Еще одно преимущество использования этих тулз заключается в возможности тиражировать типовые сценарии проверки фермы из любого количества Linux-систем и формировать документально подтвержденную базу тестов в виде логов и отдельных репортов.
Синтаксис Nmap
Команда запуска Nmap очень проста для этого достаточно передать ей в параметрах целевой IP адрес или сеть, а также указать опции при необходимости:
$ nmap опции адрес
Теперь давайте рассмотрим основные опции, которые понадобятся нам в этой статье.
- -sL — просто создать список работающих хостов, но не сканировать порты nmap;
- -sP — только проверять доступен ли хост с помощью ping;
- -PN — считать все хосты доступными, даже если они не отвечают на ping;
- -sS/sT/sA/sW/sM — TCP сканирование;
- -sU — UDP сканирование nmap;
- -sN/sF/sX — TCP NULL и FIN сканирование;
- -sC — запускать скрипт по умолчанию;
- -sI — ленивое Indle сканирование;
- -p — указать диапазон портов для проверки;
- -sV — детальное исследование портов для определения версий служб;
- -O — определять операционную систему;
- -T — скорость сканирования, чем больше, тем быстрее;
- -D — маскировать сканирование с помощью фиктивных IP;
- -S — изменить свой IP адрес на указанный;
- -e — использовать определенный интерфейс;
- —spoof-mac — установить свой MAC адрес;
- -A — определение операционной системы с помощью скриптов.
Теперь, когда мы рассмотрели все основные опции, давайте поговорим о том, как выполняется сканирование портов nmap.
Conclusion
WPScan guys did a great job with this tool. Depending on what your goal is, defending your blog or attacking one you might need different level of skill set.
Simple enumeration/scan from time to time in order to maintain some degree of security, by monitoring known theme or plugin vulnerabilities, doesn’t require much of you. Running the scan and updating, excluding or replacing the vulnerable plugins.
On the other hand, if you’re trying to hack some wordpress, you might need more. WPScan guys made this process look easy (frequently is), but it’s not always so. Sometimes you’ll need to have a thorough understanding of WP/PHP, Linux, DBs in order to compromise the system and fully understand vulnerability/exploit at hand.
Troubleshooting
SSL peer certificate or SSH remote key was not OK
When updating the database, an error may occur:
Updating the Database ... Scan Aborted: Unable to get https://data.wpscan.org/metadata.json.sha512 (SSL peer certificate or SSH remote key was not OK)
The same error can occur when scanning a site using the HTTPS protocol:
Scan Aborted: The url supplied 'https://hackware.ru/' seems to be down (SSL peer certificate or SSH remote key was not OK)
To fix this, add the option —disable-tls-checks to your command, for example:
wpscan --update --disable-tls-checks
Could not open library ‘libcurl.dll’, ‘libcurl.so.4’, ‘libcurl.so.4.dll’
When starting WPScan on Windows:
wpscan --url hackware.ru
You may encounter this error:
Traceback (most recent call last): 27: from C:/Ruby26/bin/wpscan:23:in `<main>' 26: from C:/Ruby26/bin/wpscan:23:in `load' 25: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/wpscan-3.7.5/bin/wpscan:4:in `<top (required)>' 24: from C:/Ruby26/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require' 23: from C:/Ruby26/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require' 22: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/wpscan-3.7.5/lib/wpscan.rb:8:in `<top (required)>' 21: from C:/Ruby26/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require' 20: from C:/Ruby26/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require' 19: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/cms_scanner-0.7.1/lib/cms_scanner.rb:4:in `<top (required)>' 18: from C:/Ruby26/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require' 17: from C:/Ruby26/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require' 16: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/typhoeus-1.3.1/lib/typhoeus.rb:2:in `<top (required)>' 15: from C:/Ruby26/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require' 14: from C:/Ruby26/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require' 13: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/ethon-0.12.0/lib/ethon.rb:15:in `<top (required)>' 12: from C:/Ruby26/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require' 11: from C:/Ruby26/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require' 10: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/ethon-0.12.0/lib/ethon/curl.rb:8:in `<top (required)>' 9: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/ethon-0.12.0/lib/ethon/curl.rb:13:in `<module:Ethon>' 8: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/ethon-0.12.0/lib/ethon/curl.rb:27:in `<module:Curl>' 7: from C:/Ruby26/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require' 6: from C:/Ruby26/lib/ruby/site_ruby/2.6.0/rubygems/core_ext/kernel_require.rb:92:in `require' 5: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/settings.rb:1:in `<top (required)>' 4: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/settings.rb:2:in `<module:Ethon>' 3: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/ethon-0.12.0/lib/ethon/curls/settings.rb:7:in `<module:Curl>' 2: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/ffi-1.11.3-x64-mingw32/lib/ffi/library.rb:99:in `ffi_lib' 1: from C:/Ruby26/lib/ruby/gems/2.6.0/gems/ffi-1.11.3-x64-mingw32/lib/ffi/library.rb:99:in `map' C:/Ruby26/lib/ruby/gems/2.6.0/gems/ffi-1.11.3-x64-mingw32/lib/ffi/library.rb:145:in `block in ffi_lib': Could not open l (LoadError)url': �� ������ ��������� ������. . Could not open library 'libcurl.dll': �� ������ ��������� ������. . Could not open library 'libcurl.so.4': �� ������ ��������� ������. . Could not open library 'libcurl.so.4.dll': �� ������ ��������� ������.
Its essence is that the program cannot find the libcurl.dll file it needs. Then it tries to find this file by the alternative names libcurl.so.4 and libcurl.so.4.dll, which also fails.
In the downloaded archive in the bin folder, find the file libcurl-x64.dll, unzip it and rename it to libcurl.dll. Now this file needs to be moved to the bin folder of the installed Ruby, for example, I have this folder C:\Ruby26\bin\.
After that, the problem will disappear.
Reviews
http-equiv=»Content-Type» content=»text/html;charset=UTF-8″>lass=»plugin-reviews»>
It was easy to install and it keeps me informed about security issues. Would recommend!
This plugin really helped my company, easy to use and install. Highly recommended.
WPScan makes all the other security plugins I needed, obsolete! lightweight and regular updates, i expected to pay for but they are included! super easy to use! security in seconds!
I use it on my website, great plugin!
WPScan is a great plugin, easy to use and works very well! Fantastic team behind it!
Most underrated plugin. Should be 5-stars. 50 API free (daily) and people are complaining?
Принцип действия
В основе атаки лежит уязвимость четырехэлементного хендшейка WPA2. Этот хендшейк выполняется тогда, когда клиент хочет подключиться к защищенной сети Wi-Fi. В процессе подтверждается, что обе стороны (клиент и точка доступа) обладают корректными учетными данными. В то же время хендшейк используется для согласования свежего ключа шифрования, который впоследствии будет применяться для защиты трафика.
Злоумышленник может устроить атаку типа man in the middle и принудить участников сети реинсталлировать ключи шифрования, которые защищают трафик WPA2. К тому же, если сеть настроена на использование WPA-TKIP или GCMP, злоумышленник сможет не только прослушивать трафик WPA2, но и инжектить пакеты в данные жертвы.
Эксплуатируя эту критическую ошибку, можно добиться расшифровки трафика, сделать HTTP-инжекты, перехватить TCP-соединения и многое другое.
От KRACK может защитить использование HTTPS, однако далеко не всегда. Дело в том, что сам HTTPS нельзя назвать абсолютно безопасным (к примеру, существуют методики даунгрейда соединения), хотя он и станет дополнительным слоем шифрования.
Метод универсален и работает против любых незапатченных устройств, подключенных к Wi-Fi. Главное условие заключается в том, что атакующему придется находиться в зоне действия атакуемой сети Wi-Fi, то есть атаку нельзя провести удаленно.
Мэти Ванхоф демонстрирует уязвимость
Уязвимости, вошедшие в состав KRACK
- CVE-2017-13077: reinstallation of the pairwise encryption key (PTK-TK) in the 4-way handshake.
- CVE-2017-13078: reinstallation of the group key (GTK) in the 4-way handshake.
- CVE-2017-13079: reinstallation of the integrity group key (IGTK) in the 4-way handshake.
- CVE-2017-13080: reinstallation of the group key (GTK) in the group key handshake.
- CVE-2017-13081: reinstallation of the integrity group key (IGTK) in the group key handshake.
- CVE-2017-13082: accepting a retransmitted Fast BSS Transition (FT) Reassociation Request and reinstalling the pairwise encryption key (PTK-TK) while processing it.
- CVE-2017-13084: reinstallation of the STK key in the PeerKey handshake.
- CVE-2017-13086: reinstallation of the Tunneled Direct-Link Setup (TDLS) PeerKey (TPK) key in the TDLS handshake.
- CVE-2017-13087: reinstallation of the group key (GTK) when processing a Wireless Network Management (WNM) Sleep Mode Response frame.
- CVE-2017-13088: reinstallation of the integrity group key (IGTK) when processing a Wireless Network Management (WNM) Sleep Mode Response frame.
Что нужно для аудита беспроводных сетей?
Универсальный джентльменский набор: ноутбук с «Линуксом» и Wi-Fi-адаптер с интерфейсом USB (их еще называют донглами). Можно использовать и смартфон, но для некоторых атак банально требуется второй USB-порт. Годится даже ноутбук без установленной ОС и вообще без накопителя.
WARNING
Вся информация предоставлена исключительно в образовательных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.
Какую ОС взять для вардрайвинга?
«Линукс» позволяет тонко управлять устройствами (в частности, донглами) через опенсорсные драйверы. Подходит практически любой дистрибутив, но удобнее воспользоваться готовой сборкой. Например, BlackArch, BackBox, Parrot Security, Kali Linux.
Наиболее раскручены сборки Kali Linux, в которые уже интегрированы не только наборы хакерских утилит, но и драйверы большинства потенциально пригодных для вардрайвинга чипов плюс изначально сделаны мелкие твики.
INFO
В последних выпусках Kali очень многое переосмыслено. Теперь она может внешне мимикрировать под винду (чтобы тебя не спалили, увидев странное на мониторе), рут по умолчанию отключен (либо включай, либо пиши перед командами, требующими права суперпользователя). Самое главное, в Kali теперь сразу поддерживаются новые донглы стандарта 802.11ac и крайне просто увеличить мощность Wi-Fi-адаптера.
Как использовать на ноуте Linux, не снося винду?
Разработчики не рекомендуют устанавливать Kali на жесткий диск, хотя технически вариант с мультизагрузкой вполне реализуем через тот же GRUB. Просто границы законных действий во время аудита очень размыты, и ради твоей же безопасности лучше использовать режим Live Persistence. Работа в нем почти не будет отличаться от работы в установленной операционке. Все обновления, конфиги, новые скрипты и твои личные файлы подхватятся при следующей перезагрузке в режиме Persistence. Для большей приватности его можно зашифровать.
На мой взгляд, карта памяти удобнее флешки, так как она не занимает порт USB и не торчит под рукой. Порты (особенно с раздельным питанием) всегда в дефиците на ноутбуках. Бери карточку хотя бы с маркировкой Class 10 (заявленная скорость линейной записи 10 Мбайт/с), а лучше — UHS-I V30 и шустрее (если встроенный картридер ее поддерживает).
Как сделать загрузочную флешку с Kali и разделом Persistence?
Для этого на USB Flash или SD-карточке нужно создать два раздела. Один будет FAT32 для запуска ОС — на него распаковывается образ с kali.org. Второй раздел — ext3 для сохранения настроек, собственных файлов и сессионных изменений.
Схема разметки с разделом Persistence
Windows не умеет работать с флешками, на которых больше одного раздела, и не поддерживает ext3. Однако в ней такая разметка элементарно делается бесплатной утилитой Rufus. Главное — запускать обычную версию (не portable).
Создаем флешку
Какой Wi-Fi-адаптер подходит для вардрайвинга?
Дополнительную информацию о драйверах можно взять из в англоязычной Вики. Принцип тот же — ищем сочетание параметров: 802.11n(ac) + monitor mode + USB.
На момент подготовки статьи (январь 2020-го) в сухом остатке оказались следующие драйверы: ath9k_htc, carl9170, mt76, mt7601u, p54, rt2800usb, rt2x00, rtl8187, rtl8192cu, zd1211, zd1211rw.
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score!
Подробнее
Вариант 2. Открой один материал
Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя!
Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.
Я уже участник «Xakep.ru»
Prerequisites
- (Optional but highly recommended: https://rvm.io/rvm/install)
- Ruby >= 2.3 — Recommended: latest
- Curl >= 7.21 — Recommended: latest
- RubyGems — Recommended: latest
- Nokogiri might require packages to be installed via your package manager depending on your OS, see https://nokogiri.org/tutorials/installing_nokogiri.html
In a Pentesting distribution
When using a pentesting distubution (such as Kali Linux), it is recommended to install/update wpscan via the package manager if available.
From RubyGems
On MacOSX, if a is raised due to the Apple’s System Integrity Protection (SIP), either install RVM and install wpscan again, or run (see https://github.com/wpscanteam/wpscan/issues/1286)
Updating
You can update the local database by using
Updating WPScan itself is either done via or the packages manager (this is quite important for distributions such as in Kali Linux: ) depending how WPScan was (pre)installed
Docker
Pull the repo with
Enumerating usernames
Enumerating a range of usernames
** replace u1-100 with a range of your choice.
Usage
Full user documentation can be found here; https://github.com/wpscanteam/wpscan/wiki/WPScan-User-Documentation
This will scan the blog using default options with a good compromise between speed and accuracy. For example, the plugins will be checked passively but their version with a mixed detection mode (passively + aggressively). Potential config backup files will also be checked, along with other interesting findings.
If a more stealthy approach is required, then can be used.
As a result, when using the option, don’t forget to set the accordingly, as its default is ‘passive’.
For more options, open a terminal and type (if you built wpscan from the source, you should type the command outside of the git repo)
The DB is located at ~/.wpscan/db