黑客攻击如同时光倒流:1999年的技术重现
作者声明:本博文提及的技术和工具可能已过时,不适用于当前环境。但本文仍可作为学习资源,并可能为现代工具和技术的更新或整合提供参考。
事件起源:异常终端引发的调查
上周,一位友人面带忧色地来到我的工位。他俯身展示笔记本电脑屏幕——一个虚拟终端正开启着:
|
|
询问系统用途后,得知这仅是一个个人项目的GitLab服务器。我立即终止了仍在运行的进程,并移除了相关目录下二进制文件的执行权限。出于技术兴趣,我与到访办公室的Derek共同协助友人备份服务器数据,并请求获取被植入的软件副本用于研究(当然,是为了科学)。这位匿名友人在数据保全后同意我们进行分析并公开发现。
攻击工具包获取与分析
我们追踪到攻击者工具包的下载源头,为确保二进制文件原始性,通过匿名代理将其下载至干净的Kali实例。
第一阶段:x.tgz与启动脚本
作为程序员,我重点关注工具逻辑。从行为顺序判断,首先分析x.tgz中的start脚本——这是一个Bash shell脚本:
|
|
脚本首先检查参数有效性(输出罗马尼亚语提示),随后解析网络接口并启动多个./inst进程。横幅内容与2013年一篇"十年未变"的博文完全吻合——暗示攻击手法的持久性。
第二阶段:僵尸网络配置(inst文件)
./inst文件用于配置僵尸程序。文件首部包含大量"命名标识",末52行逻辑解析参数并配置僵尸节点。参数"ronnie"被用作频道名称。在start脚本末尾还有关键操作:
- 完成安装
- 设置自动更新
- 执行恶意软件
攻击者添加了iptables规则、创建名为bin的用户并赋予root权限,最后通过rinst.e文件向硬编码的Gmail地址发送接口计数和主机名信息。
第三阶段:隐匿通信与老旧组件
攻击者从"ryo"文件下载并运行脚本组,用于设置psyBNC(一种2009年停止开发的IRC连接伪装工具)。启动过程中运行的proc可执行文件使用GCC 2.9编译,操作系统为RedHat 7.1——堪称古董级环境。
第四阶段:进程隐藏工具(Pydrona)
攻击链最终阶段使用Pydrona工具(编译于gcc 4.3.4)。其中一个组件关联攻击者已删除的Xhide工具(用于进程隐藏),另一个自称Drona Turbata 3.0(Python版本)——名称混合意大利语和罗马尼亚语译为"愤怒的无人机"。
结论:安全威胁的永恒性
某些事物似乎永不改变:2013年博文描述的攻击手法在2016年仍在使用几乎相同的二进制文件。这种攻击如同标准配方——分阶段执行、几乎完全脚本化,只要有效就不会被淘汰,而显然至今仍未失效。
延伸学习:通过Antisyphon的随付随训课程提升技能!提供实时/虚拟点播培训。