當前位置:
首頁 > 新聞 > 利用PRET控制遠程印表機測試

利用PRET控制遠程印表機測試

前言


Pret是用來對印表機安全進行測試的工具。它通過網路或者USB連接到設備,並利用給定印表機的語言進行滲透。目前絕大多數的印表機都是使用PostScript,pjl和pcl。這使得該工具可以通過這些印表機語言進行捕獲或者操作列印作業,訪問印表機文件系統和內存甚至造成物理層面上的破壞。


安裝


Linux:

建議在linux中安裝Pret

# pipinstall colorama pysnmp (kali中無需運行此命令)# apt-get install imagemagick ghostscript

Windows:

# pip install colorama pysnmp# pip install win_unicode_console  (windows需要額外安裝,否則容易Unicode字元顯示不正確)

用法


當沒有參數直接運行./pret.py時,pret會自動通過SNMP協議尋找可能的印表機。



帶參數的運行:usage:pret.py [-h] [-s] [-q] [-d] [-i file] [-o file] target {ps,pjl,pcl}


Target參數可以為本地


印表機名或者網路印表機的ip,此處以印表機ip為例:



可選參數:

—safe 檢查IPP,HTTP,SNMP,{PS、PCL、PJL}的可用性,方便進行除9100埠的其他滲透,如對印表機進行web滲透(大多數的印表機web管理端都是無口令和弱口令的,所以可以輕鬆的進行讀取列印作業或者進行遠程管理)。也可以確定是否選擇了合適的印表機語言。



—debug 打開debug模式,可以很方便的看到原始的印表機語言,有助於對印表機語言和滲透原理的理解。如圖可以方便的看出印表機語言之間的交互。


![EH]W)0)J4RWO33@X2P5G_T.png


—quit 禁止印表機型號確定,介紹信息和一些無作用的交互。


—load filename 從文本文件中讀取並執行pret命令,實現腳本自動化。


—log filename 將印表機的原始數據流寫入目標文件。


PRET命令


Help:不同的語言pret會提供不同的命令可用。所以在剛開始使用pret時,可以先使用help查看可用命令。除此之外也可以使用help+命令來顯示某命令的詳細用法。


Put:可以將文件上傳到印表機上,由此回想到向linux印表機上傳bot來進行控制,然而利用印表機語言無法有效的運行文件。


Mirror: 直接將印表機中的所有文件拷貝的本地,方便進一步的分析,尋找如列印記錄的文件。


Destroy: 十分危險的功能,嘗試的時候應當慎用,對印表機的NVRAM(一種RAM)造成物理性損壞。



附上源碼供大家研究:



Print:可以遠程列印文件。


Fuzz: pret自動使用腳本進行fuzz測試,包括常見敏感目錄和文件。


Lock: 設置系統密碼。


Unlock:自動解密。

Reset: 重置ps語言設置。


此處僅介紹了部分重要命令,還有很多命令可以使用help自行查看。


印表機安全測試清單


利用pret可以對印表機進行拒絕服務、提權、列印作業越權訪問、信息泄露、遠程代碼執行等測試,具體清單和用法可以參照官方的wiki:



維基百科


https://github.com/RUB-NDS/PRET


*本文作者:qianye,轉載請註明來自FreeBuf.COM


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 FreeBuf 的精彩文章:

Harpoon:OSINT威脅情報工具
BUF大事件:科技公司聯盟保護用戶數據;RSA2018舊金山舉行

TAG:FreeBuf |