急,批处理命令CPU占用100%

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急,批处理命令CPU占用100%相关的知识,希望对你有一定的参考价值。

测试电脑,有个简单的命令 多次打开占用CPU高 这个命令怎么弄,谢谢 我不太记得了很简单的命令。就是打开批处理文件(用记事本写的)字符一直在跑。可以打开多个,打开的越多,CPU占用率越高,温度越高。

参考技术A 命令是什么?追问

不知道,才问你啊

追答

我是说那个批处理文件是什么内容

追问

我晕了,我要是知道就不问了啊,就是不知道批处理文件内容是什么才问?你没看明白我写的“我不太记得了很简单的命令,这个命令怎么弄”

追答

你的意思是说那个文件不在了是吗?不在了还说什么啊,不知道是什么内容怎么知道为什么会出现你说的情况,我才晕 了

追问

我什么时候说不在了,你在好好看看问题,我问题说:“我不太记得了,很简单的命令,这个命令怎么弄,怎么弄,明白了吧,我没说出现这种情况怎么办”我不知道这个批处理是什么,只是看别人操作,我要知道什么内容,我问你干什么。

追答

COPY命令就可以,不停的COPY

本回答被提问者采纳

急!CPU 被挖矿,该怎么找进程?


急!CPU 被挖矿,该怎么找进程?
来源 | 小白学黑客
责编 | 寇雪芹
头图 | 下载于视觉中国

你有没有遇到过这种情况?我有一个朋友,他发现自己服务器的CPU一直处于高占用状态,但用 top ps 等命令却一直找不到是哪个进程在占用,怀疑中了 挖矿病毒 ,急的团团转。

急!CPU 被挖矿,该怎么找进程?

CPU莫名其妙被占用



急!CPU 被挖矿,该怎么找进程?
急!CPU 被挖矿,该怎么找进程?

根据经验,我赶紧让他看一下当前服务器的网络连接,看看有没有可疑连接,果然发现了有点东西:

急!CPU 被挖矿,该怎么找进程?

Shodan查一下这IP地址:

急!CPU 被挖矿,该怎么找进程?

反向查找,发现有诸多域名曾经解析到这个IP地址:

急!CPU 被挖矿,该怎么找进程?

这是一个位于德国的IP地址,开放了 4444 , 5555 , 7777 等数个特殊的服务端口:

急!CPU 被挖矿,该怎么找进程?

其中这位朋友服务器上发现的连接到的是7777端口,钟馗之眼显示,这是一个HTTP服务的端口,直接访问返回的信息如下:

急!CPU 被挖矿,该怎么找进程?

mining pool!,服务器正在挖矿实锤了!

急!CPU 被挖矿,该怎么找进程?

但神奇的是,这个进程像是隐身了一般,找不到存在的任何痕迹。

急!CPU 被挖矿,该怎么找进程?

进程如何隐藏


现在说回到本文的正题:Linux操作系统上,进程要隐藏起来,有哪些招数? 要回答这个问题,先来知道ps、top等命令枚举系统的进程列表的原理。
Linux的设计哲学是: 一切皆文件!
进程也不例外, Linux系统中有一个特殊的目录:/proc/,这个目录下的内容,不是硬盘上的文件系统,而是操作系统内核暴露出的内核中进程、线程相关的数据接口,也就是procfs,里面记录了系统上正在运行的进程和线程信息,来查看一下:

急!CPU 被挖矿,该怎么找进程?

这些以数字命名的目录,就是一个进程的PID,里面记录了该进程的详细信息。 而ps、top等命令的工作原理,实质上就是遍历这个目录。知道了原理,想实现隐藏就有以下几个思路:
命令替换: 直接替换系统中的ps、top命令工具。可以从GitHub上下载它们的源码,加入对应的过滤逻辑,在遍历进程的时候,剔除挖矿进程,实现隐藏的目的。

模块注入:编写一个动态链接库so文件,在so中,HOOK遍历相关的函数(readdir/readdir64),遍历的时候,过滤挖矿进程。

通过修改LD_PRELOAD环境变量或/etc/ld.so.preload文件,配置动态链接库,实现将其注入到目标进程中。

内核级隐藏:模块注入的方式是在应用层执行函数HOOK,隐藏挖矿进程,更进一步,可以通过加载驱动程序的方式在内核空间HOOK相应的系统调用来实现隐藏。不过这对攻击者的技术要求也更高,遇到这样的病毒清理起来挑战也更大了。


急!CPU 被挖矿,该怎么找进程?
揪出挖矿进程

通过上面的进程隐藏原理看得住来,都是想尽办法隐藏/proc目录下的内容,类似于“障眼法”,所以包含ps、top、ls等等在内的命令,都没办法看到挖矿进程的存在。
但蒙上眼不代表不存在,有一个叫unhide的工具,就能用来查看隐藏进程。 我让这位朋友安装这个工具来查找隐藏的进程,但奇怪的是,一执行 yum install 安装,远程连接的SSH会话就立刻断开。
于是退而求其次,选择通过源码安装,又是一直各种报错···
因为我没办法亲自操作这台服务器,沟通起来比较麻烦,于是我决定研究下这个unhide工具的源码,然后编一个python脚本发给他执行。
源码地址: https://github.com/YJesus/Unhide-NG/blob/master/unhide-linux.c
在查找隐藏进程模块,其大致使用了如下的方法:
挨个访问 /proc/pid/ 目录,其中,pid从1到到max_pid累加
  • 如果目录不存在,跳过
  • 如果是unhide自己的进程,跳过
  • 如果在ps命令中能看到,跳过
  • 剩下的,既不是自己,也不在ps命令输出中,则判定为隐藏进程
按照这个思路,我编写了一个Python脚本发给这位朋友,执行后果然发现了隐藏的进程:
急!CPU 被挖矿,该怎么找进程?
别着急,不是真的有这么多进程,这里是把所有的线程ID列举出来了。随便挑选了一个看一下:
急!CPU 被挖矿,该怎么找进程?
还记得前面通过netstat命令看到挖矿进程建立了一个网络连接吗?Linux一切皆文件,在 /proc/pid/fd 目录下有进程打开的文件信息:
急!CPU 被挖矿,该怎么找进程?
这里发现这个进程打开了一个socket,后面的10212是inode id,再通过下面的命令看一下这个socket到底是什么:
cat /proc/net/tcp | grep 10212
输出了四元组信息:
急!CPU 被挖矿,该怎么找进程?
左边是源IP地址:源端口,右边是目的IP地址:目的端口
目的端口1E61就是7777!!!
急!CPU 被挖矿,该怎么找进程?
找到了,就是这货!
再次查看 cat /proc/pid/environ,定位到进程的可执行文件:
急!CPU 被挖矿,该怎么找进程?
总算把这家伙找到了:
急!CPU 被挖矿,该怎么找进程?
网上一搜这家伙,看来是惯犯了:
急!CPU 被挖矿,该怎么找进程?


急!CPU 被挖矿,该怎么找进程?

挖矿病毒分析


把这个挖矿木马下载下来,反汇编引擎中查看,发现加壳了。
脱壳后,在IDA中现出了原形,不禁倒吸了一口凉气,居然悄悄修改 /root/.ssh/authorized_keys 文件,添加了RSA密钥登录方式,留下这么一个后门,随时都能远程登录进来。
急!CPU 被挖矿,该怎么找进程?
急!CPU 被挖矿,该怎么找进程?
除此之外,还发现了病毒尝试连接的大量域名:
急!CPU 被挖矿,该怎么找进程?
看到这里简直可怕!自己的服务器被病毒按在地上摩擦啊!
急!CPU 被挖矿,该怎么找进程?


急!CPU 被挖矿,该怎么找进程?

清除建议

  • 开启SELinux
  • 杀掉挖矿进程
  • 删除病毒程序(注意rm命令是否被替换)
  • 删除病毒驱动程序(注意rm命令是否被替换)
  • 删除病毒添加的登录凭据
  • 防火墙封禁IP、端口
那么问题来了,这个病毒到底是怎么植入进来的呢,你觉得呢?
急!CPU 被挖矿,该怎么找进程?
60+专家,13个技术领域,CSDN 《IT 人才成长路线图》重磅来袭!
直接扫码或微信搜索「CSDN」公众号,后台回复关键词「路线图」,即可获取完整路线图!
急!CPU 被挖矿,该怎么找进程?

    
      
      
    
更多精彩推荐

 
   
   
 
急!CPU 被挖矿,该怎么找进程?
点分享
急!CPU 被挖矿,该怎么找进程?
点收藏
点点赞
点在看

以上是关于急,批处理命令CPU占用100%的主要内容,如果未能解决你的问题,请参考以下文章

开会时CPU 飙升100%同事们都手忙脚乱记一次应急处理过程

分析占用了大量 CPU 处理时间的是Java 进程中哪个线程

分析占用了大量 CPU 处理时间的是Java 进程中哪个线程

Linux删除大文件进程还在导致磁盘空间占用100%问题处理

mysql的cpu占用达到100%;show processlist命令查看 会出现1000多个lock的语句

CPU占用100%的Systemd木马问题解决