导语:在Windows操作系统中,默认情况下安装了各种命令(以下称为“Windows命令”)。然而,一般用户实际使用的只是它的一小部分。
在Windows操作系统中,默认情况下安装了各种命令(以下称为“Windows命令”)。然而,一般用户实际使用的只是它的一小部分。另一方面,JPCERT/CC观察到入侵网络的攻击者也使用Windows命令来收集信息或在网络中传播恶意软件进行感染。这里值得注意的是一般用户和攻击者使用的那些Window命令之间的差距。如果存在巨大差异,则可以通过监视或控制Windows命令执行来检测或限制攻击者的行为。
本文将演示如何通过显示攻击者在入侵的Windows操作系统上使用的Windows命令以及通过限制对一般用户不必要的那些命令的执行来减轻攻击影响。
用于远程控制的恶意软件(远程访问工具/特洛伊木马-RAT)具有从远程环境执行shell命令的功能。这样,攻击者可以从远程环境执行Windows命令。
在网络中成功安装这样的恶意软件的攻击者将尝试按照以下顺序控制网络内的系统,以便收集机密信息等。
初步调查:收集受感染机器的信息 侦察:查找保存在机器和网络中的远程计算机上的信息 感染蔓延:用其他恶意软件感染机器或尝试访问其他机器
在上述所有阶段都会使用Windows命令。下面介绍在每个阶段中使用的各个Windows命令。
初步调查
表1列出了攻击者经常使用的命令,用于尝试收集受感染机器的信息。 “执行次数”是从各个C&C服务器中的3个不同攻击组使用的Windows命令的总和(有关详细信息,请参阅附录A,B和C)。
表1:初步调查(命令Top10)
侦察
表2中所示的命令通常用于搜索网络中的机密信息和远程机器。
表2:侦察(命令Top10)
*”wmic” 相关的命令也常被用于信息侦察。
攻击者使用“dir”和“type”搜索文件。有时,他们通过为“dir”命令设置适当的选项和参数来收集受感染机器中的所有文档文件的列表。
对于搜索网络环境信息,会使用“net”相关命令。特别是能经常看到以下命令:
net view:获取可连接的域资源列表 net user:管理本地/域帐户 net localgroup:获取属于本地组的用户列表 net group:获取属于某些域组的用户列表 net use:访问资源
此外,以下命令可以在使用Active Directory的环境中使用(请参阅附录A中的表5)。这些命令都安装在Windows Server中,在客户端操作系统,如Windows 7和8.1原先是不存在的—但攻击者会下载并安装这些命令并执行它们。
dsquery:搜索Active Directory中的帐户 csvde:在Active Directory中获取帐户信息
感染传播
要侵入远程计算机并在网络中传播恶意软件进行感染,攻击者通常会执行以下命令:
*”wmic” 相关的命令也常被用于信息侦察。
“at”和“wmic”命令通常用于在远程计算机上执行恶意软件。
使用“at”命令,攻击者可以通过注册计划任务以便在可连接的计算机上执行文件,从而在远程计算机上执行命令,如下所示。
at \\[remote host name or IP address] 12:00 cmd /c "C:\windows\temp\mal.exe"
此外,通过使用“wmic”命令设置以下选项和参数,攻击者可以在远程计算机上执行命令。
wmic /node:[IP address] /user:”[user name]” /password:”[password]” process call create “cmd /c c:\Windows\System32\net.exe user”
限制不必要的Windows命令的执行
可以公平地说,攻击者使用的这些Windows命令也包括一般用户不经常使用的那些命令。 有了AppLocker和软件限制策略,就可以限制这些命令的执行,也可以限制攻击者的行为。 例如,如果您想限制“net”命令,您可以设置如图1所示的规则。(有关AppLocker配置的详细信息,请参阅Microsoft网站[1])。
此外,通过启用AppLocker,所选择的Windows命令被执行或尝试运行但被拒绝的事件将记录在事件日志中,可用于调查攻击者在用恶意软件感染机器后执行的Windows命令。
AppLocker也可以只监视Windows命令[2]。 因此,AppLocker无法阻止意外的Windows命令被执行,但执行历史记录将被记录在事件日志中。 如果用户自己使用可用于攻击的Windows命令,最好将AppLocker设置为监视目的。(也可以通过激活本地安全策略中的“审核进程创建”来监视Windows命令执行。)
结论
在有针对性的攻击中,攻击者不仅使用恶意软件中实现的功能,而且还经常使用Windows命令来达到其目的。 如果这种活动可能受到阻碍,可以在相当早的阶段防止事件的传播。 但是,你可能很难立即限制Windows命令的使用 — 因此我们的建议是通过使用AppLocker等收集已执行进程的日志。
参考:
[1] Microsoft – Windows AppLocker
[2] Microsoft – 使用审查模式跟踪所使用的应用程序
附录A:各攻击组(攻击组A)执行命令列表
表4:初始调查(攻击组A)
Table 4: Initial Investigation (Attack Group A)
Table 5: Reconnaissance (Attack Group A)
Table 6: Spread of Infection (Attack Group A)
表7:初始调查(攻击组B)
附录B:各攻击组执行命令列表(攻击组B)
Table 7: Initial Investigation (Attack Group B)
Table 8: Reconnaissance (Attack Group B)
Table 9: Spread of Infection (Attack Group B)
表10:初始调查(攻击组C)
附录C:各攻击组执行命令列表(攻击组C)
Table 10: Initial Investigation (Attack Group C)
Table 11: Reconnaissance (Attack Group C)
*攻击组C的“感染传播”命令将被省略,因为它们没有传播感染。