當前位置:
首頁 > 新聞 > 一種Bypassing Windows Attachment Manager的有趣姿勢

一種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原創稿件,授權嘶吼獨家發布,未經許可禁止轉載

點擊展開全文

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

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


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

安全工程師們必看:加強網路環境的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:一種全新的商業服務形態」