如何在 ubuntu 上删除 camplz 病毒

如何在 ubuntu 上删除 camplz 病毒

我发现我们的机器上有病毒。它表现出的症状是

  1. 它运行多个名为 camplz 的进程。如果我终止该进程,它会重新启动
  2. 可执行文件位于 /usr/bin 目录下。如果我删除可执行文件,它会重新创建。
  3. 它在 /tmp 下创建名为 config.f 和 ??af???a???mdkkkk 的文件。
  4. 如果我删除这些文件,它们就会被重新创建,它会建立与中国 IP 地址的 IP 连接,并开始以 MB 为单位发送字节,从而增加我的带宽利用率。

    lsof -o shows camplz  26983    root    2u  IPv4 2380650457      0t0  TCP <mydomain.com>:18703->100.42.227.29:18888 (ESTABLISHED)
    

mydomain.com 是一个占位符。

虽然我已经找到了源头,但我不知道如何删除它并清理我的机器。我尽量不想更换机器。目前,我编写了一个简单的脚本来终止进程并删除创建的文件。这很有帮助。然而,这不是一个永久的解决方案。我用了一些病毒扫描软件。但它们没有发现。有人能提出一个解决方案吗?

    #!/bin/bash

    while true; do ps -ef | grep camplz | grep -v grep | awk '{print $2}' |  xargs kill; rm /usr/bin/camplz ; rm /tmp/config.f ; rm /tmp/??af???a???mdkkkk ;  done

答案1

朋友们,昨晚监控了系统,发现系统很稳定。想分享一下我解决问题的经验。

问题陈述 收到托管服务提供商的电子邮件,告知带宽使用量增加了数倍。

寻找来源

  1. 跑去iftop -n查看数据流。显然我的机器正在发送数据。
  2. 运行lsof -ilsof -o找出哪些进程正在发送数据。
  3. 从输出中获取 PIDlsof -o

  4. 跑去ps -e -o cmd,pid,ppid | grep <pid>查看父进程id,发现是1

  5. 运行grep -rnw '/' -e "camplz"以找出所有存在该进程名称的文件
  6. 打开文件来查看脚本的运行情况
  7. 最终删除了所有感染文件并终止了其正在运行的进程

更多具体信息点请参阅评论。但我认为他们可以推迟到个人。

在此过程中编写了一些脚本。希望您觉得它们有用。

出现进程时终止该进程的脚本

    #!/bin/bash

    while true; do ps -ef | grep camplz | grep -v grep | awk '{print $2}' |  xargs kill; rm /usr/bin/camplz ; rm /tmp/config.f ; rm /tmp/??af???a???mdkkkk ;  done

监控带宽使用情况并在发生跳跃时发送电子邮件的脚本

    #!/bin/bash
    log="/root/net.log"
    current_time=$(date "+%Y.%m.%d-%H.%M.%S")
    if [ -z "$1" ]; then
            echo
            echo usage: $0 network-interface
            echo
            echo e.g. $0 eth0
            echo
            echo shows packets-per-second
            exit
    fi

    IF=$1

    while :;
    do
            R1=`cat /sys/class/net/$1/statistics/rx_bytes`
            T1=`cat /sys/class/net/$1/statistics/tx_bytes`
            sleep 10
            R2=`cat /sys/class/net/$1/statistics/rx_bytes`
            T2=`cat /sys/class/net/$1/statistics/tx_bytes`
            TXPPS=`expr $T2 - $T1`
            RXPPS=`expr $R2 - $R1`
            echo "tx $1: $TXPPS bytes/s rx $1: $RXPPS bytes/s"
                    if [ "$TXPPS" -gt 100000000 ]; then
                    mail -s "Data is being transmitted above 100 MB. Please Check" <put your email id here. e.g. [email protected]> < /dev/null
                            echo "$current_time Mail send successfully" >>$log
                    fi
    done

感谢@mikewhatever @DopeGhoti,特别感谢@Serg

相关内容