V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
xiaolajiao
V2EX  ›  程序员

服务器被人挂了一个脚本

  •  2
     
  •   xiaolajiao · Oct 27, 2022 · 6584 views
    This topic created in 1280 days ago, the information mentioned may be changed or developed.

    长话短说.

    请教高手解释解释脚本做了什么.

    看得出来 zzh 是挖矿的,但是 newinit.sh 里面的一堆操作是啥呀?

    昨天就操作了adduser postgres sudo.但是随后就deluser postgres sudo.

    但还是被攻击进来了.

    我该怎么修复漏洞?

    攻击者暴露了自己的服务器地址,欢迎品玩.

    两个脚本

    Supplement 1  ·  Oct 28, 2022

    目前做的措施是:

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

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

    接下来重装一下postgres,再观察观察.

    Supplement 2  ·  Oct 28, 2022

    大概知道被攻入的原因的,修改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
    

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

    Supplement 3  ·  Oct 28, 2022

    新增一条规则

    host    all            postgres   0.0.0.0/0                  reject
    

    修改一条规则

    host    all             all             127.0.0.1/32            scram-sha-256
    
    29 replies    2022-10-28 17:34:04 +08:00
    masker
        1
    masker  
       Oct 27, 2022 via Android
    估计被提权了
    xiaolajiao
        2
    xiaolajiao  
    OP
       Oct 27, 2022
    昨天把 Postgres10 升到了 15,难不成版本有漏洞?
    maskerTUI
        3
    maskerTUI  
       Oct 27, 2022
    重装吧,挖矿脚本真像牛皮藓一样,各种骚操作黏在系统里,搞过两三次太头疼了。
    gowk
        4
    gowk  
       Oct 27, 2022
    ssh 给我我上去看看 ( doge:
    Shorekeeper
        5
    Shorekeeper  
       Oct 27, 2022   ❤️ 1
    看了一下 newinit.sh ,我能识别出的操作有:
    删系统日志
    关掉 SELINUX
    把 wget 和 curl 改名(避免被用户 /自动识别?)
    把 zzh 写入 cron
    卸载阿里云的 aegis 和腾讯云的什么东西(安全 /监控软件?)
    杀死一些安全类进程
    破坏 /usr/bin/下的几个可执行
    干掉其他的挖矿进程 /Docker
    删缓存(?),干掉 /usr/lib/systemd/systemd-update-daily
    给 ssh 加入公钥
    在结尾好像又运行了什么
    xiaolajiao
        6
    xiaolajiao  
    OP
       Oct 27, 2022
    @maskerTUI 用的是 postgres 用户操作的,先删掉 postgres user 看看.这狗屎代码写了一堆进 systemd.
    codingBug
        7
    codingBug  
       Oct 27, 2022
    系统重装,仅使用密钥连接
    vagusss
        8
    vagusss  
       Oct 27, 2022
    之前 redis 没设置密码中过一次
    xboxv
        9
    xboxv  
       Oct 27, 2022
    @vagusss 你是端口暴漏在公网吗?
    DiaosSama
        10
    DiaosSama  
       Oct 27, 2022   ❤️ 1
    zzh 是一个很老牌的门罗挖矿蠕虫了,Cleanfda 家族的,之前分析的时候是用的 Redis 未授权,Docker API 未授权和 SSH 爆破实现蠕虫传播的,看起来现在多出一个 Postgres 的传播方式。
    网上分析还是蛮多的,可以看看这篇 [Redis 未授权访问漏洞分析 cleanfda 脚本复现漏洞挖矿]( https://www.renfei.net/posts/1003501)
    DiaosSama
        11
    DiaosSama  
       Oct 27, 2022
    看了一下你发出来的代码,横向移动的脚本 rs.sh 里没看到有对 postgresql 漏洞的利用,只是用 masscan 和 pscan 对网段里的 6379 进行了批量扫描。你机器上是不是启动了一个 Redis 服务并且没上密码就对外开放了 6379 端口?
    CoderLife
        12
    CoderLife  
       Oct 27, 2022
    postgres 被挂过码, 端口外放的原因
    vagusss
        13
    vagusss  
       Oct 27, 2022
    @xboxv 是的,云服务器
    DiaosSama
        14
    DiaosSama  
       Oct 27, 2022
    还有一种可能就是...你的 postges 用户是弱密码并且支持远程登录被爆破了
    xiaolajiao
        15
    xiaolajiao  
    OP
       Oct 27, 2022
    @DiaosSama 这个代码是后来一个 PR 合进来的 主要是两个脚本 new_init.sh 和 zzh.

    postgres 和 redis 的远程端口都没有开放.
    wshhfy
        16
    wshhfy  
       Oct 27, 2022 via Android
    我之前也是 pg 端口暴露到公网被挖矿了。最后一劳永逸还是加了白名单
    xiaolajiao
        17
    xiaolajiao  
    OP
       Oct 27, 2022
    脚本都是用 postgres 用户操作的,postgres 就昨天做了手动升级 10 --> 15.
    这个怎么用 postgres 用户进来的日志都没找到,很无语.
    Vegetable
        18
    Vegetable  
       Oct 27, 2022
    @SunsetShimmer shit ,还干掉其他挖矿进程,太卷了
    nmap
        19
    nmap  
       Oct 27, 2022
    云服务器的话对你使用没影响的,不用管它,大家都不容易
    ryanbuu
        20
    ryanbuu  
       Oct 27, 2022
    @nmap #19 ?????????????????????????
    xiaolajiao
        21
    xiaolajiao  
    OP
       Oct 27, 2022 via iPhone
    @q1angch0u 哈哈 欢迎 @nmap 老哥下源码去自己服务器玩玩
    blankmiss
        22
    blankmiss  
       Oct 27, 2022
    @nmap ????????
    y835L9DyC5XD09kq
        23
    y835L9DyC5XD09kq  
       Oct 27, 2022
    @nmap 哈哈哈哈哈哈 xswl
    Jaron0608
        24
    Jaron0608  
       Oct 27, 2022 via Android   ❤️ 2
    @nmap 你这波和名字配合的不是很好
    nightRainAnnoy
        25
    nightRainAnnoy  
       Oct 28, 2022
    @nmap 老哥都不带手动狗头保命吗, 哈哈哈哈
    r4aAi04Uk2gYWU89
        26
    r4aAi04Uk2gYWU89  
       Oct 28, 2022
    @nmap 严重怀疑是你写的脚本😄
    zhang77555
        27
    zhang77555  
       Oct 28, 2022
    @nmap 用服务器挖矿属于违约,运营商可以停掉你服务器
    BearCookie
        28
    BearCookie  
       Oct 28, 2022
    大佬怎么发现的
    gaochuax
        29
    gaochuax  
       Oct 28, 2022
    @nmap 你太可爱啦🤣。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5366 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 104ms · UTC 07:53 · PVG 15:53 · LAX 00:53 · JFK 03:53
    ♥ Do have faith in what you're doing.