一次性进群,长期免费索取教程,没有付费教程。
教程列表见微信公众号底部菜单
进微信群回复公众号:微信群;QQ群:16004488
笔者在云上部署了两台机器,一台 WindowsServer、一台 Ubuntu。这两台机器通过 FileBeat 和 WinLogBeat 以及 Samba 服务将各自系统的IO信息传输至一台日志服务器,在日志服务器上部署了ELK栈来保存和处理这些服务器上的 IO 信息和系统日志,随后,我在这些服务器上部署了弱口令、带有漏洞的系统组建和WEB服务,作为高交互的蜜罐系统使用。
用一副图来表达一下这个小型的蜜罐系统:
当然,这个系统并不是重点,重点是我们可以借助它无死角地观察到试图进入系统内部的黑客做了什么。
神奇的pi
在Linux系统部署后的一段时间里,并没有观察到系统被入侵的痕迹,只是发现了许多扫描记录,这些扫描记录大多指向SSH服务,说明攻击者多数试图以暴力破解的方式攻入系统,于是我仔细查看了一下这些暴力破解的内容:
可以看到pi是一个访问频率非常高的用户名,这引起了我的注意,因为pi这个用户名似乎与弱口令和用户服务没有直接关联,于是我试着去搜索:
原来这个用户名是树莓派的默认用户名,那么我在机器上创建了一个用户名为pi的帐号,并且设置对应的弱口令,引诱攻击者进入蜜罐:
接下来就是耐心等待ssh登录成功的报警信息了。
攻击捕获
截获了第一条攻击者登入的信息:
随后,日志系统没有作出进一步的警报,主要是因为过滤模块规则设置不够完善所致,好在我通过分析Sysdig增量备份的IO信息帮助我看到了攻击者执行的指令:
通过攻击者执行的指令可以发现,其通过scp指令获取了一个名为”BVpNMJHv”的文件,并将其保存在/tmp下,随后进入tmp目录赋予该文件可执行权限,然后调用bash脚本执行了这个文件。
随后,攻击者copy了这个文件到/opt/目录下,并试图以root权限修改/etc/rc.local文件,将自己的信息写入系统启动脚本,随后尝试重启系统.这个写入过程是非常粗暴的,我们可以看到一旦攻击者修改成功,rc.local文件中将只包含攻击者写入的内容。
紧接着登入蜜罐系统,试图获取”BVpNMJHv”这个文件,但是发现它已不在/tmp或/opt目录下。
因此,笔者试图从Sysdig中恢复被攻击者删除的文件信息:
行为分析
恢复完毕后,获得了这个shell脚本的完整内容,接下来作一个简单的分析:
这个sh脚本的几个关键点:
1、写入启动脚本:
这一部分主要目的是为了使这个脚本能够在系统重启后自动运行。
2、杀死一系列进程:(注意到其中有挖矿服务进程)
3、将一个可疑地址加入到/etc/hosts,将本地地址解析到bins.deutschland-zahlung.eu删除shell设置的环境变量,并且改掉pi用户的密码信息。
4、ssh生成公钥写入ssh配置文件。
5、配置一系列可疑域名,后续分析怀疑是IRC服务器。
6、以后台服务形式挂起执行可疑的$BOT程序。
7、安装zmap(扫描或DDOS)和sshpass。
8、利用zmap作攻击跳板,继续利用当前机器,以”pi:raspberry”这样的口令对去扫描IP列表下的其他机器,一旦攻入则通过scp上传攻击脚本。
总结
整个攻击流程并不复杂,但是对于自动化批量攻击的流程来说是非常好的例子,通过这样一种自动化的攻击,黑客往往借助 zmap 等工具在很短时间内扫遍全网,如果攻击 payload 不仅仅是弱口令,而是某个尚未被披露的漏洞或者披露但未打补丁的漏洞,那么就可能造成下一个 Mirai 或者 WannaCry。
在分析这个攻击脚本后,我针对性地优化了 Falco 的报警规则,在日志系统中成功捕获了一系列类似该脚本在攻击时执行的指令:
虽然是针对物联网和树莓派设备的,但是与云端自动化攻击流程有一定的相似之处,将攻击者的攻击路径图形化抽象一下,可以得到下面这个流程:
与传统的僵尸网络相比,云端使得攻击传播更为迅速,并且云服务器充足的带宽和数量众多的公网IP是DDOS和比特币、门罗币等矿机的首选目标。
【推荐书籍】
作者:祝世雄 等著