Читаем Искусство вторжения полностью

Это было не так прекрасно, как он ожидал, поскольку «на этом сервере было не так уж много интересного». И все же он заметил, что приложение под названием «helpdesk.exe» появляется, когда он получает доступ к сайту через свой браузер. Это могло бы оказаться очень полезным, но требовало знать имя пользователя и пароль.

«Итак, я смотрел на все это и думал, как атаковать этот треклятый сайт? Я не люблю делать одну вещь: это загружать файлы на Интернет-сервер, потому что, если администратор просмотрит записи об Интернет-активности и увидит, что среди тысячи сотрудников его компании, которые обращались к helpdesk.exe, неожиданно оказался парень из Южной Атлантики, работающий с two.exe или каким-то другим приложением, это сразу насторожит его, правильно? Поэтому я старался избегать подобных записей».

Приложение helpdesk состоит из одного исполняемого файла и файла библиотеки динамических связей ( D L L ) (файлы с расширением .DLL содержат набор функций Windows, которые может вызывать приложение).

Имея возможность загружать сайты в корневую директорию Интернет-сайта, атакующий может легко загрузить туда простую программку, которая даст возможность хакеру выполнять команды через свой браузер. Но Роберт был не простым хакером. Он гордился собой, потому что он был невидим и практически не оставлял следов в записях Интернет-сервера. Вместо простой загрузки на сервер переделанной программы, он перегружал на свой компьютер файлы helpdesk.exe и helpdesk.dll, чтобы понять, как работают эти приложения, полагаясь на свой опыт и знания. «Я проделал массу работы по обратной инженерии приложений и изучению программ, написанных на ассемблере, поэтому я знаю, как разбираться в скомпилированном с языка С коде и переводить его обратно на ассемблер».

Программа, которой он пользовался, называлась I D A Pro, интерактивный «дисассемблер» (ее продают на сайте), ей пользовались по его словам «многие компании, занимающиеся вирусами и охотой на вирусных червей, которым нужно декомпилировать некоторые тексты до уровня ассемблера, а потом разобраться в том, что они делают». Он декомпилировал helpdesk.exe и, одобрил работу, выполненную профессиональными программистами, решив, что она «написана вполне прилично».

ИЗ МЕШКА ХАКЕРСКИХ ШТУЧЕК: АТАКА SQL INJECTION

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

Роберт выяснил, что приложение helpdesk проводит необходимые проверки на подобные символы, чтобы помешать хакерам использовать SQL injection. Большинство хакеров перегрузили бы программу ASP на Интернет-сервер и использовали бы ее, но не Роберт! У него были более обширные планы, чем использовать простейшую лазейку для проникновения в свою мишенью.

«Я подумал: „Ситуация выглядит очень забавной, и надо получить от нее максимум удовольствия“.

Я сказал себе: «Хорошо, я использую SQL-injection, слегка подправив проверку на достоверность». Я нашел строку, где содержался список недопустимых символов, и изменил ее. По-моему, в список входило «подчеркивание», или что-то похожее, чего я не должен был использовать, но в то же время его отсутствие ни на что не влияло».

Другими словами, он немного видоизменил программу (используя цифровой редактор для взлома программы, которая должна была проверять символы), так что определенные специальные символы больше не отвергались. После этого он мог незаметно производить SQL-injection, не влияя на всю структуру работы приложения для всех остальных. Еще одним преимуществом такого развития событий было то, что администратор, скорее всего, не стал бы проверять сохранность приложения helpdesk, поскольку не было никаких сигналов о том, что оно взломано.

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

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

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

1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих
1С: Управление небольшой фирмой 8.2 с нуля. 100 уроков для начинающих

Книга предоставляет полное описание приемов и методов работы с программой "1С:Управление небольшой фирмой 8.2". Показано, как автоматизировать управленческий учет всех основных операций, а также автоматизировать процессы организационного характера (маркетинг, построение кадровой политики и др.). Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, формировать разнообразные отчеты, выводить данные на печать. Материал подан в виде тематических уроков, в которых рассмотрены все основные аспекты деятельности современного предприятия. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов. Все приведенные в книге примеры и рекомендации основаны на реальных фактах и имеют практическое подтверждение.

Алексей Анатольевич Гладкий

Экономика / Программное обеспечение / Прочая компьютерная литература / Прочая справочная литература / Книги по IT / Словари и Энциклопедии