学习这部分内容,感觉一下子拉回到了2018到2019的那段时间,宏病毒再各大学校肆虐,学校机房上课的老师忙着杀毒恢复数据。但培训还要用到宏,顶着风险课还是照常教我们用word的宏。注意到在很多用于勒索的恶意活动,都以宏作为载体,编写恶意代码,在编写具有诱惑力的钓鱼文件,促使很多人中招。所以还是说不管技术多么先进,人的意识不够高警惕性不够强的话极有可能正中攻击者下怀。
通过分析一些攻击组织或者恶意软件的特征,帮助我们日后排查安全问题的时候产生思路,或者有目的的对不安全的系统进行加固。下面根据书中介绍简单做下笔记:
1.TA551(一个攻击组织)攻击行为的分析与检测
该组织十分喜欢网络钓鱼来投递payload,投放的payload包括IcedID和Valak。它们常利用宏加载病毒的word文档压缩成zip包,并对其进行加密,放到钓鱼邮件中诱使受害者打开,之后会从其他地方下载后续使用的恶意软件。
禁用宏是很好的方法,但是为了高效办公或者其他原因,很多组织机构和用户是不禁用宏的。为了安全,它们最好启用纵深防御。恶意代码下载的DLL文件可能会使用“.theme”之类的扩展名来混淆,word是很多个文件压缩而成的,”.theme”是文档使用的主题一类的代码。
尽管该组织经常想要绕过防御,但还是会泄露出一些特征,比如恶意word执行了regsvr32.exe是极其不寻常的事情,就可表明存在恶意宏。
此外我们还可以检测二进制文件的哈希值或者内部元数据,若预期的文件名和观察到的文件名不一致,就要检查,发现与典型行为异常的事情就可能出现安全问题。类似的wmiprvse.exe作为mshta.exe的父进程出现是极其不寻常的。
2.cobalt strike的分析与检测
cs作为主要的渗透测试框架工具,被广泛使用,如果能检测到cs的使用痕迹,就要做出对应的措施。
cs可以生成和执行DLL、EXE、shellcode形式的payload,也叫cs的beacon。
·cs beacon通常利用进程注入绕过防御,在rundll.32.exe等windows二进制文件的内存空间执行恶意代码。
·cs beacon也可作为windows服务执行,利用poweshell代码或二进制文件,实现PsExec的功能。
·cs 还可以用命名管道模拟NT AUTHORITY/SYSTEM执行代码,实现对主机的无限制访问。
那么怎么检测cs活动呢?
·检测beacon,比如搜索powershell.exe进程,其命令行含有常见的关键词个BASE64编码变体,包括IO.MemoryStream、FromBaselineString、New-Object
·识别命令处理程序CMD.EXE的实例来检测通过命名管道模拟实现权限提升的行为,找到关键字为echo、pipe。
3.银行木马Qbot
Qbot是针对银行的木马,通常作为勒索软件的传递代理,传播包括ProLock和Egregor勒索软件。
他主要窃取用户数据和银行凭证,防御思路是检查正常的esentutl命令行,如果看到引用Windows\webcache是很不正常的事情,那么我们可以编写程序查找windows\webcache中的esentutl.exe进程。
4.银行木马IceID
也叫Bokbot,它会创建本地文件来拦截失陷主机上所有浏览器的流量,窃取敏感信息。IceID会通过下载二进制文件到用户的本地文件夹来实现持久化。它还包含VNC功能,用于远程访问目标机器。
我们可以:
·检测使用msiexec.exe执行随机文件名的.msi文件;
·检测用户漫游文件夹中执行计划任务,比如寻找启动文件在%Users%文件夹中的计划任务,排除IceID持久化的风险
5.凭证转储工具Mimikatz(内网常见)
主要用来提取密码、横向移动。
之前的攻击者会把Mimikatz二进制文件保存在C:\PerfLogs\目录中,该目录值得重视。
该工具有个常见的模块sekurlsa::logonpasswords,用于提取最近在主机上登陆的账号和密码,是可以被检测的明显特征。
6.恶意软件shlayer
这个木马与恶意广告相关,他会伪装成Flah,利用AWS部署基础设施。
我们可以检测:通过curl命令下载payload
7.银行木马Dridex
通常通过附带恶意excel的文档的电子邮件传播,通常跟Ursnif、Emotet、TrickBot、DoppelPaymer等共用。
Dridex最常用技术是对各种合法的windows可执行文件进行DLL搜索顺序劫持。
我们可以检测:
·创建包含系统目录的和计划任务
Dridex通过Windows\System32\、Window\SysWOW64、winnt\System32和Winnt\SysWOW64等系统目录创建计划任务,实现持久化。我们查找命令行中是否包含“/create”标志和系统路径的schtask.exe,用于发现dridex残留
·检测用Excel生成的regsvr32.exe。我们可以查找是否有excel.exe生成子进程regsvr32.exe.
8.银行木马Emotet
它主要作为其他恶意软件的下载器或者drooper。它窃取用户数据和银行凭证,并把自己部署到攻击目标上。
我们可以检测:
·poweshell字符串混淆
查找是否有powershell进程执行使用格式运算符“-f”连接字符串的命令。
9.银行木马TrickBot
它能生成Ryuk和Conti。
它窃取敏感数据和凭证,也可以传播cs等后续payload,分发上述俩恶意软件。
我们可以检测:
·svchost.exe端口连接异常。比如svchost使用447、449端口进行外部链接是不正常的
·检测%appdata%d的计划任务执行,可以查找父进程是taskeng.exe或者svchost.exe且进程文件在APPdata/Roaming中的可疑程序
10.蠕虫病毒Gamarue
它是一个恶意软件家族,通常是僵尸网络的一个构成部分。用于传播其他恶意程序以及窃取信息。用户点击了伪装成U盘上合法文件的恶意LNK文件,这会导致rundll32.exe开始执行,之后加载恶意DLL文件。
我们可以检测:
·可以查找是否存在没有命令行的msiexec.exe进行外部网络连接
·检测域名
通过学习检测这些攻击团队或者恶意程序的思路,有助于我形成更大的大局意识,处理安全事件要思路广泛,一切挂钩的事件都有可能潜藏着攻击者精心布置的文件,我们要能识别出它们,根除它们,保证信息安全。