Linux系统被入侵后处理经历

春节将至,让安全伴你行。网络安全,从我做起,没有绝对的安全,只有尽可能减少攻击面,提供系统防护能。

背景

操作系统:Ubuntu12.04_x64

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

服务器托管在外地机房。

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

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

该怎么办?

1. 排查问题

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

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

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

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

iptables –A OUTPUT –d 104.31.225.6 –j DROP

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

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

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

傻眼了,目的 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 的执行文件在运行呢,经过找同事核实有没有运行这样的,他们说没有,那好先杀掉并删除再说。

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

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

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

杀掉进程,删除目录。

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

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

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

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

事件总结

ls /usr/bin/dpkgd/ #替换的工具,系统自带的工具正常不会在这个目录下,并且也不可用 netstat lsof ps ss /sbin/java.log #判断是发包程序,删除后会自动生成 /usr/bin/bsd-port #判断是自动生成 java.log 或着后门程序 /usr/sbin/.sshd #判断是后门程序

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

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

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

让黑客趁机入侵的原因:

  1. 运维对网络安全实施落实力度低
  2. 没有相关安全测试人员,不能及时发现应用层漏洞

等等…

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

  1. Linux 系统安装后,启用防火墙,只允许信任源访问指定服务,删除不必要的用户,关闭不必要的服务等。
  2. 收集日志,包括系统日志,登录日志,程序日志等,及时发现潜在风险。
  3. 针对用户登录实时收集,包括登录时间,密码重试次数以及用户执行命令记录等。
  4. 对敏感文件或目录变化进行事件监控,如 /etc/passwd、/etc/shadow、/web、/tmp (一般上传文件提权用)等。
  5. 进程状态监控,对新增或可疑进程做好记录并通知。
  6. 对上线的服务器系统、Web 程序进程安全漏洞扫描。

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

网络安全,从我做起!

原文发布于微信公众号 - 数据和云(OraNews)

原文发表时间:2017-01-21

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏北京马哥教育

基于curl 的zabbix API调用

1,认证并取得加密字段 curl -i -X POST -H 'Content-Type: application/json' -d '{"jsonrpc": ...

4168
来自专栏小狼的世界

防止Memcached的DDOS攻击另外一个思路

3月3日,国家互联网应急中心通报了一条消息 关于利用memcached服务器实施反射DDoS攻击的情况通报 通告了 memcached 服务器漏洞被黑客利用的情...

1155
来自专栏黑白安全

西门子 SIPROTEC、Reyrolle 设备曝高危漏洞,或致变电站等供电设施遭受攻击

近日, ICS-CERT 发布安全报告称西门子 SIPROTEC 4,SIPROTEC Compact 以及 Reyrolle 设备存在的三个漏洞可能会被黑客利...

904
来自专栏菜鸟程序员

AVGater漏洞突破防病毒软件 影响大批知名杀毒软件 PoC已经公开

1595
来自专栏FreeBuf

SamSam:一款难以追踪的分布式控制软件

在对近期样本的分析过程中,研究人员发现这款勒索软件的Payload一直都是在运行时解密的,这也是这款勒索软件最显著的特点,这种加密Payload机制也表明了为何...

1180
来自专栏黑白安全

跨站点脚本(XSS)攻击

跨站点脚本(XSS)是一种常见的攻击媒介,可将恶意代码注入易受攻击的Web应用程序。XSS不同于其他网络攻击媒介(例如SQL注入),因为它不直接针对应用程序本身...

641
来自专栏xingoo, 一个梦想做发明家的程序员

Oracle二三事之 EBS升级

  原文转载:http://tech.it168.com/a2012/1121/1425/000001425400.shtml   对于初次执行这个过程的人而言...

2347
来自专栏前端笔记

【网站搬家】主机从上海更换为香港,域名不变。

背景:腾讯云学生机支持领取“新购卷”更换一次主机,借这个大好的机会,于是乎我就把主机数据统统转移到了新购的香港机。当然也包括这个博客网站数据在内,有兴趣了解一下...

4879
来自专栏安恒信息

安全研究员发现了多个IP地址利用已修复的PHP漏洞劫持Linux服务器

华盛顿大学的安全研究员Andre'DiMino注意到了多个IP地址试图利用一个已修复PHP漏洞劫持Linux服务器,他很好奇攻击者如何成功控制一台Linux服务...

35412
来自专栏FreeBuf

Web开发者安全速查表

想要开发出一个安全的、健壮的Web应用其实是非常困难的,如果你觉得这实现起来非常简单的话,那么你一定是一个X炸天的程序猿,要么你就是在白日做梦…… 写在前面的话...

2329

扫码关注云+社区