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

3.7 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)**는 RFC2910RFC2911에 명시된 바와 같이 인터넷을 통한 인쇄의 기초가 됩니다. IPP Everywhere와 같은 발전은 모바일 및 클라우드 인쇄를 표준화하는 것을 목표로 하며, 3D 인쇄를 위한 확장 기능의 도입으로 IPP의 확장 가능성을 보여줍니다.

HTTP 프로토콜을 활용하여 IPP는 기본/다이제스트 인증SSL/TLS 암호화와 같은 확립된 보안 관행의 혜택을 누립니다. 인쇄 작업 제출이나 프린터 상태 조회와 같은 작업은 HTTP POST 요청을 통해 IPP 서버에 전달되며, 이 서버는 포트 631/tcp에서 운영됩니다.

IPP의 잘 알려진 구현체는 CUPS로, 다양한 리눅스 배포판과 OS X에서 널리 사용되는 오픈 소스 인쇄 시스템입니다. 유용성에도 불구하고, IPP는 LPD와 유사하게 PostScript 또는 PJL 파일을 통해 악성 콘텐츠를 전송하는 데 악용될 수 있어 잠재적인 보안 위험을 강조합니다.

# 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 프린터 해킹에 대해 알아보려면 이 페이지를 읽어보세요.

{% 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 %}