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

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

Как-то раз при анализе управляющего сервера одного из ботнетов был обнаружен 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», чтобы читать все материалы на сайте

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

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

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


  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    7 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии