Author

Topic: Вредоносное ПО использует блокчейн Doge (Read 199 times)

legendary
Activity: 2618
Merit: 1505
  Продолжение предыдущего поста  
                        
  Стоит отметить, что после генерации домена вредоносная программа гарантирует, что это не "46927e019820", а именно то, что генерируется для "0.000000", что означает, что ни один Dogecoin никогда не передавался из кошелька. В случае, если этот домен создан, вредоносная программа выйдет без продолжения.

                                                                                                  

 В противном случае вредоносная программа продолжает загружать сценарий оболочки, связываясь со своим C2 через HTTPS, используя URL-адрес /update.sh и сохраняя возвращенные данные как /tmp/update.sh.
 Затем он разрешит PID и путь текущего процесса, которые будут использоваться в качестве аргументов скрипта, и продолжит выполнение скрипта, выполнив: / bin / sh -c ./update.sh

                                                                                                    

 Тем временем основной поток вредоносного ПО считывает данные из STDIN(Стандартные потоки ввода-вывода в системах типа UNIX), ожидая получить двоичные данные из этого сценария оболочки. Аргументы передаются скрипту, чтобы он мог взаимодействовать с вредоносным ПО таким образом чтобы получать код для выполнения. Если данные получены через STDIN, вредоносная программа сохраняет себя в виде файла под /tmp, выбирая свое имя случайным образом из предопределенного списка модулей ядра Linux.

                                                                                                      

 Это очень простой метод обмана, это не то, что обычно встречается в вредоносных программах Linux, которые не утруждают себя маскировкой под системные файлы. Наконец, вредоносная программа переходит в режим ветвления, когда дочерний процесс выполняет файл, а основной процесс повторяет цикл, чтобы повторить логический поток вредоносной программы.

                                                                                                                                                        
Итог
 
  
 Кампания Ngrok Botnet продолжается уже более двух лет и является довольно эффективной, заражая любой неправильно настроенный сервер Docker API в течение нескольких часов. Включение  уникального и не обнаруживаемого вредоносного ПО Doki указывает на то, что операция продолжает развиваться. Эта атака очень опасна из-за того, что злоумышленник использует методы выхода из контейнера, чтобы получить полный контроль над инфраструктурой жертвы. Наши данные показывают, что для  заражения этой кампанией требуется всего несколько часов с момента, когда новый неправильно настроенный сервер Docker подключен к сети.

                                                                                                                    
Немедленные действия, требуемые владельцами контейнерных серверов

 Как компании, так и частные лица, владеющие контейнерными серверами в облаке, должны немедленно исправить конфигурацию, чтобы предотвратить воздействие. Это включает в себя: проверку наличия любых открытых портов, проверку отсутствия foregin или неизвестных контейнеров среди существующих контейнеров, а также мониторинг чрезмерного использования ресурсов.

 Мы рекомендуем Вам прочитать нашу статью рекомендации по обеспечению безопасности среды выполнения Docker.  
 Вы также можете запустить наше правило YARA на своих облачных серверах, чтобы  проверить, не были ли вы заражены этим вредоностным ПО.

                                                                                                                                        
Как Intezer Protect смогла обнаружить Doki

Мы обнаружили эту угрозу с помощью нашей облачной платформы защиты рабочей нагрузки (CWPP) Intezer Protect. Установленный на компьютере с Linux, Intezer Protect распознает неизвестный код, выполненный в памяти сервера. После проведения генетического анализа платформа пришла к выводу, что код никогда еще не встречался, это  означает, что он полностью новый и, следовательно, вероятно, вредоносная программа была написана полностью с нуля. Это одна из причин, по которой в отрасли внедряется Zero Trust Executionдля обеспечения безопасности облачных рабочих нагрузок.

legendary
Activity: 2618
Merit: 1505
   перевод статьи:Watch Your Containers: Doki Infecting Docker Servers in the Cloud
   Авторы:Nicole Fishbein и Michael Kajiloti - 28 July 2020

                                                                                                                                                                                            
                                                                                                                    Следите за своими контейнерами: Doki заражает серверы Docker в облаке

                                                                                                                                                               Основные выводы

   Ngrok Mining Botnet - это активная кампания, нацеленная на открытые серверы Docker в AWS, Azure  и  другие облачные платформы. Она активна как минимум два года. Мы обнаружили недавнюю атаку, которая включает в себя совершенно неизвестный вредоносный код Linux и ранее незадокументированный метод, использующий блокчейн-кошелек для генерации доменных имен C&C. Любой человек с публично открытым Docker API доступом подвергается высокому риску быть взломанным в течение всего лишь нескольких часов. Это, вероятно, связано с автоматизированным и непрерывным сканированием хакерами всего интернета в поисках уязвимых жертв.
Новая вредоносная программа, получившая название "Doki", не была обнаружена ни одним из 60 механизмов обнаружения вредоносных программ в VirusTotal с тех пор, как она была впервые проанализирована 14 января 2020 года. Злоумышленник использует зараженных жертв для поиска дополнительных уязвимых облачных серверов.

                                                                                                                                                                   Введение

  Угрозы Linux становятся все более распространенными. Способствующим фактором является растущая зависимость от облачных сред, которые в основном базируются на Linux инфраструктуре. Поэтому злоумышленники соответствующим образом адаптируются с помощью новых инструментов и методов, разработанных специально для этой инфраструктуры. Одним из методов, ставших популярными, является использование неправильно настроенных портов Docker API, когда злоумышленники сканируют общедоступные Docker-серверы и используют их для
создания своих собственных контейнеров и запуска вредоносных программ в инфраструктуре жертвы.

Одной из самых продолжительных кампаний атак, использующих порты Docker API, является ботнет Ngrok, о котором ранее сообщали исследователи из Netlab и Trend Micro
В рамках атаки злоумышленники использует функции конфигурации Docker, чтобы избежать стандартных ограничений контейнера и выполнить различные вредоносные полезные нагрузки от хоста. Они также развертывают сетевой сканер и используют его для сканирования IP-диапазонов облачных провайдеров в поисках дополнительных потенциально уязвимых целей. Наши данные показывают, что для заражения этой кампанией требуется всего несколько часов с момента, когда новый неправильно настроенный сервер Docker был подключен к сети.

Недавно мы обнаружили новую полезную нагрузку вредоносных программ, которая отличается от стандартных крипто-майнеров, обычно развернутых в этой атаке. Вредоносная программа представляет собой не обнаруживаемый бэкдор, который мы назвали Doki.

Doki использует ранее не документированный метод, для связи со своим оператором(злоумышленником), используя блокчейн криптовалюты Dogecoin, чтобы динамически генерировать адрес своего домена C2. Вредоносная программа смогла оставаться вне поле зрения более шести месяцев, несмотря на то, что ее образцы были публично доступны в VirusTotal. В этой статье мы расскажем об атаке и подробно рассмотрим методы, которые были применены необнаруженным бэкдором Doki.

                                                                                                                                                                         Атака

 Угроза нацелена на неправильно сконфигурированные контейнерные среды в облаке. Злоумышленники сканируют общедоступные порты Docker API и используют их для настройки своих собственных контейнеров и запуска вредоносных программ в инфраструктуре жертв. Во время этой атаки злоумышленники создают и удаляют несколько контейнеров. Каждый контейнер, созданный во время атаки, основан на alpine образе с установленным curl. Образ доступен на Docker hub. Сам образ не является вредоносным, а используется для совершения вредоносных действий. Используя образ, содержащий программное обеспечение curl, команды curl выполняются сразу же после запуска контейнера.  

Преимущество использования общедоступного образа заключается в том, что злоумышленнику не нужно прятать его в Docker hub или других хостингах. Вместо этого злоумышленники могут использовать существующий образ и запускать поверх него свою собственную логику и вредоносное ПО. Как уже упоминалось выше, злоумышленники могут создать любой контейнер, однако для выполнения кода с хост-машины они должны использовать метод экранирования контейнера. Этот метод основан на создании нового контейнера, выполняемого путем  размещения API запроса ‘create’. Тело запроса содержит параметры конфигурации для контейнера. Одним из параметров является bind, который позволяет пользователю настроить, какой файл или каталог на хост-машине монтировать в контейнер. Контейнеры, созданные во время атаки, настроены на привязку каталога /tmpXXXXXX к корневому каталогу хост-сервера. Это означает, что каждый файл в файловой системе сервера может быть доступен и даже изменен, с правильными разрешениями пользователя, из этих контейнеров.

Ngrok - это сервис, который предоставляет безопасные туннели для соединения между локальными серверами и общедоступным Интернетом. Злоумышленник использует Ngrok для создания уникальных URL-адресов с коротким временем жизни и использует их для загрузки полезных данных во время атаки, передавая их в образ на основе curl. Загруженная полезная нагрузка сохраняется в каталоге  /tmpXXXXXX в контейнере.

                                                                                                                    
                                                                                                                         команда, создавшая контейнер, как видно из системного журнала атакуемого сервера

Используя конфигурацию привязки, злоумышленник может управлять утилитой cron хоста. Атакующий модифицирует cron хоста для выполнения загруженной полезной нагрузки каждую минуту. Мы наблюдали два типа полезных нагрузок: один - скрипт сетевого сканера, а другой - скрипт загрузчика.

                                                                                                                      
                                                                                                                                      

Сетевой сканер использует zmap zgrap и jq для сканирования портов, связанных с Redis, Docker, SSH и HTTP. Используя список жестко заданных диапазонов IP-адресов, которые в основном принадлежат облачным серверам, таким как AWS и локальным облачным провайдерам в зарубежных регионах (мы видели провайдеров из Китая, Австрии и Великобритании). Скрипт загрузчика отвечает за загрузку и установку различных вредоносных двоичных файлов, часто одного из нескольких хорошо известных криптомайнеров. Мы заметили, что он также может установить полностью необнаруживаемый вредоносный компонент.Мы назвали эту вредоносную программу Doki и предоставим технический анализ в следующем разделе. Злоумышленник имеет полный контроль над конфигурацией создаваемого им контейнера и файлами, которые попадают в него. Используя API команды, злоумышленник может выйти из созданного им контейнера и выполнить любой код на самом сервере.

                                                                                                                                                                   Вредоносная Программа Doki

  Doki-это бэкдор для Linux, функция которого заключается в выполнении кода, полученного от его операторов. Вредоносная программа использует сервис DynDNS и уникальный алгоритм генерации доменов (DGA), основанный на блокчейне Dogecoin, чтобы найти свой домен C2 в режиме реального времени. Вредоносная программа представляет собой необнаруживаемый бэкдор. Ему удалось остаться незамеченным в течение более шести месяцев, несмотря на то, что он был загружен в базуVirusTotal еще 14 января 2020 года и с тех пор несколько раз сканировался.

                                                                                                                              

  Doki является многопоточным и использует библиотеку embedTLS для криптографических функций и сетевого взаимодействия. При запуске вредоносная программа создаст отдельный поток для обработки всех сообщений C2.
Вредоносная программа начинается с создания домена C2 с использованием его уникального DGA. Для построения адреса C2 вредоносная программа выполняет следующие действия:

                             1. Посылает запрос dogechain.info API, проводника блоков Dogecoin, для значения, которое было отправлено (потрачено) с закодированного адреса кошелька, контролируемого злоумышленником.
                                 Формат запроса таков: https://dogechain.info/api/v1/address/sent / {адрес}
                              
                             2. Выполняет SHA256 в отношении значения, возвращенного из строки "sent".

                             3. Сохраняет первые 12 символов из шестнадцатеричного значения SHA256 для использования в качестве поддомена.

                             4. Создает полный адрес, добавив поддомен к ddns.net. примером домена может служить: 6d77335c4f23[.]ddns[.]net

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

                            
Jump to: