Linux应急故事之四两拨千斤:黑客一个小小玩法,如何看瞎双眼

安全 终端安全
一位办事处拥有多年应急经验的老手,像往常一样忙碌而娴熟的处理所在区域的各种安全应急事件。突然,某客户求助,称安全感知产品检测到了异常威胁,需要协助分析处置。

某日,深信服刘同学,一位办事处拥有多年应急经验的老手,像往常一样忙碌而娴熟的处理所在区域的各种安全应急事件。突然,某客户求助,称深信服的安全感知产品检测到了异常威胁,需要协助分析处置。

1. 刘同学

刘同学打开安全感知平台,找到对应主机,发现报的是虚拟货币挖矿。刘同学会心一笑,挖矿检测有近乎100%的准确率,抓个挖矿小病毒,跟日常打怪一样简单。

但是接下来的事情,突破了刘同学的认知,差点看瞎他的双眼。

2. 看瞎双眼

那是一台Linux服务器,刘同学通过ps命令就轻易定位到了挖矿进程,但是接下来的事情并不轻松,他尝试了各种方式,始终无法找到挖矿进程对应的文件。

这种不合常理的现象,令他百思不得其解,甚至怀疑中了rootkit病毒,但尝试rootkit扫描工具,仍然一无所获。

挖矿进程对应文件指向两处,一处是 /usr/sbin/apache ,一处是 /tmp/.ICE-unix/. ./m 。

但是无论他使用何种命令,甚至逐一检查了rc.d、crontab、init下面的各种启动项,翻遍了临时目录、用户目录、进程目录……花费了很多时间,望眼欲穿,都无法找到哪怕一个病毒文件。

cd到对应目录,使用ls -al就是看不到任何可疑文件,按道理应该不会自删除。

刘同学向总部请求协助的时候,表示自己“已经瞎了”!

3. 柳暗花明

总部EDR安全团队接到这个协助请求的时候,还是有很大压力的,同时也联合了安全感知的安全专家参与分析。

刘同学一直是娴熟的应急人员,能让他“看瞎”的,并不多,可能水比较深。

总部安全专家远程接入后,也按照刘同学提供的信息,进行一一确认,同样也没有找到有效信息。

接下来,使用大法,直接把挖矿进程的内存dump出来,观察其关键字符串。

使用strings -n 8将字符串过滤出来,看到如下信息:

这引起了我们的警觉,总感觉哪里不对。

我们重新再cd到/tmp/.ICE-unix/,再一次使用ls -al查看该目录下面所有文件。

停在这里(上图),大概盯了有好几分钟时间,陷入了沉思……

突然,再一猛看,端倪就出来了,某个字符貌似不对。仔细观察上图(后期特意放大了几倍),倒数第三行,貌似不对,它的两个点“空隙”比别的稍微“大”了那么一丢丢(要拿尺子量的那种大,目测毫米级别) 。

真实远程界面,一般字体都非常小,上面是正常的画面(大屏小字体),这边后期加了黑色背景来体现差异。所以,每次进入到这个目录,刘同学就自然而然的以为只有“.”和“..”,殊不知,还有一个“. .”(这里面的两个点之间是有一个空格的)。

一个点是当前目录,两个点是上级目录,两个点加个空格就是一个全新的目录。

再往上翻,dump内存引起我们警觉的那一行,回头一想,ASCII码40就是表示空格啊!

4. 样本剖析

要进入那个吊诡的文件夹,还不能直接cd . .(注意,这两点之间有空格),需要cd “. .”,即加一个双引号,防止转义。

该文件夹下一共有10个文件,其中x、a、u、r为恶意脚本,?、b、c、d,h和m恶意可执行文件。

执行流程 x -> a -> u -> r -> h (隐藏 & 运行 m ) -> m (挖矿),为了执行真正的挖矿,绕了一大圈。

入口脚本x (以下所有#标注的汉字,均为我们后期备注说明)

释放脚本a

清除脚本u

启动脚本r,如下图,进程路径同时也伪装成了/usr/sbin/apache,是一个不存在的路径。

./h是进程伪装工具XHide,网上有开源代码,那个/usr/sbin/apache路径就是XHide伪装的。

原理也很简单,调用execv创建目标进程。

挖矿病毒就是开源的xmrig,从config.json中读取钱包地址后开始挖矿。

为了做隐藏,黑客做了一些小技巧,一个是利用肉眼视觉惯性和疲劳,创建了一个肉眼难以察觉的目录,另外一个小技巧,就是利用Xhide黑客工具伪装出了一个不存在的文件位置/usr/sbin/apache,放了一个烟雾弹。

仔细想想,黑客做的这些小技巧,确实蒙蔽了大多数的人,也起到了四两拨千斤的效果!

5. 追根溯源

隐藏的根因我们已经挖到了,入侵根因呢?

我们在/var/log/secure日志当中发现了有端倪的现象,这个Linux系统安全日志,记录用户和工作组变化情况、用户登陆认证情况,其有大量认证失败的日志。

源地址为XX的IP大量尝试了不同的用户名与密码。从23日凌晨开始一直在持续,用户名是按照字符排序进行尝试,于凌晨XX点XX分XX秒时刻成功爆破。

6. 回首总结

这里,我们再一次回顾这个事件。有一点,用户做得特别好,就是及时关注了深信服安全感知平台的安全事件,极早了排除安全隐患。

挖矿病毒是当前安全事件中最为流行的一种病毒,深信服安全感知对这类病毒有近乎100%的准确率。

此外,建议用户对Linux主机进行安全基线的加固,增加密码的复杂度与帐号锁定策略。

这里还有一点,如果用户部署了深信服终端检测响应平台(EDR),那么用户将直接可以对告警主机进行查杀,无需人工干预,即可做到快速处置。对于肉眼难以发现的空格隐藏问题,必然是无障碍清理的!再也不用担心“眼瞎”了。

7. 相关IOC

  • BBD807BCC2596FD7EEC38BFCBED9F5A5
  • 60103B3D5FD524BBDA4682E5B0C6560E
责任编辑:赵宁宁 来源: FreeBuf
相关推荐

2010-01-25 09:56:33

2009-06-26 10:07:16

2017-12-11 15:56:22

IT架构

2013-03-06 14:45:03

手机网游

2017-10-12 12:38:51

云计算人工智能大数据

2015-08-26 11:26:32

2019-03-14 09:22:31

UI设计视觉

2021-01-20 15:41:05

人工智能自然语言技术

2023-05-04 15:04:26

模型训练

2018-08-08 17:45:00

2021-11-19 10:05:43

运维规则书籍

2017-11-23 17:34:01

华为云

2017-12-13 16:53:19

华为云

2014-11-13 11:29:35

联想

2014-07-18 09:09:28

信息图

2015-10-29 14:46:49

比特网

2010-11-22 11:08:13

2020-02-25 16:58:40

机器人人工智能系统

2021-02-20 11:34:43

Linux内核指针

2009-08-18 14:04:04

点赞
收藏

51CTO技术栈公众号