哪吒探针中招的,让GPT写个清理脚本,然后在关闭哪吒就好了

TK神话王思聪 2026-06-17 10:14 1

在关掉远程访问这个功能就行了,我没有理解为什么哪吒探针要加个远程访问功能,这玩意不应该是一个探针吗,加那么多功能做什么?

最新回复 (20)
  • aseenm 06-17 10:15
    1

    懒得SSH 。。

  • 唯爱 06-17 10:16
    2

    ^-^ 你还别说我有次ssh密钥丢了,还是靠哪吒救回来的

  • shen1e 06-17 10:16
    3

    万一没清理干净呢

  • 山羊 06-17 10:17
    4

    探针去做webssh 我是真有点不理解的 这功能真的非常之鸡肋

    不管手机 还是 电脑 用webssh

  • 三七 06-17 10:18
    5

    这次哪吒的漏洞权限太高了


    可以直接终端root权限控制你的小鸡做任何事


    万一有木马呢

  • TK神话王思聪 楼主 06-17 10:19
    6

    @三七 #5 应该好像没有,我清理好几遍,查看流量,没有任何异常了。 GPT太强了

  • TK神话王思聪 楼主 06-17 10:19
    7

    @shen1e #3 如果GPT都查不出来,那么他的技术也是挺好的

  • 5080 06-17 10:19
    8

    来 分享一下脚本

  • huilang 06-17 10:21
    9

    已经中招的还是重装为好

  • TK神话王思聪 楼主 06-17 10:22
    10

    @5080 #8


    可疑的进程是 /shm/.kworker_u8 这个进程


    cat > /root/onekey_clean.sh <<'EOF'

    #!/usr/bin/env bash

    set +e


    LOG="/root/onekey_clean_$(date +%F_%H%M%S).log"

    QDIR="/root/malware_quarantine_$(date +%F_%H%M%S)"

    mkdir -p "$QDIR"


    exec > >(tee -a "$LOG") 2>&1


    echo "===== OneKey Clean Start: $(date) ====="


    if [ "$EUID" -ne 0 ]; then

    echo "请用 root 执行"

    exit 1

    fi


    IOC_REGEX='(/shm/.kworker|/dev/shm/.kworker|/tmp/.kworker|/var/tmp/.kworker|kworker_u8|kdevtmpfsi|kinsing|xmrig|.xmrig)'


    echo

    echo "===== 1. 当前可疑进程 ====="

    ps aux | grep -Ei "$IOC_REGEX" | grep -v grep || echo "未发现明显可疑进程"


    echo

    echo "===== 2. 杀掉可疑进程 ====="

    for pat in "/shm/.kworker" "/dev/shm/.kworker" "/tmp/.kworker" "/var/tmp/.kworker" "kworker_u8" "kdevtmpfsi" "kinsing" "xmrig" ".xmrig"; do

    PIDS=$(pgrep -f "$pat")

    if [ -n "$PIDS" ]; then

    echo "发现 $pat 进程: $PIDS"

    kill $PIDS 2>/dev/null

    sleep 2

    kill -9 $PIDS 2>/dev/null

    fi

    done


    echo

    echo "===== 3. 备份并删除可疑文件 ====="

    for f in

    /shm/.kworker*

    /dev/shm/.kworker*

    /tmp/.kworker*

    /var/tmp/.kworker*

    /tmp/kdevtmpfsi

    /var/tmp/kdevtmpfsi

    /tmp/kinsing

    /var/tmp/kinsing

    /tmp/xmrig

    /var/tmp/xmrig

    /tmp/.xmrig

    /var/tmp/.xmrig

    do

    if [ -e "$f" ]; then

    echo "备份并删除: $f"

    cp -a "$f" "$QDIR/" 2>/dev/null

    rm -rf "$f"

    fi

    done


    rmdir /shm 2>/dev/null


    echo

    echo "===== 4. 清理 crontab 自启动 ====="


    clean_file() {

    local file="$1"

    [ -f "$file" ] || return

    if grep -Eq "$IOC_REGEX" "$file"; then

    echo "清理可疑启动项: $file"

    cp -a "$file" "$file.bak.onekey_clean" 2>/dev/null

    tmpf=$(mktemp)

    grep -Ev "$IOC_REGEX" "$file" > "$tmpf"

    cat "$tmpf" > "$file"

    rm -f "$tmpf"

    fi

    }


    clean_file /etc/crontab


    for f in /etc/cron.d/* /var/spool/cron/* /var/spool/cron/crontabs/*; do

    clean_file "$f"

    done


    TMPCRON=$(mktemp)

    crontab -l 2>/dev/null > "$TMPCRON"

    if grep -Eq "$IOC_REGEX" "$TMPCRON"; then

    echo "清理 root crontab"

    cp "$TMPCRON" "$QDIR/root_crontab.bak" 2>/dev/null

    grep -Ev "$IOC_REGEX" "$TMPCRON" | crontab -

    fi

    rm -f "$TMPCRON"


    echo

    echo "===== 5. 清理 systemd 可疑服务 ====="

    FOUND_UNITS=$(grep -RIlE "$IOC_REGEX" /etc/systemd/system /lib/systemd/system 2>/dev/null)

    for f in $FOUND_UNITS; do

    echo "发现可疑 systemd 文件: $f"

    cp -a "$f" "$f.bak.onekey_clean" 2>/dev/null

    svc=$(basename "$f")

    systemctl disable --now "$svc" 2>/dev/null

    mv "$f" "$f.disabled_by_onekey_clean" 2>/dev/null

    done

    systemctl daemon-reload 2>/dev/null


    echo

    echo "===== 6. 添加/修复 4G swap ====="

    SWAP_MB=$(free -m | awk '/^Swap:/ {print $2}')

    if [ -z "$SWAP_MB" ]; then

    SWAP_MB=0

    fi


    if [ "$SWAP_MB" -lt 3000 ]; then

    echo "当前 swap 小于 3G,开始配置 4G swap"

    swapoff /swapfile 2>/dev/null

    fallocate -l 4G /swapfile 2>/dev/null || dd if=/dev/zero of=/swapfile bs=1M count=4096

    chmod 600 /swapfile

    mkswap /swapfile

    swapon /swapfile

    grep -q '^/swapfile ' /etc/fstab || echo '/swapfile none swap sw 0 0' >> /etc/fstab

    else

    echo "swap 已经足够,跳过"

    fi


    echo

    echo "===== 7. 加固哪吒 Agent,关闭远程命令能力 ====="

    for cfg in /opt/nezha/agent/config.yml /opt/nezha/agent/config.yaml; do

    if [ -f "$cfg" ]; then

    echo "处理哪吒配置: $cfg"

    cp -a "$cfg" "$cfg.bak.onekey_clean" 2>/dev/null


    set_bool() {
    local key="$1"
    local val="$2"
    if grep -q "^${key}:" "$cfg"; then
    sed -i "s/^${key}:.*/${key}: ${val}/" "$cfg"
    else
    echo "${key}: ${val}" >> "$cfg"
    fi
    }

    set_bool disable_command_execute true
    set_bool disable_force_update true
    set_bool disable_nat true

    systemctl restart nezha-agent 2>/dev/null

    fi

    done


    echo

    echo "===== 8. 重启 DNS 服务 ====="

    systemctl restart systemd-resolved 2>/dev/null


    echo

    echo "===== 9. 检查 SSH 登录记录 ====="

    last -ai | head -30


    echo

    echo "===== 10. 检查 SSH authorized_keys ====="

    if [ -f /root/.ssh/authorized_keys ]; then

    echo "请检查下面有没有陌生 key:"

    cat /root/.ssh/authorized_keys

    else

    echo "没有发现 /root/.ssh/authorized_keys"

    fi


    echo

    echo "===== 11. 清理后 CPU 前 20 ====="

    ps aux --sort=-%cpu | head -20


    echo

    echo "===== 12. 清理后内存前 20 ====="

    ps aux --sort=-%mem | head -20


    echo

    echo "===== 13. 再查可疑项 ====="

    ps aux | grep -Ei "$IOC_REGEX" | grep -v grep || echo "未发现可疑进程"

    grep -R "kworker_u8|/shm|.kworker|xmrig|kinsing|kdevtmpfsi" /etc/cron* /var/spool/cron* /etc/systemd/system /root 2>/dev/null || echo "未发现明显可疑自启动"


    echo

    echo "===== 14. 当前内存 ====="

    free -h


    echo

    echo "===== 完成 ====="

    echo "日志文件: $LOG"

    echo "可疑文件备份目录: $QDIR"

    echo "建议:如果这台机器已经中毒,最稳还是重装系统并更换 root 密码/SSH key。"

    EOF


    chmod +x /root/onekey_clean.sh

    bash /root/onekey_clean.sh

  • xcctc 06-17 10:22
    11

    没用,早几天就开始拖库了,拿了root你也不知道它在干啥

  • TK神话王思聪 楼主 06-17 10:23
    12

    我不会发代码块这个 这个咋弄啊

  • Doris 06-17 10:23
    13

    机子比较多有时候面板记不住又不想登录shell,就直接webssh进去看

  • TK神话王思聪 楼主 06-17 10:23
    14

    项目组瞎瘠薄弄,想一出是一出。

  • TK神话王思聪 楼主 06-17 10:24
    15

    @Doris #13 。。。。懒人都没中招。。。。

  • ivanhao 06-17 10:27
    16

    中招了 直接按个重装系统

  • Emmmc 06-17 10:30
    17

    @TK神话王思聪 #7


    高级一点的几乎查不出来,你不知道他注入了那个进程,什么时候会在拉起来。最好还是重装

  • shen1e 06-17 10:46
    18

    @TK神话王思聪 #7

    gpt 那么强,安全公司干脆全失业得了,养了一群废物

  • xuemao 06-17 10:48
    19

    没必要这么麻烦,直接重装系统

  • TK神话王思聪 楼主 06-17 11:11
    20

    @shen1e #18 A社更强啊 好像真比人类更强啊

* 帖子来源NodeSeek
返回