V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kirito41dd
V2EX  ›  服务器

腾讯云服务器被黑了,想知道怎么做到的,谁能提供排查思路?不能浪费这次机会感觉

  •  
  •   kirito41dd · 2024-04-10 18:25:58 +08:00 · 1926 次点击
    这是一个创建于 366 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我已经强密码了,除了 root 谁都不能登录,今天/var/www/httpd 还是出现了陌生文件

    服务器有以下服务: frp nginx

    有没有大手子能告诉我怎么找原因

    第 1 条附言  ·  2024-04-10 19:55:44 +08:00
    ```
    -rw-r----- 1 root adm 6.9M Apr 10 19:54 auth.log
    -rw-r----- 1 root adm 57M Apr 7 00:00 auth.log.1
    -rw-r----- 1 root adm 988K Mar 31 00:00 auth.log.2.gz
    -rw-r----- 1 root adm 680K Mar 24 00:00 auth.log.3.gz
    -rw-r----- 1 root adm 2.3M Mar 17 00:00 auth.log.4.gz
    ```

    有 50 多 mb 的 ssh log 。。
    第 2 条附言  ·  2024-04-10 20:16:33 +08:00
    投降了,销毁实例
    19 条回复    2024-04-11 01:06:53 +08:00
    JefferyWang
        1
    JefferyWang  
       2024-04-10 18:27:11 +08:00
    也可能是 PHP 程序有漏洞
    LeeReamond
        2
    LeeReamond  
       2024-04-10 18:40:49 +08:00
    1. 密码登录和 root 登录不是好习惯
    2. 虽然但是,root 强密码几乎不认为有安全问题,前提是你确定你的密码足够强,局域网的暴力破解速度也不慢。
    3. 如果遇到 sshd 的暴力破解 varlog 和 history 里应该会有明显特征,大概
    4. frp 业务比较单纯,另外最近似乎没听说有什么漏洞爆出。
    5. 所以照楼主描述反正我是感觉基本上是 web 业务的问题,可能也用了数据库的权限。
    littlefishcc
        3
    littlefishcc  
       2024-04-10 19:30:21 +08:00
    如果不是 root 弱密码就是 web 漏洞,查看自己网站日志,看哪些执行 shell (奇怪请求路径),找一些关键词就能找到对应漏洞了然后进行分析验证。
    同时你可以用云服务商安全中心查看自己服务器有哪些漏洞,查看这些漏洞攻击方法,进行验证即可,可以用 Histroy 看自己执行命令(如果记录没有被清除的话)。
    asdfg17718
        4
    asdfg17718  
       2024-04-10 19:30:46 +08:00 via iPhone
    是不是没关 22 端口,目前挺多做漏扫的,大批量扫服务器,没关的话可以试试。smb 破解攻击也有可能,但这个是针对性的,这种情况比较少见,而且你设置了强密码其实没这么容易的。
    asdfg17718
        5
    asdfg17718  
       2024-04-10 19:32:58 +08:00 via iPhone
    或者你搭建的项目是不是买的源码二开的,目前挺多源码都有漏洞,这种的话你在服务器上做策略就没用了,只有一种办法就是后台 0 信任。
    I3tZ9NgHU44xmaA4
        6
    I3tZ9NgHU44xmaA4  
       2024-04-10 19:36:58 +08:00
    WEB 漏洞?
    给这些没用,你要详细说清楚,自安装系统后,你具体安装过什么程序,你的 WEB 又具体安装什么系统和插件。
    lbp0200
        7
    lbp0200  
       2024-04-10 19:40:59 +08:00
    root:123456
    这是啥? MySQL ? MySQL 端口对外没?
    kirito41dd
        8
    kirito41dd  
    OP
       2024-04-10 19:41:28 +08:00
    @JefferyWang 图里的 php 是黑客起的端口扫描程序。 我 nginx 里就一个 tiddly wiki ,里面倒是有 php
    kirito41dd
        9
    kirito41dd  
    OP
       2024-04-10 19:46:10 +08:00
    @lbp0200 黑客的端口扫描,用密码本在试别的 ssh
    cxh116
        10
    cxh116  
       2024-04-10 19:46:46 +08:00 via Android
    php 也是 root 用户运行的? 那别人拿到 Web Shell 就拿到 root 权限。

    一般服务都是非特权用户启动,防止有漏洞的时候,拿到的也是一个低权限用户,做不了什么事。
    kirito41dd
        11
    kirito41dd  
    OP
       2024-04-10 19:50:12 +08:00
    @testonly 服务上有个 frp 给我内网机器用,nginx 里有个 tiddly wiki
    之前有个 sudo 权限的用户,密码不是很强,我的常用密码
    知道被黑后我改了 root 密码,sudo 用户也禁止登陆了
    昨天腾讯云报警,我上去把可疑程序,httpd 文件夹删了
    今天又出现了新的
    lstz
        12
    lstz  
       2024-04-10 20:00:13 +08:00 via Android
    除了楼上几位说的,还有一点就是要确保你的私钥和密码不存储在任何一台联网的机器,特别是你本地 Windows

    如果你本地装了很多破解软件,或者来路不明的软件,你本机很有可能作为跳板,被搜集.ssh 下的所有密钥,直接爆破 over

    我这里推荐用开源软件 tabby ,它可以让你用一个主密码加密存储所有密钥信息,非常好用
    I3tZ9NgHU44xmaA4
        13
    I3tZ9NgHU44xmaA4  
       2024-04-10 20:01:09 +08:00
    @kirito41dd 问题是你被黑后有没有重做系统?没有的话人家已经做好后门了吧?
    至于第一次被黑,要么被爆要么漏洞,如果你重做系统后,安装回一样东西,密码改强的,还能再黑的话就是你安装的某样东西有漏洞再排查了。
    lstz
        14
    lstz  
       2024-04-10 20:03:02 +08:00 via Android
    还有,能上 docker 就上 docker

    如果我要维护一个老旧的程序,我没详细读过它的源码,那我会用 docker 给它包一层,并且数据库用户也按照最小权限配置
    zeusho871
        15
    zeusho871  
       2024-04-10 20:03:51 +08:00
    redis ?
    kirito41dd
        16
    kirito41dd  
    OP
       2024-04-10 20:05:57 +08:00
    root@PlayHome:/var/log# netstat -nplt
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
    tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/init
    tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 1706020/nginx: mast
    tcp 0 0 0.0.0.0:30033 0.0.0.0:* LISTEN 2173629/docker-prox
    tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 737/sshd: /usr/sbin
    tcp 0 0 0.0.0.0:41144 0.0.0.0:* LISTEN 2173609/docker-prox
    tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1200/exim4
    tcp 0 0 0.0.0.0:10011 0.0.0.0:* LISTEN 2173651/docker-prox
    tcp 0 0 0.0.0.0:443 0.0.0.0:* LISTEN 1706020/nginx: mast
    tcp 0 0 0.0.0.0:444 0.0.0.0:* LISTEN 1706020/nginx: mast
    tcp6 0 0 :::10443 :::* LISTEN 2651693/./frps
    tcp6 0 0 :::7500 :::* LISTEN 2651693/./frps
    tcp6 0 0 :::111 :::* LISTEN 1/init
    tcp6 0 0 :::80 :::* LISTEN 1706020/nginx: mast
    tcp6 0 0 :::30033 :::* LISTEN 2173634/docker-prox
    tcp6 0 0 :::22 :::* LISTEN 737/sshd: /usr/sbin
    tcp6 0 0 :::7000 :::* LISTEN 2651693/./frps
    tcp6 0 0 :::41144 :::* LISTEN 2173617/docker-prox
    tcp6 0 0 ::1:25 :::* LISTEN 1200/exim4
    tcp6 0 0 :::10011 :::* LISTEN 2173657/docker-prox
    tcp6 0 0 :::443 :::* LISTEN 1706020/nginx: mast
    tcp6 0 0 :::10080 :::* LISTEN 2651693/./frps
    tcp6 0 0 :::2017 :::* LISTEN 1562/v2raya
    kirito41dd
        17
    kirito41dd  
    OP
       2024-04-10 20:08:22 +08:00
    找不到线索了,我觉得唯一可能是我之前留了一个 sudo 用户,密码强度一般,可能它被爆破了,11 位纯英文,可能泄露过在密码本有
    hefish
        18
    hefish  
       2024-04-10 20:32:01 +08:00
    你这怎么找线索啊,跑了啥都不说清楚,估计 op 是认定是从 ssh 里进来的了。 实际进来的方式多得是。
    JKOR
        19
    JKOR  
       2024-04-11 01:06:53 +08:00 via Android
    禁止密码登陆,改为秘钥验证;查看 nginx 日志;用 fail2ban 限制 ip
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2281 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 68ms · UTC 00:27 · PVG 08:27 · LAX 17:27 · JFK 20:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.