第五部分 基础库
第 7 章 common 基础库速览
这里的模块是 impacket 的基础模块,快速过一遍即可。
ICMP6.py — IPv6 Ping
实现了impacket对ipv6服务器的ping的支持
IP6_Address.py — IPv6 地址解析
实现了对ipv6地址的解析
IP6.py — IPv6 协议
实现了ipv6协议支持
IP6_Extension_Headers.py — IPv6 扩展头
实现了对ipv6扩展标头的支持
version.py — 版本信息
输出当前impacket版本信息
Dot11Crypto.py — 802.11 RC4 加解密
rc4加解密算法实现
Dot11KeyManager.py — 802.11 密钥管理
802.11协议(wifi)keymanager支持
ImpactDecoder.py — 网络协议解包器
各种网络协议的便捷数据包解包器。解包各种协议
ImpactPacket.py — 低级数据包编解码
网络数据包编解码器基本构建块。各种 Internet 协议的低级数据包编解码器。以编程方式构建网络数据包
NDP.py — IPv6 邻居发现
ipv6中的邻居发现协议ndp支持,即Neighbor Discovery Protocol
cdp.py — Cisco Discovery Protocol
cdp协议支持,CDP是Cisco Discovery Protocol的缩写,它是由思科公司推出的一种私有的二层网络协议,它能够运行在大部分的思科设备上面。 通过运行CDP 协议,思科设备能够在与它们直连的设备之间分享有关操作系统软件版本,以及IP地址,硬件平台等相关信息。
crypto.py — AES-CMAC 等通用算法(SMB3 签名)
AES-CMAC 等通用加密校验算法实现(供 SMB3 签名等场景调用,与 krb5/crypto.py 分工不同)
dhcp.py — DHCP 协议
dhcp协议支持
dns.py — DNS 协议
dns协议支持
dot11.py — 802.11 协议
802.11协议(wifi)支持
dpapi.py — Windows 数据保护 API(Chrome 凭据解密)
dpapi支持,数据保护应用程序编程接口(DPAPI)。DPAPI目前广泛应用于许多 Windows 应用程序和子系统中。例如,在文件加密系统中,用于存储无线连接密码,在 Windows Credential Manager、Internet Explorer、Outlook、Skype、Windows CardSpace、Windows Vault、Google Chrome 等中。使用简单,因为它仅包含几个用于加密和解密数据的函数,CryptProtectData和CryptUnprotectData。
https://www.passcape.com/index.php?section=docsys&cmd=details&id=28#13
- 在受害者主机上,以用户的安全上下文解密 Chrome 凭据;
- 将 Chrome 加密数据库拖回本地时,使用 mimikatz 离线解密 Chrome 凭据。
用户master key文件位于%APPDATA%\Microsoft\Protect\%SID%
系统master key文件位于%WINDIR%\System32\Microsoft\Protect\S-1-5-18\User
https://paper.seebug.org/1755/#2-windowsdpapi
eap.py — 802.1X 认证
wifi 802.11认证协议支持
ese.py — NTDS.dit 数据库解析
解析NTDS.dit
helper.py — 数据包基础类型
数据包基础数据类型定义,如bit、byte等
hresult_errors.py — Windows 错误代码表
windows错误代码汇总
http.py — RPC over HTTP 401 认证
提供rpc via http v2 中http 401 认证的支持
mapi_constants.py — Exchange MAPI 常量
exchange错误代码及mapi属性
mqtt.py — MQTT 协议
mqtt协议支持
nmb.py — NetBIOS 名称服务
NetBIOS 库
smb3.py — SMB2/3 协议实现
MS-SMB2协议实现(SMB2 和 SMB3)
smb3structs.py — SMB2/3 数据结构
SMB 2 和 3 协议结构和常量 [MS-SMB2]
smbconnection.py — SMB 连接包装类
SMB1/2/3 的包装类,smb连接的实现
smbserver.py — SMB 服务器
smb服务器实现
system_errors.py — 系统错误代码表
系统错误代码汇总
tds.py — SQL Server TDS 协议
sql server 协议支持
uuid.py — UUID 与二进制互转
uuid和二进制表示的相互转换
winregistry.py — Windows 注册表解析
Windows 注册表库解析器
wps.py — WPS / WSC 无线配置
wps协议支持
WPS全称为Wi-Fi Protected Setup,是WSC规范早期的名字,WSC全称为Wi-Fi Simple Configuration,该项技术用于简化SOHO环境中无线网络的配置和使用。举一个简单的例子,配置无线网络环境时,网管需要首先为AP设置SSID、安全属性(如身份认证方法、加密方法等)。然后他还得把SSID、密码告诉给该无线网络的使用者。可是这些安全设置信息对普通大众而言还是有些复杂。而有了WSC之后,用户只需输入PIN码(Personal Identification Number,一串数字),或者摁一下专门的按钮(WSC中,该按钮被称为Push Button)甚至用户只要拿着支持NFC的手机到目标AP(它必须也支持NFC)旁刷一下,这些安全设置就能被自动配置好。有了这些信息,手机就能连接上目标无线网络了。显然,相比让用户记住SSID、密码等信息,WSC要简单多了。WFA推出WPA后不久,WPS规范便被推出。随着WPA2的出现,WFA又制订了WPS的升级版,即WSC。