- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Искусство вторжения - Кевин Митник
Шрифт:
Интервал:
Закладка:
(Мне хорошо знакома эта проблема. Однажды Интернет-серверы в компании по обеспечению безопасности, которую я создал, были атакованы через аналогичную брешь, потому что системный администратор, который добровольно помогал мне, неправильно сконфигурировал систему. К счастью, сервер работал в своем собственном сегменте сети, отделенном от остальной).
Поняв, что эта ошибка дает ему возможность загружать файлы на сервер и сгружать с сервера, он начал смотреть на параметры сервера.
«Наиболее распространенный вариант использования тупых IIS-серве-ров состоит а возможности авторизации FrontPage».
И у этого сайта была такая слабость. Развертывание Microsoft FrontPage (программа-приложение, используемая для простого создания и редактирования HTML-документов) без установки соответствующих разрешений на пропуск файлов — обычное заблуждение системных администраторов, которые иногда специально конфигурируют так сайт из соображений удобства. В данном конкретном случае любой человек мог не только прочесть файлы, но также и загрузить туда файлы в любую незащищенную директорию. Роберт действовал в том же стиле.
«Я смотрел на все это и думал: «Черт побери, я могу прочесть или отредактировать любую страницу на этом сервере без всякого имени пользователя или пароля.
Таким образом, я мог войти и изучать корневую директорию на Интернет-сервере».
По мнению Роберта, большинство хакеров упускают такую возможность.
«Дело в том, что когда люди устанавливают сканер сети на сервере, они чаще всего не смотрят на ошибки в конфигурации таких приложений, как FrontPage. Они смотрят (чтобы посмотреть на тип сервера) и говорят „ Э т о Apache“ или „ Э т о I I S “ . И они упускают возможность упростить свою жизнь в том случае, если FrontPage неправильно сконфигурирована».
Это было не так прекрасно, как он ожидал, поскольку «на этом сервере было не так уж много интересного». И все же он заметил, что приложение под названием «helpdesk.exe» появляется, когда он получает доступ к сайту через свой браузер. Это могло бы оказаться очень полезным, но требовало знать имя пользователя и пароль.
«Итак, я смотрел на все это и думал, как атаковать этот треклятый сайт? Я не люблю делать одну вещь: это загружать файлы на Интернет-сервер, потому что, если администратор просмотрит записи об Интернет-активности и увидит, что среди тысячи сотрудников его компании, которые обращались к helpdesk.exe, неожиданно оказался парень из Южной Атлантики, работающий с two.exe или каким-то другим приложением, это сразу насторожит его, правильно? Поэтому я старался избегать подобных записей».
Приложение helpdesk состоит из одного исполняемого файла и файла библиотеки динамических связей ( D L L ) (файлы с расширением .DLL содержат набор функций Windows, которые может вызывать приложение).
Имея возможность загружать сайты в корневую директорию Интернет-сайта, атакующий может легко загрузить туда простую программку, которая даст возможность хакеру выполнять команды через свой браузер. Но Роберт был не простым хакером. Он гордился собой, потому что он был невидим и практически не оставлял следов в записях Интернет-сервера. Вместо простой загрузки на сервер переделанной программы, он перегружал на свой компьютер файлы helpdesk.exe и helpdesk.dll, чтобы понять, как работают эти приложения, полагаясь на свой опыт и знания. «Я проделал массу работы по обратной инженерии приложений и изучению программ, написанных на ассемблере, поэтому я знаю, как разбираться в скомпилированном с языка С коде и переводить его обратно на ассемблер».
Программа, которой он пользовался, называлась I D A Pro, интерактивный «дисассемблер» (ее продают на сайте http://www.ccso.com ), ей пользовались по его словам «многие компании, занимающиеся вирусами и охотой на вирусных червей, которым нужно декомпилировать некоторые тексты до уровня ассемблера, а потом разобраться в том, что они делают». Он декомпилировал helpdesk.exe и, одобрил работу, выполненную профессиональными программистами, решив, что она «написана вполне прилично».
ИЗ МЕШКА ХАКЕРСКИХ ШТУЧЕК: АТАКА SQL INJECTION
После того, как он декомпилировал программу, Роберт обратился к изучению кода, чтобы понять, будет ли приложение helpdesk подвержено SQL injection, методу атаки, который использует распространенную компьютерную оплошность. Программист, думающий о безопасности системы, постарается отфильтровать все запросы внешних пользователей, в которых встречаются такие символы, как «апостроф», «знак цитирования», «больше» и «меньше». Если не отбрасывать программы с подобными символами, то злонамеренный пользователь может обмануть приложение и проникнуть в систему.
Роберт выяснил, что приложение helpdesk проводит необходимые проверки на подобные символы, чтобы помешать хакерам использовать SQL injection. Большинство хакеров перегрузили бы программу ASP на Интернет-сервер и использовали бы ее, но не Роберт! У него были более обширные планы, чем использовать простейшую лазейку для проникновения в свою мишенью.
«Я подумал: „Ситуация выглядит очень забавной, и надо получить от нее максимум удовольствия“.
Я сказал себе: «Хорошо, я использую SQL-injection, слегка подправив проверку на достоверность». Я нашел строку, где содержался список недопустимых символов, и изменил ее. По-моему, в список входило «подчеркивание», или что-то похожее, чего я не должен был использовать, но в то же время его отсутствие ни на что не влияло».
Другими словами, он немного видоизменил программу (используя цифровой редактор для взлома программы, которая должна была проверять символы), так что определенные специальные символы больше не отвергались. После этого он мог незаметно производить SQL-injection, не влияя на всю структуру работы приложения для всех остальных. Еще одним преимуществом такого развития событий было то, что администратор, скорее всего, не стал бы проверять сохранность приложения helpdesk, поскольку не было никаких сигналов о том, что оно взломано.
Далее Роберт послал модифицированную версию приложения helpdesk на Интернет-сервер, заменив им оригинальную версию. Подобно тому, как некоторые люди любят привозить марки, открытки или спичечные коробки с видами тех мест, где они побывали, хакеры иногда хранят не только полученную добычу, но и тексты программ, которые они использовали в своей работе. У Роберта до сих пор хранится текст той программы в двоичном скомпилированном виде.
Поскольку он работал из дома (дело рискованное, если вы только сознательно не хотите попасться), то свою «новую и улучшенную» версию приложения helpdesk он загружал через целую цепь промежуточных прокси-серверов (это серверы, работающие посредниками между компьютером пользователя и компьютером, в который он стремится проникнуть). Если пользователь делает запрос о ресурсе с компьютера «А», этот запрос направляется на прокси-сервер, который в свою очередь делает запрос и получает ответ от компьютера «А», а потом уже переправляет его клиенту.
Прокси-серверы обычно используются для доступа к ресурсам Интернета из-за межсетевого экрана. Роберт повысил степень своей безопасности, используя несколько прокси-серверов, расположенных в различных частях мира, чтобы снизить вероятность быть пойманным. Так называемые «открытые прокси-серверы» обычно используются для того, чтобы замаскировать место, откуда исходит кибератака.
При помощи модифицированной версии приложения helpdesk, загруженного на компьютер и запущенного, Роберт соединился с сайтом-мишенью, использующим Интернет-браузер. Когда перед ним появилась входная форма с запросом имени пользователя и пароля, он запустил атаку SQL injection, как и планировал. В нормальном режиме, после того как пользователь введет свои имя и пароль — скажем, «davids» и «zl8M296q» — приложение использует эти входные данные для того, чтобы сгенерировать такую SQL-команду:
select record from users where user = 'davids' and password = 'z18M296q'
Если поле пользователя и поле пароля будут соответствовать информации в базе данных, тогда пользователя пускают в систему. Таким образом, все должно работать в нормальном режиме. А вот как проходила атака Роберта SQL-injection: в разделе для имени пользователя он написал — " orwherepasswordlike"%
Для пароля он ввел аналогичную строку
" orwherepasswordlike"%
Приложение использует эти входы и генерирует такую SQL-ко-манду:
select record from users where user = " or where password like '%' and password = "or where password like '%'
Элемент строки orwherepasswordlike% говорит SQL принять запись, если пароль что угодно ( " % " — это пустышка). Обнаружив, что пароль удовлетворяет этому дикому условию, приложение впускает Роберта, как вполне законного пользователя, как если бы он ввел данные о законной авторизации. Система впускает его и связывает с данными первого пользователя в базе данных, которым обычно бывает администратор. Так и оказалось в нашем конкретном случае. Роберт не только вошел в систему, но и получил привилегии администратора.

