Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
blackhat-python3 — Исходный код книги "Black Hat Python" от Джастина Сейтца. Код полностью конвертирован в Python 3, переформатирован в соответствии со стандартами PEP8 и подвергнут рефакторингу для устранения проблем с зависимостями, связанными с использованием устаревших библиотек. | Kitploit
Инструменты/GitHubGitHub/eonraider/blackhat-python3
OSINT (Разведка открытых источников)Анализ КодаЭксплуатацияФорензикаПост-эксплуатацияВеб-безопасностьСетевая безопасностьАнализ вредоносных программКриптография

Популярное

Смотреть все →

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

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Тестирование на Проникновение
Обучение и Образование
GitHubeonraider/blackhat-python3

blackhat-python3

Исходный код книги "Black Hat Python" от Джастина Сейтца. Код полностью конвертирован в Python 3, переформатирован в соответствии со стандартами PEP8 и подвергнут рефакторингу для устранения проблем с зависимостями, связанными с использованием устаревших библиотек.

Репозиторий
2.4k455483 лет назадПроверено Kitploit

Исходный код Python 3 «Black Hat Python»

Исходный код для книги «Black Hat Python» Джастина Зайтца. Код полностью конвертирован в Python 3, переформатирован в соответствии со стандартами PEP8 и реорганизован для устранения проблем с зависимостями, связанных с использованием устаревших библиотек.

Хотя в исходном коде, представленном в книге, можно было бы реализовать множество оптимизаций, код был оставлен максимально неизменным, чтобы читатель мог применить такие изменения по своему усмотрению. Код в его нынешнем виде требует серьезных усилий по рефакторингу: от docstrings до подсказок типов и обработки исключений, не говоря уже об улучшениях вроде контекстных менеджеров, но эти проблемы сами по себе могут принести пользу читателю, если он намерен их реализовать. В нем также присутствует множество ошибок, возникших из-за отступов, которые были исправлены, чтобы избежать фатальных ошибок во время выполнения.

Похожая конвертация была выполнена мной для исходного кода книги «Violent Python» Ти Джея О'Коннора. Ознакомьтесь с ней здесь, если вы еще этого не сделали.

Использование

Просто выберите каталог (DIR), в который нужно клонировать проект с помощью git clone, создайте новое виртуальное окружение или venv для него (рекомендуется) и установите зависимости с помощью pip install.

root@kitploit:~
user@host:~/DIR$ git clone https://github.com/EONRaider/blackhat-python3
user@host:~/DIR$ python3 -m venv venv
user@host:~/DIR$ source venv/bin/activate
(venv) user@host:~/DIR$ pip install -r requirements.txt

Примечания

  • Некоторые листинги, представленные в книге, отсутствовали в репозитории кода автора, доступном на сайте No Starch Press, и были добавлены в соответствующие главы. При необходимости к файлам была применена более точная схема именования, чтобы связать их с кодом, представленным в книге.
  • Незначительные ошибки, вызывавшие предупреждения интерпретатора, были исправлены по всему коду без изменения его характеристик.
  • Вспомогательные файлы, необходимые для работы кода, были добавлены в соответствующие главы.
  • Как личное замечание, автор мог бы написать более чистый код, не ставя под угрозу скорость реализации, необходимую для задач этичного хакинга. Почему он решил этого не делать, остается неизвестным.

Рефакторинг

Критические исправления ошибок, которые пришлось внести для правильной реализации исходного кода и предотвращения фатальных ошибок:

  • chapter02/bh_sshserver.py требовался RSA-ключ, содержащийся в файле test_rsa.key, который теперь включен в соответствующий каталог.
  • chapter03/sniffer_ip_header_decode.py, sniffer_with_icmp.py и scanner.py — все имели серьезные проблемы в определении размеров IP-пакетов и переносимости между 32- и 64-битными архитектурами из-за проблем в реализации struct. Подробнее об этих проблемах в этой теме на Stack Overflow.
  • chapter03/scanner.py использовал библиотеку netaddr, которая больше не поддерживается и имеет множество несовместимостей с Python 3. По этой причине код был переработан и теперь использует модуль ipaddress из стандартной библиотеки Python.
  • chapter04/arper.py и mail_sniffer.py использовали библиотеку , которая несовместима с Python 3. По этой причине код был переработан и теперь использует библиотеку .

Переводы

Вклады на других языках можно посмотреть здесь:

  • Перевод на турецкий от Bedirhan Budak

Внесение вклада

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

  1. Убедитесь, что изменения, которые вы хотите внести, действительно ведут к pull request. Изменение одной-двух строк лучше запрашивать через issue.
  2. При необходимости обновите файл README.md с деталями, относящимися к изменениям структуры проекта.
  3. Убедитесь, что сообщения коммитов, включающие изменения, соответствуют стандарту. Если вы не знаете, как действовать, вот отличный справочник по этому вопросу.
  4. Ваш запрос будет рассмотрен как можно скорее (обычно в течение 48 часов).
Скачать инструмент
scapy
kamene
  • chapter04/pic_carver.py теперь использует библиотеку opencv-python вместо cv2. Модуль cv2.cv был объявлен устаревшим и заменен. Параметр cv2.cv.CV_HAAR_SCALE_IMAGE из исходного кода был заменен на cv2.CASCADE_SCALE_IMAGE из-за этого коммита.
  • chapter05/content_bruter.py требовался словарь. Он был добавлен в главу под именем all.txt
  • chapter05/joomla_killer.py требовался словарь. Он был добавлен в главу под именем cain.txt
  • chapter06/bhp_bing.py, bhp_fuzzer.py и bhp_wordlist.py были переформатированы в соответствии с PEP8, хотя некоторые предупреждения все равно будут возникать из-за необходимости приведения имен классов к camelCase в этом конкретном приложении на Burp Suite.
  • chapter06/jython-standalone-2.7.2.jar доступен как более обновленная версия файла по сравнению с представленной в книге.
  • chapter07/git_trojan.py был переработан для замены библиотеки imp (теперь устаревшей) на types. В соответствии с инструкциями в книге была реализована структура подкаталогов с необходимыми конфигурационными файлами. В переменной trojan_config отсутствовал относительный путь к подкаталогу config. В строку 60 был добавлен вызов метода to_tree, чтобы избежать исключения AttributeError, возникавшего в исходном коде. В комментарии были включены инструкции по созданию токена доступа вместо использования пароля в случае использования двухфакторной аутентификации.
  • chapter08/keylogger.py требует библиотеку PyHook для работы. Включён wheel-файл версии 1.6.2. При необходимости другие версии можно загрузить здесь.
  • chapter09/ie_exfil.py выдавал ошибки из-за обработки переменной plaintext (которая может быть строкой или бинарной строкой) при передаче в функцию encrypt_string. Кроме того, было исправлено использование библиотеки base64. Вклад от Enraged в этом коммите.