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

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

Как-то раз при анализе управляющего сервера одного из ботнетов был обнаружен PHP-скрипт, периодически скидывавший статистику отстука ботов СМС-сообщением на мобильный телефон. С помощью великого Гугла по этому телефонному номеру без особого труда отыскалось объявление о продаже автомобиля, на снимке которого отлично читались государственные регистрационные знаки :).

Другой гуманоид хранил на сервере, откуда раздавал малварь, собственные фотографии с датой съемки, геометками и прочей ценной информацией в EXIF.

Еще один юный «хакер» решил зашифроваться по-взрослому: на всех профильных форумах вроде «античата» он регистрировался строго под ником (правда, везде одним и тем же) и даже на анонимной страничке «ВКонтакте» старательно прятал свое лицо. Особенно тщательно он замазывал его на армейских фотках, где прямо на бушлате была аршинными буквами написана его фамилия. Но это скорее отдельные, не особо показательные случаи, поскольку настоящие злодеи так глупо не попадаются. Они попадаются в результате длительных и запутанных расследований, напоминающих порой самый настоящий детектив.

Одна такая детективная история началась шесть лет назад. В 2011 году порядка двух тысяч российских аптек и фармацевтических компаний были целенаправленно атакованы трояном BackDoor.Dande. Троян оказался примечательным: при запуске он проверял, установлены ли на атакуемой машине специализированные программы для закупки медикаментов вроде «Аналит: Фармация 7.7» для платформы 1С, «Система электронного заказа» СЭЗ-2 производства компании «Аптека-Холдинг», программа формирования заявок компании «Российская фармация», система электронного заказа фармацевтической группы «РОСТА», программа «Катрен WinPrice» и некоторые другие. Затем он устанавливался в систему и начинал красть информацию о закупках лекарств, передавая ее на удаленный сервер.

По всему выходило, что мы имеем дело не просто с таргетированной атакой, но с самым настоящим актом промышленного шпионажа. BackDoor.Dande совершенствовался, появлялись его новые версии, однако установить, в чьих интересах шпионил за аптекарями этот трой, долгое время не удавалось.

Дело тронулось, когда в нашу вирусную лабораторию попал жесткий диск с зараженного компьютера одной из аптек. На винте обнаружился вредоносный драйвер tapec.sys, который запускал все остальные компоненты бэкдора Dande, а в системе сохранилось точное время создания этого драйвера. Вирусные аналитики тщательно изучили все файлы, созданные на машине в этот день, но ничего подозрительного в них не обнаружили. В журнале EventLog тоже не нашлось ничего интересного.

Тогда решили просканировать все содержимое диска на наличие подстроки tapec.sys, и она действительно обнаружилась, причем дважды: в файле подкачки Windows (pagefile.sys) и в логе работавшего на инфицированной машине антивируса Avast (Avast\URL.db). Этот лог представляет собой базу данных SQLite 3, содержащую две таблицы:

sqlite> .schema
CREATE TABLE Paths (Time INTEGER, Path TEXT COLLATE NOCASE UNIQUE, ShortHash INTEGER, LongHash BLOB PRIMARY KEY, Flags INTEGER);
CREATE TABLE URLs (Time INTEGER, URL TEXT, ShortHash INTEGER, LongHash BLOB PRIMARY KEY, Flags INTEGER);
CREATE INDEX PathsPathIndex ON Paths (Path COLLATE NOCASE);
CREATE INDEX URLsShortHashIndex ON URLs (ShortHash);

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», увеличит личную накопительную скидку и позволит накапливать профессиональный рейтинг Xakep Score! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.


Check Also

Проект Red Team: роли и области экспертизы. Колонка Дениса Макрушина

Красная команда имитирует действия атакующего, чтобы помочь оценить эффективность защитных…

7 комментариев

  1. Аватар

    Gen

    02.08.2017 at 14:46

    Познавательная статья

  2. Аватар

    Skybad

    02.08.2017 at 16:57

  3. Аватар

    baragoz

    02.08.2017 at 18:15

    Первая треть про хакеров-неудачников особенно доставила)

  4. Аватар

    SanSYS

    06.08.2017 at 19:44

    Забавно, но не понял — таки разработчики этого софта являются тоже жертвами, или они сами целенаправленно в ePrica закладывали такой функционал?

    • Аватар

      Валентин Холмогоров

      11.08.2017 at 10:44

      Сами и целенаправленно 🙂

      • Аватар

        baragoz

        11.08.2017 at 13:57

      • Аватар

        g0rd1as

        04.04.2018 at 21:12

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

Оставить мнение