Найти тему
IT Legion

Отмычка Wi-Fi

Оглавление

Wi-Fi lockpick (отмычка)
Wi-Fi lockpick (отмычка)

Утилита, написанная мной на языке программирования Python, позволяет получить профили и пароли от Wi-Fi, к которым был подключен компьютер.

А это законно?

Чтобы разобраться в этом вопросе, давайте представим реальную ситуацию, которая произошла со мной.

Я подрабатываю педагогом по программированию, и в один момент мне, как специалисту, увлекающемуся кибербезопасностью, поступил запрос на проведение мероприятия в одной престижной школе.

Перед мероприятием я попросил передать системному администратору запрос на установку необходимого софта. И что вы думаете!? Системный администратор, в лучших традициях, проигнорировал этот запрос. Благо со мной был мой верный ПК, на котором уже все было предустановлено.

Оставалась только одна проблема:

Мне нужно было подключить свой ПК к любой работающей сети. Прямого кабеля, конечно же, не было, а пароля от Wi-Fi я естественно не знал. К такой ситуации я не был готов, но навыки владения ПК подсказывали мне, что нужно искать пароль в настройках любого подключенного ноутбука, которыми был оснащен кабинет по информатике.

Так как в тот момент я только начинал свою карьеру, найти нужные консольные команды за пару минут было нереально, а куда именно нужно залезть, чтобы получить нужный мне ключ от Wi-Fi, я не мог вспомнить. Да и в разных версиях Windows эта процедура выглядит по-разному. В итоге я провозился минут 10-20, чтобы достичь нужной мне цели.

Эта ситуация добавила мне навыков и сподвигла к написанию данной утилиты, и поверьте мне, она не раз еще спасала меня и моих учеников. На этом моменте давайте вернемся к изначально поставленному вопросу о законности: Если вам предоставили доступ к компьютеру, то к вам в руки автоматически попадают и все его настройки. Как уже можно догадаться, все ключи и пароли можно посмотреть в настройках примерно тут:

Пример 1
Пример 1

Но здесь есть одно жирное "но"! Как я уже упоминал ранее, на разных версиях расположение настроек визуально отличается, и можно потерять уйму времени, ковыряясь в них.

Благо на этот случай есть более профессиональный способ найти всё через консоль.

  • win+R
  • Oткрыть: cmd
  • Дале в терминал вбиваем следующую команду:
netsh wlan show profiles
  • Копируем интересующий нас профиль
  • Дополняем команду следующими аргументами:
netsh wlan show profile имя_профиля key=clear

После ввода этих двух команд вы получите примерно такую картину:

Пример 2
Пример 2

Вот мы и подобрались к вешенки на торте.

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

На самом деле проще будет создать один раз простой скрипт на Python. В принципе, так я и сделал.

Актуальный исходный код можно посмотреть на github, а сейчас давайте разберем основу.

Начальная версия
Начальная версия

В Python есть встроенная библиотека subprocess. Первым делом мы её и импортируем. Эта библиотека позволяет запускать команды командной строки.

Далее в конструкции try - except пробуем уже знакомыми нам командами собрать профили и получить от них пароли, попутно отфильтровав ненужную нам информацию. Исключение выдаст ошибку, если не найдёт ни одного профиля. Вот и вся магия.

Чтобы данный код работал на других машинах, где не предустановлен Python, я его скомпилировал и исполняемый файл любезно предоставил в моём телеграмм-канале: Ссылка

Пример 3
Пример 3

Заключение

В ускорении получения нужной нам информации нет ничего противозаконного. Сам код работает таким образом, что при желании системного администратора утилита не будет срабатывать, да и в серьёзных организациях Wi-Fi и так под запретом.

При этом утилита, как показывает практика, не раз сможет облегчить ситуацию там, где это возможно!