Что такое пентест и для чего он нужен
Что такое пентест: описание, виды и где найти практику
Penetration test (сокр. Pentest) представляет собой тестирование системы на наличие критических уязвимостей и проблем. Даная методика позволяет определить уровень безопасности и оценить устойчивость информационной системы за счет полноценного моделирования атаки хакеров. Пентест проводит атакующая сторона, применяя специализированные программные средства, уязвимости серверов, операционных сред и пр.
Содержание:
Что такое пентест
Рассмотрим, что такое тестирование на проникновение и зачем его проводят. Данный процесс позволяет определить, насколько защищены серверы и компьютерные системы компании, предприятия или более крупного объекта. Он проводится специалистами по информационной безопасности. Процесс является многоуровневым. Он включает в себя:
По окончании теста составляется отчет, в который вносятся данные об обнаруженных уязвимостях и проблемах. В нем указывается выбранные методы тестирования, общие выводы по каждому пункту, описание процесса проверок и рекомендации по устранению недостатков.
Обратите внимание: делать все нужно максимально аккуратно и осторожно. Любые непродуманные действия могут привести к необратимым последствиям. Например, к потере информации или выходу из строя оборудования.
Кто проводит пентесты
Анализ системы и атаку проводят специалисты по информационной безопасности. Это сложный процесс, который нельзя поручать новичкам. Обычно подобными вещами занимаются специализированные команды. Их называют «белые хакеры».
Перед тестированием стороны оговаривают способы аудита и цели, которых необходимо достичь. Они могут отличаться. Например, определение уровня защищенности системы, возможность повышения привилегий для пользователей, проверка готовности сотрудников к атакам на сеть и пр.
Кроме пентестеров к процессу могут привлекаться и другие специалисты, в частности, RedTeam, багхантеры, аудиторы, исследователи и классические специалисты по информационным технологиям. Рассмотрим, чем они занимаются:
Виды пентестов
Существуют разные способы тестирования. В первую очередь оно делится на внутреннее и внешнее. В первом случае специалист, находясь в инфраструктуре с ноутбуком, пытается украсть данные или поменять привилегии пользователя. Во втором подобные действия делаются вне рабочей сети. Также оценка проводится по тремя методикам:
Также есть разделение по векторам атак. Выше мы описывали техническое направление. Кроме него имеется социотехническое (социальная инженерия) и комплексное исследование.
Требования к пентесту от законодательства
Законы РФ регулируют проведение pentest для действующих финансовых и кредитных организаций. В частности, задействованы:
Зачем проводится пентест
Основная цель – определение уровня информационной безопасности компании. После pentest ваша служба ИБ получит детальный отчет, в котором будет не только перечень уязвимостей, но и квалифицированные рекомендации по их устранению. Будут детально описаны шаги, которые привели к эксплуатации бага, рассмотрены ситуации, в которых уязвимость можно будет задействовать.
Крупным компаниям необходимо регулярно проводить тестирование, чтобы сохранить данные и не допустить утечек. Без него злоумышленники быстро взломают систему, что может привести к непредсказуемым последствиям.
Где обучиться и применять данные навыки
Чтобы стать пентестером, необходимо хорошо разбираться в компьютерной и информационной безопасности. Различные компании проводят курсы, на которых студенты обучаются этой профессии. Например, по ссылке можно узнать подробности и записаться на курс «Тестирование веб-приложений на проникновение». Успешно закончив его, вы сможете найти хорошую работу и станете востребованным специалистом.
Ниже список CTF площадок, благодаря которым, ты можешь получить практический опыт в различных направлениях:
В комментариях можете накидать площадки, о которых мы забыли упомянуть с статье.
ПЕНТЕСТ – РЕАЛЬНЫЙ ВЗГЛЯД НА ИНФОРМАЦИОННУЮ БЕЗОПАСНОСТЬ ОРГАНИЗАЦИИ
Тестирование на проникновение (сокр. ПенТестинг, от англ. Penetration Testing) – это процедура (попытка) оценки реальной защищенности информационной системы с использованием контролируемых и максимально безопасных для инфраструктуры и бизнес-процессов атак, а также выявление и попытки эксплуатации уязвимостей. Пентест позволяет предоставить детальную информацию о существующих проблемах безопасности, распланировать наиболее важные направления по улучшению реальной защищённости информационной системы.
Не все пентест что зовётся «пентестом».
Не каждую услугу можно назвать «пентестом». В последнее время на рынке сложилась ситуация, что ряд вендоров программных продуктов и интеграторов предлагают в качестве пентеста отчеты сканеров уязвимостей. Иногда, даже не проводят ручную верификацию (проверку) найденных уязвимостей.
В результате, по сути, простая услуга продается под видом более дорогой. Полноценный пентест – это не только автоматизированное сканирование с использованием существующих сканеров уязвимостей (хотя это один из этапов тестирования) или проверка вручную на уязвимости, к примеру, веб-сайта; это скорее полноценной анализ IT-инфраструктуры на предмет защищенности. Важно не просто запустить сканер, важно понять, какие проблемы в текущей инфраструктуре могут быть и как ими может воспользоваться злоумышленник.
Вторым важным отличием тестирования на проникновение от простого сканирования является выдача рекомендаций по устранению обнаруженных уязвимостей. Важно не только выявить проблемы безопасности, но и решить (избавиться от них) их наиболее экономически эффективным способом.
Третьей особенностью является то, что пентест включает и анализ инфраструктуры – недостатков в топологии сети, настройках оборудования (в т.ч. и WiFi-оборудования), мобильных устройств и мобильных приложений, и других потенциальных точек воздействия.
Пентест как он есть.
Тестирование на проникновение предполагает 2 направления работ:
Внешний пентест | Внутренний пентест |
В данном случае проверке подвергаются все пограничные ресурсы, расположенные в DMZ (веб-сайты, средства удаленного доступа, сервера SIP-телефонии и конференцсвязи), межсетевые экраны и иные устройства, доступные с публичных IP-адресов. Цель нарушителя – проникновение во внутреннюю сеть, либо получение контроля над внешними ресурсами. | В данном случае проверке подвергаются внутренние сервера, АРМ пользователей, сетевое оборудование, средства виртуализации. Выявляются недостатки в организации сети, проверяются гостевые участки сети, Wi-Fi сети. Также проверяются те же ресурсы, что и при внешнем пентесте, но с доступом из внутренней сети (внутренних IP-адресов), т.е. нарушитель действует из сегмента локальной сети. Как при проведении, так и при планировании работа по пентесту рекомендуется руководствоваться методиками по их проведению. Наиболее полными являются методологии PTES (Penetration Testing Execution Standard), OWASP (Open Web Application Security Project), OSSTMM (Open Source Security Testing Methodology Manual). Однако, никто не запрещает обратиться и к другим стандартам и методологиям, к примеру, к NIST SP 800-115 (Technical Guide to Information Security Testing and Assessment) или к ISSAF (Information Systems Security Assessment Framework). Отдельные требования к пентесту представлены и в отраслевых стандартах, к примеру, PCI DSS. При выявлении уязвимостей и подготовке отчета рекомендуется пользоваться базами известных уязвимостей (CVE, OSVDB, бюллетени безопасности Microsoft) или к описанию слабостей программного обеспечения (CWE), а при оценке выявленных уязвимостей обращаться к базам NVD или метрикам CVSS. Не бойтесь проводить тестирование своих ресурсов и инфраструктуры – это один из наиболее эффективных и безопасных способ выявить проблемы в защищенности вашей корпоративной информационной системы. И помните, защищенность всей информационной системы определяется защищённостью самого слабого звена. Дорожная карта по пентесту: как стать пентестером с нуляКак стать пентестером с нуля, да и вообще, что включает в себя тестирование на проникновение? Какие инструменты следует освоить и в какой последовательности? Разобраться поможет дорожная карта от Tproger и HackerU: Пентестинг — что нужно знатьТестирование на проникновение (penetration testing, pentesting) используется для своевременного обнаружения проблем и уязвимостей в IT-системах. Для этого применяются как ручные методы тестирования, так и автоматизированные инструменты. Пентестер имитирует действия злоумышленника, используя при этом возможные бреши в безопасности. Если защита слабая, специалист получает доступ к искомым данным и отчитывается о найденной уязвимости, чтобы та была устранена разработчиками. Навыки и инструменты пентестераЧтобы понять, как стать пентестером с нуля, предлагаем ознакомиться со схемой обучения с нуля. Дорожная карта включила в себя следующие пункты: Разберём их подробнее. ОсновыФактически это введение в профессию, из которого вы должны узнать о взломе веб-приложений, атаках на операционные системы и сети, а также о внешней IT-инфраструктуре. Какой опыт здесь поможет? В качестве хорошего бэкграунда для исследования вредоносных программ подойдёт знание ассемблера. Если же вы смотрите в сторону веб-безопасности, то однозначно нужно начать с изучения веб-технологий: Знание Linux на уровне пентестера не ограничивается установкой «хакерского» дистрибутива Kali. Управление сервисами, пользователями, правами, сетью и менеджеры пакетов — вот фундамент, который позволит понять, как UNIX-подобные операционные системы работают изнутри. То же касается и Windows Server. Вам помогут знания о механизмах управления сетью устройств и сетевым оборудованием. Это касается работы с Active Directory, сетевыми протоколам DNS, DHCP и ARP, а также их настройки. Отдельным блоком следует выделить корпоративные сети Cisco, их архитектуру. Хороший пентестер может быстро разобраться в настройке оборудования Cisco, маршрутизации, VLAN и Trunk портов, мониторить трафик и управлять корпоративной сетью. Кибер-инфраструктура для пентестингаНа должности пентестера вам предстоит сканировать сети и анализировать сетевой трафик. В этом поможет Wireshark — популярный инструмент для захвата и анализа сетевого трафика, который часто используется как в обучении, так и в реальных задачах. Также вам предстоит мониторить и обрабатывать открытые источники по принципу open-source intelligence (OSINT), работать со взломом паролей, атаками на Wi-Fi и MITM. Именно на этом этапе вы познакомитесь с методом полного перебора или брутфорсом, а также соответствующими программами вроде John The Ripper. Повышение кроссплатформенных привилегийНесмотря на столь безобидное название, под повышением привилегий подразумевается использование уязвимости программы или операционной системы, вследствие которого злоумышленник получает доступ к информации, что обычно защищена от определённой категории пользователей. Такое действие позволяет киберпреступнику получить права на выполнение несанкционированных действий. Изменение привилегий делится на три основных типа: Чтобы стать пентестером, нужно понимать, как это работает с точки зрения злоумышленника. С этой целью вам предстоит научиться изменять свои привилегии в различных операционных системах, закрепляться в них, использовать эксплойты, переполнение буфера и заменять DLL-файлы на вредоносные библиотеки. Атаки на сетевую инфраструктуруТакие атаки делятся на активные и пассивные — тип напрямую зависит от вредоносного ПО. Для обеспечения защиты от атак на сетевую инфраструктуру используются: Но это касается методов защиты конечных пользователей. В роли специалиста по пентестингу вам предстоит тестировать атаки через SMB Relay и Responder, использовать PowerShell как инструмент атак и анализа защищённости сети, проверять конфигурацию домена, захватывать и анализировать сетевой трафик. Реверс-инжиниринг и анализ вредоносных ПОНо настоящие специалисты по кибербезопасности идут ещё дальше. Они изучают и анализируют логику исполняемых файлов, исследуют результаты работы вредоносных ПО, проводят реверс-инжиниринг компилируемых исполняемых файлов и производят их отладку. Именно здесь вам пригодится язык ассемблера, C, а также отладчики OllyDbg, x64dbg и GDB. Подготовка к экзаменам CEH и OSCPСдача экзаменов CEH и OSCP опциональна, но она позволит закрепить пройденный материал, получить соответствующие сертификаты и поставить жирную точку в обучении в ранге новичка, став специалистом. Вам следует понимать технические особенности формата обоих экзаменов и выстроить эффективный план подготовки. «Мамкины хакеры» на официальной работе: чем занимаются пентестеры«Пентестер» — слово вообще-то не русское, заимствованное. Что приходит на ум людям не из ИТ, боюсь представить. Поэтому мы себя «на Руси» гордо зовём «специалисты по тестированию на проникновение». Что ещё за «проникновение» и зачем его нужно тестировать? В этой статье я постараюсь приоткрыть завесу тайны для непосвященных. Есть большие компании, в которых работают уважаемые «дяди». На них трудятся программисты, которые пишут код и иногда совершают ошибки. Причины ошибок банальные: по глупости, из-за лени или из-за незнания технологии, а чаще всего из-за горящих В программном продукте любая ошибка – это потенциальная уязвимость. Уязвимость – это уже потенциальный риск. А риск – это вроде как плохо, и можно потерять деньги (вообще много всего можно потерять: данные клиентов, интеллектуальную собственность, репутацию, но всё это высчитывается в деньгах). И что вы думаете? «Большие дяди» решают не торопить программистов, свозить их на курсы безопасной разработки, дать время на доведение кода до совершенства и делают им массаж ступней? Конечно же, нет. «Большие дяди» решают эти риски «принять» (снизить, передать, застраховать и много других умных слов). В общем, программы крутятся – лавеха мутится. Хакеры немного воровали, и всё шло в стандартном потоке, но так было до поры до времени. Со временем объем данных стал значительно расти, наглость хакеров росла еще быстрее. Вред от взлома стал превышать допустимые пределы. Еще и пользователи начали осознавать ценность своих «ну очень важных» персональных данных, а потом подъехали «ребята» из политики, и завертелось (прослушка первых лиц, вывод из строя Иранской АЭС, фальсификации выборов, свобода слова, право на приватность, право на забвение и наконец «кибероружие»!). Все сразу поняли, что информационная безопасность – это вам не «хухры-мухры». Важный момент для читателя: «бизнес», конечно, может говорить, что ему очень важна ваша приватность, данные никому не передадут и каждый бит информации будет охранять специально обученный человек, но по факту это мало кого волнует. Основные мотиваторы для обеспечения ИБ – это «бабки», или точнее: Снова «умные дяди» собрались и решили: чтобы защищаться от злоумышленника, нужно думать, как злоумышленник. Не обязательно самим, можно формализовать этот процесс, нанять специально обученных людей «в пиджачках», и пусть себе взламывают, а на выходе будет новая бумажка, но уже «технический отчет»! Так вот, «пентестер» по-простому – это тот, кто имитирует работу реального злоумышленника, тем самым тестируя организацию на возможность проникновения (компрометации) и получения доступа к информационным активам (конфиденциальной информации). Как тестировать? Откуда? Куда проникать? Какие сведения получить? Какие ограничения? – всё это детали, которые заранее оговариваются. Со стороны кажется, что работенка легкая и высокооплачиваемая, плюс еще и рынок не насыщен специалистами, поэтому и формируется тренд, что многие школьники хотят стать «кул-хацкерами», сидя дома на диване и нажимая пару клавиш, взламывать ИТ-гигантов. Но так ли всё просто? Жизненный опытПентестер – это не просто тестировщик, лучше сюда не идти со школьной скамьи, не обладая опытом работы в качестве сотрудника обычной компании или компании вендора. Вы должны пройти школу жизни, примеры: Найти одну «дырку» в многотысячной компании обычно не составляет труда, но не имея жизненного опыта, будет трудно полноценно анализировать и взламывать другие системы, не понимая: Требования к пентестеруТребования к такому специалисту, конечно, отличаются от требований к космонавту, здесь физически выносливым быть не обязательно, можно вообще с дивана долго не вставать, но свои нюансы есть. Вот примерные должностные обязанности: Технический гений-социофоб в данном случае мало кого интересует, обычно здесь требуется коммуникабельный человек, умеющий: Философия пентестаНе нужно думать, что пентест покажет все проблемы, что полученный результат будет объективной оценкой вашей ИБ в компании (продукта). Пентест всего лишь показывает, какого результата команда конкретных специалистов в заданных условиях (время, место, модель злоумышленника, компетенции, разрешенные действия, законодательные ограничения, приоритеты, Помните: пентестеры – это не реальные злоумышленники, которые могут комбинировать кражу, взлом, шантаж, подкуп сотрудников, подделку документов, своё влияние и другие общечеловеческие факторы, здесь всё согласуется по 100 раз, нагрузка контролируется и все в курсе. Пентест — это еще и удача. Сегодня ты успел извлечь пароль администратора из оперативной памяти и поднялся до администратора домена на всю корпоративную сеть, а завтра его уже там нет, и в отчет пойдет только непривилегированный (простой) доступ на каком-то древнем, никому не интересном сервере. Отличия от близких направленийПомимо «пентестеров», есть еще «редтимеры», «багхантеры», «исследователи», «аудиторы», просто специалисты по ИБ – всё это может быть один человек, а могут быть и разные люди, только частично пересекающиеся по компетенциям. Но попробуем немного «разжевать» эти термины: «Аудитор»Данному специалисту предоставляются все документы, схемы сети, конфигурации устройств, на основе чего делаются выводы и рекомендации для организации в соответствии с лучшими стандартами и опытом аудитора. За счет открытости сведений он дает наибольшее покрытие по всем процессам ИБ и целостный взгляд на всю инфраструктуру. Аудитор редко самостоятельно проверяет каждую настройку в организации, обычно сведения ему предоставляем сам заказчик, порой устаревшие или неверные. Необходимо объединять усилия аудиторов и пентестеров для проверки как бумажек с бизнес-процессами, так и их реализации на практике. «Исследователь»Пентестер в чистом виде – это не исследователь, у него просто нет на это время. Под исследователем я подразумеваю специалиста, который может поднять стенд, развернуть определенное программное обеспечение и исследовать только его вдоль и поперек несколько недель, а то и месяцев. А теперь представьте, вы нанимаете специалиста для тестирования вашей корпоративной инфраструктуры, а он весь срок сидел и исследовал ПО «для отправки валентинок», установленное на компе одного из сотрудников. Даже в случае успеха вам его результаты работы не сильно интересны. «Редтимер»Редтим – это совершенно другая философия тестирования. Подходит для компаний со зрелой ИБ, у которых уже проводились аудиты и пентесты, плюс все недостатки были устранены. Отличия от пентеста: «Багхантер»Сравнивать багхантера с пентестером некорректно – это как теплое с мягким, одно другому не мешает. Но для разделения могу сказать, что пентестер – это больше должность, работа подразумевает целый ряд формальных задач по договору с заказчиком по заявленной методологии и с формированием рекомендаций. Багхантеру достаточно найти дыру у кого-угодно (обычно из списка на площадке) и выслать доказательство наличия ошибки (предварительные условия, шаги). Еще раз, никаких предварительных договоров, никаких согласований – просто нашел уязвимость и отправил заказчику через площадку (примером площадки может служить cайт www.hackerone.com). Можно даже посмотреть, как только что Петя это сделал в организации «А», и повторить тут же в организации «B». Конкуренция тут высокая, и «низко висящие фрукты» попадаются всё реже. Лучше рассматривать как вид дополнительного заработка для пентестера. Специфика пентеста от компании-интегратораДанный раздел может показаться рекламным, но от фактов не уйдешь. Каждый пентест по-своему уникален (хотя методика и может быть шаблонной). Уникальным его делает множество факторов, но в основном это люди, команда специалистов, на стиль которых непременно влияет компания, где они работают. Так, например, одной компании важен только сам пентест, его результаты, они делают деньги только на этом. Вторая компания хочет создать конкретные недостатки во время пентеста, чтобы продать своё защитное решение. Третья делает акцент больше на нарушенных бизнес-процессах для поднятия целого пласта проблем и предложения мер по их решению. Работая в компании-интеграторе, расскажу об особенностях наших пентестов для внешних заказчиков. Специфика заключается в том, что: Трудовые будниПредставим, что вы уже работаете пентестером. Как будут выглядеть ваши трудовые будни? С понедельника по пятницу вы проводите «внешний пентест» Заказчика1 на пару с коллегой. Работы ведутся на основе личного опыта и по международным методикам, с учетом специфики заказчика. Вы запускаете сканеры, составляете карту, сверяетесь с чек-листами, переписываетесь с коллегой об обнаруженных уязвимостях. Параллельно другая команда начинает обзванивать сотрудников заказчика, представляясь службой безопасности, рассылать грозные письма с вредоносными вложениями, кто-то даже выезжает раскидать флешки и расклеить плакаты на территории заказчика. Это не соревнования, тут не всегда находятся интересные уязвимости, не всегда люди сообщают пароли по телефону и не всегда защитные средства настроены «дыряво», поэтому в отчет может пойти только перечень проведенных работ, но вы не волнуетесь, ведь каждый пентест учит вас чему-то новому и демонстрирует интересные человеческие факторы. Пару раз у заказчика после фаззинга входных данных деградирует работоспособность сервисов, и работы приостанавливаются. После корректировок ограничений они продолжаются. Всё в норме. Пишете отчет. Дальше вас распределяют на «внутренний пентест» Заказчика2 с командировкой в город N, кому-то из ваших коллег достается тестирование мобильного приложения. По приезду вас провожают в отдельный кабинет, предоставляют рабочее место. Вы спокойно подключаете сетевой кабель в ноутбук и проводите «внутренний пентест», согласно заявленному договору. Возможно, вы захватываете контроллер домена через 3 часа после начала работ через ms17-010 и остальные дни коллекционируете другие векторы. Возможно, вы всю неделю пытаетесь «играть» с «делегированием полномочий Kerberos» на паре полученных учетных записей. К вам непременно подходят сотрудники ИБ и спрашивают, что нашли. Уже через 15 минут вы ожидаете вопрос: «Ну что? Удалось что-то взломать?», хотя nmap даже «не прогрелся». В любом случае вам обычно есть чем удивить безопасников, и даже с учетной записью из принтера вы можете забрать бэкапы Exchange-сервера. Дальше отчеты, рассказы «о великом путешествии» коллегам, удивление заказчика, много рекомендаций и еще больше уточнений, но в итоге компания действительно начинает понимать, что безопасность – это процесс, а не разовые меры, и вам от проделанной работы становится приятно. Дальше вас распределяют на red team, вы едете с коллегой в машине, паркуетесь рядом с банком. Запускаете атаку на Wi-Fi с помощью ноутбука и специальной антенны. Вы не ГРУ, у вас нет корочки, можно реально «отхватить по шапке» от непредупрежденных охранников, поэтому антенна скрыта, и у вас есть легенда, что вы ожидаете друзей. Но вот wifi-handshake корпоративного Wi-Fi получен, и ваши коллеги в офисе уже сбрутили его и зашли через интернет в почтовый ящик топ-менеджера. Это успех. Дальше сбор информации, отчеты, презентации. Далее в будни вы пишете скрипты для оптимизации части вашей работы. Читаете новости и тестируете новые техники на стенде. Параллельно старые заказчики присылают вам вопросы по работам месячной давности. Несколько часов в субботу (переработки оплачиваются) запланировано нагрузочное тестирование у заказчика, вы «роняете» сайт через 10 минут после начала, и угадайте, что? Пишете отчет о результатах. Скоро будет интересный вам пентест АСУ ТП и поездка на конференцию по ИБ за счет компании. Вы роняете слезу счастья и вставляете кавычку в новую веб-форму. В завершениеТема пентестов уже не нова, о ней писали много и по-разному (можно почитать тут и тут), И несмотря на зачатки автоматизации (пример тут), вряд ли что-то заменит живого компетентного человека в ближайший десяток лет.
|