警惕伪装成“企业网络安全部门”的网络攻击活动

逆向病毒分析 2年前 (2022) admin
798 0 0

更多安全资讯和分析文章请关注启明星辰ADLab微信公众号及官方网站(adlab.venustech.com.cn)











一 背 景



从2022年4月开始,启明星辰ADLab追踪到多起伪装为我国企业网络安全部门的网络攻击,这些攻击大部分被冠以“紧急”之名,通过伪造各类政企内部需快速处理的重要事务如:“【紧急】Windows-MS驱动漏洞补丁措施”、“【紧急】办公网络联通性测试”、“关于开展终端加固的通知”、“漏洞自查及安全补丁更新”、“关于开展WPS Office个人办公软件代码执行漏洞排查的通知”等主题的钓鱼攻击,攻击目标涉及到我国金融机构、交通部门、通信公司、手机厂商等企业。这一系列的攻击中,一些攻击看起来与某些红队的先期侦察和踩点攻击行动有关,并非真实的在野攻击,但依然值得相关企业提高警惕度。
在此类攻击活动中,攻击者的攻击手法基本一致地采用了加密压缩文件包作为攻击载荷,这种带有密码的压缩附件能够很好对抗邮件安全网关、入侵检测系统、文件沙箱等安全系统的检测。攻击者将带有木马的附件加密压缩,并在邮件内容中提供解压密码,用户需要手动输入密码解压才能得到需执行的文件,因此这类邮件的检测报毒率极低。同时,相较于广撒网式的普通钓鱼攻击,该系列攻击精准攻击特定人员,主题内容高度仿真且迷惑性极强(政企内部需处理的热点漏洞事件或敏感话题)。又充分利用人性的弱点,以“紧急”之名给用户制造紧迫感,从而增加攻击的成功率。一旦用户“急中生错”不慎中招,就会成为攻击者入侵内部系统的一个突破口。这批攻击中主要以植入CobaltStrike木马为主,并通过云函数的方式回连C&C实现隐匿通信以对抗流量分析和溯源,这也是近期这批钓鱼攻击活动中一个显著的共性特点。我们知道,CobaltStrike木马具备强大的远控窃密、内网渗透、横向移动等能力。企业网络一旦被黑客成功攻击,其内部涉及到的关键信息系统可能面临极大的安全风险。此外,由于临近“护网行动”,还存在一些黑客组织利用这段时间混入其中对一些重要的企业和部门进行攻击,试图混淆视听。

本文将对近期针对我国政企行业的部分网络钓鱼攻击活动进行追踪和分析,包括攻击手法、隐藏手段、对抗方式等技术特点和共性特征,并以其中一个典型攻击案例进行具体分析。此外,本文不再对此次攻击木马做详细的技术分析,详细技术分析见我们此前的专题分析文章《渗透利器Cobalt Strike在野利用情况专题分析》,该文中针对CobaltStrike木马做了深入全面的分析和研究。


二 攻击活动分析



2.1 钓鱼邮件

本次发现的攻击基本都以精心构造的邮件钓鱼攻击为主,攻击形式多样,例如伪装成企业网络安全部门或信息管理中心向员工发送漏洞排查通知、终端加固通知、漏洞补丁措施、办公网络联通测试等紧急工作事项相关钓鱼邮件示例如下所示:

钓鱼邮件一:伪装成某金融机构信息安全与风险管理处向员工发送漏洞排查通知

警惕伪装成“企业网络安全部门”的网络攻击活动

图1 漏洞排查通知邮件

警惕伪装成“企业网络安全部门”的网络攻击活动

2 附件内容

钓鱼邮件二:伪装成某通信公司安全部向员工发送终端加固通知

警惕伪装成“企业网络安全部门”的网络攻击活动

图3 终端加固通知邮件

警惕伪装成“企业网络安全部门”的网络攻击活动

4 附件内容

钓鱼邮件三:伪装成某交通部门的安全技术部给员工发送漏洞补丁通知

警惕伪装成“企业网络安全部门”的网络攻击活动

图5 漏洞补丁措施邮件

警惕伪装成“企业网络安全部门”的网络攻击活动

图6 附件内容

钓鱼邮件四:伪装成某金融机构安全技术部给员工发送安全补丁更新

警惕伪装成“企业网络安全部门”的网络攻击活动

图7 安全补丁更新邮件

钓鱼邮件五:伪装成某企业信息中心向员工发送办公网络联通性测试

警惕伪装成“企业网络安全部门”的网络攻击活动

图8 办公网络联通性测试邮件

       从这批邮件的攻击手法来看,主要有以下特点:一是针对性强,目标均为政企行业内部人员;二是仿真度高,通常伪装成政企的网络安全部门、信息中心等IT核心部门,利用政企内部需处理的热点漏洞事件或敏感话题实施钓鱼;三是隐匿性好,通常采用加密压缩文件包的形式对抗邮件安全网关、入侵检测系统、文件沙箱等防护系统,绕过其针对邮件附件的检测,相关邮件在安全沙箱的检测报毒率极低,可以达到很好的免杀效果。部分邮件报毒情况如下图所示:

警惕伪装成“企业网络安全部门”的网络攻击活动

图9 邮件报毒情况

邮件附件解压后的文件主要以可执行文件exe为主,不过由于伪装的文件本身属于安全补丁、漏洞检测等可执行程序,加之攻击者通常会伪装程序的图标,因此用户往往难以辨别真伪。我们也对近期使用类似手法进行钓鱼的exe文件进行了监测,部分钓鱼类exe文件如下所示:
表1 钓鱼类exe文件

警惕伪装成“企业网络安全部门”的网络攻击活动

以上所列只是黑客攻击的“冰山一角”,这一系列的钓鱼攻击还有很多,涉及的攻击诱饵除安全补丁类之外,还包括举报材料、求职简历、问题咨询、红蓝对抗情报、疫情疏散演练计划等等多种形式,其中部分攻击载荷应该属于护网行动的攻击测试。这些恶意程序可能通过邮件、下载站、USB设备、社交软件等多种方式投递给目标用户以实施钓鱼活动,需要引起相关政企人员的高度警惕。

2.2 攻击案例分析

在本次工作中,启明星辰ADLab捕获到数封以“补丁”,“更新”等为诱饵内容攻击我国企业的邮件。经过对捕获到的邮件进行深入的分析和关联,我们发现这些活动的攻击手法大致相似,使用加载器加载CS木马的shellcode,从而执行后续的黑客攻击。下面将以其中一封攻击我国公共设施的邮件展开分析。

警惕伪装成“企业网络安全部门”的网络攻击活动

图10 本次攻击流程图

在此次攻击中,攻击者伪装为某交通部门的安全技术部工作人员,向集团公司内部员工发送以《【紧急】Windows-MS驱动漏洞补丁措施》为主题带有恶意攻击载荷的钓鱼邮件。

警惕伪装成“企业网络安全部门”的网络攻击活动

图11 钓鱼邮件详情

钓鱼邮件附件为被加密的“IE11-Mfc补丁压缩包.zip”压缩包,受害者通过邮件内容中提供的密码进行解压,能够得到两个文件。其中一个是名为“IE11-Mfc.exe”的恶意文件,另一个是使用说明。使用说明的内容将诱导受害者使用管理员权限运行恶意文件,使恶意木马即使不通过提权操作,也能轻易在管理员权限中运行。并且攻击者使用加密附件的方式,将解密密码留在邮件内容中,能够有效地规避杀软的检测,这将大大提高攻击者攻击成功的可能性。

警惕伪装成“企业网络安全部门”的网络攻击活动

图12 压缩包内容

警惕伪装成“企业网络安全部门”的网络攻击活动

图13 邮件报毒情况

当恶意文件“IE11-Mfc.exe”在管理员权限中运行,首先会解密函数名称字符串并通过动态获取函数的方式来获取关键函数的地址。攻击者使用这种方式获取关键函数,更能有效规避杀软对敏感函数的检查,以便提高攻击的成功概率。

警惕伪装成“企业网络安全部门”的网络攻击活动

图14 动态获取函数

成功获取到关键函数后,恶意木马会将数据段中硬编码的数据使用BASE64算法解码。攻击者在恶意木马中大量使用了代码膨胀技术,从而将程序的控制流复杂化,以加大分析人员分析的难度。例如,在BASE64算法中加入了许多条件判断来改变程序控制流。

警惕伪装成“企业网络安全部门”的网络攻击活动

图15 BASE64 算法

随后,恶意木马使用变形的TEA算法对BASE64解码后的数据进行解密从而得到后续攻击的shellcode并执行,其中解码后的数据前16个字节为变形TEA算法的密钥,剩余字节为shellcode的密文。

警惕伪装成“企业网络安全部门”的网络攻击活动

图16 硬编码数据

值得一提的是,为了避免分析人员在分析的过程中识别出TEA算法中常用的Delta值: 0×9E3779B9,攻击者还将该值取反为0x61C88647。

警惕伪装成“企业网络安全部门”的网络攻击活动

图17 变形的TEA解密算法

经过分析,发现该恶意shellcode实则为CS的stager shellcode,恶意木马将使用该shellcode从黑客服务器中下载运行CS木马,展开后续的黑客攻击。一旦受害者按照使用说明运行恶意文件,受害者的电脑将被攻击者使用CS木马轻易掌控,实施横向移动,机密文件窃取等恶意行为。

警惕伪装成“企业网络安全部门”的网络攻击活动

图18 解密后的CS stager shellcode

关于CS木马,我们曾在《渗透利器Cobalt Strike在野利用情况专题分析》一文中进行过详细的分析。CS全称Cobalt Strike,是一款基于Java编写的全平台多方协同后渗透攻击框架,其支持多种通信协议,包括http、https、dns、smb等,同时集成了提权、凭据导出、端口转发、端口扫描、横向移动、Socks代理、钓鱼攻击等功能,且支持丰富的扩展插件,几乎可以覆盖APT攻击链所需的各个技术环节。木马生成方面也涵盖了大多数的平台和攻击场景,包括PE木马、ELF木马、网页木马、Office宏病毒木马等,木马功能及指令详见附录所示。在该文中,我们曾提到多种CS隐匿流量的方式,包括域名仿造、CDN,流量伪装等。而在本次攻击中,攻击者则是利用云函数来隐匿流量。云函数,顾名思义就是云服务器上的函数,是将代码运行在云服务器上的一种方法。通常,攻击者会在云服务器上添加CS流量转发的函数,包括处理http-get请求、http-post请求以及用于下载后续CS木马的http-stager请求,即可有效隐匿CS流量。在本次攻击的样本中,则是向service-gk8t2t63-1308736846[.]bj[.]apigw[.]****[.]com/bootstrap-2.min.js请求下载下一阶段的CS木马,从而执行后续的恶意行动。

警惕伪装成“企业网络安全部门”的网络攻击活动

图19 从云服务器上下载后续的shellcode

警惕伪装成“企业网络安全部门”的网络攻击活动

图20 云函数流程

启明星辰ADLab安全研究人员通过长期追踪,采集和分析了大量的关联CS木马样本,发现在CS中使用云函数隐匿流量是近年来较为常见的一种方法。这是由于相较于其他隐匿流量方法的不足,如:域前置需要厂商CDN功能验证缺陷、CDN技术需要创建域名从而增加暴露的风险,使用免费的云函数隐匿流量更具便利性。攻击者仅需购买云服务器并在云厂商提供的功能面板中配置用于转发CS流量的云函数,即可实现CS流量的隐匿。而分析人员在分析后门的过程中,只能追溯出攻击者使用的云函数服务器域名和ip。并且由于云函数服务器通常是自带CDN服务,使得分析人员将更难找出攻击者真实的C2服务器。由此可见,使用云函数隐匿CS流量无疑大大提高攻击者在攻击过程中的便利性。在本次发现的数封邮件中,大部分CS样本也同样使用云函数隐匿流量,部分样本如下表:

表2 样本详情

Hash

云函数

4f6860729ad3eb983ddb5d002ba0eebc

service-gk8t2t63-1308736846.bj.apigw.****.com

68c09a1bb4b3d85d95367d2a2d6b69af

service-2ctd0kna-1257232926.gz.apigw.****.com

3758f7c11a4026b5f3f6554e15c6fb0b

service-ma764yyz-1307089681.sh.apigw.****.com

ecb8ed2cf386f5ce43407697cb3b3b13

service-0ci24vb8-1252281553.gz.apigw.****.com

cc10f3d7f3f8ecd85cea95709c554d97

service-e21y06jw-1252281553.gz.apigw.****.com


三 总 结



本文披露了近期针对我国企业的多起网络攻击活动,涉及到我国金融机构、交通部门、通信公司、手机厂商等企业。政企行业中,尤其是涉及到关键信息基础设施的部门,对国家安全、经济安全、社会稳定、公众健康和安全至关重要,一旦遭到网络攻击可能给社会带来巨大的危害。从攻击手法来看,这批攻击大多是以常见的钓鱼邮件为攻击入口,辅以高度仿真且迷惑性极强的诱饵内容进行钓鱼,并通过加密压缩附件的形式来对抗邮件安全检测。投递木马主要为CobaltStrike,且大量样本是通过云函数来隐匿通信流量,以对抗溯源追踪和安全分析。类似的云服务应用可能是把利弊兼具的双刃剑,如何更好地服务公众,又能避免合法应用被恶意活动滥用,还需要相关企业引起更多的关注。

鱼叉式钓鱼具有定制化、精准化的特性,且具有很强的迷惑性,一旦企业内部存在安全意识薄弱的员工不慎点击了钓鱼邮件,就可能会对企业带来严重的后果。黑客可以将窃取到的敏感信息和重要文件转售谋利,或者利用这些信息做更进一步的攻击。除此之外,攻击者还可以使用鱼叉式钓鱼攻击部署恶意软件来劫持计算机,将目标计算机所在的网络变成可用于DoS攻击的庞大僵尸网络或者投掷勒索病毒实施经济勒索,给企业造成不可估量的损失。建议企事业单位不定期为员工举办安全教育培训,提升员工的安全防范意识。务必注意不要随意打开未知来源的电子邮件,特别是带有附件的电子邮件。如有需要,可通过打开office文档中的:文件-选项-信任中心-信任中心设置-宏设置,来禁用一切宏代码执行。并做好邮件系统的防护工作,督促员工及时更新系统和office应用补丁。如果发现系统或服务器出现异常,应当及时报告并请专业人员进行排查,以消除安全隐患。


 

附录:
CS beacon命令列表

命令

描述

argue               

Spoof arguments for matching processes

browserpivot        

Setup a browser pivot session

bypassuac           

Spawn a session in a high integrity  process

cancel              

Cancel a download that’s in-progress

cd                  

Change directory

checkin             

Call home and post data

clear               

Clear beacon queue

connect             

Connect to a Beacon peer over TCP

covertvpn           

Deploy Covert VPN client

cp                  

Copy a file

dcsync              

Extract a password hash from a DC

desktop             

View and interact with target’s desktop

dllinject           

Inject a Reflective DLL into a process

dllload             

Load DLL into a process with  LoadLibrary()

download            

Download a file

downloads           

Lists file downloads in progress

drives              

List drives on target

elevate             

Try to elevate privileges

execute             

Execute a program on target (no output)

execute-assembly    

Execute a local .NET program in-memory on  target

exit                

Terminate the beacon session

getprivs            

Enable system privileges on current token

getsystem           

Attempt to get SYSTEM

getuid              

Get User ID

hashdump            

Dump password hashes

help                

Help menu

inject              

Spawn a session in a specific process

jobkill             

Kill a long-running post-exploitation  task

jobs                

List long-running post-exploitation tasks

kerberos_ccache_use 

Apply kerberos ticket from cache to this  session

kerberos_ticket_purge

Purge kerberos tickets from this session

kerberos_ticket_use 

Apply kerberos ticket to this session

keylogger           

Inject a keystroke logger into a process

kill                

Kill a process

link                

Connect to a Beacon peer over a named  pipe

logonpasswords      

Dump credentials and hashes with mimikatz

ls                  

List files

make_token          

Create a token to pass credentials

mimikatz            

Runs a mimikatz command

mkdir               

Make a directory

mode  dns            

Use DNS A as data channel (DNS beacon  only)

mode dns-txt        

Use DNS TXT as data channel (DNS beacon  only)

mode  dns6           

Use DNS AAAA as data channel (DNS beacon  only)

mode  http           

Use HTTP as data channel

mv                     

Move a file

net                 

Network and host enumeration tool

note                

Assign a note to this Beacon

portscan            

Scan a network for open services

powerpick           

Execute a command via Unmanaged PowerShell

powershell          

Execute a command via powershell.exe

powershell-import   

Import a powershell script

ppid                

Set parent PID for spawned post-ex jobs

ps                  

Show process list

psexec              

Use a service to spawn a session on a  host

psexec_psh          

Use PowerShell to spawn a session on a  host

psinject            

Execute PowerShell command in specific  process

pth                 

Pass-the-hash using Mimikatz

pwd                 

Print current directory

reg                 

Query the registry

rev2self            

Revert to original token

rm                  

Remove a file or folder

rportfwd            

Setup a reverse port forward

run                 

Execute a program on target (returns output)

runas               

Execute a program as another user

runasadmin          

Execute a program in a high-integrity  context

runu                

Execute a program under another PID

screenshot          

Take a screenshot

setenv              

Set an environment variable

shell               

Execute a command via cmd.exe

shinject            

Inject shellcode into a process

shspawn             

Spawn process and inject shellcode into  it

sleep               

Set beacon sleep time

socks                  

Start SOCKS4a server to relay traffic

socks stop          

Stop SOCKS4a server

spawn               

Spawn a session

spawnas             

Spawn a session as another user

spawnto             

Set executable to spawn processes into

spawnu              

Spawn a session under another PID

ssh                 

Use SSH to spawn an SSH session on a host

ssh-key             

Use SSH to spawn an SSH session on a host

steal_token         

Steal access token from a process

timestomp             

Apply timestamps from one file to another

unlink              

Disconnect from parent Beacon

upload              

Upload a file

wdigest             

Dump plaintext credentials with mimikatz

winrm               

Use WinRM to spawn a session on a host

wmi                 

Use WMI to spawn a session on a host





启明星辰积极防御实验室(ADLab)





ADLab成立于1999年,是中国安全行业最早成立的攻防技术研究实验室之一,微软MAPP计划核心成员,“黑雀攻击”概念首推者。截止目前,ADLab已通过CVE累计发布安全漏洞近1100个,通过 CNVD/CNNVD累计发布安全漏洞2000余个,持续保持国际网络安全领域一流水准。实验室研究方向涵盖操作系统与应用系统安全研究、移动智能终端安全研究、物联网智能设备安全研究、Web安全研究、工控系统安全研究、云安全研究。研究成果应用于产品核心技术研究、国家重点科技项目攻关、专业安全服务等






警惕伪装成“企业网络安全部门”的网络攻击活动


原文始发于微信公众号(ADLab):警惕伪装成“企业网络安全部门”的网络攻击活动

版权声明:admin 发表于 2022年6月17日 下午8:11。
转载请注明:警惕伪装成“企业网络安全部门”的网络攻击活动 | CTF导航

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
暂无评论...