从蜜罐数据到SSH蜜罐的典型攻击分析
一、蜜罐整体介绍
随着威胁情报的兴起和虚拟化技术的发展,蜜罐技术也得到了新的发展。可以通过虚拟机来实现高交互蜜罐,以及通过docker实现的业务型蜜罐,不再像是以前需要昂贵硬件设备的部署支撑,大大减少了蜜罐的部署成本。
蜜罐高保真高质量的数据集把安全人员从以前海量日志分析的繁琐过程中解脱出来,对于蜜罐的连接访问都是攻击信息,并且不再像以前的特征分析具有一定的滞后性,可以用于捕获新型的攻击和方法。
360天眼实验室于2016年中旬运营了一套蜜罐系统,发展至今已相对成熟,蜜罐节点遍布世界五大洲,覆盖了20多个国家,涵盖企业服务、工控服务等常见端口。
1) 蜜罐部署
目前的蜜罐集群集管理、监控、数据收集与分析,实现基本全自动化流程。
2) 总体数据量
目前我们的蜜罐日志每天以近10W的数量增长。随着蜜罐数量的增加,这个数据还会进一步增长。
攻击IP的地理分布图,攻击IP遍布全球,其中东南亚和南美最多。
下面是以2016年11月以来的攻击IP每日访问情况。其中来自俄罗斯的某IP日访问日志条数达到88万条。
攻击端口统计,可以看出攻击者对哪些端口比较感兴趣,也能在第一时间发现基于某个端口的攻击事件的爆发。比如,通过统计4月份以来的端口访问情况,分别发现在4月中旬和5月中旬有对445端口扫描的小高峰,这与SMB漏洞的爆发不无关系。而基于6881端口的访问存在几次暴增的访问流量,可能跟P2P探测有关。
二、SSH蜜罐(Cowrie)典型攻击分析
1)SSH蜜罐分析
下面我们以SSH蜜罐(22端口)来介绍我们通过蜜罐数据发现的典型攻击。今年4月10日以来成功爆破SSH蜜罐的统计数据,其中4月中旬达到了一个峰值。
蜜罐中发现的用于自动化爆破的用户名、密码排行如下。其中,root/12345还是黑客最喜欢探测的账号口令。
用户名TOP 10:
密码TOP 10:
攻击者在成功入侵蜜罐后,一般都会执行相关命令。比较靠前的有意思的命令如下,其中来自法国的46.218.149.85频繁在众多命令中出现,充当了恶意下载站的角色。
另外,引起全球震惊的Mirai僵尸网络于2016年10月份曾令美国多个城市出现互联网瘫痪情况。收集到的Mirai的恶意样本如下:
2)典型攻击分析
从蜜罐数据来看,我们选择了SSH攻击当中较为常见的两种:
1)僵尸病毒投放: 通过爆破成功登陆后下载恶意软件(僵尸病毒),使得机器沦为肉鸡,以便实施进一步的攻击;
2)SSHTunnel跳板攻击: 将蜜罐作为跳板,利用蜜罐扫描或攻击其他机器,我们发现的是利用蜜罐去爆破一些金融电商的登录入口。
a)僵尸病毒投放分析
恶意样本从命名方式来看,主要有两种。
第一种是以常见的linux程序来命名,如sh,wget;第二种是以tty来命名。命名方式比较隐蔽,加大了管理人员的排查难度。
我们从中抽取一条典型的攻击为例进行分析。5月17日,源IP为94.102.52.195对我们的蜜罐进行ssh爆破,然后通过root/admin登陆成功。
进入到shell之后,可以看到挑选了几个目录然后通过wget,tftp,ftpget三种方法来下载恶意的shell脚本
通过查看shell脚本发现,3种方式下载的恶意脚本是一样的,这应该是攻击者为了确保能下载成功。Shell脚本如下:
这次攻击下载的恶意样本如下:
VirusTotal的检测结果:
通过比较,这一系列的样本功能类似,但是适配了不同的CPU架构,保证了能在多个平台运行。部分功能函数截图:
可以看出功能很齐全,包括执行命令(processCmd),更新样本(UpdateBins),获取公网ip(getOutIP),清除history(ClearHistory)等。其中sendCNC函数引起了我的兴趣,google了一下,然后发现了以下部分:
这三个的代码一样。查看了一番,发现代码存在的UserAgent与恶意样本里的字符串非常相似,经过函数的比较,发现这应该就是攻击者使用的恶意程序。
而且还有作者的签名,是由Gr1n1337所写
其中,最早的一个搜索结果显示是7个月前所建,而我们最早搜集到的恶意样本是2016年10月,与该结果相符。而且还带有该恶意样本的介绍,是最强大的telnet botnet。
通过源代码分析,该恶意样本是一种IOT病毒,分为Client端和Server端,Server端是攻击者的控制端,Client端会接收控制端的命令执行相应操作,并且会扫描其他存在弱口令的ssh/telnet设备进行传播。
b) SSHTunel跳板攻击
我们在分析跳板攻击方式时,IP为5.45.86.133引起了我们的兴趣。
攻击时间截图如下,从图中可以看出该IP在2016年7月开始对我们的蜜罐进行尝试攻击,在2017年2月1号攻击次数达到顶峰28W次,最后在2017年3月31后停止了攻击。
我们通过蜜罐的日志完整地复现了该IP的攻击时间线。
2016年7月到9月:
这段时间攻击者的攻击行为较少,还处于试探阶段,只是请求了几个IP的80端口。典型的攻击如下,从5556端口访问目的IP的80端口
2016年9月到10月:
这段时间,攻击次数逐渐增多,到9月中旬到达顶峰13000多次。这段时间主要是请求46.4.100.47的80端口和62.210.136.117的81端口。其中46.4.100.47是德国Hetzner Online公司的IP,而62.210.136.117是法国IDC 机房的IP。
2016年10月到11月:
攻击者沉寂了下去,一个月只有20多条记录
2016年11月到2017年1月:
攻击者又开始活跃起来,主要的请求目标还是62.210.136.117,请求大多数集中在11月的下旬,而12月的请求比较平均,12月20号后请求消失
2017年1月到3月:
攻击者在沉寂了一段时间后,于1月13日活跃了一下,对https://shop.selectflavour.com网站做了一段时间爆破,然后又沉寂到2月初的前3天,这几天攻击者的请求有了爆炸式的增长,对多个电商、金融网站进行登陆的暴力破解,其中包括creditonebank和ebay,还有一些Wordpress网站的爆破。
其中,signin.m.ebay.in是Ebay移动端登录页面。
关于端口转发,举个栗子:
如果知道了跳板机的SSH密码,使用如下命令即可实现SSH端口转发:
1 | ssh -f -N -L 3307:172.16.1.30:3306 wanghua@ssh.xyz.com -p8822 |
从攻击者的整个时间线来看,他们的攻击行为是非常有规律的,一旦爆发一次后,就会销声匿迹一段时间。持续的时间也比较长,从2016年7月到2017年3月,持续了半年的时间。攻击的目标非常明确,大部分集中在对于金融和电商的攻击,而且都是以爆破密码为主,所以可以猜测应该是一股有组织的团伙在进行批量的撞库。
三、结束语
通过对于SSH蜜罐数据的分析,我们可以找出许多有意思的攻击手法。同时,通过对日志的分析,我们也可以用时间线将攻击者的整个攻击流程做一个完整的梳理。随着这些数据量的增多,预测攻击者的下次攻击也并非不可能,从而形成新的威胁情报。
威胁情报带动了蜜罐技术的发展,而蜜罐收集的高价值数据反过来对威胁情报也是一个很好的补充,二者相辅相成,缺一不可。