Linux服务器应急事件溯源报告
Linux服务器应急事件溯源报告
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 安全性建议
- 对使用密码字典中的服务器进行密码的更改。
- 对网络环境进行彻底的整改,关闭不必要的对外端口。
- 网络环境已经被进行过内网渗透,还需要及时排查内网机器的安全风险,及时处理。
- SSH登录限制
修改sshd配置文件
由于服务器较多,防止病毒通过ssh互相传播,可通过修改sshd_config
,实现只允许指定的机器连接,方法如下:
登录目标主机,编辑/etc/ssh/sshd_config
1
|
# vi /etc/ssh/sshd_config |
在文件的最后追加允许访问22端口的主机IP,(IP可用*号通配,但不建议)
Linux服务器应急事件溯源报告的更多相关文章
- Linux服务器中毒事件(libudev.so)
今天机房管理人员反馈公司的某台服务器在防火墙上的连接数超限,登陆服务器时发现非常卡顿,远程登录后查看,CPU持续100%,且有一长度为10的随机字符串进程,kill掉,会重新生成另外长度为10的字符串 ...
- Linux安全事件应急响应排查方法总结
Linux安全事件应急响应排查方法总结 Linux是服务器操作系统中最常用的操作系统,因为其拥有高性能.高扩展性.高安全性,受到了越来越多的运维人员追捧.但是针对Linux服务器操作系统的安全事件也非 ...
- 20个Linux服务器性能调优技巧
Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要 ...
- Linux服务器性能查看分析调优
一 linux服务器性能查看 1.1 cpu性能查看 1.查看物理cpu个数: cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc ...
- 【转】linux服务器性能查看
转载自https://blog.csdn.net/achenyuan/article/details/78974729 1.1 cpu性能查看 1.查看物理cpu个数: cat /proc/cpuin ...
- Linux服务器性能分析与调优
一 linux服务器性能查看 1.1 cpu性能查看 1.查看物理cpu个数: cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc ...
- linux服务器性能查看
1.1 cpu性能查看 1.查看物理cpu个数: cat /proc/cpuinfo |grep "physical id"|sort|uniq|wc -l 2.查看每个物理cpu ...
- [转]20个你不得不知的Linux服务器性能调优技巧
Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要 ...
- Linux 服务器的基本性能及测试方法
1. 摘要 一个基于 Linux 操作系统的服务器运行的同时,也会表征出各种各样参数信息.通常来说运维人员.系统管理员会对这些数据会极为敏感,但是这些参数对于开发者来说也十分重要,尤其当程序非正常工作 ...
随机推荐
- Vue中computed(计算属性)、methods、watch的区别
实现效果:字符串的动态拼接 methods方法 html: <div id="app"> <!-- 监听到文本框数据的改变 --> <input ty ...
- 12.并发编程--Queue
并发编程--Queue Queue - 非阻塞队列 - 阻塞队列 Queue是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作.进行插入操作的端称为 ...
- python 判断是字母的多种方法
方法一:isalpha() "a".isalpha() 方法二:string.letters string.uppercase import string s=" ...
- Error:Connection activation failed: No suitable device found for this connection
原文链接: https://blog.csdn.net/baiboya/article/details/80452822 ens33这个网卡一直无法激活,在网上找了半天,找到这个博主的文章,才解决,虽 ...
- 链表栈C语言实现
#ifndef LINKSTACK_H_INCLUDED #define LINKSTACK_H_INCLUDED #include <stdlib.h> #include <std ...
- 解决cron不执行的问题
在FreeBSD5.4下面做开发,需要定期备份mysql数据,开始在网上找了bash的脚本,但是执行无效,一怒之下,使用php来写,嘿嘿,其实php写脚本也不错滴.备份其实就是把mysql的数据库文件 ...
- laravel 浏览器图标的设置方式
<head> <meta charset="UTF-8"> <title>叮叮书店</title> <link href=&q ...
- 运算 Kotlin(3)
运算Kotlin支持数字运算的标准集,运算被定义为相应的类成员(但编译器会将函数调用优化为相应的指令) . 参见运算符重载.对于位运算,没有特殊字符来表示,而只可用中缀方式调用命名函数,例如:val ...
- leetcode 328 奇偶链表
更新代码: 开头检测是否需要调整(是否具有第三个节点) 使用三个ListNode* 变量记录奇偶链表的头尾headA,tailA为奇链表,headB为偶数链表,由于只需要最后令tailA->ne ...
- UEditor富文本编辑器时,插入图片没有任何反应
1.信息: Unable to find 'struts.multipart.saveDir' property setting. Defaulting to javax.servlet.contex ...