长话短说.
请教高手解释解释脚本做了什么.
看得出来 zzh 是挖矿的,但是 newinit.sh 里面的一堆操作是啥呀?
昨天就操作了adduser postgres sudo.但是随后就deluser postgres sudo.
但还是被攻击进来了.
我该怎么修复漏洞?
攻击者暴露了自己的服务器地址,欢迎品玩.
两个脚本

目前做的措施是:

删除了postgres用户: deluser postgres
重置了systemd: systemctl revert name.service

观察下来情况还可以,没到重装系统的程度.
接下来重装一下postgres,再观察观察.

大概知道被攻入的原因的,修改pg_hba.conf的时候不小心改了host那一行的认证方法,原本应该是修改local那行的.
但是有一点很奇怪,即使这样,我没有开远程端口,怎么进来的呢?
之前配置:
# Database administrative login by Unix domain socket
local all postgres peer

# TYPE DATABASE USER ADDRESS METHOD

# "local" is for Unix domain socket connections only
local all all scram-sha-256
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256

修改配置:
# Database administrative login by Unix domain socket
local all postgres trust

# TYPE DATABASE USER ADDRESS METHOD

# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 reject
# IPv6 local connections:
host all all ::1/128 reject
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all peer
host replication all 127.0.0.1/32 reject
host replication all ::1/128 reject

被搞了一次,怕了,怕了,直接拒绝所有的远程连接!!!

新增一条规则
host all postgres 0.0.0.0/0 reject

修改一条规则
host all all 127.0.0.1/32 scram-sha-256

估计被提权了

昨天把 Postgres10 升到了 15,难不成版本有漏洞?

重装吧,挖矿脚本真像牛皮藓一样,各种骚操作黏在系统里,搞过两三次太头疼了。

ssh 给我我上去看看 ( doge:

看了一下 newinit.sh ,我能识别出的操作有:
删系统日志
关掉 SELINUX
把 wget 和 curl 改名(避免被用户 /自动识别?)
把 zzh 写入 cron
卸载阿里云的 aegis 和腾讯云的什么东西(安全 /监控软件?)
杀死一些安全类进程
破坏 /usr/bin/下的几个可执行
干掉其他的挖矿进程 /Docker
删缓存(?),干掉 /usr/lib/systemd/systemd-update-daily
给 ssh 加入公钥
在结尾好像又运行了什么

用的是 postgres 用户操作的,先删掉 postgres user 看看.这狗屎代码写了一堆进 systemd.

系统重装,仅使用密钥连接

之前 redis 没设置密码中过一次

你是端口暴漏在公网吗?

zzh 是一个很老牌的门罗挖矿蠕虫了,Cleanfda 家族的,之前分析的时候是用的 Redis 未授权,Docker API 未授权和 SSH 爆破实现蠕虫传播的,看起来现在多出一个 Postgres 的传播方式。
网上分析还是蛮多的,可以看看这篇 Redis 未授权访问漏洞分析 cleanfda 脚本复现漏洞挖矿

看了一下你发出来的代码,横向移动的脚本 rs.sh 里没看到有对 postgresql 漏洞的利用,只是用 masscan 和 pscan 对网段里的 6379 进行了批量扫描。你机器上是不是启动了一个 Redis 服务并且没上密码就对外开放了 6379 端口?

postgres 被挂过码, 端口外放的原因

是的,云服务器

还有一种可能就是...你的 postges 用户是弱密码并且支持远程登录被爆破了

这个代码是后来一个 PR 合进来的 主要是两个脚本 new_init.sh 和 zzh.

postgres 和 redis 的远程端口都没有开放.

我之前也是 pg 端口暴露到公网被挖矿了。最后一劳永逸还是加了白名单

脚本都是用 postgres 用户操作的,postgres 就昨天做了手动升级 10 --> 15.
这个怎么用 postgres 用户进来的日志都没找到,很无语.

shit ,还干掉其他挖矿进程,太卷了

云服务器的话对你使用没影响的,不用管它,大家都不容易

#19 ?????????????????????????

哈哈 欢迎 老哥下源码去自己服务器玩玩

????????

哈哈哈哈哈哈 xswl

你这波和名字配合的不是很好

老哥都不带手动狗头保命吗, 哈哈哈哈

严重怀疑是你写的脚本😄

用服务器挖矿属于违约,运营商可以停掉你服务器

大佬怎么发现的

你太可爱啦🤣。