hacktricks/network-services-pentesting/pentesting-631-internet-printing-protocol-ipp.md

4 KiB

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

インターネット印刷プロトコル IPP

インターネット印刷プロトコル (IPP) は、RFC2910 および RFC2911 で規定されており、インターネット上での印刷の基盤として機能します。モバイルおよびクラウド印刷の標準化を目指す IPP Everywhere のような開発によって、その拡張性が示されています。また、3D印刷 のための拡張機能も導入されています。

HTTP プロトコルを活用することで、IPPは 基本/ダイジェスト認証SSL/TLS暗号化 などの確立されたセキュリティプラクティスの恩恵を受けています。印刷ジョブの送信やプリンタのステータスの照会などのアクションは、ポート 631/tcp で動作するIPPサーバーに向けた HTTP POSTリクエスト を通じて実行されます。

IPPのよく知られた実装は CUPS であり、さまざまなLinuxディストリビューションやOS Xで広く使用されているオープンソースの印刷システムです。その有用性にもかかわらず、IPPはLPDと同様に、PostScriptPJLファイル を通じて悪意のあるコンテンツを送信するために悪用される可能性があり、潜在的なセキュリティリスクを浮き彫りにしています。

# Example of sending an IPP request using Python
import requests

url = "http://printer.example.com:631/ipp/print"
headers = {"Content-Type": "application/ipp"}
data = b"..."  # IPP request data goes here

response = requests.post(url, headers=headers, data=data, verify=True)
print(response.status_code)

If you want to learn more about hacking printers read this page.

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}