开发者社区> 技术小阿哥> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

linux系统被入侵后处理经历

简介:
+关注继续查看

背景

操作系统:Ubuntu12.04_x64

运行业务:公司业务系统,爬虫程序,数据队列。

服务器托管在外地机房。

突然,频繁收到一组服务器ping监控不可达邮件,赶紧登陆zabbix监控系统查看流量状况。

wKioL1cjFOTyIO2sAABkSBOorW8950.png

wKioL1cjFPGSppbDAADd32iT3AI593.png

可见流量已经达到了800M左右,肯定不正常,马上尝试SSH登陆系统,不幸的事,这种情况是很难登录系统操作的。该怎么办?

1、排查问题

第一反应是想马上切断外部网络,通过内网连接查看。可是这样一来流量就会消失,但也很难查找攻击源了。

于是联系机房协助解决,授权机房技术登录到系统,先通过w命令查看是否有异常用户在登录,再看看登录日志/var/log/auth.log,预料之中,日志已经清空;最后使用工具找出那个连接占用流量大,我使用了iftop工具。

wKioL1cjFT6T1dttAAOY0JDSTUc606.png

机房技术给我拍了照,看到本地一直通过http方式向104.31.225.6这个ip发送数据包,而且持续不断。

那好,先把这个ip给屏蔽了试试:

iptables –A OUTPUT –d 104.31.225.6 –j DROP

哇塞!奇迹出现了,流量下去了,能正常连接了,面部逐渐露出笑容。j_0063.gif

过一会儿,不幸的事情发生了,流量又上来了,擦!什么情况!心情顿时紧张起来。

又赶紧联系机房技术,执行上次的操作。

wKioL1cjFXDzrYVgAATklwVCE3Q320.png

傻眼了,目的ip变了,这可咋搞,不可能一个个封吧!

静下心来,仔细想了下,本地向外发包,那本地肯定会有程序来发!这可咋找啊?

2、查找攻击源

先通过netstat工具过滤端口,查看运行的进程ID:

netstat –atup |grep 15773

什么都没有啊,再换个端口试试,同样的效果!

让机房技术观察了下连接状态,原来是短连接,会很快的释放端口,所以才看不到端口的连接状态。

正常长连接来说,可以使用lsof –i :15773这样方式找到PID,再lsof –p PID找到打开的相关文件。

我想静静~。

好吧!决定先切断外部网络,内网SSH进入系统,先找到这个发包的程序,走起!

先通过netstat –antup 查看有无开放可疑的端口或者连接。

再通过ps –ef查看有无可疑的进程。

仔细看了看,都没有发现可疑的。

难道是植入了rootkit木马程序,说不好,试试看吧!

想要判断系统有没有植入了rootkit可以使用md5sum校验执行文件判断,先找个同版本操作系统,获取到这个工具执行文件的md5值,再获取可疑的工具执行文件md5值,比较两个值是否相同,如果相同说明这个工具是可信任的,如果不相同很有可能是被替换的。另外,一般工具可执行文件大小都在几十K到几百K。

其实我没有用md5方式来判断工具是否可信任,因为完全相同版本操作系统不好找,稍微有点差别,工具就有可能已被更新,md5值不同。我直接使用du –sh /bin/lsof查看,发现大小1.2M,明显有问题。

所以直接下载正常系统里的netstat、ps等工具上传到被黑的系统里使用,再将不可用的替换掉。

3、清理木马程序

果然,奇迹出现了,执行ps –ef后,发下最下面有几行可疑程序。在这里,本想截图的,可惜SSH客户端给关了,没留下截图。

记忆中,大概是这样的:

pid /sbin/java.log

pid /usr/bin/dpkgd/ps –ef

pid /usr/bin/bsd-port/getty

pid /usr/bin/.sshd

看到这几个,感觉很奇怪,怎么会有个java.log的执行文件在运行呢,经过找同事核实有没有运行这样的,他们说没有,那好先杀掉并删除再说。

wKiom1cjFOKzFjoUAAAUIuvKFbk803.png

紧接着怎么会有我执行的命令呢,ps –ef,命令的路径不是/bin/ps,引起了我的怀疑,马上进入此目录下查看。

wKioL1cjFbyQ_aCFAAApwXDfVN4723.png

擦,还有几个,初步判断是工具被替换了。

还有一个怎么叫getty呢,再正常系统里面对比进程,发现没有这个。估计又是黑客留下的,劳资怒了,宁可错杀一百,也不放过一个!

wKioL1cjFdihG2q7AAAUUc4e0Fo320.png

杀掉进程,删除目录。

.sshd进程?明显很可疑,难道是ssh后门,先杀掉删除再说!

wKioL1cjFcrSFWh7AAAQ7XfUmrs431.png

再执行ps –ef命令看下,奇怪,java.log进程又起来了,难道有自启动设置?于是到了/etc/init.d下查看,有个异常脚本,在正常系统的也没有,打开看了下,果然是启动木马程序的脚本。把脚本删除,再删除一次java.log,不再出现了。j_0069.gif

wKioL1cjFe2hrmIpAAB33YwJaxI695.png

wKiom1cjFTDjQKW6AAAh8i07Fx8226.png


删除了/sbin/java.log文件过一会又出现了,怎么回事?估计是getty趁搞的鬼,同样清除,不再自动生成了。

好了,可以开启外网了,观察了一会网络流量不再飙升了,心情有如看到美女一样的愉快!j_0061.gif


博客地址:http://lizhenliang.blog.51cto.com


4、事件总结

ls /usr/bin/dpkgd/   #替换的工具,系统自带的工具正常不会在这个目录下,并且也不可用

netstat lsof ps ss

/sbin/java.log  #判断是发包程序,删除后会自动生成

/usr/bin/bsd-port #判断是自动生成java.log或着后门程序

/usr/sbin/.sshd  #判断是后门程序

木马代码程序下载地址:http://pan.baidu.com/s/1b3yOVW

小心,直接执行java.log可能会导致linux瞬间基本上无法连接~!


如果还有其他木马程序怎么办?如果是XSS攻击,应用层漏洞入侵怎么办?

针对这些问题,从我们公司角度来说,尽量不重装系统,业务太复杂。找出入侵点,跑的程序多,攻击面多,很棘手。先这样吧!兵来将挡,水来土掩。~

 

让黑客趁机入侵的原因:

1. 运维对网络安全实施落实力度低

2. 没有相关安全测试人员,不能及时发现应用层漏洞

等等...

针对这次攻击,总结了下防护思路:

1. linux系统安装后,启用防火墙,只允许信任源访问指定服务,删除不必要的用户,关闭不必要的服务等。

2. 收集日志,包括系统日志,登录日志,程序日志等,及时发现潜在风险。

3. 针对用户登录实时收集,包括登录时间,密码重试次数以及用户执行命令记录等。

4. 对敏感文件或目录变化进行事件监控,如/etc/passwd、/etc/shadow、/web、/tmp(一般上传文件提权用)等。

5. 进程状态监控,对新增或可疑进程做好记录并通知。

6. 对上线的服务器系统、Web程序进程安全漏洞扫描。

 

还是那句话,没有绝对的安全,只有尽可能减少攻击面,提供系统防护能力。



本文转自 李振良OK 51CTO博客,原文链接:http://blog.51cto.com/lizhenliang/1769028,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
2.4 小白必看:零基础安装Linux系统(超级详细)
我们以新发布的 CentOS 8.1 为例,学习下如何安装Linux系统。
28 0
2.5 使用U盘安装Linux系统
前面章节介绍了如何通过虚拟机 VMware 安装 Linux 系统,而实际开发中,我们更多的是要将 Linux 系统直接安装到电脑上。
26 0
新安装的Linux系统
设置root用户的密码 sudo passwd root 回车 设置root用户的密码(使用root账户) 安装yum sudo apt-get updatesudo apt install yum Linux系统(Ubuntu)中使用国内的源地址 ...
1129 0
使用VMware-Workstation安装Linux系统
使用VMware-Workstation安装Linux系统
3277 0
『Kubernetes』Linux安装K8S集群过程笔记
📣读完这篇文章里你能收获到 - K8S安装全过程 - 博主自己实操笔记带你跳过所有坑
28 0
Linux centOs7.0安装宝塔面板(保姆级教程)
Linux centOs7.0安装宝塔面板保姆级教程。
20 0
linux篇-linux LAMP yum版安装
linux篇-linux LAMP yum版安装
22 0
13688
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载