70% сайтов имеют уязвимости высокой степени риска, которые приводят к компрометации ресурса и утечки данных.
Penetration test (сокр. pentest) или тест на проникновение - моделирование действий хакера на сайт, с целью получения абсолютно объективной оценки текущего уровня информационной безопасности исследуемого ресурса.
Выполнение данных работ позволяет разработать адекватную и всеобъемлющую программу мероприятий по повышению уровня защищенности веб-приложения, что в свою очередь приводит к снижению операционных, финансовых и репутационных рисков до приемлемого уровня. Проще говоря, это конечный логический этап при разработке вашего сайта, если вы действительно всерьез задумались о безопасности.
При таком методе используется следующая модель нарушителя: высококвалифицированный внешний нарушитель (уровень квалификации - хакер), действующий со стороны сети Интернет, не имеющий никаких привилегий и не обладающий никакими данными об исследуемом ресурсе, осуществляющий атаки, направленные на получение несанкционированного доступа к веб-приложению. Единственная информация, которой владеет исполнитель – адрес сайта.
1. Сбор и анализ информации
2. Идентификация уязвимостей
3. Реализация атаки на веб-приложение
4. Анализ и составление отчета
5. Устранение уязвимостей
На данном этапе производится сканирование портов исследуемого ресурса, а также идентификация доступных сервисов, служб, средств защиты.
Сбор и анализ информации об имеющихся уязвимостях в обнаруженных версиях служб, сервисов, скриптах. Выявление способов использования уязвимостей, оценка рисков использования уязвимостей. Тестирование уязвимостей OWASP Top10 (https://www.owasp.org). Анализ и тестирование логики веб-приложений, проверка возможности раскрытияе чувствительных данных, тестирование механизмов проверки входных данных (SQL Injection, XML Injection, XSS, Code Injection, B/H/S overflows) и т.д.
Проверка выполнение произвольного кода на стороне сервера, получение прав на чтение или запись файлов/бд на сервере, доступ к приватной информации и т.д.
Здесь происходит объединение и упорядочивание информации, полученной в процессе тестирования. Составляется отчет, который содержит: обзорный отчет, отчет об обнаруженных уязвимостях, вывод о состоянии информационной безопасности исследуемого ресурса и план по устранению выявленных уязвимостей.
1. «Abuse of Functionality». Злоупотребление функциональными возможностями. Использование функций веб-приложения с целью обхода механизмов разграничение доступа.
2. «Brute Force». Перебор паролей по словарям простых и стандартных паролей.
3. «Directory Indexing» Поиск листинга директорий.
4. «Content Spoofing».Подмена содержания сайта. отображение удаленного
5. «Credential/Session Prediction».Предсказуемое значение идентификатора
сессии позволяет перехватывать сессии других пользователей. Подобные атаки
выполняются путем предсказания или угадывания уникального идентификатора
сессии пользователя.
6. «CrossSite Scripting». Атака на вебприложение, заключающиеся во внедрении
в выдаваемую веб-системой страницу вредоносного кода (который будет
выполнен на компьютере пользователя при открытии им этой страницы) и
взаимодействии этого кода с веб-сервером злоумышленника.
7. «CrossSite Request Forgery». Подделка межсайтовых запросов. Атака на
посетителей вебсайта, использующая недостатки протокола HTTP.
8. «HTTP Response Smuggling». Атаки, основанные на некорректной передачи
ответов HTTP.
9. «HTTP Response Splitting». Атаки с разделением ответов HTTP.
10. «HTTP Request Smuggling». Атаки некорректной передачи запросов HTTP.
11. «HTTP Request Splitting». Атаки с разделением запросов HTTP.
12. «LDAP Injection». Внедрение операторов LDAP атака на веб-сервер,
создающаю запросы к службе LDAP на основе данных, вводимых
пользователем.
13. «Null Byte Injection». Обход проверки фильтра веб-инфраструктуры, путем
добавления в url символа нулевого байта, с целью изменения логики
веб-приложения и получения НСД к файлам.
14. «OS Commanding». Выполнение команд ОС посредством манипуляций
входными данными приложения.
15. «Path Traversal». Получения доступа к файлам, директориям и командам,
находящимся вне основной директории веб-сервера.
16. «Predictable Resource Location». Предсказуемое расположение ресурсов,
позволяющие получить доступ к скрытым данным или функциональным
возможностям.
17. «Remote File Inclusion» (RFI).Тип атаки, которая позволяет использовать
удаленный файл на серверной стороне, через скрипт на веб-сервере.
18. «Routing Detour». Маршрутизация SOAP сообщений.
19. «Session Fixation». Фиксация сессии. Используя данный класс атак,
злоумышленник присваивает идентификатору сессии пользователя заданное
значение.
20. «SOAP Array Abuse». Инъекции определений наборов данных в SOAP сообщение.
21. «SSI Injection». Внедрение серверных расширений. Вставка серверных команд в
HTML код или запуск их напрямую с сервера.
22. «SQL Injection». Внедрении в запрос произвольного SQL кода.
23. «URL Redirector Abuse». Редиректы без верификации для спама.
24. «XPath Injection». Внедрение операторов XPath атаки направленные на
веб-сервер, создающие запросы на языке XPath на основе данных, вводимых
пользователем.
25. «XML Attribute Blowup»."Раздутие" параметров.
26. «XML External Entities». Инклуд внешнего файла.
27. «XML Entity Expansion». Внедрение переменных из тела сообщения.
28. «XML Injection». Внедрении в запрос произвольного XMLкода.
29. «XQuery Injection». Внедрении в запрос произвольного XQuery кода.
Отчет должен содержать введение, где будет описана методика проведения работ, объект аудита, границы тестирования (scope), так же должна содержаться информация об используемых инструментальных средствах анализа защищенности, которые будут применяться при тестировании. Каждой уязвимости, обнаруженной в ходе проведения тестирования присваивается определенная степень риска – высокая, средняя, низкая.
Классификация уязвимостей должна быть описана в отчете, например, уязвимости присваивается высокая степень риска, если ее использование может привести к компрометации данных, доступности сервера или сервисов, выполнению произвольного кода, манипуляции с данными. Сюда же входят уязвимости связанные с отказом в обслуживании, слабые или стандартные пароли, отсутствие шифрования, доступ к произвольным файлам или конфиденциальных данных.
Пример уязвимости:
Потенциальный злоумышленник может обойти скрипт проверки расширения загружаемого файла, что позволит ему загрузить веб-шелл, получить контроль над приложением и доступ к серверу.
Воздействие (CVSSv2) – Бизнесс воздействие – 10 баллов
Необходимость проведения теста на проникновение каждый определяет сам для себя. Задачи проведения перечислены в начале статьи. Если ресурс содержит критически важные и ценные данные, имеет высокую посещаемость, идет обработка перс. данных ну или сайт просто приносит хорошие деньги - необходимость проведения теста очевидна. Достаточно вспомнить недавнюю утечки данных FL.ru http://siliconrus.com/2015/02/fl-hacked .
По опыту могу сказать, что ломают все сайты, которые представляют той или иной интерес для взломщика. Иногда взлом происходит просто ради интереса или продвижения политический идей и т.д. (http://ru.wikipedia.org/?oldid=65240870). В этом месяца было много дефейсов (подмена содержания главной страницы) исламским государством. На сайтах размещалась молитва и различные изображения, отпугивая клиентов.
Тестирование на проникновение (penetration testing, пентест) является одной из разновидностей аудита информационной безопасности и относится к популярным во всем мире услугам ИБ. Задачей аудиторов является санкционированное проникновение через существующие средства защиты. То есть аудитор играет роль потенциального злоумышленника.
Зачем же нужны подобные аудиты? Профессионалы и гуру менеджмента ИБ давно ломают копья на тему: «приносит ли пентест пользу?». Однозначных выводов нет до сих пор. Есть как защитники пентестов, так и их горячие противники, которые считают, что пентест не может адекватно проиллюстрировать состояние ИБ, да и не зачем его проводить, так как безопасники и так все знают. Мы являемся сторонниками версии, что пентесты все же полезны. В целом, можно выделить четыре случая, в которых организации заказывают подобные услуги:
Службы ИБ многих организаций самостоятельно проводят подобные аудиты, либо один из этапов тестирования на проникновение: сканирование уязвиомстей, однако в рамках статьи мы будем рассматривать только аудиты, проводимые сторонними организациями.
Следует также расшифровать два понятия, используемых профессионалами: «белый ящик» и «черный ящик». «Белым ящиком» называется пентест, при котором аудитор обладает полной информацией о структуре сети и применяемых средствах защиты. Как правило, в этом случае, аудит проводится в тесном взаимодействии с ИТ и ИБ службами заказчика. «Черным ящиком», как следует из названия, называется подход, когда аудитор не знает ничего о тестируемом объекте. Оба подхода имеют право на существование. «Белый ящик» удобен тем, что тестирование можно легко спланировать и избежать потенциально опасных для сети заказчика моментов. С другой стороны, если системы защиты не способны выдержать любую атаку аудитора, то грош им цена. Хотя случаи, когда системы заказчика «падают», не выдержав тестирования из-за совсем уж некорректной настройки оборудования, достаточно часты. «Черный ящик» намного ближе к имитации действий злоумышленника, хотя профи взлома обычно заранее готовятся и собирают всю доступную информацию об объекте, поэтому тяжело представить, что взломщик совсем уж ничего не знает. В результате сочетания достоинств каждого метода, на свет появился третий подход: «серый ящик», представляющий собой нечто среднее между двумя вышеупомянутыми.
В процессе подготовки коммерческого предложения на тестирование, заказчик и исполнитель обычно согласовывают не только сроки и стоимость работ, но и применяемый метод, а также форму представления результатов. Как правило, по завершении аудита, заказчик получает отчет, в котором перечисляются обнаруженные исполнителем недостатки системы защиты, а также возможность их эксплуатации. Зачастую, отчет разделяют на тестирование внешнего сегмента сети (интернет, DMZ – демилитаризованная зона) и внутреннего. В подавляющем большинстве случаев, заказчика особо интересует – возможно ли проникновение снаружи во внутреннюю сеть? Хотя конечно, круг потенциальных злоумышленников, отнюдь не ограничивается мифическими хакерами, даже скорее наоборот, чаще всего, злоумышленником является бывший или настоящий сотрудник организации. В практике автора был случай, когда в многофилиальном банке, в одном из далеких от Москвы филиалов, инкассатор притащил на работу диск с программами для взлома, который был приложен к одному из номеров журнала «Хакер», и не придумал ничего лучше, как опробовать эти программы на рабочей сети. Конечно, его действия были замечены системой обнаружения атак, и в результате, ему пришлось долго объяснять службе безопасности, что на самом деле, ничего плохого он сделать не хотел.
Разбиение на внешний и внутренний тест может также преследовать собой использование разных методов тестирования. Обычно на внешнем сегменте, аудиторам не дают никакой информации о сети, зато позволяют «оторваться на полную», используя любые методы атак. После завершения внешнего тестирования, внутреннее уже проходит по согласованию с ИТ и ИБ службами. Для проведения тестирования аудиторы обычно пользуются собственными компьютерами, но при внутреннем тесте может использоваться и стандартная рабочая станция.
Заказчиком тестов внутри организации чаще всего выступают ИБ- или ИТ-директора, которые могут преследовать различные цели.
Само тестирование в общем виде проходит по следующему сценарию:
При желании заказчика аудиторы могут проверить устойчивость ресурсов к атакам отказ в обслуживании (DOS, либо DDOS-атаки). Подобные атаки давно превратились в налаженный преступный бизнес. Любой желающий за небольшие деньги может купить услуги так называемых бот-сетей (то есть объединения компьютеров, состоящих под управлением специальной вредоносной программы). Последнее время над созданием бот-сетей трудится целая армия вирусописателей. При чем, подобные услуги стоят сравнительно недорого, а позволяют организовать атаку такой мощи, что отказывает не только атакуемый ресурс, а вообще весь канал связи целиком, или даже провайдер услуг связи. Поэтому, проверка на DOS-атаки последнее время не очень популярна, хотя позволяет обнаружить явные недостатки в настройках устройств, либо работе приложений.
Помимо вышеперечисленных приемов, в ходе тестирования также проводится проверка устойчивости сети. На канальном уровне проводятся атаки на соответствующие протоколы (STP, VTP, CDP, ARP). При возможности, проводится анализ сетевого трафика с целью перехвата важной информации (пароли или хеши паролей пользователей, документы и т.д.). Например, атаки типа ARP-poisoning (подмена ARP-кеша) как раз и проводятся для перехвата трафика с хоста жертвы. Полученные подобным образом хеши паролей можно «раскрутить» с помощью специального программного обеспечения. Аналогично проводится проверка устойчивости маршрутизации путем фальсификации маршрутов и проведения атаки типа отказ в обслуживании против используемых протоколов маршрутизации. В нашей практике был случай, когда в одной крупной организации сотруднику – разработчику ПО выделили новый компьютер. Следует отметить, что разработчики, в силу своей профессии и реальной служебной необходимости, часто имеют административные права на своей рабочей станции. Сотруднику было необходимо перенести информацию со своей старой машины на новый компьютер. Для этого он включил новый компьютер в сеть и стал настраивать сетевой доступ. Открыл настройки на своем старом компьютере, чтобы посмотреть IP-адрес и забил точно такой же на новом компьютере. Естественно, что два одинаковых IP-адреса в сети существовать не могут, поэтому перенос информации не удался. Тогда этот сотрудник поменял IP-адрес на новом компьютере на другой, снова подсмотрев его на старом компьютере. В результате он забил в графу IP-адрес маршрутизатора, и как только применил настройки, в сети произошло распространение изменений таблиц маршрутизации. То есть все пакеты, которые должны были направляться на маршрутизатор, стали приходить на новый компьютер разработчика. Конечно, такого не должно было случиться, коммуникационное оборудование было настроено не корректно. Итогом таких неграмотных, но, казалось бы, невинных действий сотрудника, стал двухчасовой перерыв в работе организации, так как на целом ряде серверов пришлось вручную чистить таблицы маршрутизации.
Помимо обычных сетей, аудиторы могут также проверить безопасность беспроводных сетей, которые почти всегда существуют в любой организации, так как если даже официально их нет, всегда найдутся мобильные телефоны, КПК, ноутбуки с включенными беспроводными интерфейсами.
По завершении проверки сети, аудиторы проверяют возможность доступа к информации ограниченного доступа. Производится проверка прав доступа к различным информационным ресурсам с использованием логинов и паролей, полученных в ходе тестирования.
Все работы аудитора документируются, и затем используются для анализа и выработки рекомендаций по улучшению имеющейся ситуации. Редко какая организация может устоять против взлома квалифицированным аудитором. На памяти автора, среди множества подобных проектов, устояла только одна. По иронии судьбы, она тоже занималась аудитом, тем самым опровергнув известную поговорку «сапожник без сапог». Учитывая, что аудиторы в ходе тестов получают доступ к конфиденциальной информации, при определении исполнителя, заказчику следует внимательно рассмотреть вопросы обеспечения конфиденциальности, включив соответствующие положения в договор. Не лишним также будет проверить репутацию исполнителя путем изучения имеющейся о нем информации. Не случайно, услуги по тестированию на проникновение часто называют «этическим хакингом», а на западе даже существуют соответствующие обучающие курсы по этическому взлому (есть и в России) и сертификационные программы.
Последнее время, помимо тестирования технической устойчивости к взлому, организации все чаще заказывают проверки сотрудников, для выявления уровня осведомленности персонала о требованиях и угрозах в области информационной безопасности. Такое тестирование проводится методом «социальной инженерии», когда аудитор звонит сотрудникам и, по заранее разработанному сценарию, пытается получить доступ к конфиденциальной информации, например логину и паролю. Приведем пример такого разговора: «Добрый день! Вас беспокоят из IT Help Desk, скажите с Вашим компьютером сегодня проблемы были? Тут у нас небольшие проблемы, Ваш аккаунт необходимо синхронизировать. Скажите имя Вашей учетной записи как пишется?.... Так, а домен?.... Ок, через 5 мин можете работать. Чтобы вас не беспокоить больше, скажите пароль?.... А Вы еще с какими-нибудь ресурсами работаете? » Такое тестирование стало широко известно благодаря Кевину Митнику, человеку, имя которого навеки вписано в историю компьютерных взломов.
Благодаря своему мягкому, располагающему голосу, Митник научился входить в доверие даже к самым настороженным людям. Совмещая навыки социальной инженерии со своими компьютерными талантами, он мог проникнуть в любую, даже самую защищенную систему. Кевин по-прежнему жил с матерью в пригороде ЛА Сан-Фернандо и Роско часто заезжал за ним на своем потрепанном форде. Приятели отправлялись на съемную квартиру, где их уже ждал компьютер с модемом, запасались фастфудом и всю ночь блуждали по коммерческим сетям. День за днем они собирали логины, пароли, номера счетов и другую подобную информацию. Уже не оставалось ни одной компьютерной системы в округе, где бы не успела побывать эта парочка. Каким бы защищенным не был сервер, они всегда находили способ пробраться внутрь. Чтобы добиться своего, Кевин и Роско не брезговали копаться в мусорных баках компаний в поисках полезных распечаток, а один раз даже проникли в здание будущей жертвы - фирмы U.S.Leasing. Несмотря на то, что полиция однозначно подозревала Митника (ни у кого в Лос-Анджелесе к тому времени не было столь откровенной репутации), взломы делались столь профессионально, что не было ни одной зацепки.
Помимо звонков, аудитор может использовать специально подготовленные е-мейлы, либо «фишинговые» сайты, которые выглядят точь-в-точь как настоящие (например, имитация интранет-сайта организации). Людей неспроста называют самым слабым звеном любой системы защиты, и практика социотестирования показывает верность этого утверждения. Несмотря на то, что сотрудники настороженно относятся к подобным звонкам, как правило, они все же называют свои пароли злоумышленникам. Бороться с этим можно только, проводя непрерывное обучение сотрудников вопросам информационной безопасности.
Подводя итог, следует отметить, что тесты на проникновение доказали свою эффективность за многолетнее время их проведения. Кроме того, это сравнительно недорогой способ оценить ээфективность соответствующих контролей. Конечно, обычно безопасники хорошо представляют как обстоят дела с установкой обновлений (патч-менеджментом), контролем доступа, разбором логов и т.п. Однако, для руководства организаций, выводы сделанные независимым аудитором, как правило, весомей.
Пентест - или тест на проникновение - показывает, насколько легко злоумышленнику проникнуть в корпоративную информационную систему. В ходе тестирования на проникновение «Перспективный мониторинг» моделирует действия злоумышленника и даёт оценку, сколько ресурсов и времени потребуется для успешной кибератаки на заказчика. Мы выявляем вероятные направления атак и даём рекомендации, как устранить слабые места в защите и повысить уровень ИБ.
Тест на проникновение показывает, как будет действовать потенциальный злоумышленник во время кибератаки на организацию. Знание векторов атак даёт возможность подготовиться к ним и снизить негативные последствия.
Пентестер находит и эксплуатирует уязвимости в сетевом оборудовании, средствах защиты информации, серверном, системном, прикладном ПО, узнаёт, насколько актуальны знания сотрудников атакуемой организации в области ИБ. «Перспективный мониторинг» даёт заказчикам подробные рекомендации, как можно устранить обнаруженные уязвимости или принять компенсационные меры, и, если необходимо, помогает это сделать.
Регулярные периодические пентесты помогают оценить уровень защищённости информационной системы в динамике (меняются настройки средств защиты, приходят и уходят люди, появляются новые атаки) и ответить на вопрос - «Наша защита стала лучше после того, как мы поставили эту „железку“ за кучу денег?!». Пентестеры «Перспективного мониторинга» выясняют, насколько группа реагирования на инциденты готова противостоять действиям злоумышленника.
Также регулярное тестирование на проникновение - требование PCI DSS и ISO 27001. Согласно этим стандартам пентесты проводятся ежегодно или после существенных изменений в информационной инфраструктуре.
Приказы ФСТЭК России № 17, № 21 и № 31 требуют анализировать защищённость информационных систем. Приказ № 21 содержит требование к периодичности - не реже одного раза в 3 года.
Наша компания проводит три вида пентестов:
Тесты отличаются по степени информированности пентестера о средствах защиты, сетевой инфраструктуре, аппаратном и программном обеспечении заказчика:
Мы разработали собственную методику тестирования, которая базируется на Draft Guideline on Network Security Testing (от NIST), Open-Source Security Testing Methodology (OSSTM) и The OWASP Testing Framework.
Сбор информации - от 1 до 5 дней.
Подготовка к пентесту - до 5 дней.
Атака - 1–2 дня.
Подготовка отчёта - до 5 дней.
«Разбор полётов» с заказчиком - до 10 дней.
Обучение сотрудников заказчика - от 1 до 10 дней.
Отчёт о тестировании на проникновение содержит:
При необходимости мы разработаем программу повышения осведомлённости сотрудников в вопросах ИБ.
Существует несколько популярных securty дистрибутивов, содержащих большинство популярных утилит и приложений для проведения тестирования на проникновение. Обычно они основаны на существующих Linux-дистрибутивах и представляют из себя их переработанные версии. В этой статье будут представлены наиболее известные из них.
Существует несколько видов этого дистрибутива для различных платформ, таких как ARM, систем виртуализации, инстансов для проведения атак с мобильных платформ - Kali Nethunter.
В данный момент дистрибутив реализован в виде роллинг-релиза, который гарантирует, что вы всегда будете обладать новейшими версиями лучших инструментов и утилит для проведения тестирования на проникновение.
Количество утилит действительно довольно внушительное, но, некоторые из них имеют схожий функционал и новичку может быть довольно сложно разобраться в таком количестве программ.
Довольно легкий и эффективный инструмент, многие security специалисты нашли в нем замену все более «прожорливому» Kali, тем более что Parrot использует репозитории Kali для обновления.
Благодаря легковесной оболочке XFCE BackBox Linux больше подходит для повседневного использования в качестве рабочей лошадки на вашем личном компьютере. Существует режим - Anonymous mode – весь системный траффик пропускается через TOR-прокси. Скрипт запуска меняет MAC-адрес системы и hostname, также при выключении режима все временные файлы удаляются с помощью интегрированного пакета BleachBit.
Backbox Linux может стать отличной альтернативой Kali Linux для тех, кто ищет баланс между функциональностью и удобством повседневного использования.
Одной из особенностей является нативная поддержка Hardened Gentoo - несколько изменений в компиляторе и ядре, которые увеличивают общую защищенность системы от взлома.
Обладая сбалансированным набором средств сетевого мониторинга, анализа и безопасности, может дать явные преимущества сетевому администратору, для контроля безопасности вверенной ему инфраструктуры.
Основное предназначение - проведение мероприятий по форензике - анализа последствий взлома компьютерных систем, определения потерянных и скомпрометированных данных, а также для сбора т.н. цифровых доказательств совершения киберпреступлений.
Поставляется в виде образа виртуальной машины, содержащий наиболее популярные Open Source утилиты для сбора информации и проведения различных атак на веб-приложения.
Имеет собственную оболочку, интерфейс выполнен в виде командной строки, содержит большое количество утилит, список которых можно самостоятельно дополнять/кастомизировать.
Если Вы Windows пользователь и Вас пугает установка виртуальных машин или Linux, Вы можете попробовать поработать с этой оболочкой.
Эта сборка предназначена для анализа мобильных устройств и приложений - проведения анализа безопасности, извлечения данных, реверс-инжениринга, форензики, также содержит средства разработки.
В настоящее время, это один из наиболее часто используемых инструментов для аудита WiFi сетей, в него включены большинстов популярных утилит для анализа защищенности беспроводных сетей, поддерживается большинство производитей сетевых карт.
Теги: Добавить метки