Linux入侵取证:从一次应急事件讲起

 

0×00 背景

最近接手了一起应急事件,事件的起因是这样,某IP地址在短时间内攻击国家CN顶级域名(203.119.x.1)近8万次。于是便作为一员接手了此次事件。

0×01 事件取证过程

1.Nmap扫描,存在的未知端口

如上图所示,存在着未知的端口8093,我们尝试在浏览器中这个端口的信息,结果将一个未知文档下载下来,将其打开如图所示:

具体信息未知,我们猜测这个端口可能与后门文件(r.txt)的监听端口有关。同时我们在受害者服务器上查看这个端口建立的连接,结果也没有相关信息。具体如下图所示

我们查看后门文件,存在着一条建立Socket通信的端口信息,怀疑此监听端口是攻击者自己定义的端口信息,具体如下图所示

2. ls命令的异样性

通过此次的渗透测试,我们发现部分root命令已经被替换,其中被替换的命令包括 ls,find等命令。

当我们在终端中输入,ls命令时,发现存在着异常,具体如下图所示:

毕竟与正常的命令存在着差异,我们使用alias命令,结果如下图

很明显,具体的命令已经被人修改过了,通过进一步的渗透,我们发现在/usr/lib/libsh的目录下,存在着可疑文件.backup,具体如下图所示:

我们进入到.backup文件夹中,发现被替换的root命令,结果如下图所示

其它命令,同ls一样,皆被替换。

3 .bash_history日志中的行为

在我们接到这次应急任务之后,第一时间查看服务器上的相关日志,从而分析出其中存在的可疑行为:

(1)可疑行为之一,如图

进而分析出,其具体的行为:运行其中的shaiba.pl(具体行为参加下一小节,脚本程序的分析)程序。

(2) 通过查看,我们得到/var/lib/libsh下的具体的文件,如下图所示,这些文件都是可疑脚本,对于脚本具体的分析参见下一小节。

(3)可疑行为之二:如图

恶意攻击者,通过ln –s的命令在 /usr/local/lib64/perl5/LockFile文件夹下建立这个文档的映射。因为这个命令夹杂在shaiba.pl这个可疑脚本之间,故需要网站运维人员的配合,确定出这条是否是管理人员的操作,还是恶意攻击者的操作。从而推断出其真正的意图。

(4) 可疑行为之三:如图

其中,命令du –h –max-depth=2再查看var/log/httpd 中文件的大小,并且修改过apache的访问日志,最终通过命令删除apache服务器的相关日志。攻击者在销毁证据,并且日志只保留了26号以后的行为。

4. 对于木马文件的分析

(1)可疑脚本一:r.txt 以及 reverse.txt

经过前期的分析,我们得知,r.txt是一个后门连接脚本。编写语言为perl语言。该脚本是恶意攻击者种植在受害者服务器上的脚本。并且通过制定的远程IP地址以及相应的端口信息,将受害者的服务器的相应信息利用Socket通信方式发送给恶意攻击者。

具体的路径在/var/www/html/r.tx以及 /var/lib/libsh/reverse.txt,具体如下图所示:

并且通过前期的分析,我们得知该站点存在一个可疑的端口,而且我们怀疑这个端口就是此脚本中建立的监听端口。 部分程序如下截图:

由于恶意攻击者,并没有激活这条链路,于是无法查出恶意攻击者的相对应的IP地址.

(2)可疑脚本二:use.pl

通过前期的分析,use.pl这个脚本的目的在于构建一个僵尸网络群,从而对一个目标进行DDOS攻击。

具体的路径 /var/www/html/use,如下图所示:

通过use脚本中的包头信息,我们得知,脚本制作者的信息,具体如下图所示:

通过,脚本中的一些环境变量,我们猜测出发送数据包的部分内容。如,保存到本地临时文件,攻击的状态,休眠的时间等信息。具体如下图所示:

于是,我们转到/tmp文件夹下,发现大量的未知类型文件,并且文件的创建时间集中在10月24日,10月25日。具体如下图所示:

通过进一步对于木马的分析,我们得到用来控制发送伪造数据包的控制变量如下图所示:

木马与外界的通信仍然借助于Socket的通信方式,具体如下图所示:

木马脚本通过自身编写的扫描模块,不断地对互联网上的IP地址进行扫描,从而对后期的攻击提供一定的基础。并且通过netstat –ano命令,发现连接的状态中存在着大量的SYS_SENT的状态,逐渐验证了我们的猜想。具体如下图所示:

该木马脚本还带有回连模块,包含Win环境下,以及Linux环境下的两种回连模块,如下图

(3)可疑脚本三:shaiba.pl

Shaiba.pl脚本使用Perl语言编写的程序。通过shaiba脚本程序,受害者服务器通过微软的Bing搜索引擎去查找合适的肉鸡。

具体路径为:/var/lib/libsh/shaiba.pl

通过内置的环境变量,可以推测这个脚本程序依赖于HTTP的协议,如下图所示:

通过分析代码,我们得知改程序依赖于同目录下的saiba文件。我们推测这个问价是一个地址列表,shaiba脚本调用这个文件从而对外部的一部分IP地址进行扫描。saiba文件如下图所示:

另一部分的IP地址的获得则来自于Bing搜索引擎,具体如下图所示

其中,在浏览器中打开箭头所指URL,如下图所示

其中dork,与count变量是连接的字符串。

其中还存在与之相关的外连文件,bing-ip2host-0.4,具体如下图所示

5. 链路状态中存在着大量的SYN_RECV状态

在分析木马的脚本文件时,我们一并进行了网络通信状态的分析,得到当前的链路状态中,不仅存在着大量的SYN_SENT的状态,也存在这大量的SYN_RECV状态的数据包。也就是说这台受害者服务器同时也可能存在着SYN攻击的可能性。具体如下图所示:

6. Apache日志中出现的奇特的请求 

在前面的分析中,Apache服务器中10月26号之前的日志已经被清除,我们无从查证之前的入侵信息。但通过10月26号的日志分析,发现大量的可疑请求。具体结果如下:

我们猜测,这是些恶意程序来自于外部的某些恶意程序。需要进一步的确认。

编者著:

1. 投稿的目的也在于跟别人交流,因为好多东西自己如果不分享的,就这样慢慢丢了怪可惜的。中间还有很多不是特别明了的地方,期待与各位交流。

2. 此篇文章是我一个字一个字码出来的,拒绝粘贴复制。谢谢