该仓库包含一个用于利用 CVE-2024-6387 漏洞的 Proof of Concept(POC,概念验证),该漏洞影响运行受影响版本 OpenSSH 的 SSH 服务器。
POC,即 Proof of Concept(概念验证),是一种以可控且可复现的方式演示安全漏洞利用的程序或脚本。其主要目的是证明漏洞确实存在,并且可以被利用来在受影响的系统上执行恶意代码或进行未授权操作。
该仓库中的 POC 旨在利用 SSH 服务器中的 CVE-2024-6387 漏洞。下面简要说明代码各部分的运作方式:
CVE-2024-6387.py:该文件包含 POC 的主要代码。其中定义了用于与 SSH 服务器建立连接、发送特定数据包以操纵服务器的堆(heap)、测量响应时间以及利用服务器上的竞态条件(race condition)的函数。
setup_connection(ip, port):与远程服务器建立 TCP/IP 连接。 send_packet(sock, packet_type, data):向远程服务器发送数据包。 perform_ssh_handshake(sock):执行完整的 SSH 握手。 prepare_heap(sock):使用特定数据包准备服务器的堆(heap),以利用该漏洞。 time_final_packet(sock, parsing_time):测量服务器的最终响应时间。 attempt_race_condition(sock, parsing_time, glibc_base):尝试利用 SSH 服务器上的竞态条件。 perform_exploit(ip, port):通过尝试多个 glibc 基地址来执行完整的漏洞利用。 使用方法
为了使该 POC 能够配合 CVE-2024-6387 漏洞使用,需要进行以下修改或注意事项:
更新 shellcode:将 shellcode 占位符 shellcode = b"\x90\x90\x90\x90" 替换为可在受影响服务器上执行所需操作的真实 shellcode。
适配 CVE-2024-6387:确保 prepare_heap 和 create_public_key_packet 函数中发送的数据结构和数据包是专门为利用 CVE-2024-6387 中描述的漏洞而设计的。
该仓库仅用于教育和研究目的。未经授权利用漏洞可能属违法行为,并且在未经授权的环境中被严格禁止。作者不对滥用此代码的行为承担任何责任。