Читаем Создаем вирус и антивирус полностью

Почитатели Эдгара По наверняка знают выражение «Червь-Победитель». Собственно, любой грамотно написанный «червь» станет победителем, если выйдет на свободу. Особенно с применением свежих идей. Применяя технологию СМ (саморазмножающиеся механизмы), называемую в народе «компьютерные вирусы», можно добиться немалого. Включив в свой СМ некоторую особенность, вместо привычной деструкции можно получить парольный доступ ко многим почтовым узлам со всеми вытекающими отсюда последствиями. Как известно, при установке соединения между двумя FTN-мейлерами они сравнивают свои адреса и пароли. То есть сначала хост получает основной адрес звонящего мейлера и пароль на сессию. Если в конфигурации хоста указаны адрес и пароль звонящего и они совпадают с предъявленным паролем, хост показывает звонящему свой пароль и при совпадении таковых происходит парольная сессия. В подавляющем большинстве случаев электронная почта передается только в парольные сессии, иначе любой мейлер мог бы предъявить хосту подставной адрес и забрать почту, предназначенную для других. В данном случае для того, чтобы перехватывать чужую электронную почту или действовать от лица какого-либо системного оператора, необходимо узнать пароли на сессию звонящей системы и хоста, ожидающего звонка. Кто-то иронически улыбнется: «Как же их можно узнать, если нет возможности «прикинуться хостом», чтобы звонящая система показала свои пароли, если она звонит совсем по другому номеру телефона?!». Разумеется. Но это не нужно. Кто-то скажет: «В таком случае получить эти пароли и от хоста нельзя, поскольку он не будет предъявлять свой пароль и не включит парольную сессию, пока не увидит, что предложенный пароль совпадает с его паролем!» Конечно. Но это тоже не нужно. Что же предпринять? Дело в том, что и хост, и звонящая система могут преподнести свои пароли «на блюдечке». Для этого не нужно захватывать в заложники семью системного оператора или предлагать миллионы долларов хозяину системы – достаточно разместить на компьютере системного оператора незаметную программу, которая эти пароли найдет и отправит на какой-либо из указанных FTN-адресов. Вот и все. Больше ничего не нужно.

Теперь несколько возможностей реализации этого плана. В странах бывшего СССР наиболее часто используется DOS-совместимый мейлер Андрея Елкина T-Mail, поэтому принципы взлома рассмотрены на примере системы, работающей именно на его основе, Некоторые пользуются программой Антона Дейнова «SantaFox-Mail», принципы ее взлома похожи, кроме того, взломать эту систему гораздо легче благодаря встроенной функции DoorWay. Но об этом ниже. Итак, что же программа должна сделать с системой, чтобы заветные пароли наконец-то были получены? Собственно, алгоритм весьма прост, и описать его можно примерно так:

1. Определение расположения программы T-Mail на жестком диске системы.

2. Определение расположения конфигурационных файлов системы.

3. Извлечение списка паролей и адресов из конфигурации системы.

4. Шифрование списка паролей и адресов с эмуляцией PGP-кодирования.

5. Отправление зашифрованного списка паролей и адресов через аплинка по роутингу на систему взломщика.

Теперь рассмотрим возможные способы реализации. Теоретически это не сложно.

Как правило, системные операторы держат свой T-Mail на жестком диске. Первая задача – определить, куда же оператор спрятал свое «сокровище». Тут-то и намечается разделение. Можно написать «троянца», подсадить его в какую-либо конкретную систему и ждать, когда эта система пришлет свои пароли по почте. Но можно написать и «вирус», расходящийся на несколько почтовых узлов, после чего все зараженные узлы сообщат пароли на сессии со всеми своими парольными линками. Можно искать T-Mail по всему жесткому диску с помощью рекурсивного обхода всех логических дисков и вложенных каталогов. Понятно, что этот метод не так уж деликатен, поскольку системный оператор может заметить, что некая программа на протяжении нескольких минут почему-то занимает винчестер. От такой глупости откажемся. Другое дело, если этим будет заниматься вирус. Почему? Да потому, что большинство вирусов отслеживают вызовы функции 4Bh DOS-прерывания 21h для заражения программ. В таком случае, что мешает этому вирусу анализировать запущенные программы на предмет «а не T-Mail ли это часом?» и находить «сокровища» именно таким образом? Ничего. Анализ правильнее будет вести не только по имени запускаемого файла, потому что системный оператор мог переименовать программу, а в данном случае необходима максимальная надежность. Поэтому лучше всего отлавливать T-Mail по постоянной сигнатуре EXE-файла.

Перейти на страницу:

Похожие книги

Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
97 этюдов для архитекторов программных систем
97 этюдов для архитекторов программных систем

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

Билл де Ора , Майкл Хайгард , Нил Форд

Программирование, программы, базы данных / Базы данных / Программирование / Книги по IT
Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

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

А. Алексашин , Дэвид Томас , Эндрю Хант

Программирование / Книги по IT