Linux服务器应急事件溯源报告

小博博 2016-02-18 17:43:00

Author:Inn0team

0x00 目录

  • 关于目标环境的中间进度检测报告
  • 一:情况概述
  • 二:取证情况
    • 2.1 目标网络情况
    • 2.2 针对xxx服务器中间件的检测
    • 2.3 针对xxx服务器进程及端口的检测
    • 2.4 发现攻击者的攻击操作
  • 三:溯源操作
    • 3.1 关于攻击者的反向检测
  • 四:攻击源确定
    • 4.1 确定攻击入口处
  • 五:安全性建议

关于目标环境的中间进度检测报告

0x01 情况概述


监控软件监控到服务器存在异常的访问请求,故对此服务器进行安全检查。

通过提供的材料发现内网机器对某公网网站存在异常的访问请求,网络环境存在着异常的网络数据的访问情况。针对其服务器进行综合分析发现了病毒文件两例,内网扫描器两例,通过以上的发现证实服务器已被黑客入侵。

0x02 取证情况


2.1 目标网络情况

下文中的内网内ip以及公网ip为替换后的脱敏ip。

IP 所属 操作系统
1.168.xxx.xxx 某业务员服务器 Linux2.6.32 x86_64操作系统
192.168.0.0/24 DMZ区 Linux&windows
10.10.0.0/24 核心区 Linux&windows
防火墙

2.2 针对xxx服务器中间件的检测

监测存在异常的服务器开放了80端口和21端口,安装了tomcat中间件。首先进行tomcat中间件的排查,查询得知服务器对外开tomcat文件夹路径为/home/XXX/tomcat/XXX _tomcat,查询tomcat未使用弱密码:

图1:tomcat未使用默认弱口令

针对tomcat部署服务进行检查,未发现可疑部署组件:

图2:未发现可疑的部署组件

图3:未发现可疑的host配置

2.3 针对xxx服务器进程及端口的检测

针对目标服务器进行了进程以及端口的检测,发现了可疑现象入下图所示:

图4:发现可疑占用情况

发现可疑现象后查找“l”所在的路径,入下图所示:

图5:发现可疑文件路径

在/dev/shm路径下发现存在“l”与“conf.n”文件

图6:找到可疑文件

将“l”与“conf.n”下载到本地进行分析,“l”程序为inux远控木马Linux.DDOS.Flood.L,经本地分析“l”程序为linux下僵尸木马,同时具有远控的功能

图7:证实为Linux.DDOS.Flood.L木马

通过继续分析目标服务器中的可以进程与端口占用情况,发现另外可疑文件,如下图所示:

图8:发现可疑文件vkgdqddsx

将可疑文件进行本地分析,证实此文件为病毒文件:

图9:证实为病毒文件

2.4 发现攻击者的攻击操作

针对目标环境进行彻底排查,发现攻击者使用wget操作从 http://111.205.192.5:2356服务器中下载“l”病毒文件,并执行了“777”加权的操作。

其记录文件如下图所示:

图10:发现木马文件下载操作

图11:通过l文件的时间状态定位到疑似攻击者下载时间为2015-01-18 04:54:05

图12:定位到可疑时间段连接ip地址

图13:不同时间段的可疑连接ip

通过进一步的对可疑。

通过分析目标服务器日志文件,发现攻击者下载病毒文件后又使用内网扫描软件“.x”调用其“pascan”和“scanssh”模块进行内网ssh扫描,通过分析发现攻击者收集到了目标网络环境中的常用密码来进行针对性的扫描测试。

如下图所示:

图14:发现目标服务器中存在ssh爆破以及网段扫描软件

图15:通过在测试环境中测试发现为扫描软件

图16:攻击者使用扫描软件进行内网网段的扫描

通过继续对扫描软件进行深入挖掘,发现攻击者使用扫描软件得到的其他内网的ip地址(部分):

图:17 攻击者得到的内网部分地址及密码

尝试使用此地址中的192.168.21.231和192.168.21.218进行ssh登录,可使用root:huawei成功进行ssh连接(其他地址及口令不再进行测试),并在内网机器中发现使用弱口令“123456”并发现了同样的“l”病毒文件。

其记录文件如下图所示:

图18:进行ssh连接

图19:连接成功后进行“ifconfig”操作

图:在网络中的其他机器也发现了同样的病毒文件

在扫描器中发现了攻击者使用的“passfile”字典文件,从中可以发现攻击者使用的字典具有很强的针对性(初步断定攻击者为在网络环境中通过查询密码文件等操作获取的相关密码):

隐私信息--此处不贴图
图20:发现针对性极强的密码字典

通过继续对日志文件进行排查,发现攻击者使用扫描器进行攻击的历史记录,验证了搜集到的信息:

图21:攻击者进行攻击的历史记录

通过即系分析,发现攻击者在进入目标服务器后,又进行了防火墙权限修改、“udf”权限提升、远程连接等其他操作。其中“udf病毒文件”未在目标服务器中发现,在后期进行反追踪中在攻击者服务器中获取到“udf”文件,进行本地检测后病毒文件。

其记录文件如下图所示:

图22: 修改iptables防火墙配置

图23:被修改后的防火墙配置

图24:攻击者进行提权的操作

图25:“udf”文件证实为病毒文件

通过对攻击者完整的攻击取证,可证实攻击者通过SSH连接的方式使用guest_cm用户而和root用户进行远程连接,连接之后使用Wget方式下载并种植在目标服务器中“l”和“vkgdqddusx”病毒文件,并使用“udf”进行进一步的权限操作,然后使用“.x”扫描软件配合针对性极强的密码字典进行内网的扫描入侵,并以目标服务器为跳板使用root和xxx账户登录了内网中的其他机器在入侵过程中入侵者将部分相关日志进行了清除操作。

0x03 溯源操作


3.1 关于攻击者的反向检测

在取证过程中发现攻击者服务器使用以下三个ip

xxx.xxx.xxx.x、xxx.xxx.xxx.xxx、xxx.xx.xxx.xx(打个马赛克)

通过对这三个IP进行溯源找到

http://111.205.192.5:2356/ 网站使用hfs服务器搭建,文件服务器内存储着各种病毒文件,其中找到了在“l”“udf”等病毒文件,证实前文中的判断。

图26:文件服务器中存储着在本次攻击中所使用的病毒文件

通过其他手段查询得知使用ip地址曾绑定 www.xxxx.com网站,并查找出疑似攻击者真实姓名xxx、xxx,其团体使用xxxxxx@qq.com、wangzxxxxxx.yes@gmail.com等邮箱,使用61441xx、3675xx等QQ。并通过某种手段深挖得知攻击者同事运营着多个博彩、私服类网站。

其他信息请看下图:

图27:攻击团伙使用支付宝及姓名

图28:攻击团伙旗下的其他博彩、私服网站

图29:攻击者旗下部分博彩、私服网站

打码处理
图30:攻击团伙成员QQ信息

0x04 攻击源确定


4.1 确定攻击入口处

综合我们对内网多台服务器的日志分析,发现造成本次安全事件的主要原因是:

10.0.xx.xx设备的网络部署存在安全问题,未对其进行正确的网络隔离,导致其ssh管理端口长期暴露在公网上,通过分析ssh登陆日志,该台设备长期遭受ssh口令暴力破解攻击,并发现存在成功暴力破解的日志,攻击者正是通过ssh弱口令获取设备控制权限,并植入木马程序进一步感染内网服务器。

具体攻击流程如下图所示:

图31:黑客本次攻击流程图

图:32:存在长期被爆破的现象

图33:被某公网ip爆破成功进入机器

经分析,2016年1月12号公网ip为211.137.38.124的机器使用ssh爆破的方式成功登陆进入10.0.xx.xx机器,之后攻击者以10.0.16.24机器为跳板使用相同的账户登录进入192.168.xxx.xxx机器。

图34:相同账户进入192.168.150.160机器

攻击者进入192.168.150.160机器后,于2016年1月17日使用wget的方式从http://111.205.192.5:23561网站中下载了 “Linux DDos”木马文件,并使用扫描器对内网进行扫描的操作。

图:35攻击者下载“Linux DDos”病毒文件

攻击者通过相同的手段在2016年1月17日使用sftp传输的方式进行了木马的扩散行为,详细情况见下图:

图36:使用SFTP传输的方式进行木马的扩散

0x05 安全性建议


  1. 对使用密码字典中的服务器进行密码的更改。
  2. 对网络环境进行彻底的整改,关闭不必要的对外端口。
  3. 网络环境已经被进行过内网渗透,还需要及时排查内网机器的安全风险,及时处理。
  4. SSH登录限制
    修改sshd配置文件

由于服务器较多,防止病毒通过ssh互相传播,可通过修改sshd_config,实现只允许指定的机器连接,方法如下:

登录目标主机,编辑/etc/ssh/sshd_config

# vi /etc/ssh/sshd_config

在文件的最后追加允许访问22端口的主机IP,(IP可用*号通配,但不建议)

评论

路人甲 2016-02-18 18:16:40

分析太到位了,如身临其境

路人甲 2016-02-18 18:21:19

不过这马赛克打的也太不专业了,,

X

xsser 2016-02-18 18:39:53

身临其境啊

安全小飞侠 2016-02-18 18:41:48

不错,赞一个!

小博博 2016-02-18 20:36:44

感谢乌云提供这么好的交流学习平台,大家也可以关注微信公众号“inn0team” 一起交流成长--
苏醒

路人甲 2016-02-18 21:08:23

谢谢大家对inn0team团队的支持~!

L

LoveSnow 2016-02-18 23:45:35

学习一下

jye33 2016-02-19 10:43:51

inn0team团队棒哒哒

0

0x334 2016-02-19 10:51:23

涨姿势了

H

her0ma 2016-02-19 10:58:13

图11:通过l文件的时间状态定位到疑似攻击者下载时间为2015-01-18 04:54:05
新手学习,要是能写上各种命令很更好了

小博博 2016-02-19 11:59:30

@her0ma
图11中我当初使用了 stat 命令来查看病毒文件的详细信息,当初查看到了三个时间状态
access time:表示我们最后一次访问(仅仅是访问,没有改动)文件的时间
modify time:表示最后一次修改文件的时间
change time:表示最后一次对文件属性改变的时间,包括权限,大小,属性等等。
发现chang time时间为01-18 changtime表示最后一次对文件属性改变的时间,然后又发现了攻击者对病毒进行了 chmod 777 提示权限的操作,而这两个操作是同一时间段的,(判断依据请百度 stat 命令详解)所以当初我暂时断定为01-18下载的,但是后来我找到了黑客的病毒服务器(图26)发现服务器上l病毒的修改时间为02-27,我看到这个时间戳的时候以为我前面的判断是错的,然后经过几天对此服务器的观察,发现此服务器会每隔三天左右就会关闭更换端口及重新上传病毒文件,然后我又对同网段下进行排查, 发现同网段和内网下也存在病毒文件,其中创建时间为“01-18”、和“02-27”,然后发现攻击者在内网中核心区和DMZ区分别通过相同的口令+sftp的方式、wget下载的方式进行了病毒传播,所以才会导致黑客服务器的时间不同,我又对内网某台开启了时间戳记录功能的服务器使用 cat /root/.bash_history 以及对系统日志文件 cat /var/log/secure |Accepted 进行了记录+时间的查看 及综合分析判断,证实了我之前对时间戳的判断 !
文档中我仅仅贴上了使用stat查看时间戳,只使用stat来判断并不是一定正确的 攻击者完全可以通过 touch命令来修改时间戳 只是此案例中攻击者并未修改。在完整的判断入侵时间中 要结合系统日志+防火墙日志+各种信息才能判断,因为报告仅仅是向甲方进行说明情况,所以并未在报告中体现完整的排查过程

牛奶鸡蛋 2016-02-19 13:06:22

通过其他手段查询得知使用ip地址曾绑定 www.xxxx.com网站

W

wangy3e 2016-02-19 14:47:02

@inn0team,@小博博 把样本文件发出来吧

雪碧0xroot 2016-02-19 16:26:30

tomcat未使用默认弱口令 用注释了的配置代码截图真的好吗?

路人甲 2016-02-19 16:48:30

太牛逼 太牛逼

路人甲 2016-02-19 16:49:13

大哥有时间弄个win的溯源报告可好

S

Space 2016-02-19 19:44:21

涨姿势

路人甲 2016-02-20 09:34:44

→_→

M

masker 2016-02-20 18:38:22

后面的马赛克白打了

伤心的猫猫 2016-02-22 10:54:50

太牛逼了。

M

MyKings 2016-02-22 13:15:10

图11:通过l文件的时间状态定位到疑似攻击者下载时间为2016-01-18 04:54:05?

路人甲 2016-02-22 14:18:40

就是那个XOR DDOS 一直活跃在黑产圈,也被好多文章写烂了的

A

answer 2016-02-24 00:49:29

点个赞

X

xxx 2016-02-24 10:39:46

你的登录日志,系统日志,别人留下的东西太多了,翻翻就能找到!

随机分类

MongoDB安全 文章:3 篇
事件分析 文章:223 篇
运维安全 文章:62 篇
密码学 文章:13 篇
安全管理 文章:7 篇

扫码关注公众号

WeChat Offical Account QRCode

最新评论

Article_kelp

因为这里的静态目录访功能应该理解为绑定在static路径下的内置路由,你需要用s

N

Nas

师傅您好!_static_url_path那 flag在当前目录下 通过原型链污

Z

zhangy

你好,为什么我也是用windows2016和win10,但是流量是smb3,加密

K

k0uaz

foniw师傅提到的setfge当在类的字段名成是age时不会自动调用。因为获取

Yukong

🐮皮

目录