Выбрать главу

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

Но это все — цветочки, так сказать. При разработке первых версий шпиона Donald Dick были найдены более интересные места, куда можно поселить паразитов.

VXD

А именно для Windows 95/98 было решено грузить шпиона через свой драйвер VXD. Список загружаемых драйверов находится в реестре в разделе "HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ VxD". Кроме загрузки основного модуля серверной части шпиона, этот драйвер предоставлял и некоторые другие функции, которые проще реализовывались в VXD.

В Windows NT/2000, как известно, другая система драйверов, и VXD там отсутствуют. Но тот способ загрузки, который удалось найти для этих операционок, превзошел все ожидания. В разделе реестра "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager" в параметре «BootExecute» можно прописать программу, которая будет запускаться во время инициализации операционной системы (еще до загрузки графической оболочки и сервисов), однако полноценный PE-EXE файл работать тут не будет. Поэтому сюда при инсталляции шпиона прописывается маленький загрузчик. Все что он делает — это добавляет сервис Donald Dick в реестр. А сам сервис после запуска первым делом убирает себя из реестра. И так при каждой перезагрузке. Таким образом, при работе никаких подозрительных сервисов в реестре не обнаруживается. Пользователь, если и замечает посторонний работающий процесс, понять не может, откуда же он берется.

Как показал опыт, методы оказались действительно очень эффективными. Особенно для NT/2000.

Однако использование VXD для загрузки шпиона в Windows 95/98 нам показалось все-таки не самым лучшим способом. Поэтому при разработке Donald Dick 2 было решено исследовать другие малоизвестные или недокументированные места, куда можно приживить шпиона. Поиск увенчался успехом. В Microsoft Windows 95/98 была найдена скрытая возможность автозагрузки динамических библиотек при старте операционной системы.

Но сначала о том, как происходили поиски. Мы просмотрели список всех загруженных модулей и отметили для себя те, которые отсутствовали в стандартных местах автозагрузки. Среди них оказалась программа mprexe.exe. Эта информация конечно мало полезна. Ведь исполняемый модуль может быть запущен другим автозагружаемым модулем или драйвером. Но при изучении самого mprexe.exe мы обнаружили интересную ссылку на несуществующий раздел реестра "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ MPRServices". А также упоминание весьма интересных параметров: «DLLName», «EntryPoint» и «StackSize». Мы проделали следующий эксперимент. Для начала создали этот раздел в реестре. Затем в нем создали подключ «TestService». Параметрам этого подключа присвоили нужные значения: в строковые «DLLName» и «EntryPoint» поместили название своего DLL файла и название экспортируемой из него процедуры, соответственно, а числовому параметру «StackSize» присвоили ноль.

При загрузке операционной системы процесс mprexe.exe создал в своем контексте новый поток для вызова указанной процедуры из нашей DLL, после чего процедура выполнила свои действия. Т. е. если осуществлять запуск шпионской программы через собственную DLL, то проблема незаметной автозагрузки Трояна будет решена. Но я рекомендую сделать несколько иначе. Гораздо лучше реализовать всю работу шпионской программы непосредственно в DLL. Дело в том, что в этом случае автоматически решается еще одна важная задача — обеспечение невидимости. Так как сервер шпиона в этом случае является отдельным потоком процесса mprexe.exe, то никаких посторонних подозрительных процессов в системе просто не появляется. Это уже другая тема, но если тебе будет интересна проблема обеспечения невидимости, я расскажу об этом в ближайших номерах Х.

Естественно, после обнаружения такого места, вероятно специально предназначенного для поселения шпионов и троянов, оставалось найти нечто подобное в Windows NT/2000. Были сомнения, что это удастся. Но оно действительно нашлось. Полностью идентичное вышеописанному, только загрузкой библиотек занимается сервис Winlogon. В разделе реестра "HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows NT \ CurrentVersion \ Winlogon \ Notify" добавляется произвольный подключ с очень похожими параметрами. Радует, что эта возможность оказалась вполне документированной. Подробное описание есть в MSDN.

Таким образом, метод оказался универсальным. Оформить шпиона в виде динамической библиотеки можно и для Windows 95/98, и для Windows NT/2000.

Можно найти и более хитрые способы автозагрузки. Все ограничивается лишь твоей фантазией и интересом к поиску скрытых возможностей Windows. А их всегда было предостаточно.

В погоне за шпионом-невидимкой

Источник: htpp://www.comizdat.com/

Помимо вирусов и спама, на компьютер из интернета часто проникают так называемые программы-сканеры. Эти незваные гости располагаются на компьютере как дома и начинают следить за хозяевами.

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

Второй вид «шпионских» программ приходит к нам не из интернета, а от уважаемого начальства, которое желает знать, чем мы занимаемся в рабочее время. Такой вариант хуже тем, что не можете же вы запретить своему шефу следить за вами! Пользуются подобными штуками и ревнивые супруги, и бдительные родители…

Коммерческие сканеры клавиатуры, такие как Spector Pro, Eblaster, WinWhatWhere, XPCSpy, Desktop Surveillance Personal Edition следят за вашими действиями совершенно незаметно. Они отмечают не только каждую нажатую клавишу, но и каждое посещение веб-сайта, сообщение электронной почты или ICQ. Они делают копии экрана и пересылают их вместе с другими отчетами удаленному компьютеру — все это без вашего ведома. Все, что вы делаете на компьютере, записывается и передается неизвестному Алексу.

Выявление невидимок

Удивительно и печально, как много компаний живут людской подозрительностью. Еще печальнее то, что продукцию этих компаний — программы-наблюдатели — не так-то просто распознать и удалить. Многие подобные утилиты очень хорошо маскируются под «легальные» приложения и процессы. Существующие программные средства для борьбы с ними не всегда дают желаемый эффект. Ни одна из известных антишпионских программ, таких как 1Ad-aware, Spybot Search & Destroy, PestPatrol и Spy Sweeper, не распознает и не уничтожает все 100 % «чужаков». Остается полагаться на логичное соображение: чем больше антишпионских утилит используется, тем выше шансы на успех. На компьютер, подключаемый к интернету, рекомендуется установить, как минимум, Ad-aware и Spybot; для большей гарантии можно установить PestPatrol и Spy Sweeper.

При подозрении, что на компьютер установлен сканер клавиатуры и мыши, можно попытаться вывести программу из «невидимого» режима и деинсталлировать ее. Большинство программ обнаруживают себя по комбинациям клавиш — например, для Spector Pro срабатывает Ctrl+Alt+Shit+S, а для XPCSpy — Ctrl+Alt+X. Даже если тот, кто установил шпионскую программу на ваш компьютер, изменил стандартную клавиатурную комбинацию на новую, немного терпения — и вы найдете ее. Только не забудьте предварительно закрыть все приложения, включая те, что работают в фоновом режиме и заметны только по пиктограммам в системной области панели задач, чтобы какая-нибудь комбинация не сработала в них и не наделала неприятностей.