Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Skabtsov_N_V_-_Audit_bezopasnosti_informatsionnykh_sistem_-_2018.pdf
Скачиваний:
101
Добавлен:
24.01.2021
Размер:
9 Mб
Скачать

Стандарт выполнения тестов на проникновение    217

Сбор данных

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

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

В PETS выделяют три уровня данного этапа:

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

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

Третий уровень — самый затратный по количеству времени и сил, на данном этапе атакующий находит самые уязвимые места системы.

Прежде чем приступить к сбору данных, необходимо провести подготовительную работу, которая может включать в себя следующие шаги:

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

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

Подумайте, сколько времени займет выполнение работ на данном этапе.

Четко обозначьте цель. Вы должны понимать, какой информацией вы хотели бы обладать по окончании работ на данном этапе.

В идеале в завершение работы вы должны иметь структурированную информацию из следующих источников:

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

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

Специфичная информация — касается особенностей сферы работы предприятия, например специфичного оборудования и программного обеспечения.

218    Глава 16  •  Собирая все воедино

Сетевая информация — все, что можно узнать о сетевых сервисах: IP-адреса, DNS-записи, сети и т. п.

Уязвимости — потенциальные бреши в системе безопасности, которые могут быть поэксплуатированы на последующих этапах.

Социальная инженерия — все то, что вы смогли выведать у сотрудников данной организации.

Анализ уязвимостей

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

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

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

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

Моделирование

Основная задача на этом этапе — построение тестовой среды, в которой вы сможете опробовать все планируемые варианты атаки на целевую систему. Апробация методов в виртуальной среде поможет вам избежать ошибок при работе с реальной целью, а также привлечь к себе меньше внимания, ведь при работе с настоящей целью вы будете использовать лишь проверенные методы.

В процессе моделирования выделяют четыре основных этапа:изучение необходимой документации;определение первичных и вторичных методов атак;нахождение основных и второстепенных уязвимостей;

определение методов атак для каждой из найденных уязвимостей.

Стандарт выполнения тестов на проникновение    219

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

Эксплуатация уязвимостей

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

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

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

На данном этапе самыми популярными атаками являются:взлом пароля;перехват данных;перехват сессии;переполнение буфера.

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

Постэксплуатационный этап

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

220    Глава 16  •  Собирая все воедино

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

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

Отчет

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

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

Отчет должен включать в себя следующую информацию:сценарии и описание всех успешных атак;детальную информацию о полученных в ходе теста данных;

детальную информацию обо всех найденных уязвимостях;описание всех найденных уязвимостей;

предложения и технические решения для устранения найденных уязвимостей.

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

Зачистка

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

Часть II ЗАЩИТА