Skip to content

Latest commit

 

History

History
82 lines (45 loc) · 7.37 KB

File metadata and controls

82 lines (45 loc) · 7.37 KB

前言

Python 是一种动态但解释性语言,属于高级编程语言。凭借其清晰的语法和丰富的库,它被用作通用语言。基于 Python 的解释性质,它经常被视为一种脚本语言。Python 在信息安全领域占主导地位,因为它不太复杂,拥有无限的库和第三方模块。安全专家更倾向于使用 Python 作为开发信息安全工具包的语言,例如 w3af、sqlmap 等。Python 的模块化设计和代码可读性使其成为安全研究人员和专家编写脚本和构建安全测试工具的首选语言。

包括模糊测试器、代理、扫描器甚至利用漏洞在内的信息安全工具都是用 Python 编写的。此外,Python 是当前几个开源渗透测试工具的语言,从用于内存分析的 volatility 到用于抽象化邮件检查过程的 libPST。对于信息安全研究人员来说,学习 Python 是正确的选择,因为有大量的逆向工程和利用库可供使用。因此,在需要扩展或调整这些工具的困难情况下,学习 Python 可能会对你有所帮助。

在本书中,我们将探讨安全研究人员如何使用这些工具和库来辅助他们的日常工作。接下来的页面将帮助你学习检测和利用各种类型的漏洞,同时增强你对无线应用和信息收集概念的了解。继续阅读,探索使用 Python 进行渗透测试的实用方法,构建高效的代码并节省时间。

本书涵盖内容

第一章,“渗透测试中为什么选择 Python?”,从 Python 在安全测试中的重要性开始,向读者展示如何配置基本环境。

第二章,“设置 Python 环境”,介绍了如何在不同操作系统中设置环境以开始使用它们进行渗透测试。

第三章,“使用 Python 进行网络抓取”,解码了如何使用 Python 脚本下载网页,并为你提供了网络抓取的基础知识,随后详细描述了如何使用正则表达式从下载的网页中获取信息,并且还介绍了如何请求和下载动态网站页面以爬取其中的数据。

第四章,“使用 Python 进行数据解析”,向你展示了如何使用 Python 模块解析 HTML 表格,从网站下载表格数据,并从 HTML 文档中提取数据,并使用脚本生成.csv/Excel 表格。

第五章,“使用 Scrapy 和 BeautifulSoup 进行网络抓取”,将教你如何使用 Python Scrapy 模块构建和运行网络爬虫来爬取网页。还将解释如何使用 Scrapy 的交互式 shell,在终端内快速尝试和调试你的抓取代码。它还涉及如何从 Scrapy 爬取的网页中提取链接,并使用这些链接获取网站上的更多页面。学习如何检测和遍历到其他页面的链接,并使用 Scrapy 模块从这些页面获取数据。

第六章,“使用 Python 进行网络扫描”,教授了如何创建一个扫描器来扫描 IP 的开放端口以获取详细信息,以及如何使用 Scapy 创建一个隐蔽扫描脚本。此外,还介绍了如何使用 Python 创建一个扫描一系列 IP 的脚本,以及如何使用 LanScan Python 3 模块来扫描网络。使用 LanScan,我们可以收集关于本地网络上的主机和设备的信息。

第七章,“使用 Python 进行网络嗅探”,是关于如何编写基本数据包嗅探器的详细指南,以及如何使用 Python 编写脚本来解析嗅探到的数据包,如何使用 Python 模块解析和格式化 MAC 地址,如何使用 Python 模块解码嗅探到的数据包,以及如何使用 Pyshark,一个 TShark 的 Python 封装。

第八章,“Scapy 基础”,介绍了如何使用 Scapy Python 模块创建数据包,以及如何使用 Scapy 发送数据包并接收答复。此外,还解释了如何编写脚本来从 pcap 文件中读取并使用 Scapy 模块进行写回。Scapy 主要是关于将协议层叠在一起以创建自定义数据包。本节将帮助读者更清晰地了解使用 Scapy 进行数据包层叠以及如何使用 Scapy 来嗅探网络数据包。

第九章,“Wi-Fi 嗅探”,介绍了如何使用 Python 模块编写脚本来扫描并获取可用的 Wi-Fi 设备列表。您还将学习如何使用 Python 模块编写脚本来查找隐藏的 Wi-Fi SSID,以及如何使用 Scapy 编写脚本来暴露隐藏的 SSID。此外,还介绍了如何使用 Scapy 编写脚本对隐藏的 Wi-Fi SSID 进行字典攻击,以及如何使用 Scapy 设置一个虚假的接入点。

第十章,“第 2 层攻击”,探讨了如何编写脚本来监视网络上所有新连接到特定网络的设备,并如何编写脚本来运行地址解析协议(ARP)缓存投毒攻击。您还将学习如何使用 Python Scapy 模块创建 MAC 洪水攻击的脚本,以及如何使用 Python 编写脚本来创建 VLAN 跳跃攻击。此外,我们还将介绍如何使用 Python 编写脚本来在 VLAN 跳跃中欺骗 ARP。

第十一章,“TCP/IP 攻击”,着重介绍了如何使用 Python 模块编写脚本来欺骗 IP 地址。您还将学习如何使用 Python 编写脚本来创建 SYN 洪水攻击,以及如何使用 Python 编写脚本来在局域网上嗅探密码。

第十二章,“漏洞开发简介”,将帮助您了解 CPU 寄存器及其重要性的基础知识,并解释内存转储技术以及 CPU 指令的基础知识。

第十三章,“Windows 漏洞开发”,将帮助您了解 Windows 内存布局的细节,这将有助于漏洞开发。您还将学习如何使用 Python 脚本进行缓冲区溢出攻击,并如何使用 Python 编写脚本来利用结构化异常处理(SEH)。此外,我们将详细了解如何使用 Python 编写脚本来利用 Egg Hunters 来攻击 Windows 应用程序。

第十四章,“Linux 漏洞开发”,解释了如何使用 Python 编写脚本来运行 Linux 格式字符串漏洞,以及如何在 Linux 环境中利用缓冲区溢出。

本书所需内容

基本上,需要安装 Python 的计算机。可以使用虚拟机来模拟易受攻击的机器和进行测试。

本书适合谁

这本书非常适合那些熟悉 Python 或类似语言,并且不需要基本编程概念的帮助,但希望了解渗透测试的基础知识和渗透测试人员面临的问题的人。

章节

在本书中,您会发现一些经常出现的标题(准备工作和操作步骤)。为了清晰地说明如何完成食谱,我们使用这些部分如下:

准备工作

本节告诉您在食谱中可以期待什么,并描述了为食谱设置任何软件或任何先决设置所需的方法。

操作步骤…

本节包含按照食谱所需的步骤。

约定

在本书中,您会发现许多文本样式,用于区分不同类型的信息。以下是一些样式的示例及其含义解释。文本中的代码词、数据库表名、文件夹名、文件名、文件扩展名、路径名、虚拟 URL、用户输入和 Twitter 用户名显示如下:“它将被提取到Python-3.6.2文件夹中”

代码块设置如下:

import urllib.request
import urllib.parse
import re
from os.path import basename 

任何命令行输入或输出都是这样写的:

$ sudo apt-get install python 

新术语重要单词以粗体显示。例如,屏幕上看到的单词,例如菜单或对话框中的单词,会以这种方式出现在文本中:“这将显示一个选项 Package Control: Install Package。”

警告或重要提示会显示如下。

提示和技巧会显示如下。