在前面的章节中,我们讨论了各种有助于使用 Python 模块和框架进行安全测试的技术。除此之外,还有许多用 Python 编写的工具可以帮助您进行日常工作。在这里,我们将讨论一些可以在您的工作中使用的工具,或者您可以扩展它们以满足您的需求。
Pentestly是用于渗透测试的许多 Python 工具的联合体。Pentestly 将 Python 和 Powershell 的强大功能结合起来,创建一个熟悉的用户界面。
Pentestly 中包含的工具如下:
Invoke-Mimikatz.ps1
:有了这个工具,我们可以很容易地在 Powershell 中实现 Mimikatz(一个很棒的后期开发工具)。Invoke-Shellcode.ps1
:此工具在 Powershell 中部署 MeterMeterwmiexec.py
:此工具帮助我们通过 Windows Management Instrumentation(WMI)快速执行 Powershell 命令。recon-ng
:对于数据操作,recon ng(后端数据库)制作精美,并得到充分利用。smbmap.py
:此工具帮助枚举 SMB 共享。powercat.ps1
:此工具在 Powershell 中提供 Netcat 风格的功能
在上阅读更多关于五旬节的内容 https://github.com/praetorian-inc/pentestly 。
Twisted是 Python 中的一个可扩展框架,重点关注事件驱动的网络编程。Twisted 具有多协议集成,包括 HTTP、FTP、SMTP、POP3、IMAP4、DNS、IRC、MSN、OSCAR、XMPP/Jabber、telnet、SSH、SSL、NNTP、Finger、ident 等。因此,它有助于快速实现大多数定制服务器/服务网络应用程序。
Twisted 中的所有功能都有一个协作 API。此外,这些功能都不是通过阻塞网络来实现的,因此我们不需要使用线程。Twisted 可以在一个线程中处理数千个连接。
Twisted 中包含的一些模块如下所示:
twisted.web
:用于 HTTP 客户端和服务器、HTML 模板和 WSGI 服务器。twisted.conch
:用于 SSHv2 和 Telnet 客户端和服务器,用于创建终端模拟器。twisted.words
:用于创建 IRC、XMPP 和其他 IM 协议、客户端和服务器。twisted.mail
:用于 IMAPv4、POP3、SMTP 客户端和服务器。twisted.positioning
:帮助创建与 NMEA 兼容 GPS 接收机通信的工具。twisted.names
:用于 DNS 客户端和制作 DNS 服务器的工具。twisted.trial
:与基于 Twisted 的代码集成良好的单元测试框架。
阅读更多关于 Twisted 的信息,http://twistedmatrix.com/documents/current/index.html 。
Nscan是一款针对互联网范围扫描而优化的快速网络扫描仪。Nscan 使用原始套接字发送 TCP SYN 探测,并拥有自己的小型 TCP/IP 堆栈。Nscan 通过将找到的 IP 和端口链接到另一个脚本来帮助扩展我们的扫描,在该脚本中,他们可能会检查漏洞、利用目标、代理或 VPN 等进行攻击。Nscan 本身就是一个端口扫描程序,它使用Connect()
方法查找主机打开端口的列表。
Nscan 因其灵活性和速度不同于其他端口扫描仪。以前版本的最高速度约为每秒 500 个端口。但是端口扫描的最大速度主要取决于网络的带宽和系统的处理速度
更多有关 Nscan 的信息,请访问https://github.com/OffensivePython/Nscan 。
sqlmap是用 Python 编写的最流行、最强大的 SQL 注入自动化工具之一。它是最强大的黑客工具:一个开源项目,可以通过其强大的检测引擎检测和利用 SQL 注入漏洞。使用给定的易受攻击的http request url
,sqlmap 可以进行大量黑客攻击,并利用远程数据库提取各种数据库元素。
更多关于 sqlmap 的信息,请访问http://sqlmap.org 。
CapTipper是一个 Python 工具,用于分析和发现恶意 HTTP 流量。它还可以帮助分析和恢复从 PCAP 文件捕获的会话。CapTipper 构建的 web 服务器与 PCAP 文件中的服务器完全相同。它还包括内部工具和强大的交互式控制台,用于评估和检查找到的主机、对象和对话。因此,工具 equips 为安全测试人员提供了对文件的访问和对网络流的理解。这在研究漏洞时很有用。CapTipper 允许安全测试人员分析攻击行为,即使原始服务器已经死亡。
阅读更多关于捕获者的信息,网址为https://github.com/omriher/CapTipper 。
免疫调试器是一款针对 Windows 的 Python 调试器,具有 GUI 和命令行界面。命令行界面允许用户像在典型的基于文本的调试器中一样键入快捷方式,并且可以在 GUI 的底部使用。命令可以在 Python 中扩展。
有关免疫调试器的更多信息,请访问https://www.immunityinc.com/products/debugger/ 。
pytbull 是一个基于 Python 的灵活框架,用于测试入侵检测/预防系统(IDS/IPS)。它装备精良,大约 300 个测试分为 9 个模块,主要集中在 Snort 和 Suricata 上。它涵盖了大量类型的攻击,如客户端攻击、测试规则、坏流量、碎片数据包、多重默认登录、规避技术、外壳代码、拒绝服务和 pcapReplay。
更多关于 pytbull 的信息,请访问http://pytbull.sourceforge.net/ 。
ghost.py是用 Python 为 webkit 编写的可编写脚本的 web 客户端。
更多关于 ghost.py 的信息,请访问http://jeanphix.me/Ghost.py 。
peepdf 是一个 Python 工具,它分析 PDF 文件以确定该文件是否有害。peepdf 的目标是装备渗透测试人员在 PDF 分析中所需的所有组件。peepdf 帮助我们查看文档中的所有对象,并显示可疑元素。它还支持最常用的过滤器和编码。它还可以解析不同版本的 PDF 文件、对象流和加密文件。它还有助于创建、修改和混淆 PDF 文件。
阅读更多关于 Peeat 的 PDF,http://eternal-todo.com/tools/peepdf-pdf-analysis-tool 。
前面几页介绍了各种概念和 Python 工具,以了解各种情况,从基本 Python 开始。读完本书后,回到前面的章节,思考如何修改脚本,并将其与其他工具集成,编写脚本以满足您自己的需要。您可以使它们对您的安全测试更有效。
有了这一章,我们用 Python 进行 pentesting 的旅程就结束了。在本书中,我们分析了网络、调试应用程序和自动化攻击。
在这个不断变化的 IT 世界中,学习是一个永无止境的过程。我们建议您随时了解 pen 测试领域的最新进展和相关工具。请转到以下链接以了解最新的 Python pentesting 工具:https://github.com/dloss/python-pentest-tools 。
我希望这本书能帮助你在五旬斋中达到卓越的新高度。