Suicide
21.08.2020, 01:41
Компания Guardicore, специализирующаяся на защите датацентров и облачных систем, выявила (https://www.guardicore.com/2020/08/fritzfrog-p2p-botnet-infects-ssh-servers/) новое высокотехнологичное вредоносное ПО FritzFrog, поражающее серверы на базе Linux. FritzFrog сочетает в себе червь, распространяющийся через bruteforce-атаку на серверы с открытым портом SSH, и компоненты для построения децентрализованного ботнета, работающего без управляющих узлов и не имеющего единой точки отказа.
Для построения ботнента применяется собственный P2P-протокол, в котором узлы взаимодействуют между собой, координируют организацию атак, поддерживают работу сети и контролируют состояние друг друга. Новые жертвы находятся путём проведения bruteforce-атаки на серверы, принимающие запросы по SSH. При обнаружении нового сервера выполняется перебор по словарю типовых сочетаний из логинов и паролей. Управление может производиться через любой узел, что усложняет выявление и блокирование операторов ботнета.
По данным исследователей ботнет уже насчитывает около 500 узлов, в числе которых оказались серверы нескольких университетов и крупной железнодорожной компании. Отмечается, что основной целью атаки являются сети образовательных учреждений, медицинских центров, государственных учреждений, банков и телекоммуникационных компаний. После компрометации сервера на нём организуется процесс майнинга крипотвалюты Monero. Активность рассматриваемого вредоносного ПО прослеживается с января 2020 года.
Особенностью FritzFrog является то, что он держит все данные и исполняемый код только в памяти. Изменения на диске сводятся только к добавлению нового SSH-ключа в файл authorized_keys, который в дальнейшем используется для доступа к серверу. Системные файлы не изменяются, что делает червь незаметным для систем проверяющих целостность по контрольным суммам. В памяти в том числе держатся словари для перебора паролей и данные для майнинга, которые синхронизируются между узлами при помощи P2P-протокола.
Вредоносные компоненты камуфлируются под процессы "ifconfig", "libexec", "php-fpm" и "nginx". Узлы ботнета отслеживают состояние соседей и в случае перезагрузки сервера или даже переустановки ОС (если в новую систему был перенесён изменённый файл authorized_keys) повторно активируют вредоносные компоненты на хосте. Для коммуникации используется штатный SSH - вредоносное ПО дополнительно запускает локальный "netcat", привязывающийся к интерфейсу localhost и слушающий трафик на порту 1234, к которому внешние узлы обращаются через SSH-туннель, используя для подключения ключ из authorized_keys.
https://www.opennet.ru/opennews/pics_base/0_1597911509.jpg (https://www.guardicore.com/wp-content/uploads/2020/08/frog-attack-1030x601.jpg)
Код компонентов FritzFrog написан на языке Go и работает в многопоточном режиме. Вредоносное ПО включает несколько модулей, запускаемых в разных потоках:
Cracker - выполняет подбор паролей на атакуемых серверах.
CryptoComm + Parser - организует шифрованное P2P-соединение.
CastVotes - механизм совместного выбора целевых хостов для атаки.
TargetFeed - получает список узлов для атаки от соседних узлов.
DeployMgmt - реализация червя, распространяющего вредоносный код на взломанный сервер.
Owned - отвечает за соединение к серверам, на которых уже запущен вредоносный код.
Assemble - собирает файл в памяти из отдельно передаваемых блоков.
Antivir - модуль подавления конкурирующих вредоносных программ, определяет и завершает процессы со строкой "xmr", потребляющие ресурсы CPU.
Libexec - модуль для майнинга криповалюты Monero.
Применяемый в FritzFrog P2P-протокол поддерживает около 30 команд, отвечающих за передачу данных между узлами, запуск скриптов, передачу компонентов вредоносного ПО, опрос состояния, обмен логами, запуск прокси и т.п. Информация передаётся по отдельному шифрованному каналу с сериализацией в формат JSON. Для шифрования применяется ассиметричный шифр AES и кодирование Base64. Для обмена ключами используется протокол DH (Diffie-Hellman (https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange)). Для определения состояния узлы постоянно обмениваются ping-запросами.
Все узлы ботнета поддерживают распределённую БД с информацией об атакуемых и скомпрометированных системах. Цели для атаки синхронизируются по всему ботнету - каждый узел атакует отдельную цель, т.е. два разных узла ботнента не будут атаковать один и тот же хост. Узлы также собирают и передают соседям локальную статистику, такую как размер свободной памяти, uptime, нагрузка на CPU и активность входов по SSH. Данная информация используется для решения о запуске процесса майнинга или использования узла только для атаки других систем (например, майнинг не запускается на нагруженных системах или системах с частым подключением администратора).
Для выявления FritzFrog исследователями предложен простой shell-скрипт (https://github.com/guardicore/labs_campaigns/blob/master/FritzFrog/detect_fritzfrog.sh). Для определения поражения системы могут использоваться такие признаки как наличие слушающего соединения на порту 1234, присутствие вредоносного ключа (https://github.com/guardicore/labs_campaigns/blob/master/FritzFrog/ssh_key.md) в authorized_keys (на всех узлы устанавливается одинаковый SSH-ключ) и присутствие в памяти запущенных процессов "ifconfig", "libexec", "php-fpm" и "nginx", не имеющих связанных исполняемых файлов ("/proc//exe" указывает на удалённый файл). Признаком также может служить наличие трафика на сетевой порт 5555, возникающего при обращении вредоносного ПО к типовому пулу web.xmrpool.eu в процессе майнинга криптовалюты Monero.
20.08.2020
https://www.opennet.ru/opennews/art.shtml?num=53573
Для построения ботнента применяется собственный P2P-протокол, в котором узлы взаимодействуют между собой, координируют организацию атак, поддерживают работу сети и контролируют состояние друг друга. Новые жертвы находятся путём проведения bruteforce-атаки на серверы, принимающие запросы по SSH. При обнаружении нового сервера выполняется перебор по словарю типовых сочетаний из логинов и паролей. Управление может производиться через любой узел, что усложняет выявление и блокирование операторов ботнета.
По данным исследователей ботнет уже насчитывает около 500 узлов, в числе которых оказались серверы нескольких университетов и крупной железнодорожной компании. Отмечается, что основной целью атаки являются сети образовательных учреждений, медицинских центров, государственных учреждений, банков и телекоммуникационных компаний. После компрометации сервера на нём организуется процесс майнинга крипотвалюты Monero. Активность рассматриваемого вредоносного ПО прослеживается с января 2020 года.
Особенностью FritzFrog является то, что он держит все данные и исполняемый код только в памяти. Изменения на диске сводятся только к добавлению нового SSH-ключа в файл authorized_keys, который в дальнейшем используется для доступа к серверу. Системные файлы не изменяются, что делает червь незаметным для систем проверяющих целостность по контрольным суммам. В памяти в том числе держатся словари для перебора паролей и данные для майнинга, которые синхронизируются между узлами при помощи P2P-протокола.
Вредоносные компоненты камуфлируются под процессы "ifconfig", "libexec", "php-fpm" и "nginx". Узлы ботнета отслеживают состояние соседей и в случае перезагрузки сервера или даже переустановки ОС (если в новую систему был перенесён изменённый файл authorized_keys) повторно активируют вредоносные компоненты на хосте. Для коммуникации используется штатный SSH - вредоносное ПО дополнительно запускает локальный "netcat", привязывающийся к интерфейсу localhost и слушающий трафик на порту 1234, к которому внешние узлы обращаются через SSH-туннель, используя для подключения ключ из authorized_keys.
https://www.opennet.ru/opennews/pics_base/0_1597911509.jpg (https://www.guardicore.com/wp-content/uploads/2020/08/frog-attack-1030x601.jpg)
Код компонентов FritzFrog написан на языке Go и работает в многопоточном режиме. Вредоносное ПО включает несколько модулей, запускаемых в разных потоках:
Cracker - выполняет подбор паролей на атакуемых серверах.
CryptoComm + Parser - организует шифрованное P2P-соединение.
CastVotes - механизм совместного выбора целевых хостов для атаки.
TargetFeed - получает список узлов для атаки от соседних узлов.
DeployMgmt - реализация червя, распространяющего вредоносный код на взломанный сервер.
Owned - отвечает за соединение к серверам, на которых уже запущен вредоносный код.
Assemble - собирает файл в памяти из отдельно передаваемых блоков.
Antivir - модуль подавления конкурирующих вредоносных программ, определяет и завершает процессы со строкой "xmr", потребляющие ресурсы CPU.
Libexec - модуль для майнинга криповалюты Monero.
Применяемый в FritzFrog P2P-протокол поддерживает около 30 команд, отвечающих за передачу данных между узлами, запуск скриптов, передачу компонентов вредоносного ПО, опрос состояния, обмен логами, запуск прокси и т.п. Информация передаётся по отдельному шифрованному каналу с сериализацией в формат JSON. Для шифрования применяется ассиметричный шифр AES и кодирование Base64. Для обмена ключами используется протокол DH (Diffie-Hellman (https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange)). Для определения состояния узлы постоянно обмениваются ping-запросами.
Все узлы ботнета поддерживают распределённую БД с информацией об атакуемых и скомпрометированных системах. Цели для атаки синхронизируются по всему ботнету - каждый узел атакует отдельную цель, т.е. два разных узла ботнента не будут атаковать один и тот же хост. Узлы также собирают и передают соседям локальную статистику, такую как размер свободной памяти, uptime, нагрузка на CPU и активность входов по SSH. Данная информация используется для решения о запуске процесса майнинга или использования узла только для атаки других систем (например, майнинг не запускается на нагруженных системах или системах с частым подключением администратора).
Для выявления FritzFrog исследователями предложен простой shell-скрипт (https://github.com/guardicore/labs_campaigns/blob/master/FritzFrog/detect_fritzfrog.sh). Для определения поражения системы могут использоваться такие признаки как наличие слушающего соединения на порту 1234, присутствие вредоносного ключа (https://github.com/guardicore/labs_campaigns/blob/master/FritzFrog/ssh_key.md) в authorized_keys (на всех узлы устанавливается одинаковый SSH-ключ) и присутствие в памяти запущенных процессов "ifconfig", "libexec", "php-fpm" и "nginx", не имеющих связанных исполняемых файлов ("/proc//exe" указывает на удалённый файл). Признаком также может служить наличие трафика на сетевой порт 5555, возникающего при обращении вредоносного ПО к типовому пулу web.xmrpool.eu в процессе майнинга криптовалюты Monero.
20.08.2020
https://www.opennet.ru/opennews/art.shtml?num=53573