hacktricks/network-services-pentesting/9100-pjl.md

99 lines
6.4 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
2024-02-10 21:30:13 +00:00
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 21:30:13 +00:00
HackTricks를 지원하는 다른 방법:
2022-04-28 16:01:33 +00:00
2024-02-10 21:30:13 +00:00
* **회사를 HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**를** **팔로우**하세요.
* **Hacking 트릭을 공유하려면 PR을** [**HackTricks**](https://github.com/carlospolop/hacktricks) **및** [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) **github 저장소에 제출**하세요.
2022-04-28 16:01:33 +00:00
</details>
2024-02-10 21:30:13 +00:00
# 기본 정보
2024-02-10 21:30:13 +00:00
[여기](http://hacking-printers.net/wiki/index.php/Port\_9100\_printing)에서는 Raw 프린팅을 네트워크 프린터의 9100/tcp 포트에 연결하는 과정으로 정의합니다. CUPS와 Windows 프린팅 아키텍처에서는 네트워크 프린터와 통신하기 위해 '가장 간단하고 빠르며 일반적으로 가장 신뢰할 수 있는 프린터 네트워크 프로토콜'로 간주되기 때문에 기본 방법으로 사용됩니다. 실제로 Raw 포트 9100 프린팅은 JetDirect, AppSocket 또는 PDL-datastream으로도 알려져 있지만 **자체적인 프린팅 프로토콜은 아닙니다**. 대신 **모든 데이터가 프린팅 장치에서 직접 처리**되는 것이며, 마치 TCP를 통한 병렬 연결과 같습니다. LPD, IPP 및 SMB와 달리 이는 상태 및 오류 메시지를 포함한 직접적인 피드백을 클라이언트에게 보낼 수 있습니다. 이러한 **양방향 채널**은 **PJL**, **PostScript** 또는 **PCL** 명령의 **결과에 직접 액세스**할 수 있게 해줍니다. 따라서 거의 모든 네트워크 프린터에서 지원되는 Raw 포트 9100 프린팅은 PRET 및 PFT를 사용한 보안 분석을 위한 채널로 사용됩니다.
2024-02-10 21:30:13 +00:00
[**프린터 해킹에 대해 더 알아보려면 이 페이지를 읽으세요**](http://hacking-printers.net/wiki/index.php/Main_Page).
2024-02-10 21:30:13 +00:00
**기본 포트:** 9100
```
9100/tcp open jetdirect
```
2024-02-10 21:30:13 +00:00
# 열거
2024-02-10 21:30:13 +00:00
## 수동
```bash
nc -vn <IP> 9100
@PJL INFO STATUS #CODE=40000 DISPLAY="Sleep" ONLINE=TRUE
@PJL INFO ID # ID (Brand an version): Brother HL-L2360D series:84U-F75:Ver.b.26
@PJL INFO PRODINFO #Product info
@PJL FSDIRLIST NAME="0:\" ENTRY=1 COUNT=65535 #List dir
@PJL INFO VARIABLES #Env variales
@PJL INFO FILESYS #?
@PJL INFO TIMEOUT #Timeout variables
@PJL RDYMSG #Ready message
2024-02-10 21:30:13 +00:00
@PJL FSINIT
@PJL FSDIRLIST
@PJL FSUPLOAD #Useful to upload a file
@PJL FSDOWNLOAD #Useful to download a file
@PJL FSDELETE #Useful to delete a file
```
2024-02-10 21:30:13 +00:00
## 자동
PJL (Printer Job Language)은 프린터와 통신하기 위해 사용되는 명령어 세트입니다. PJL은 프린터의 상태를 확인하고 제어하기 위해 사용됩니다. PJL 명령어는 프린터에 대한 다양한 작업을 수행할 수 있습니다.
2024-02-10 21:30:13 +00:00
PJL 명령어를 사용하여 프린터를 자동으로 조작할 수 있습니다. 이를 통해 다양한 작업을 수행할 수 있으며, 예를 들어 프린터의 설정을 변경하거나 프린터에서 문서를 인쇄할 수 있습니다.
2024-02-10 21:30:13 +00:00
자동 PJL 스크립트를 작성하는 것은 프린터 펜테스팅에서 유용한 기술입니다. 이를 통해 프린터의 취약점을 식별하고 악용할 수 있습니다. 자동 PJL 스크립트를 사용하여 프린터를 조작하고 정보를 추출하는 것은 펜테스터에게 큰 이점을 제공할 수 있습니다.
PJL 명령어를 사용하여 프린터를 자동으로 조작하는 방법에 대한 자세한 내용은 다음과 같습니다.
- PJL 명령어 문법 및 구문 이해
- 프린터의 상태 및 설정을 확인하는 명령어 사용
- 프린터에서 문서를 인쇄하는 명령어 사용
- 프린터의 설정을 변경하는 명령어 사용
자동 PJL 스크립트를 작성하여 프린터를 조작하고 정보를 추출하는 것은 펜테스팅 작업에서 매우 유용합니다. 이를 통해 프린터의 취약점을 식별하고 악용할 수 있으며, 시스템에 대한 깊은 이해를 얻을 수 있습니다.
```bash
nmap -sV --script pjl-ready-message -p <PORT> <IP>
```
```bash
msf> use auxiliary/scanner/printer/printer_env_vars
msf> use auxiliary/scanner/printer/printer_list_dir
msf> use auxiliary/scanner/printer/printer_list_volumes
msf> use auxiliary/scanner/printer/printer_ready_message
msf> use auxiliary/scanner/printer/printer_version_info
msf> use auxiliary/scanner/printer/printer_download_file
msf> use auxiliary/scanner/printer/printer_upload_file
msf> use auxiliary/scanner/printer/printer_delete_file
```
2024-02-10 21:30:13 +00:00
## 프린터 해킹 도구
2024-02-10 21:30:13 +00:00
프린터를 악용하기 위해 사용할 수 있는 도구입니다:
{% embed url="https://github.com/RUB-NDS/PRET" %}
2022-05-01 12:49:36 +00:00
# **Shodan**
2020-09-22 21:18:17 +00:00
* `pjl port:9100`
2022-04-28 16:01:33 +00:00
<details>
2024-02-10 21:30:13 +00:00
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 AWS 해킹을 처음부터 전문가까지 배워보세요<strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 21:30:13 +00:00
HackTricks를 지원하는 다른 방법:
2022-04-28 16:01:33 +00:00
2024-02-10 21:30:13 +00:00
* 회사를 **HackTricks에서 광고하거나 HackTricks를 PDF로 다운로드**하려면 [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
* [**공식 PEASS & HackTricks 스웨그**](https://peass.creator-spring.com)를 얻으세요.
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요. 독점적인 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션입니다.
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **참여**하거나 **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**를** **팔로우**하세요.
* **HackTricks**와 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하여 여러분의 해킹 기법을 공유하세요.
2022-04-28 16:01:33 +00:00
</details>