當前位置:
首頁 > 新聞 > 印表機安全研究(一):不容樂觀的網路印表機安全狀況

印表機安全研究(一):不容樂觀的網路印表機安全狀況

印表機是人們在生活和辦公中經常使用的電子設備,家庭、辦公室、公司、政府單位、醫院、學校......幾乎每一個單位和機構都會使用印表機。從安全的角度來看,由於列印設備部署於內部網路,通過它們可以直接訪問到機密報告、合同或病歷等敏感信息,比較關鍵。近期,來自德國魯爾大學的安全研究人員對多種品牌型號的網路印表機開展了一項深入的安全研究,以下為他們對這項研究的相關概述和結果分析。



在這篇文章中,我們總結了基於網路印表機的攻擊場景概述,同時展示了攻擊者可以如何入侵一台存在漏洞的印表機。通過對20種不同品牌型號的印表機進行測試後發現,每一種品牌的印表機都存在不同程度的攻擊可能和漏洞。


基於分析,我們還給出了測試過程中使用的印表機入侵利用工具-

PRinter Exploitation Toolkit (PRET)。

主要研究成果可以在Jens Müller

發表的PPT

和我們發布的

公開報告

中找到。


另外,為了加強印表機安全的研究交流,我們還設立了一個wiki頁面

http://hacking-printers.net/

,其它更多精彩的分享,請關注Jens Müller即將在5月份

RuhrSec安全會議

上的演講《How to Hack Your Printer》。


研究背景



列印語言是控制印表機工作的一個命令集,它告訴印表機如何組織被列印的文檔,在印表機語言的控制下,從計算機傳來的列印數據被轉化成可供列印的文字和圖像,最終被印表機識別並輸出出來。列印語言決定著激光印表機輸出版面的複雜程度,是衡量激光印表機性能的一個重要指標。


一個高效的控制語言可減少文件的大小和下載的時間,提高將普通文本格式化成列印文本的速度,目前主要列印控制語言有:PS(PostScript)、PCL和GDI(圖形設備介面語言);但總體來說可以分成兩類,一類是頁描述語言(PDL,Page Descriptional Language),另一類是嵌入式語言(如ESCape Code Language),PCL和 PostScript都屬於PDL。(更多了解請參考此

文檔

)。


針對印表機,有多種協議命令和列印語言可以實現印表機設備和列印任務的控制,其中大多數都可能是我們平時都沒怎麼聽過的。相關協議和語言如下圖所示:




設備控制


這個命令集語言用於印表機設備控制,使用它們還可以檢索設備名稱和狀態,該集合語言主要為簡單網路管理協議SNMP,SNMP是基於UDP,用來管理諸如印表機、路由器、伺服器等各種網路設備的基本網路通信協議。


列印通道


列印設備通常支持的協議有:互聯網列印協議(IPP)、行式列印後台程序(LPD)、SMB協議和9100原始埠列印協議。這些協議都各有特點,如列印作業隊列管理或報告等。在測試分析過程中,我們正是利用了這些列印支持協議,向印表機進行惡意文檔傳播的。



互聯網列印協議(IPP;Internet Printing Protocol)是一個在互聯網上列印的標準網路協議,它容許用戶可以透過互聯網作遙距列印及管理列印工作等工作。用戶可以透過相關界面來控制列印品所使用的紙張種類、解析度等各種參數。


作業控制語言


該命令集語言一般用於管理置紙托盤和紙張數量等印表機設置狀態,其中比較標準的作業控制語言則是PJL,與PCL不同的是,PJL提供了不同類別的任務級別的控制。從安全形度來說,PJL更適用,因為它不僅能應用於當前任務,還能作出一些永久性設置,如列印顯示或讀寫狀態等。



PJL ,Printer Job Language的簡寫,它提供了不同類別的列印控制。與PCL不同的是,PJL提供任務級別的控制,而PCL和HP-GL/2隻控制列印頁面上的列印點的位置。


頁面描述語言(PDL)


PS(PostScript)語言是一種標準的PDL語言。雖然PostScript已經不在台式印刷系統中流行,但仍然是激光印刷列印系統的PDL語言首選。PostScript是基於堆棧的圖靈完備編程語言,它包含400多種指令和操作符,從安全視角來說,這些指令和操作符可以被攻擊利用,入侵控制了PostScript解釋器就能實現代碼執行等惡意操作。



頁面描述語言,是一種面向輸出效應的語言,用於描述列印或照排的版面,這種語言不僅具有版面描述功能,還具有計算機設計的特點,即可處理文字,又可處理圖象,各種軟體在排版和圖形處理之後形成PDL形式,就可匯總在一頁上輸出。


攻擊測試


從網路攻擊角度來說,印表機算是一個重要且有價值的攻擊目標,但印表機的安全和威脅技術研究卻非常之少。所以,我們的首要任務是,根據目前CVE漏洞庫和安全博客中公布的,有關印表機漏洞和安全技術進行綜合分析,通過對現存已知漏洞問題的歸納總結,構建新型或通用攻擊模型,測試不同品牌型號印表機存在的漏洞和安全性。


我們認為,最好的攻擊目標是那些使用PostScript和PJL解釋器進行列印作業處理的印表機,因為遠程攻擊者可以不依賴於設備支持的列印通道,僅只需要利用單獨的"文檔列印"功能就能對其進行入侵攻擊。在我們的分析中,總體上把印表機攻擊分為四類:


DoS攻擊


只要執行以下兩行PostScript代碼,就可實現對印表機的DoS攻擊,讓印表機陷入一個無限loop任務循環:

%!
{} loop


其它此類攻擊:



使印表機進入離線離線模式

:利用PJL語言的操作控制命令讓印表機顯示其它特定消息或進入離線狀態模式;


物理破壞

:通過對PJL常變數的持續設置和更改,可能會對印表機具有讀寫周期的NVRAM(非易失性隨機訪問存儲,印表機主要存儲)造成破壞;


重定義列印顯示信息

:PostScript的"showpage"命令用來對列印文檔的每一頁顯示信息進行設置,可在不影響列印內容的頂部或底部加入自定義標題文字。因此,攻擊者可以通過該命令任意定義其它列印顯示信息。


安全設置繞過


為了繞過印表機現有的安全設置,最簡單的方法就是把印表機重置到出廠狀態。由於大多數印表機都可以通過某些按鍵組合進行出廠狀態硬複位,所以對入侵了印表機的攻擊者來說,這種操作也比較容易實現。


而且,如果印表機支持RFC1759標準(Printer MIB),攻擊者可以遠程利用SNMP命令來實現對目標印表機的出廠狀態重置:

# snmpset -v1 -c public [printer] 1.3.6.1.2.1.43.5.1.1.3.1 i 6


其它特殊機型都提供了類似功能命令語言,如HP的PML, Kyocera的PRESCRIBE等。此外,我們的研究表明,很多流行的CUPS和LPRng印表機都存在技術繞過,實現出廠狀態重置的可能。



CUPS(Common UNIX Printing System,集成在大多印表機內的通用Unix列印系統。LPRng(LPR Next Generation),下一代行式列印系統。


列印任務控制


由於一些PDL語言允許修改,所以可能導致攻擊者的一些惡作劇攻擊,如控制用戶列印任務、在列印文檔上列印出任意圖案文字、自定義任意"showpage』狀態信息等。


印表機信息泄露


9100埠列印支持雙向通道,因此可導致某些敏感信息泄露,例如Brother(兄弟)印表機可以通過以下PJL命令向NVRAM執行讀寫操作:

@PJL RNVRAM ADDRESS = X


在我們的實際測試中,可以利用該命令讀取印表機的整個NVRAM內存數據,其中就包含了一些敏感信息,如印表機密碼、用戶自定義印表機支持協議POP3/SMTP密碼、FTP密碼和活動目錄信息等。攻擊者可以利用這些信息進行內網提權,或把印表機作為內網滲透擺渡設備。


其它此類攻擊:



文件系統入侵

:PostScript和PJL命令都具有對印表機文件系統的訪問功能,然而某些品牌印表機卻未對一些特殊目錄設置訪問限制,可以導致如密碼等其它敏感信息泄露。


列印任務獲取

:只要印表機使用PostScript命令,攻擊者就可以通過其獲取到列印任務。主要因為PostScript的兩個特性:一是攻擊者可通過自定義的操作符"hook"到其它列印用戶的列印任務;二是PostScript可以讀取數據並進行簡單的文檔信息存儲。


密碼泄露

:攻擊者可以對1-65535範圍內的PJL密鑰數字進行暴力破解,輕易獲取到PJL密碼;同樣,如果利用每秒高達100000次的密碼驗證就可破解PostScript密碼。


印表機入侵利用工具-PRET


為了讓以上攻擊實現自動化,我們發布了一個自動化概念驗證攻擊工具:PRET,通過該工具可以簡化終端攻擊者與目標印表機之間的通信交流。因此,當遇到一些UNIX列印系統命令時,PRET會把它轉換成PostScript或PJL語言,發送給目標印表機,並對反饋結果進行安全評估。例如,PRET會把UNIX命令「

ls

"轉換成以下PJL請求:

@PJL FSDIRLIST NAME=」0:」 ENTRY=1 COUNT=65535


之後,它會收集印表機輸出信息並把它轉換成簡單明了的顯示信息。



PRET使用以下命令對印表機文件系統進行攻擊測試:



安全評估


我們想對印表機安全開展一個全面深入的安全評估,所以選擇了大約20多種常用流行的品牌印表機作為測試對象。為了節省資金,我們還從各大高校機構公開收集了一些印表機作為研究,目前,在排名前十的印表機品牌中,我們至少有一種型號的測試機型。



這些印表機並不都是全新的,其中有三台印表機還存在功能缺失導致不能執行測試攻擊,但所有這些列印設備構成了當前辦公環境中的典型環境。在執行測試攻擊之前,我們為每台設備進行了全新的固件更新。測試結果表明,每種列印設備都存在多種可攻擊可能。例如,利用包含循環代碼的惡意PostScript文件,可以針對每種品牌印表機執行DoS攻擊。


在攻擊中,只有HP LaserJet M2727nf運行有看守程序,在測試之後會引起設備故障,關機10分鐘之後才能恢復正常;而被測印表機經24小時的NVRAM內存讀寫操作壓力測試之後,則會導致物理內存損壞;大多數印表機都可執行列印任務控制或獲取的攻擊。



攻擊者甚至會利用印表機的PostScript、PJL和PML命令,對印表機發起跨站列印(cross-site printing)攻擊,在這種攻擊的基礎上,我們發現了另一種新的攻擊方法:跨源資源共享欺騙攻擊(

cross-origin resource sharing,CORS Spoofing

)。CORS Spoofing攻擊可以通過瀏覽器獲取到列印設備的相關列印任務信息。


該網站的概念性攻擊代碼可以對大多數公司和機構的印表機實行攻擊測試:

http://hacking-printers.net/xsp/


在後續的文章中,我們將會對各種印表機攻擊方法作出具體描述,並對印表機入侵利用工具PRET作出簡要介紹。


*參考來源:web-in-security,FB小編clouds編譯,轉載請註明來自FreeBuf.COM


您的贊是小編持續努力的最大動力,動動手指贊一下吧!


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


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

分析無線遙控器信號並製作Hack硬體進行攻擊
大話蜜罐日誌分析
全球上百家銀行和金融機構感染了一種「無文件」惡意程序,幾乎無法檢測
基於機器學習的web異常檢測

TAG:FreeBuf |

您可能感興趣

3D印表機的應用——機器人印表機
印表機也會被黑?全球 57 萬台印表機埠暴露在物聯網
什麼印表機好?辦公和影像屆地表最強
談自主可控談安全文印 國產印表機也許更靠譜
掌上黑科技,能列印視頻的手機照片印表機
印表機:第三集就告白?《芝加哥印表機》劉亞仁和林秀晶的關係引關注
索尼發布4K術野攝像機及醫療熱敏印表機
惠普印表機爆遠程命令執行漏洞,黑客可任意操縱你的印表機
印表機里的神秘代碼
更改印表機埠
治癌神器:可在MRI機內活檢的全塑料3D印表機器人
蒂蔓彩印—東芝uv印表機的結構及核心部件都有哪些?
基於工控機的3D印表機涉獵廣泛用途多!
Win7系統電腦印表機出現離線狀態不能列印的解決方法
不是噴墨也不是激光 惠普革新印表機技術揭秘!
迷你3D印表機超炫酷?這款機械臂表示不服
他研製的生物3D印表機敢與西方國家的媲美
利盟在中國發布「利劍」系列新品印表機
LCD技術的光固化3D印表機