什么是Imacket?
Impacket是用于使用网络协议的Python类的集合。Impacket专注于提供对数据包的低级编程访问,并为某些协议(例如SMB1-3和MSRPC)提供协议实现本身。可以从头开始构造数据包,也可以从原始数据解析数据包,面向对象的API使得使用深层协议层次结构变得简单。该库提供了一组工具,作为在该库的上下文中可以执行哪些操作的示例
有关某些工具的说明,请访问:https://www.secureauth.com/labs/open-source-tools/impacket
有哪些协议?
- 以太网、Linux“熟透”捕获
- IP、TCP、UDP、ICMP、IGMP、ARP
- IPv4和IPv6支持
- NMB和SMB1、SMB2和SMB3(高级实施)
- MSRPC版本5,支持不同的传输方式:TCP、SMB/TCP、SMB/NetBIOS和HTTP
- 纯文本、NTLM和Kerberos身份验证,使用密码/散列/票证/密钥
- 部分/完全实施以下MSRPC接口:EPM、DTYPES、LSAD、LSAT、NRPC、RRP、SAMR、SRVS、WKST、SCMR、BKRP、DHCPM、EVEN6、MGMT、SASEC、TCH、DCOM、WMI、OXABREF、NSPI、OXNSPI
- 部分TDS(MSSQL)和LDAP协议实现
受到冲击
设置
快速入门
抓取最新的稳定版本,将其解包并运行python3 -m pip install .
(python2 -m pip install .
对于Python2.x)。这不容易吗?
正在安装
要安装源文件,请从Imacket分发包的解压缩目录执行以下命令:python3 -m pip install .
(python2 -m pip install .
对于Python 2.x)。这会将类安装到默认的Python模块路径中;请注意,您可能需要特殊权限才能在此写入
测试
如果您想运行库测试用例,您主要需要做三件事:
- 安装和配置Windows 2012 R2域控制器
- 确保RemoteRegistry服务已启用并正在运行
- 配置dcetest.cfg包含必要信息的文件
- 安装TOX(
python3 -m pip install tox
)
一旦做完了,你就可以跑了tox
等待结果。如果一切顺利,所有测试用例都应该通过。您还将拥有位于以下位置的Coverage HTML报告impacket/tests/htlmcov/index.html
Docker支持
打造Impacket的形象:
docker build -t "impacket:latest" .
使用Impacket的图像:
docker run -it --rm "impacket:latest"
许可
此软件在Apache软件许可证稍作修改的版本下提供。请参阅随附的LICENSE有关详细信息,请参阅文件
Michael Teo基于Pysmb的SMBv1和NetBIOS支持
免责声明
这个开源计划的精神是帮助安全研究人员和社区加快与实施网络协议和堆栈相关的研究和教育活动
此存储库中的信息用于研究和教育目的,不能用于生产环境和/或作为商业产品的一部分
如果您希望将此代码或部分代码用于自己的用途,我们建议您应用适当的安全开发生命周期和安全编码实践,并根据您的需要生成和跟踪各自的危害指标
联系我们
无论您是想报告bug、发送补丁,还是就此包给出一些建议,请给我们几行信息,地址为oss@secureauth.com
有关安全相关问题,请查看我们的security policy