Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
PRET — أداة استغلال الطابعات - الأداة التي جعلت الغوص في القمامة قديمًا. | Kitploit
أدوات/GitHubGitHub/rub-nds/pret
أمان الأنظمة المدمجةتحليل الثغرات الأمنيةالاستغلالجمع المعلوماتالاختبار العشوائياختبار الاختراقأمن الأجهزة
GitHubrub-nds/pret

PRET

أداة استغلال الطابعات - الأداة التي جعلت الغوص في القمامة قديمًا.

عرض المستودع
4.3k65149منذ 3 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

PRET - عدة استغلال الطابعات

هل طابعتك آمنة؟ تحقق قبل أن يفعل ذلك شخص آخر...

PRET هي أداة جديدة لاختبار أمان الطابعات تم تطويرها في إطار رسالة ماجستير في جامعة الرور في بوخوم. تتصل بالجهاز عبر الشبكة أو USB وتستغل ميزات لغة طابعة معينة. حالياً يتم دعم PostScript و PJL و PCL وهي المستخدمة في معظم طابعات الليزر. وهذا يتيح أشياء رائعة مثل التقاط أو التلاعب بمهام الطباعة، والوصول إلى نظام ملفات الطابعة وذاكرتها، أو حتى إلحاق الضرر المادي بالجهاز. جميع الهجمات موثقة بالتفصيل في ويكي هاكينغ الطابعات.

الفكرة الرئيسية لـ PRET هي تسهيل التواصل بين المستخدم النهائي والطابعة. لذلك، بعد إدخال أمر يشبه يونكس، تقوم PRET بترجمته إلى PostScript أو PJL أو PCL، وإرساله إلى الطابعة، وتقييم النتيجة، وترجمتها مرة أخرى إلى تنسيق سهل للمستخدم. تقدم PRET مجموعة كبيرة من الأوامر المفيدة لهجمات الطابعات والاختبارات العشوائية (fuzzing).

PRET design

التثبيت

PRET تتطلب فقط مترجم Python2. ولكن للإخراج الملون ودعم SNMP، يلزم تثبيت وحدات طرف ثالث:

# pip install colorama pysnmp

إذا كنت تعمل على وحدة تحكم ويندوز ولا تظهر أحرف Unicode بشكل صحيح، قم بتثبيت وحدة win_unicode_console:

# pip install win_unicode_console

للطباعة التجريبية 'بدون سائق' (انظر أمر print)، يجب تثبيت ImageMagick و GhostScript:

# apt-get install imagemagick ghostscript

الاستخدام

usage: pret.py [-h] [-s] [-q] [-d] [-i file] [-o file] target {ps,pjl,pcl}

positional arguments:
  target                printer device or hostname
  {ps,pjl,pcl}          printing language to abuse

optional arguments:
  -h, --help            show this help message and exit
  -s, --safe            verify if language is supported
  -q, --quiet           suppress warnings and chit-chat
  -d, --debug           enter debug mode (show traffic)
  -i file, --load file  load and run commands from file
  -o file, --log file   log raw data sent to the target
مثال على الاستخدام:
$ ./pret.py laserjet.lan ps
$ ./pret.py /dev/usb/lp0 pjl
الوسائط الموضعية:

PRET تتطلب هدفاً صالحاً ولغة طابعة كوسائط. يمكن أن يكون الهدف إما عنوان IP/اسم مضيف طابعة شبكة (مع فتح المنفذ 9100/tcp) أو جهاز مثل /dev/usb/lp0 لطابعة USB محلية. لاكتشاف جميع طابعات الشبكة في شبكتك الفرعية بسرعة باستخدام بث SNMP، قم ببساطة بتشغيل PRET بدون وسائط:

./pret.py
No target given, discovering local printers

address          device                       uptime    status                 
───────────────────────────────────────────────────────────────────────────────
192.168.1.5      hp LaserJet 4250             10:21:49   Ready                 
192.168.1.11     HP LaserJet M3027 MFP        13 days    Paper jam             
192.168.1.27     Lexmark X792                 153 days   Ready                 
192.168.1.28     Brother MFC-7860DW           16:31:17   Sleep mode            

لغة الطابعة التي سيتم استغلالها يجب أن تكون واحدة من ps أو pjl أو pcl. ليست كل اللغات مدعومة في كل طابعة، لذا قد ترغب في تبديل اللغات إذا لم تتلق أي ردود. كل لغة طابعة ترتبط بمجموعة مختلفة من أوامر PRET ولها قدرات مختلفة للاستغلال.

الوسائط الاختيارية:

--safe يحاول التحقق عبر IPP و HTTP و SNMP ما إذا كانت لغة الطباعة المحددة (PS/PJL/PCL) مدعومة بالفعل من قبل الجهاز قبل الاتصال. على الطابعات غير المتصلة بالشبكة (USB، كابل متوازي) سيفشل هذا الاختبار.

--quit يقوم بقمع تحديد نموذج الطابعة ورسالة الترحيب وبعض الأحاديث الجانبية الأخرى.

--debug يظهر تدفق البيانات المرسلة فعلياً إلى الجهاز والردود المستلمة. لاحظ أن بيانات الرأس وغيرها من النفقات العامة يتم تصفيتها. لرؤية كل حركة المرور، استخدم wireshark. يمكن أيضاً تشغيل/إيقاف التصحيح داخل جلسة PRET باستخدام الأمر debug.

--load filename يقرأ وينفذ أوامر PRET من ملف نصي. هذا مفيد للأتمتة. يمكن أيضاً استدعاء ملفات الأوامر لاحقاً داخل جلسة PRET عبر الأمر load.

--log filename يكتب نسخة من تدفق البيانات الخام المرسلة إلى الطابعة في ملف. يمكن أن يكون هذا مفيداً لبناء ملف مهمة طباعة ضارة يمكن نشرها على طابعة أخرى لا يمكن الوصول إليها مباشرة، مثلاً بطباعته من محرك أقراص USB.

الأوامر العامة

بعد الاتصال بجهاز طابعة، سترى شاشة PRET ويمكنك تنفيذ أوامر مختلفة:

$ ./pret.py laserjet.lan pjl
      ________________
    _/_______________/|
   /___________/___//||   PRET | Printer Exploitation Toolkit v0.25
  |===        |----| ||    by Jens Mueller <[email protected]>
  |           |   ô| ||
  |___________|   ô| ||
  | ||/.´---.||    | ||        「 cause your device can be
  |-||/_____\||-.  | |´           more fun than paper jams 」
  |_||=L==H==||_|__|/

     (ASCII art by
     Jan Foerster)

Connection to laserjet.lan established
Device:   hp LaserJet 4250

Welcome to the pret shell. Type help or ? to list commands.
laserjet.lan:/> help

Available commands (type help <topic>):
=======================================
append  debug    edit    free  id    ls       open      restart   timeout  
cat     delete   env     fuzz  info  mirror   printenv  selftest  touch    
cd      df       exit    get   load  mkdir    put       set       traversal
chvol   disable  find    help  lock  nvram    pwd       site      unlock   
close   display  format  hold  loop  offline  reset     status    version  

laserjet.lan:/> ls ../../
-      834   .profile
d        -   bin
d        -   dev
d        -   etc
d        -   hp
d        -   hpmnt
-     1276   init
d        -   lib
d        -   pipe
d        -   tmp
laserjet.lan:/> exit

قائمة بأوامر PRET العامة موضحة أدناه:

help      عرض الأوامر المتاحة أو الحصول على مساعدة مفصلة باستخدام 'help cmd'.
debug     الدخول في وضع التصحيح. استخدم 'hex' لعرض hexadecimal:  debug [hex]
load      تشغيل الأوامر من ملف:  load cmd.txt
loop      تشغيل أمر لعدة وسائط:  loop <cmd> <arg1> <arg2> …
open      الاتصال بجهاز بعيد:  open <target>
close     قطع الاتصال بالجهاز.
timeout   تعيين مهلة الاتصال:  timeout <seconds>
discover  اكتشاف أجهزة الطابعة المحلية عبر SNMP.
print     طباعة ملف صورة أو نص خام:  print <file>|"text"
site      تنفيذ أمر مخصص على الطابعة:  site <command>
exit      الخروج من المفسر.

عمليات نظام الملفات العامة مع تنفيذ خاص بلغة PS/PJL/PCL:

تنزيل الأداة