Основы Python для хакеров, часть 5: Создание инструмента для сбора данных с веб-сайтов для поиска потенциальных паролей

  • Автор темы Автор темы LeSh1y777
  • Дата начала Дата начала

LeSh1y777

Пользователь
Регистрация
25/9/25
Сообщения
5,682
Репутация
49
Лайки
153
Депозит
-8.95$
Добро пожаловать обратно, мои начинающие кибервоины!

Создание списков паролей — ключевой элемент успешной стратегии взлома. Практически в каждом случае нам необходимо предоставить список потенциальных паролей инструменту для взлома, будь то hashcat, John the Ripper, BurpSuite , cameradar или другой (исключение составляет атака полным перебором, когда перебираются все возможные комбинации символов).

Люди, как правило, используют пароли, которые могут запомнить. Если человек не может вспомнить пароль, он ему не подходит. Люди часто используют для создания паролей такие данные, как дата рождения, дата свадьбы, имена детей или супругов и т. д. Затем они часто искажают его (заменяют буквы цифрами или специальными символами, например, p@$$w0rd) или добавляют цифры или специальные символы, чтобы соответствовать минимальным требованиям к паролю (одна строчная буква, одна заглавная, одна цифра и один специальный символ). У нас есть несколько инструментов для создания таких списков паролей, включая cupp и crunch .

В некоторых случаях люди используют специальные слова, характерные для их бизнеса или отрасли, предполагая, что никто не заподозрит, что это их пароли. Например, в кондитерской промышленности могут использоваться слова, характерные для их отрасли, такие как «штрудель» или «круассан». В биотехнологической отрасли могут использоваться «crspr» или «полимераза». Чтобы создать потенциальный список паролей для этих отраслей (предполагая, что вы уже перепробовали наиболее распространённые пароли), можно извлечь ключевые слова с их веб-сайта и создать список паролей.

6a4a49_178788a6a5984d60b36cc6eb6eae1bb5~mv2.jpg


Хотя у нас уже есть инструмент cewl для этой цели, давайте создадим свой собственный веб-скрейпер на Python. Таким образом, мы не только немного углубимся в Python, но и разработаем фреймворк для парсинга веб-сайтов в целом. Веб-скрейпинг используется многими IT-инструментами и технологиями, такими как поисковые системы (Google и Bing), а также системами искусственного интеллекта, такими как ChatGPT и другими.

Шаг №1: Начало работы

Для начала вам понадобятся два ключевых пакета: requests и BeautifulSoup. Установить их можно с помощью pip.

Beautiful Soup — это пакет Python для парсинга HTML- и XML- документов (в том числе с некорректной разметкой, то есть с незакрытыми тегами, отсюда и название — tag soup ). Он создаёт дерево парсинга для проанализированных страниц, которое можно использовать для извлечения данных из HTML, что полезно для веб-скрапинга .

Библиотека запросов на Python — популярный инструмент для создания HTTP-запросов. Она абстрагирует сложности создания запросов, предоставляя простой API, предлагая более простой способ отправки HTTP/1.1-запросов.

kali > pip install beautifulsoup4 requests

Шаг №2: начинаем писать код Python


Теперь откроем текстовый редактор в Kali и начнём создавать наш парсер паролей. Я использую коврик для мыши, но вы можете использовать любой текстовый редактор или IDE.

Для начала нам потребуется импортировать запросы и BeautifulSoup вместе с библиотекой регулярных выражений (подробнее о регулярных выражениях см. в этой статье ).

6a4a49_f8528674aa7b4d74a34ea579366fe78e~mv2.png


Далее нам необходимо запросить у пользователя:

(1) URL для извлечения,

(2) минимальная и максимальная длина слова,

(3) имя файла, в который следует записать потенциальные пароли.

Минимальная и максимальная длина слова критически важна, поскольку мы не хотим собирать короткие слова, такие как «is», «a», «the» и другие подобные. В то же время мы не хотим собирать слова, которые явно слишком длинные, чтобы быть вероятными паролями.

6a4a49_2e8e662bac654221b1c164e989dc6f8d~mv2.png


Теперь нам нужно получить содержимое URL-адреса, выбранного пользователем. Мы используем оператор IF, чтобы убедиться, что URL-адрес действительно доступен и работает. Если код статуса отличен от 200, выводится сообщение об ошибке и происходит выход.

6a4a49_dd1aabc64b1a46ad84f828c8d5613806~mv2.png


Здесь мы используем BeautifulSoup для извлечения контента, его анализа и помещения в переменную с именем «soup».

6a4a49_fcfbd266ac1e44bb91c50697b4d11c0b~mv2.png


Далее мы используем регулярное выражение для извлечения слов из содержимого страницы.

(r'bw+b)

Это регулярное выражение анализирует HTML, сначала включая все необработанные данные (r), затем выполняя поиск границы слова (b), затем выполняя поиск любого буквенно-цифрового символа (w), за которым следует любое количество символов (+) и, наконец, завершая поиск на другой границе слова (b).

6a4a49_b8aa3b868f654987ba648b4b625e2339~mv2.png


Далее наш код фильтрует данные по минимальному и максимальному количеству символов, введенных пользователем.

6a4a49_d6399b13d92a46a886aed9b68237d027~mv2.png


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

6a4a49_5887d61160cd48c2bd4e79a5672b4081~mv2.png


Ниже вы можете увидеть готовый скрипт. Сохраните его как HackersArisePasswordScraper.py.

6a4a49_2b5c605a715246d69d05e809020f48ae~mv2.png


Шаг №3: Протестируйте наш сценарий

Давайте наконец протестируем этот скрипт.

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

Кали > sudo chmod 755 HackersArisePasswordScraper.py

Теперь мы можем запустить этот скрипт и проверить его эффективность.

Кали > python3 ./HackersArisePasswordScraper.py

6a4a49_1f53ef7e974245e98e0c99e1cb12d1f5~mv2.png


Когда меня попросили ввести URL, я ввёл http://nvidia.com, разработчика искусственного интеллекта и графических чипов. Когда меня спросили о минимальной длине слова, я ввёл 8, а когда спросили о максимальной длине слова, я ввёл 12. Наконец, когда скрипт запросил имя выходного файла, я указал nvidia.txt.

После завершения работы я могу просмотреть слова в нашем выходном файле с помощью команды more.

kali > more nvidia.txt

6a4a49_e5cb4b57a9324e8dbcfc2d0df324e68d~mv2.png


Поразительнй!

Теперь, когда вы собрали эти слова, вы, вероятно, захотите создать их вариации, используя различные инструменты, такие как cupp , BurpSuite и crunch .

Краткое содержание

Поиск потенциальных паролей — ключевая задача при взломе паролей. Практически любой инструмент для взлома паролей требует ввода списка паролей. Во многих случаях пользователи используют слово из своей отрасли или бизнеса для создания пароля, а затем подделывают его и/или добавляют цифры и специальные символы, чтобы соответствовать минимальным требованиям к паролю. Мы можем собрать эти ключевые слова из их отрасли, просканировав их веб-сайт и затем используя этот список для взлома паролей. Вероятно, вы захотите подделать эти слова с помощью BurpSuite , cupp или crunch .

Веб-скрапинг — ключевой инструмент и технология в сфере ИТ, искусственного интеллекта и кибербезопасности. Создав инструмент для веб-скрапинга с BeautifulSoup, мы открыли множество возможностей для потенциальных кибервоинов!
 
Назад
Сверху Снизу