Пять “must have” библиотек Python для пентестера

Team zBrain
zBrain
Published in
3 min readMay 14, 2020

Как опытный разработчик, использующий Python практически во всех областях деятельности, предлагаю Вам обратить внимание на пять лучших библиотек Python, которые можно рекомендовать для пентестеров. Часть из них инструменты, а часть — библиотеки, но сомневаться в том, что они полезны при проведении пентестов не приходится.
Мы кратко рассмотрим, что такое Python, а затем более подробно расскажем почему пентестеры активно используют этот язык программирования, и пройдемся по списку топ-5 библиотек по пентесту.

Итак, что такое Python?

Python — это язык программирования общего назначения, интерпретируемый, объектно-ориентированный, поддерживающий функциональное программирование.
Особое внимание в Python уделяется удобочитаемости кода и разделению блоков кода с отступами, что позволяет быстро создавать проекты. При этом есть и недостаток, свойственный всем интерпретируемым языкам программирования — время выполнения кода больше, по сравнению с компилируемыми языками программирования.

Так почему же пентестеры используют Python?

Он относительно прост по сравнению с другими языками и поддерживается всеми основными платформами: Linux, Mac OS X и Windows. Не говоря уже от том, что он обладает невероятно широким набором встроенных библиотек, что, в свою очередь, уменьшает количество необходимых строк кода. А знаете что в нем самое лучшее? У него очень активное сообщество разработчиков — а это значит, что постоянно создаются тысячи сторонних библиотек, что расширяет встроенную функциональность языка для выполнения практически любой задачи.

Лучшие 5 библиотек Python для пентестеров (и маленький бонус) на мой взгляд:

  • Impacket
  • Python Nmap (libnmap)
  • Scapy / dpkt + pcapy
  • Requests / BeautifulSoup
  • Mona
  • Бонус: socket

Core Impacket

Impacket представляет собой набор классов Python для работы с сетевыми протоколами и обеспечивает низкоуровневый программный доступ к пакетам, а для некоторых протоколов — полную их реализацию.
В чем польза? Он легко взаимодействует с внутреннмими протоколами Windows, такими как SMB, MSSQL, NetBios и DCERPC. Он также отлично подходит для сбора информации о Windows и разработки эксплойтов (он даже поддерживает аутентификацию на основе хэша).
Какие проекты используют эту библиотеку: CrackMapExec, SMBMap, Ranger, Polenum, Pupy, Veil-Framework, PorLa, перечислять можно очень долго…

Скачать можно по ссылке.

Python Nmap

Данная библиотека упрощает программный анализ результатов сканирования Nmap.
В чем польза? Каждый пентестер использует Nmap. Python-Nmap предоставляет простой метод для анализа результатов сканирования и выполнения пользовательских атак на определенные хосты. Стоит упомянуть, что она отлично подходит для импорта результатов Nmap в другие инструменты для создания отчетов.
Какие проекты используют эту библиотеку: удивительно, но мало, однако стоит присмотреться к этой отличной библиотеке!

Скачать можно по ссылке.

Scapy / dpkt + pcapy

Это мощный Python-инструмент для работы с пакетами и библиотеками. Он подделывает/декодирует пакеты большого количества протоколов, позволяет отправлять и захватывать их, сопоставлять запросы и ответы и многое другое.
В чем польза? Программно реализуется функциональность таких инструментов, как Nmap, Wireshark, hping, arpspoof, tcpdump и т.д. Этот инструмент также отлично подходит для атак на нестандартные толстые клиенты и весьма полезен в качестве учебного пособия при изучении сетевых протоколов низкого уровня.
Какие проекты используют эту библиотеку: Pupy, airodump-iv, WiFi-analyzer

Скачать можно по ссылкам: scapy dpkt pcapy

Requests / BeautifulSoup

Requests позволяет программистам легко отправлять запросы HTTP/1.1 без необходимости ручного формирования или кодирования. Кроме того, BeautifulSoup — это библиотека Python для извлечения данных из файлов HTML и XML.
В чем польза? Идеально подходит для создания пользовательских полезных нагрузок и атак на веб-приложения, когда такие инструменты, как Burp, не могут обеспечить простое решение. Также, в сочетании с BeautifulSoup, позволяет быстро выделить важные детали в ответе сервера.
Какие проекты используют эту библиотеку: Reddit, DirSearch, EyeWitness, SQLMap, theHarvester.

Скачать можно по ссылкам: Requests BeautifulSoup

Mona

Mona.py — это плагин для отладчика Immunity Debugger, разработанный Corelan Team. Он помогает в разработке эксплойтов.
В чем польза? Mona упростила такие задачи, как определение смещений, плохих символов, гаджетов ROP и генерацию функционального кода эксплойта.
Какие проекты используют эту библиотеку: Отладчик Immunity Debugger (PyCommander).

Скачать можно по ссылке.

Socket

Низкоуровневая библиотека сетевых интерфейсов, позволяющая системам общаться по сети.
В чем польза? Socket является основой (почти) каждого инструмента, который мы рассмотрели в списке пяти лучших! Это широкоиспользуемая библиотека, на которую опирается множество других инструментов, но её простой (наподобие доступа к файлу) ввод-вывод сильно облегчает создание клиент-серверных приложений.
Какие проекты используют эту библиотеку: не будет преувеличением сказать, что практически все те, что работают с сетевыми интерфейсами, то есть десятки тысяч инструментов полагаются на простой Socket.

Скачать можно по ссылке.

В следующих статьях мы рассмотрим подробное применение перечисленных сегодня инструментов в собственных разработках.

--

--

Team zBrain
zBrain
Editor for

zBrain— онлайн школа для специалистов по кибербезопасности