欢迎来到 黑吧安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

记一次服务器入侵溯源

来源:本站整理 作者:佚名 时间:2019-04-25 TAG: 我要投稿

我是Li,本科,电子信息工程专业,有javascript、php、python 语言基础,目前学习Web 安全中。
在互联网海洋中遨游的时候,我们往往会 “一不小心” 就点击进入一些不可告人的网站,留下一些邀请黑客进入的漏洞。本文将介绍一种常规的入侵溯源,帮助大家安全上网。
溯源的目的更多的是 清理已经植入服务器的各种病毒,然后找到入侵的源头,也就是黑客是通过什么漏洞入侵服务器的。
事情的开始是这样的,在某一个晚上,一个夜黑风高的晚上,我准备把最近写的用来爬取美丽小姐姐照片的爬虫部署到服务器上,结果登录到服务器上的时候,发现操作有点卡,很明显感觉到服务器的异常,而昨天还没有这样的情况。
好在安全技能没白学,第一时间意识到服务器被入侵了。
先看看服务器的进程情况,输入Top命令,再按大写的P,根据CPU利用率来看看进程:看到有一个进程的 CPU 占用率到达 99.7%。

再查看端口连接信息,终端输入 netstat -anpt,看到有一个IP 为 158.69.133.20:3333 ,明显不是我自己的异常 IP。

都能找到 ip 地址了,离成功还能有多远?
我顺手把 IP地址复制粘贴,利用 http://www.ipip.net/ip.html ,找到IP所在的地理位置,可以看到这是一个来自加拿大魁北克的 IP。

我再到威胁情报平台查询 IP 信息 (http://x.threatbook.cn/ip/158.69.133.20)
可以看到这是一个矿池情报。加上CPU利用率接近100%的情况,咱们可以确定服务器被入侵并被植入了挖矿程序。那么刚才那个异常进程,其实就是一个挖矿进程。

 现在要做的是找到入侵漏洞和清理病毒,首先要找到文件位置,kill进程。根据进程 pid 1758直接ls -lh /proc/1758查看该进程的具体信息:

可以看到进程的exe指向的文件在/var/tmp目录下,然后我们先kill -9 1758杀死进程,避免进程占用CPU资源导致我们相关操作有点慢。

进入/var/tmp目录可以看到相关的文件,Linux 系统可以直接 md5sum 文件来提取文件的 MD5 值。、

然后到到https://www.virustotal.com/ 进行查询,可以看到这里有60款软件,有20款都对它报毒,确定这是一个挖矿程序。如下图所示:

从经验来看,这种挖矿程序,一般都是通过bash脚本进行执行,然后下载进行启动,可以通过查找日志和 history 看看是否有 wget、curl等下载行为。

上图可以很明显看到有 wget 行为。
由于下载地址还没有失效,可以直接下载脚本分析行为:
  • 除了 /var/tmp 目录下的文件,其他文件已自删除
  • 脚本中还修改了 crontab任务
清理方式:直接删除 /var/tmp 目录下的恶意文件。同时,根据脚本分析和 syslog ,我们可以看到脚本是通过 crontab 任务中 root 账户下载执行的,那么我们直接查看 /var/spool/crontabs/root 文件。 

从上图可以看到,系统的 crontabs 任务已被修改,并加入一些未知任务,我们把这些任务清理掉就可以了,可以看到任务的内容有 REDIS0006字样,我们可以排查到,这是Redis存在未授权访问的问题。修复方法:对应修复 Redis 的配置问题关闭外网访问,增加密码验证。妈妈再也不用担心我被黑了。
总结:这是一次比较顺利的溯源过程。通过前一个步骤、或者历史痕迹查到或猜测到黑客的相关操作,甚至可以获得脚本进行行为分析,但是在实际的溯源过程中,黑客会删除日志、清理相关痕迹、相关链接会失效,不过,解决这些又是一个新的话题了。
WEB安全学习其实没想象的那么难,以上分享就是我从破壳学院的课程中学到的,大佬和菜鸡只有一念之隔,懒惰永远不是你无法进步的借口!
 

【声明】:黑吧安全网(http://www.ylxj.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱admin@myhack58.com,我们会在最短的时间内进行处理。
  • 最新更新
    • 相关阅读
      • 本类热门
        • 最近下载