На прошлой неделе исследователи из «Лаборатории Касперского» обнаружили вирус, который оставался незамеченным на протяжении шести лет. Он получил название Slingshot. Многих из своих «жертв» вредонос атаковал через скомпрометированные роутеры MikroTik.

Как отмечают специалисты, по сложности реализации Slingshot превосходит троян Regin, поразивший сети бельгийского оператора Belgacom и других крупных организаций, и Project Sauron.

О компонентах и назначении вируса расскажем далее.


/ фото Jan Hammershaug CC

Вирус был обнаружен по счастливой случайности. Группа исследователей анализировала код кейлоггера и решила проверить, встречается ли он где-либо еще. Сигнатура вируса проявилась в, казалось бы, невинном файле scesrv.dll на еще одном компьютере. Дальнейшие тесты показали: когда компьютер подключался к системе конфигурации роутера, вирус активировался, выгружал копию себя на «свежую» машину и получал root-доступ.

Вредонос «собирает» скриншоты, информацию о сети и USB-подключениях, перехватывает пароли и данные в буфере обмена, отслеживает активность на компьютере. На основании этого исследователи сделали вывод, что целью Slingshot, вероятно, является шпионаж.

Точно не установлено, каким образом Slingshot заразил свои первые цели, однако известно, что создатели вируса внедрили вредоносный код в роутеры латвийской компании MikroTik. Он использует средство конфигурирования Winbox для загрузки DLL-файлов в память компьютера. Хакеры поместили библиотеку ipv4.dll на маршрутизатор, которая также начала передаваться в память. После выгрузки файл скачивал другие компоненты вируса.

Компоненты вируса


Сама программа Slingshot — это загрузчик, который заменяет существующую системную динамическую библиотеку на компьютере «жертвы». Slingshot встраивает необходимые ему модули в DLL, сжимая часть оригинального файла, чтобы сохранить размер неизменным. Затем он меняет точку входа, «переключая» указатель на необходимый загрузчик, и вычисляет новую контрольную сумму DLL. При этом после скачивания вредоносных модулей, загрузчик восстанавливает оригинальный код системного DLL-файла в памяти.

Slingshot загружает множество вспомогательных компонентов, но двумя основными и самыми крупными модулями являются Cahnadr (работает в режиме ядра) и GollumApp (работает в режиме пользователя). Они связаны и помогают друг другу с поиском и сбором информации.

Canhadr взаимодействует с сетью на низком уровне и может воспроизводить вредоносный код, не нарушая работы всей файловой системы и не вызывая «синий экран смерти». Он написан на чистом C и способен получить доступ к жёсткому диску и оперативной памяти несмотря на установленные в системе ограничения. Также он отвечает за контроль целостности и сокрытие деятельности вируса от систем анализа.

Например, он использует специальные алгоритмы, которые маскируют сетевой трафик. Все компоненты вируса располагаются в отдельном пуле, что позволяет отличать их от других, «безвредных» запросов. Вся информация о пакетах, передаваемых в сети, попадает в NET_BUFFER_LIST. Если в списке появляется команда из «вредоносного пула», то Cahnadr удаляет её, предотвращая отправку сообщения об успешном выполнении.

Что касается модуля GollumApp, то он содержит примерно 1,5 тыс. функций и встраивается в файл services.exe. Он создает новый тред и работает напрямую с системными сервисами: собирает данные о сети (таблицы маршрутизации, информация о прокси, настройки AutoConfigUrl), ворует пароли, сохраненные в Mozilla и IE, «пишет» все нажатия клавиш на клавиатуре, запускает новые процессы с системными правами и управляет I/O-запросами EFS.


/ фото Christiaan Colen CC

Распространение


Предположительно, вирус действует с 2012 года, но о нем долгое время не было известно, поскольку Slingshot использует набор техник для сокрытия своей деятельности — это системы обнаружения антивирусного ПО, специализированные решения для усложнения анализа и шифрование.

При этом вирус оказался довольно редким, что также затруднило обнаружение: исследователи зафиксировали порядка 100 заражённых компьютеров, большинство из которых в Африке и на Ближнем Востоке: это Кения, Йемен, Афганистан, Турция, Ирак, Судан, Иордания и др. Большинством жертв являются отдельные пользователи, однако в списке есть и государственные организации.

В «Лаборатории Касперского» отмечают, что им не удалось найти какой-либо связи с ранее известными APT. Однако некоторые техники и эксплойты (например, уязвимости в драйверах), используемые Slingshot, были замечены в таком вредоносном ПО, как Turla, Grayfish и White Lambert. Эксперты говорят, что сейчас сигнатуры вируса были определены, а MikroTik уже выпустили обновление ПО для блокировки Slingshot.



P.S. Материалы по теме из Первого блога о корпоративном IaaS:

Комментарии (10)


  1. DaemonGloom
    12.03.2018 14:42

    Комментарий разработчиков Микротик:
    Эксплуатировалась старая уязвимость, которая присутствовала в маршрутизаторах с отключенным файерволлом. Исправили в 6.38.5 (Март 2017). При обновлении все вредоносные файлы с маршрутизатора будут удалены.
    Более того, эта «пакость» не распространялась широко, заражались избирательно конкретные цели.

    Оригинальный ответ
    As far as we know, somebody exploited the already fixed chimayred vulnerability in open (no firewall) routers before we patched it in March 2017 (RouterOS v6.38.5). Upgrading RouterOS fixes the vulnerability and removes any malicious files.

    Also worth noting, that Winbox no longer downloads any DLL files from your device anyway, since even before the above mentioned version.

    forum.mikrotik.com/viewtopic.php?t=131748#p647153
    Another thing to note. This «malware» did not spread. It was installed manually to very specific targets, through a now-closed vulnerability. They have discovered only a handful affected devices.

    forum.mikrotik.com/viewtopic.php?t=131748#p647433


    1. b1ora
      12.03.2018 15:36

      Мораль: держать самую свежую прошивку из баг фик ветки


      1. qw1
        12.03.2018 19:17

        Лучше включить firewall и заблокировать доступ к роутеру с хостов, с которых не предполагается управление.


      1. DaemonGloom
        13.03.2018 06:06

        Мораль: не нужно держать открытой наружу панель управления роутером.
        Вообще, если вы хотите управление устройством по небезопасному (http) протоколу, то вы должны быть уверены в доступе к этому протоколу только безопасным методом (например, vpn).


    1. Chupaka
      14.03.2018 15:53

      Более того: .dll-файлы загружал с роутера WinBox Loader v2.*. А в районе 2015 года был выпущен WinBox v3, который .dll не загружает с роутера.


      1. qw1
        14.03.2018 17:14

        Насколько я помню, при обновлении прошивки с роутера может загрузиться новый интерфейс WinBox, т.е. роутер и в актуальной версии имеет возможность отдать исполняемые файлы, которые запускаются у администратора.


        1. Chupaka
          14.03.2018 17:35

          Да, так было у WinBox Loader v2, о чём и написано. В третьей версии (с 2014 года, не 2015, обшибся) исполняемых файлов не загружается, только данные по интерфейсу.


  1. VulvarisMagistralis
    12.03.2018 21:23

    Латвийская разведка, не иначе.


  1. 9660
    13.03.2018 06:27

    Он использует средство конфигурирования Winbox для загрузки DLL-файлов в память компьютера. Хакеры поместили библиотеку ipv4.dll на маршрутизатор, которая также начала передаваться в память.

    А ничего что в системе библиотеки не dll а so?


    1. Krepver
      13.03.2018 10:19

      Лучше читать источники


      Specifics of the router technique still aren't known, but they involve using a MikroTik configuration utility called Winbox to download dynamic link library files from the router's file system.

      Т.е. dll "передавалась в память" атакуемой машины, а не роутера