Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-39047 — 爱普生打印机RAW协议漏洞利用框架 | Kitploit
工具/GitHubGitHub/j4ck3lsyn-gen2/cve-2026-39047
嵌入式系统安全漏洞利用框架物联网安全漏洞分析漏洞利用后渗透利用模糊测试渗透测试硬件安全红队Payload 开发二进制利用
63182个月前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHubj4ck3lsyn-gen2/cve-2026-39047

CVE-2026-39047

爱普生打印机RAW协议漏洞利用框架

查看仓库

CVE-2026-39047:爱普生打印机RAW协议漏洞利用框架

仓库: https://github.com/J4ck3LSyN-Gen2/CVE-2026-39047
PoC脚本: poc.py
模拟目标: mock_printer.py
作者: J4ck3LSyN

概述

该框架演示了CVE-2026-39047漏洞——爱普生多功能打印机(特别是L14150 FL27PB)在处理RAW TCP打印协议(通常端口9100)上的畸形或超大负载时存在的远程缓冲区溢出。

成功利用可导致打印机嵌入式环境中的任意代码执行,实现:

  • 拒绝服务(DoS)/设备崩溃/重启
  • 命令执行/Shell访问(在分阶段场景中)
  • 持久化机制
  • 从受损打印基础设施中进行网络跳转或数据窃取

PoC专注于传输帧封装、负载混淆、模糊测试技术以及分阶段后利用行为,适用于红队演练、漏洞研究和防御测试。


[!WARNING]

  • 此工具可能(并将)导致易受攻击的打印机上的远程代码执行(RCE)。
  • 未经授权的__使用、扫描_或_利用_您__不__拥有或__未获得明确书面许可__测试的系统是__非法的 并可能违反__计算机欺诈和滥用法_(例如美国的__CFAA__)、数据保护法规__和__组织政策。
    作者__对因使用或滥用此代码造成的任何_损害、数据丢失、服务中断_或_法律后果__不承担任何责任。
  • 仅在您控制的设备的__隔离实验室__环境中使用。
  • 在任何测试前__务必__获得__明确授权__。
  • 代码包括_试运行_和_被动_模式以辅助__安全__分析。
    强烈鼓励负责任的披露和道德使用。
  • 一旦供应商提供更新,请及时修补设备。
  • 打印机通常位于内部网络中,拥有高信任度和有限的监控,使其成为有吸引力的攻击面。

漏洞详情

  • 受影响产品: EPSON L14150(固件FL27PB及可能类似型号)
  • 攻击向量: TCP/9100上的RAW打印服务(类似JetDirect)
  • 影响: 通过栈缓冲区溢出实现远程代码执行(RCE)
  • CVSS: 高严重性(详情请见NVD)
  • 根本原因: 打印机固件对传入打印作业数据/帧的边界检查不足

参考:

  • NVD:https://nvd.nist.gov/vuln/detail/CVE-2026-39047
  • 相关公告和报告(搜索CVE编号)

功能特性

  • 打印机探测: 使用PJL命令探测目标的可达性和基本型号/固件信息。
  • 负载生成:
    • 多种技术:循环模式、格式化字符串、NOP滑板、随机数据。
    • 混淆层(zlib + XOR + Base64,动态密钥)。
    • 自定义传输帧(PRT2协议)。
  • 投递模式:
    • 分块发送,随机延迟(利于规避)。
    • 试运行模式(无网络流量)。
  • 行动选项:
    • 被动侦察。
    • 使用可变大小和技术的模糊测试。
    • 后利用分阶段(Shell、信标、持久化模拟)。
  • 模拟打印机: mock_printer.py,用于安全本地测试(在超大负载时崩溃)。

先决条件

  • Python 3.8+
  • 无外部依赖(仅使用标准库:socket, asyncio, argparse, zlib, hashlib 等。)

安装/设置

  1. 克隆仓库:

    git clone https://github.com/J4ck3LSyN-Gen2/CVE-2026-39047.git
    cd CVE-2026-39047
    
  2. 使脚本可执行:

    chmod +x poc.py mock_printer.py
    
  3. (可选)在一个终端中使用模拟打印机测试:

    ./mock_printer.py
    

使用方法

./poc.py -t <TARGET_IP> [OPTIONS]

关键参数

选项描述
-t, --target目标IP地址(必需)
-p, --port端口(默认:9100)
--passive被动侦察模式(仅发送探测负载)
--fuzz启用多技术模糊测试
--hijack启用后利用分阶段
--objectivestage1 | shell | beacon | persistence
--callback可选的回调标识符/字符串
--capabilityminimal | busybox | linux(影响命令包装)
--dry-run生成负载但不发送
--techniques空格分隔的列表(例如 cyclic format sled random)
--delay负载之间的延迟秒数(默认:1.6)

示例:

  • 基本基线测试:

    ./poc.py -t 192.168.1.100
    
  • 模糊测试运行:

    ./poc.py -t 192.168.1.100 --fuzz --techniques cyclic random
    
  • 分阶段劫持(仅实验室):

    ./poc.py -t 192.168.1.100 --hijack --objective shell --dry-run
    
  • 使用模拟目标进行全面行动:

    # 终端 1
    ./mock_printer.py
    
    # 终端 2
    ./poc.py -t 127.0.0.1 --fuzz --hijack --objective stage1
    

技术实现要点

  • 传输: bTransportFrame() 使用 PRT2 头部 + 长度包装负载。
  • 混淆(lObf): zlib 压缩 → 动态 XOR 掩码(种子衍生)→ Base64。
  • 负载构建器: gModernPayload() 和 gPostPayload() 用于各种模式和分阶段命令。
  • 分阶段: 生成用于运行时目录、配置文件和持久化钩子(模拟)的Shell命令。
  • 异步投递: 带抖动的分块传输以增加真实性。

有关更详细的细节,请参阅内联文档字符串和代码注释。

检测/缓解

  • 检测: 监控TCP/9100上的异常负载大小、非正常PJL命令或来自意外来源的重复连接。查找PRT2帧模式。
  • 缓解:
    • 尽快应用爱普生的固件更新。
    • 网络分段:将打印机与普通用户网络隔离。
    • 防火墙规则,将端口9100限制为受信任的打印服务器。
    • 如果不需要,禁用RAW协议;优先使用安全替代方案(IPPS等)。
    • 定期固件审计和打印机库存管理。

免责声明(重申)

此PoC严格仅供教育、研究和授权安全测试目的。滥用可能导致严重后果。仓库所有者对造成的任何损害不承担责任。

下载工具