# impacket 脚本利用
1 2 3
| /usr/share/doc/python-impacket/examples 可以给定脚本权限为777,利用./*.py执行脚本 chmod 777 *
|
![image-20210814143453952]()
1 2 3
| About Impacket: Impacket 是一组用于处理网络协议的 Python 类。 Impacket 专注于提供对数据包的低级编程访问,并为某些协议(例如 SMB1-3 和 MSRPC)提供协议实现本身。 数据包可以从头开始构建,也可以从原始数据中解析出来,面向对象的 API 使得使用深层次的协议变得简单。该库提供了一组工具作为可以在该库的上下文中完成的操作的示例
|
# Atexec.py(执行命令)
Atexec.py:Impacket 有一个 Python 库,可以帮助攻击者通过 CIFS 主机使用的基于 DCE/RPC 的协议远程访问受害主机,以访问 / 控制 AT-Scheduler 服务并执行任意系统命令。
1 2 3
| 语法:Python atexec.py 域/用户名:password@hostIP命令 Python atexec.py 用户名:password@IP 命令 (如:systeminfo)
|
![image-20210814144220902]()
# psexec.py
PSEXEC 类似使用 RemComSvc 的功能示例,在 python 脚本的帮助下,我们可以使用此模块远程连接主机,因此您需要执行以下命令。
1
| 语法:Python psexec.py 域/用户名:密码@hostIP
|
![image-20210814144457456]()
# Smbexec.py
可执行文件
Smbexec.py 使用与不使用 RemComSvc 的 psexec 类似的方法。该脚本以两种方式工作:
- ** 共享模式:** 您指定一个共享,一切都通过该共享完成。
- ** 服务器模式:** 如果由于任何原因没有可用的共享,此脚本将启动本地 SMB 服务器,因此目标机器将执行的命令的输出发送回本地共享文件夹。请记住,您需要 root 访问权限才能绑定到本地计算机中的端口 445。
1
| **语法:Python smbexec.py 域/用户名:密码@hostIP**
|
![image-20210814144736018]()
# wmiexec.py(执行命令)
与 smbexec 类似的方法,但通过 WMI 执行命令。这里的主要优点是它在用户(必须是管理员)帐户下运行,而不是在 SYSTEM 帐户下运行,此外,它不会像 smbexec.py 在创建服务时那样在事件日志中生成嘈杂的消息。缺点是它需要 DCOM,因此,我必须能够访问目标机器上的 DCOM 端口。
1
| 语法:Python wmiexec.py 域/用户名:密码@hostIP type C:\\flag*.txt
|
![image-20210814145755131]()
# SMB/MSRPC
# smbclient.py
1
| 当我们以如下所示的格式向 smbclient 提供以下参数时,我们将连接到目标机器,我们有一个 smb shell,它可以运行一系列命令,如 dir、cd、pwd、put、rename,更多、del、rm、mkdir、rmdir、信息等
|
![image-20210814170409260]()
# lookupsid.py(SID 用户枚举)
1
| 安全标识符 (SID) 是可变长度的唯一值,用于标识用户帐户。通过 SID 用户枚举,我们可以提取有关存在哪些用户及其数据的信息。Lookupsid 脚本可以枚举本地和域用户。这种攻击也有一个 Metasploit 模块。如果您计划使用金票或银票注入目标服务器,那么需要的一件事就是 500 用户的 SID。Lookupsid.py 可用于该场景。当我们以如下所示的格式向
|
1
| lookupsid.py [domain]/[user]:[password/password hash]@[Target IP Address]
|
![image-20210814170750870]()
# reg.py(注册表)
1
| Reg.exe 是一个可执行服务,当与查询、添加、删除关键字的eh 组合使用时,可以读取、修改和删除注册表值。我们甚至可以开始表达访问注册表的重要性。注册表控制系统的每个方面。它可用于获取有关各种策略、软件的信息并更改其中一些策略。
|
1 2
| 语法: ./reg.py administrator:123456@172.16.10.180 query -keyName HKLM\\SOFTWARE\\Policies\\Microsoft\\Windows -s
|
![image-20210814171059794]()
# rpcdump.py(转储文件)
1
| RPC 或远程过程调用是当计算机程序导致过程在不同的地址空间中执行时,该过程被编码为正常的过程调用。这个脚本可以为我们枚举这些端点。它还将它们与一些众所周知的端点相匹配以识别它们。
|
![image-20210814171312135]()
# Samrdump.py (转储文件)
1
| Samrdump 是一个应用程序,它使用安全帐户管理器 (SAM) 检索有关指定目标机器的敏感信息。它是一个远程接口,可在分布式计算环境/远程过程调用 (DCE/RPC) 服务下访问。它列出了有关目标在本地网络中存在的所有系统共享、用户帐户和其他有用信息。该图像清楚地向我们显示了远程计算机持有的所有用户帐户。检查所有可用共享的敏感数据并访问其他用户帐户可以进一步揭示有价值的信息。
|
![image-20210814171515937]()
# services.py (服务)
1
| Impacket 的服务脚本在 MSRPC 接口的帮助下与 Windows 服务进行通信。它可以启动、停止、删除、读取状态、配置、列出、创建和更改任何服务。在处理 Red Teaming 任务时,有很多可以简化的任务,只要我们可以访问 Target 机器的服务。这使得这一切成为一项简单的任务。
|
1
| ./services.py administrator:123456@172.16.10.180 list
|
![image-20210814171656070]()
# ifmap.py(查找 RPC 服务溢出)
1
| Ifmap 脚本最初绑定到目标机器的 MGMT 接口。然后它获取接口 ID 列表。然后它将这些 ID 添加到它的数据库中已有的另一个 UUID 大列表中。然后它尝试绑定每个接口并报告接口的状态。状态可以是列出或收听。它收集信息的能力是无与伦比的。有一个与此脚本非常相似的 Metasploit 模块是“auxiliary/scanner/dcerpc/endpoint_mapper” 运行映射到唯一服务的端点映射器的 UUID(通用唯一标识符)列表。获得这些服务后,攻击者可以在 Internet 上搜索以查找这些服务中的任何一个是否容易受到 RPC 溢出的攻击。
|
1
| 语法:ifmap.py [目标 IP 地址] [目标端口]
|
拓展
1 2 3
| opdump.py getArch.py netview.py
|