Skip to content

第五部分 基础库

第 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 等中。使用简单,因为它仅包含几个用于加密和解密数据的函数,CryptProtectDataCryptUnprotectData

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。

引用:

写作过程中参考了大量前辈的文章,属于站在大佬们的肩膀上学习。由于写作节奏紧凑,引用可能有遗漏,欢迎指出,会及时补充(绝无故意不引用之意)。

https://paper.seebug.org/1755/

https://www.passcape.com/index.php?section=docsys&cmd=details&id=28#13

https://learn.microsoft.com/zh-cn/windows/win32/api/wbemcli/nf-wbemcli-iwbemclassobject-spawninstance

http://www.yfvb.com/help/wmi/index.htm

https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-wmi/485026a6-d7e0-4ef8-a44f-43e5853fff9d

https://learn.microsoft.com/en-us/windows/win32/cimwin32prov/win32-process#methods

https://blog.csdn.net/Ping_Pig/article/details/119446154

https://learn.microsoft.com/en-us/openspecs/windows_protocols/

https://learn.microsoft.com/en-us/windows/win32/shell/shellwindows-item

https://enigma0x3.net/2017/01/05/lateral-movement-using-the-mmc20-application-com-object/

https://www.ibm.com/docs/zh/db2/10.1.0?topic=routines-ole-automation

https://www.anquanke.com/post/id/215960

https://blog.csdn.net/guxch/article/details/6880335

https://payloads.online/archivers/2020-07-16/1/

https://blog.51cto.com/u_15075510/3505281

https://www.zhihu.com/question/49433640/answer/115952604

https://learning.oreilly.com/library/view/learning-dcom

https://zh.wikipedia.org/wiki/%E9%81%A0%E7%A8%8B%E9%81%8E%E7%A8%8B%E8%AA%BF%E7%94%A8

https://learn.microsoft.com/en-us/openspecs/windows_protocols/

https://github.com/OTRF/ThreatHunter-Playbook

https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-dtyp/cca27429-5689-4a16-b2b4-9325d93e4ba2

https://blog.csdn.net/zhuhuan_5/article/details/107593368

https://pubs.opengroup.org/onlinepubs/9629399/chap14.htm

https://learn.microsoft.com/zh-cn/windows/win32/rpc/

http://diswww.mit.edu/menelaus.mit.edu/cvs-krb5/25862

https://payloads.online/archivers/2022-03-04/1/#0x03-impacket%E7%9A%84%E9%80%9A%E7%94%A8%E5%BC%80%E5%8F%91%E6%B5%81%E7%A8%8B

https://www.freebuf.com/articles/network/265320.html

https://myzxcg.com/2021/08/Kerberos-%E8%AE%A4%E8%AF%81%E8%BF%87%E7%A8%8B%E8%AF%A6%E7%BB%86%E5%88%86%E6%9E%90%E4%B8%80/

https://www.cnblogs.com/yokan/p/16102699.html

https://www.4hou.com/posts/5KG8

https://googleprojectzero.blogspot.com/2021/10/using-kerberos-for-authentication-relay.html

https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-spng/f377a379-c24f-4a0f-a3eb-0d835389e28a

https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-smb2/06451bf2-578a-4b9d-94c0-8ce531bf14c4

https://docs.oracle.com/cd/E19253-01/819-7056/6n91eac42/index.html

https://silvermissile.github.io/2020/08/16/%E6%95%B0%E6%8D%AE%E5%8A%A8%E6%80%81%E5%AE%89%E5%85%A8%E5%8D%8F%E8%AE%AE%E7%BB%BC%E8%BF%B0/

https://zhuanlan.zhihu.com/p/68583311

https://zhuanlan.zhihu.com/p/266491528

https://juejin.cn/post/6844903955416219661

https://www.ietf.org/rfc/rfc4615.txt

https://www.ietf.org/rfc/rfc4493.txt

https://www.ibm.com/docs/en/zos/2.3.0?topic=kpi-krb5-get-cred-from-kdc-obtain-kdc-server-service-ticket

https://web.mit.edu/kerberos/krb5-devel/doc/appdev/refs/types/krb5_creds.html

https://www.rfc-editor.org/rfc/rfc6448.html

https://repo.or.cz/w/krb5dissect.git/blob_plain/HEAD:/keytab.txt

https://en.wikipedia.org/wiki/Generic_Security_Services_Application_Program_Interface

https://datatracker.ietf.org/doc/html/rfc4121

http://tech.sina.com.cn/roll/2007-08-05/2043381729.shtml

https://fossies.org/dox/freedce-1.1.0.7/mgmt_8c.html#aa683fdbf3f0ae0f068468426f0f5ae3e

https://pubs.opengroup.org/onlinepubs/9629399/apdxq.htm

https://learn.microsoft.com/en-us/openspecs/windows_protocols

https://tttang.com/archive/1403/

https://www.anquanke.com/post/id/219374#h3-6

https://devco.re/blog/2022/10/19/a-new-attack-surface-on-MS-exchange-part-4-ProxyRelay/

https://twitter.com/_mohemiv

https://devco.re/blog/2022/10/19/a-new-attack-surface-on-MS-exchange-part-4-ProxyRelay/

https://swarm.ptsecurity.com/attacking-ms-exchange-web-interfaces/

https://cloud.tencent.com/developer/article/1937702

https://xie1997.blog.csdn.net/article/details/119457498

https://www.freebuf.com/articles/network/285345.html

https://www.akamai.com/blog/security-research/cold-hard-cache-bypassing-rpc-with-cache-abuse