Computerworld, США

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

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

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

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

Разведка

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

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

Разведка через Web с анализом открытой информации иногда позволяет найти недовольных пользователей или сотрудников компании, а также получить данные о запросах в службу помощи. Точно так же с помощью поискового агента (один из них можно обнаружить на SamSpade.org) можно загрузить HTML-код сайта. Это позволит хакеру проанализировать HTML и попытаться найти скрытые поля и, возможно, уязвимые скрипты.

Впрочем, самый распространенный способ проведения такой разведки - это поиск информации «кто таков» с целью получения регистрационных данных в системе доменных имен. Детальный поиск помогает хакеру найти IP-адрес DNS-сервера организации. Затем хакер может приступить к изучению структуры корпоративной сети, чтобы получить дополнительные IP-адреса.

Зачастую взломщики используют команду nslookup в Windows или команду dig в Linux. Эти команды позволяют им обращаться к серверам доменных имен за информацией о различных хостах и доменах либо распечатать список хостов в домене.

С помощью этих широкодоступных инструментов и распространенных методик хакер может сгенерировать набор уязвимых при атаке IP-адресов.

Начало сканирования

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

Как отметил Скоудис, выполнить это можно несколькими способами. Опытные хакеры пробуют, как правило, все эти способы. Сюда относится использование инструментов определения структуры сети, таких как Nmap или Cheops-ng, для создания карты сети. Такая карта отображает топологию, IP-адреса, список открытых портов и активных сервисов, а также информацию об операционной системе.

По мнению Скоудиса, инструментарий Cheops-ng - одно из лучших на сегодня автоматизированных приложений определения структуры сети.

«Он автоматически определяет сетевые хосты, составляет схему организации сети и генерирует довольно неплохие рисунки», - сказал Скоудис. В конце концов, речь идет просто о получении доступа.

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

«Firewalk служит для передачи пакетов через устройство, выполняющее их фильтрацию, к примеру сетевой экран или маршрутизатор. Такая передача позволяет определить, какие из портов на этих устройствах открыты. Хакер будет использовать эту информацию, чтобы прозондировать так называемую демилитаризованную зону, то есть часть сети, находящуюся между локальной сетью и Internet», - пояснил Скоудис. Демилитаризованная зона расположена за пределами сетевого экрана, где часто размещаются системы, которые перехватывают и перенаправляют запросы на получение доступа для всего входящего трафика, пытающегося преодолеть сетевой экран.

И если хакеру удается найти открытый порт на вашем сетевом экране, после этого ему ничего не стоит установить скрипт для проверки telnetd, сервера для протокола удаленного виртуального терминала Telnet, используемого системами, установленными в демилитаризованной зоне. Поскольку некоторые предприятия время от времени используют telnetd для административных целей, хакер, по словам Скоудиса, «может подсуетиться и получить доступ».

Получение доступа

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

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

Среди информации, которую хакеры ищут в сетях: легко подбираемые или взломанные пароли, уязвимые доверительные связи, известные изъяны, позволяющие организовывать переполнение буфера, а также распространенные уязвимые места защиты Windows. И опять-таки хакеры пользуются автоматизированными средствами, когда пытаются определить наилучший способ применения данных дефектов. С помощью имеющихся в свободном доступе инструментальных средств, в частности предлагаемых на Nessus.org, хакеры могут удаленно сканировать сети в поисках известных уязвимых мест в различных операционных системах. Результаты такого сканирования позволяют определить, каким именно дефектом защиты они могут в данный момент воспользоваться.

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

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

«Как только хакерам удалось проникнуть на машину, они могут сделать ее плацдармом для других атак, воспользовавшись, например, доверительными связями с помощью удаленных команд Unix», - пояснил Скоудис, имея в виду две распространенные команды Unix: особо тщательно необходимо отслеживать выполнение команд удаленной регистрации (r-login) и удаленного запуска оболочки (rsh).

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

Сохранение доступа

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

«В будущем мы можем столкнуться с еще более тщательно скрытыми 'черными ходами', реализованными в BIOS или в микрокоде ваших систем, - предупреждает Скоудис. - Большинство современных процессоров содержат обновляемый микрокод, определяющий, как выполняются различные команды на машинном языке». И хотя производители процессоров часто шифруют обновления микрокода, процесс защиты довольно сложен и плохо документирован.

Сейчас же хакеры часто маскируют свои «черные ходы», называя их так же, как критически важные процессы операционной системы, например winlogon.exe в Windows. Увы, Windows не различает жизненно важные системные процессы и их «двойников».


Сканирование защитного экрана

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