Аналитики исследовали троянец Linux.Mirai используемый для DDoS-атак

Аналитики исследовали троянец Linux.Mirai используемый для DDoS-атак

Аналитики исследовали троянец Linux.Mirai используемый для DDoS-атак

Более ранние модификации этой вредоносной программы уже были изучены, поэтому в обновленной версии Linux.Mirai специалисты смогли найти признаки предыдущих версий и даже характерные черты троянцев других семейств.

Первая версия вредоносной программы для Linux, которая впоследствии получила название Linux.Mirai, появилась еще в мае 2016 года и была добавлена в вирусные базы Dr.Web под именем Linux.DDoS.87. Этот троянец, способный работать на устройствах с архитектурой х86, ARM, MIPS, SPARC, SH-4 и M68K, предназначен для организации атак на отказ в обслуживании, то есть DDoS-атак.

Linux.DDoS.87 содержит в своем коде ряд ошибок, которые были устранены вирусописателями в последующих версиях. Этот троянец имеет определенное сходство с вредоносными программами семейства Linux.BackDoor.Fgt, об одном из представителей которого мы уже писали в ноябре 2014 года. После запуска на зараженном устройстве Linux.DDoS.87 ищет в памяти процессы других троянских программ и прекращает их выполнение. Чтобы избежать случайной остановки собственного процесса, троянец создает в своей папке файл с именем .shinigami и периодически проверяет его наличие. Затем Linux.DDoS.87 пытается установить соединение со своим управляющим сервером для получения дальнейших инструкций. На сервер отправляется идентификатор, определяющий архитектуру инфицированного компьютера, и сведения о MAC-адресе сетевой карты, пишет news.drweb.ru.

По команде злоумышленников Linux.DDoS.87 способен выполнять следующие виды DDoS-атак:

  • UDP flood;
  • UDP flood over GRE;
  • DNS flood;
  • TCP flood (несколько разновидностей);
  • HTTP flood.

Максимальный срок непрерывной работы Linux.DDoS.87 на инфицированной машине составляет одну неделю, по истечении которой троянец завершает собственный процесс.

В начале августа 2016 года вирусные аналитики компании «Доктор Веб» обнаружили новую версию этого опасного троянца, получившую наименование Linux.DDoS.89. Эта вредоносная программа имеет множество общих черт со своей предшественницей, однако прослеживаются и характерные отличия от Linux.DDoS.87. Например, в обновленной версии изменился порядок действий при запуске троянца. Механизм защиты от выгрузки собственного процесса также претерпел изменения: теперь вредоносная программа не пытается определить наличие специального файла в собственной папке, а выполняет проверку на основе идентификатора процесса (PID). Среди отсылаемой Linux.DDoS.89 на управляющий сервер информации отсутствует МАС-адрес сетевого адаптера. Кроме того, из списка поддерживаемых типов атак исчез HTTP flood. В то же время формат получаемых от злоумышленников команд остался прежним. Кроме того, в Linux.DDoS.89 появился новый компонент — telnet-сканнер, который ранее использовался во всех версиях Linux.BackDoor.Fgt. Этот сканер предназначен для поиска в сети уязвимых устройств и несанкционированного подключения к ним по протоколу telnet.

В конце августа – начале сентября была обнаружена еще одна обновленная версия этого троянца, получившая название Linux.Mirai. В некоторых образцах вредоносной программы появилась функция самоудаления. Троянец научился отключать предотвращающий зависание операционной системы сторожевой таймер watchdog (чтобы исключить перезагрузку устройства), а в перечень выполняемых типов атак вернулся HTTP flood. Тем не менее, Linux.Mirai во многом похож на своих предшественников. Для сравнения на иллюстрации ниже показан фрагмент кода Linux.DDoS.87 (слева) и Linux.Mirai (справа).

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

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

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

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

RSS: Новости на портале Anti-Malware.ru