一種Bypassing Windows Attachment Manager的有趣姿勢
0x00 前言
最近看到了一篇文章《Bypassing Windows Attachment Manager》,作者rvrsh3ll@424f424f,文中介紹了他繞過Windows Attachment Manager的思路,很有趣。
恰好我對文中涉及到的ADS和lnk文件利用有過研究,所以,本文將結合我的一些心得,對該繞過方法做拓展介紹,並分享一個我在實際測試過程中發現的有趣問題
相關文章地址如下:Bypassing Windows Attachment Manager
我之前的一些研究心得:滲透技巧——快捷方式文件的參數隱藏技巧、Hidden Alternative Data Streams的進階利用技巧
0x01 簡介
本文將要介紹以下內容:
Windows Attachment Manager作用
Windows Attachment Manager實現方式
Windows Attachment Manager的繞過思路
特殊文件的構造
實際測試過程中發現的有趣問題
0x02 Windows Attachment Manager
簡介
自WinXp SP2開始,微軟推出的新功能
用來防止文件從非信任的途徑下載後可以直接執行
非信任的途徑包括郵件和互聯網下載
如果發現文件來自於非信任的途徑,那麼該文件在打開時會彈框提示用戶,需要用戶確認才能執行,如圖
被標記為High-risk的文件格式如下:
.ade,.adp,.app,.asp,.bas,.bat,.cer,.chm,.cmd,.com,.cpl,.crt,.csh,.exe,.fxp,.hlp,.hta,.inf,.ins,.isp,.its,.js,.jse,.ksh,.lnk,.mad,.maf,.mag,.mam,.maq,.mar,.mas,.mat,.mau,.mav,.maw,.mda,.mdb,.mde,.mdt,.mdw,.mdz,.msc,.msi,.msp,.mst,.ops,.pcd,.pif,.prf,.prg,.pst,.reg,.scf,.scr,.sct,.shb,.shs,.tmp,.url,.vb,.vbe,.vbs,.vsmacros,.vss,.vst,.vsw,.ws,.wsc,.wsf,.wsh
詳細資料可參考:
https://support.microsoft.com/en-us/help/883260/information-about-the-attachment-manager-in-microsoft-windows
實現方式
不可信的文件在下載時會被添加ADS:Zone.Identifier:$DATA
ADS詳細內容如下:
[ZoneTransfer]ZoneId=3
也就是說,只要包含ADS:Zone.Identifier:$DATA,那麼該文件在打開時就會彈框提示用戶,需要用戶確認才能執行
繞過思路
1、刪除文件的ADS,那麼在打開該文件的時候就不會彈框
對於小文件,可以使用Windows默認命令more
對於大文件,可使用工具Streams
註:細節可參考《Hidden Alternative Data Streams的進階利用技巧》,也可通過界面操作,如下圖,選擇Unblock
2、改變傳輸途徑
也就是說,將之前下載的非信任文件通過可信方式複製到另一操作系統,那麼該文件在新系統是不會被標記為「不可信」的
例如:
從互聯網下載的文件python-2.7.12.msi,默認被添加ADS:Zone.Identifier:$DATA,打開時會彈框
現在將該文件拖到虛擬機中(該操作被認為是可信方式,不會被添加ADS),而且原ADS不會保存,所以在打開該文件的過程不會彈框
0x03 特殊文件的構造
既然不可信的文件在下載時會被添加ADS:Zone.Identifier:$DATA,那麼如果是壓縮後的文件呢?解壓縮後是否還會包含ADS?
測試系統: Win10x64
HTTP伺服器: Kali Linux
開啟HTTP伺服器功能:
python -m SimpleHTTPServer 80
1、嘗試.exe+.rar
使用WinRAR將putty.exe壓縮成putty.rar,上傳至HTTP伺服器
註:
Win10系統默認無法解壓縮.rar文件,需要手動安裝WinRAR
測試系統通過Chrome下載putty.rar,如圖
使用WinRAR解壓縮並打開文件,未彈框
結論1:
.rar內的壓縮文件不會被添加ADS
2、嘗試.lnk+.rar
壓縮lnk文件時會直接對lnk指向的源文件壓縮,無法壓縮lnk文件本身,測試失敗
3、嘗試.exe+zip
使用WinRAR將putty.exe壓縮成putty.zip,上傳至HTTP伺服器
測試系統通過Chrome下載putty.zip
通過Windows Explorer打開zip文件,如下圖
打開後彈框,提示用戶,如下圖
而使用WinRAR解壓縮並打開文件,並未彈框
結論2:
Windows Attachment Manager不支持WinRAR這類第三方軟體
4、嘗試.exe+cab
接下來沒必要測試需要第三方軟體才能使用的壓縮格式,應該繼續尋找Windows系統默認支持的格式
比如.cab文件
註:
cab文件可通過makecab.exe生成,系統默認包含
壓縮類型包括:none,mszip,lzx
使用makecab將putty.exe壓縮成putty.cab,壓縮類型選擇lzx,命令如下:
makecab /d compressiontype=lzx putty.exe putty.cab
如圖
上傳至HTTP伺服器
測試系統通過Chrome下載
解壓縮,保存文件,打開,彈框
將文件拖至任一路徑,打開,不彈框
完整測試過程如圖
GIF/1.0M
gif在線地址:
https://raw.githubusercontent.com/3gstudent/BlogPic/master/2017-5-10/2.gif
使用Procmon監控兩種操作,區別如下圖,此處需要繼續研究,做更多的測試
註:
Win10 Build 14393(1607)及之前版本均存在這個問題,Win10 Build 15063(1703)已經修復該問題
結論3:
使用cab壓縮文件,接著拖動文件保存,能夠繞過Windows Attachment Manager
5、嘗試.lnk+cab
註:
該方法來自rvrsh3ll@424f424f的文章,但我在測試的時候發現了另外一個有趣的問題
使用makecab將test.lnk壓縮成test.cab,壓縮類型選擇lzx,命令如下:
makecab /d compressiontype=lzx test.lnk test.cab
註:
cab文件能夠壓縮lnk文件本身,為了增加迷惑性,可以使用以下測試代碼:
test.txt中寫入如下內容:
/c start calc.exe
powershell代碼:
$file = Get-Content "c:testtest.txt"$WshShell = New-Object -comObject WScript.Shell$Shortcut = $WshShell.CreateShortcut("c:testtest.lnk")$Shortcut.TargetPath = "%SystemRoot%system32cmd.exe"$Shortcut.IconLocation = "%SystemRoot%System32Shell32.dll,3"$Shortcut.Arguments = $file$Shortcut.Save()
生成的lnk文件參數被空格字元填充,實際payload被隱藏,如下圖
更多細節可參考:滲透技巧——快捷方式文件的參數隱藏技巧
將test.cab上傳至HTTP伺服器
測試系統通過Chrome下載
解壓縮,保存文件,打開,彈框(同測試4)
將文件拖至任一路徑,打開,不彈框(同測試4)
一個有趣的問題:
將lnk文件解壓縮,保存文件,打開,彈框
接著右鍵查看lnk文件屬性,再次打開lnk文件,不彈框,ADS被清除
完整測試過程如圖
gif在線地址:
https://raw.githubusercontent.com/3gstudent/BlogPic/master/2017-5-10/1.gif
結論4:
在某些特殊情況下(Win10 Build 14393(1607)之前的版本),ADS會清除,導致能夠繞過Windows Attachment Manager
註:
Win10 Build 10586存在該問題,Win10 Build 14393(1607)修復了該問題
0x04 補充
Win7系統不存在以上問題,原因:
打開cab文件後,在保存文件時會彈框提示用戶(該特性Win10不存在)
如圖
0x05 小結
不可信的文件在下載時會被添加ADS:Zone.Identifier:$DATA
相比於rar和zip格式,使用cab格式壓縮lnk文件更為合適
lnk文件欺騙性更高
Win10 Build 15063(1703)已經修復以上bug
本文為3gstugent原創稿件,授權嘶吼獨家發布,未經許可禁止轉載
點擊展開全文
※安全工程師們必看:加強網路環境的9條建議
※APT案例分析:一個基於meterpreter和Windows代理的攻擊事件
※藉助內核命令行注入繞過Nexus 6安全引導
※尷尬!因為沒做安全防護,這家公司做活動想「送錢」都送不出去
※海蓮花組織針對亞洲某公司的APT攻擊—Cobalt Kitty 行動分析
TAG:嘶吼RoarTalk |
※有一種Strong,叫Marathon Strong
※有一種良師益友叫Balenciaga與Givenchy
※有一種時髦叫made in Thailand!
※另一種選擇 小眾Woolrich Wool Patrol Down 經典 Parka 鵝絨大衣
※蜘蛛Rescue Assist&Atlantic Salt橫向測評:同時擁有是一種什麼樣的體驗?
※一種叫Boogie的病 無葯可解 魔王John Lee Hooker特輯!
※Music Never Die——有一種甜美叫王心凌
※TeleRAT:一種利用 Telegram 秘密竊取數據的新型 Android 木馬
※ChinaBang Awards 2018:總有一種力量讓我們心生澎湃
※Jürgen Mayer H:建築也是一種冒險
※《黑豹》總是給人一種made in China的既視感
※Android系統中發現了一種新的竊聽病毒-RedDrop
※終於,谷歌發布了一種新量子處理器Bristlecone
※PanoMoments是一種沉浸式即時敘事媒介,被稱為「VR的GIF動圖」
※Less is more,有一種魅力叫現代簡約!
※Roaming:一種安全的實現
※自在也是一種選擇:蘇梅島萬麗酒店 Renaissance
※Chrome的一種小擴展,Firefox阻止了它的移除,劫持瀏覽器
※有一種迷失的美感:來自比利時藝術家 Kaatje Vermeire 繪畫作品
※Befund提出「道斯服務DAOS Service:一種全新的商業服務形態」