throwaway96/slopbro

GitHub: throwaway96/slopbro

SlopBro 是针对 LG webOS 电视 jsserver 漏洞的概念验证 exploit,利用特权 Luna 请求实现 root 提权并安装 Homebrew Channel。

Stars: 1 | Forks: 0

# SlopBro 部分 Python 代码是由 LLM 编写的。(你以为我想写一个兼容 Python 2.7/3.x 的 WebSocket 客户端吗?)其余部分则是纯正的、传统的**人类**制造的粗制滥造代码。这就是这个时代的精神,你懂的? ## 概述 SlopBro 是一个针对 LG 电视中 jsserver 漏洞的概念验证(proof-of-concept) exploit。 我尽量让它兼容 Python 2.7 和 3.x,并且除了标准库之外不依赖任何外部库,以便它能在所有版本的 webOS 电视上运行。不幸的是,webOS 6(可能还有更老版本)上的 Python 2.7 环境缺少 HTTP 服务器相关的组件,所以这有点浪费时间。哎。 我只在 webOS 6 上进行了最低限度的测试(记住:这是粗制滥造的代码!),但它应该至少能在其他一些版本上运行。 我也在 webOS 10 (25) 上测试了部分功能,并且其他人已在 webOS 5 和 7 上成功使用了它。我相信它应该也能在 webOS 11 (26) 上运行。 ### 工作原理 `slopbro.py` 是主脚本。它执行以下步骤: 1. 启动 HTTP 服务器以提供 exploit 页面和 payload。 2. 打开与电视的 SSAP 连接。 3. 启动一个 WAM 应用,指向 exploit 页面 `index.html`。 在特定 WAM 应用上下文中运行的页面可以发起特权 Luna 请求。在电视上加载时,`index.html` 会执行以下操作: 1. 在电视屏幕上显示状态和调试信息。 2. 从 HTTP 服务器下载用于伪造 `com.webos.service.jsserver` 包的文件。 3. 利用 jsserver 漏洞运行该包。 伪造 `com.webos.service.jsserver` 包的入口点是 `main.js`,它会以 root 权限执行。它负责启动 `autoroot.sh`,该脚本会安装 Homebrew Channel 并启用持久化。 ## 运行 使用 Python 运行脚本,并传入你电视的 IP 地址: ``` python slopbro.py [--debug] [--local-ip ] [--asset-source ] ``` *注意:在 webOS 7 及以上版本中,你可能需要使用 `python3` 而不是 `python`。* 在目标电视上接受配对提示。(凭证将保存在 `.key` 文件中以便日后使用。) ### 选项 `--debug` 选项可在电视屏幕以及 `autoroot.log` 中启用额外的输出。 `--local-ip` 选项允许你手动指定本地 IP 地址,如果脚本猜测错了 IP 地址,这会很有用。 `--asset-source` 选项允许你指定脚本应从何处查找资产(`auto`、`dir`、`embedded`)。 ## 打包 除了从 `wwwroot` 目录提供文件外,SlopBro 还可以作为嵌入了资产的单个文件进行分发。 ### 构建单文件包 使用以下命令生成独立文件: ``` python tools/package_single_file.py --out dist/slopbro_packed.py ``` 然后直接运行它(无需 `wwwroot`): ``` python dist/slopbro_packed.py 192.168.1.50 ``` 你还可以显式指定它应从何处查找资产(`embedded`、`dir`): ``` python dist/slopbro_packed.py --asset-source embedded 192.168.1.50 ``` 默认情况下(`auto` 模式),如果两者都存在,优先使用嵌入的资产而不是文件。 ## 故障排除 - `slopbro.py` 会猜测本地 IP 地址是什么,并且可能会猜错。如果你没有看到任何连接返回到 HTTP 服务器,请尝试使用 `--local-ip` 手动指定 IP 地址。 - 确保你的电视与运行 SlopBro 的位置之间没有任何奇怪的网络问题。请记住,连接需要在双向都能正常工作。 ## 许可证 本程序是自由软件:你可以根据自由软件基金会发布的 GNU Affero General Public License 的条款重新分发或修改它,无论是该许可证的第 3 版,还是(由你选择)任何更高版本。 本程序的发布是希望它能有用,但没有任何保证;甚至没有适销性或特定用途适用性的暗示保证。有关更多详细信息,请参阅 GNU Affero General Public License。 你应该已经随本程序收到了一份 GNU Affero General Public License 的副本。如果没有,请参见 。 有关详细信息,请参阅 `COPYING`。
标签:Go语言工具, PoC, Python, Web报告查看器, 协议分析, 数据可视化, 无后门, 智能电视, 暴力破解, 权限提升, 逆向工具