Содержание статьи
Тестирование на проникновение (penetration testing) — метод оценки безопасности компьютерных систем или сетей средствами моделирования атаки злоумышленника. Для кого-то это хобби, для кого-то работа, для кого-то это стиль жизни. На страницах нашего журнала мы постараемся познакомить тебя с профессией настоящего «этичного хакера», с задачами, которые перед ним ставятся, и их решениями.
Intro
После выхода на экраны сериала Mr. Robot (от которого я тоже, если честно, в восторге) образ хакера — консультанта по информационной безопасности приятно преобразился в глазах окружающих людей, далеких от этой темы. Это, безусловно, приятно. Но я опасаюсь, как бы это не привело к тому, что хипстеры начнут не только пить смузи в антикафе, но и делать свои стартапы в области ИТ-безопасности.
Скорее всего, это может произойти параллельно с ростом спроса на консалтинг в сфере ИБ. При таком развитии событий вероятность того, что заказчик наткнется на недостаточно компетентного исполнителя, очень велик. Главной проблемой может стать отсутствие грамотных критериев выбора исполнителя. В современных российских реалиях ими могут выступить следующие факторы:
- репутация исполнителя;
- стоимость услуги;
- наличие у исполнителя профильных сертификатов;
- возможность отката;
- наличие у исполнителя необходимых компетенций.
Такой подход не поощряет развитие ИБ как отрасли. Более половины приведенных мной факторов актуальны лишь потому, что стандартов предоставляемых услуг до сих пор нет.
К примеру, различные исполнители могут понимать тестирование на проникновение по-разному. Для кого-то пентест — это только эксплуатация известных техник и компоновка этого в отчет, для других это идентификация публичных уязвимостей. До тех пор пока не появится общепринятый стандарт состава работ для той или иной услуги, выбрать исполнителя при ограниченном бюджете проекта будет сложно.
Конечно, целесообразнее и предпочтительнее инвестировать в развитие своего отдела ИБ. Рядовые сотрудники отдела, обладающие нужными компетенциями, смогут контролировать выполнение всех пунктов работ, а также при необходимости выступать в роли менеджеров.
Xakep #200. Тайная жизнь Windows 10
Думаю, что в ближайший год мы увидим, сбудутся ли такие прогнозы.
Contribute
Озвучив проблему, я хочу внести свою вклад в ее решение. Для наглядности я разделю отрасль на три группы:
- штатные безопасники;
- консультанты-практики;
- все остальные.
В профессиональном плане меня интересуют только первые две. Я готов помочь каждой из них в случае, когда сложно самостоятельно ответить на вопрос: «А все ли я сделал правильно?» Если ты не знаешь, как организовать ту или иную работу в рамках анализа защиты подопечной тебе информационной системы, но что-то подсказывает, что сделать это действительно нужно, я готов дать советы для конкретной ситуации с условием, что можно будет опубликовать информацию о ней ситуации без упоминания твоего имени. Если ты причисляешь себя к консультантам-практикам по ИБ или хочешь таковым стать и тебе нужен совет, напиши мне на goltsev@glc.ru — я посоветую.
Develop yourself
Тему тестирования на проникновение я уже полностью раскрыл в прошлых выпусках колонки. В любой типичной ситуации ты сможешь найти ответ на большинство вопросов. Что до нетипичных, то мы будем рассматривать их по мере появления.
Все пентесты на самом деле проходят одинаково, но ровно до тех пор, пока тебе не доказали обратное. Один мой друг задумался, как автоматизировать весь процесс, — чтобы можно было предоставлять заказчику абсолютно те же результаты, но с гораздо меньшими трудозатратами. Я с удовольствием поддержал его идею: на мой взгляд, автоматизация чего-либо идет во благо эволюции. В данном случае основной посыл такой: хочешь пентестить — либо делай это лучше автоматизации, либо не делай совсем. Этакий челлендж man against machine, как в старые добрые времена.
Поискав, что есть на эту тему на профильных ресурсах, мы пришли к выводу: серьезно автоматизировать процесс никто не пробовал, но все возможности для этого существуют. Большинство утилит, которые претендуют на звание программы для массового поражения, — это что-то наподобие либо ms08-067_I_k1ll_y0ur_n4tw4rk.exe, либо smbrelay_0ld_sch00l_l33t.sh или уже попсовый, но еще относительно новый mimikatz_hack_them_all.ps1. Надеюсь, выбранные для утилит названия в полной мере отражают их основные функции.
Ориентироваться, конечно, придется на Windows, но я еще не встретил ни одной большой корпоративной сети, которая бы работала не на Windows. В сегодняшних реалиях весь mass pwnage основан на автоматизации аплоада wce или mimikatz и пожинании плодов. Работает это удачно лишь в том случае, если пентестер запускает утилиту на терминальной станции, где он является администратором и где работает с десяток пользователей. Возможно, они подключаются к другим системам, в которых обладают повышенными привилегиями. Скрипты работают по накатанной: закачал, запустил, распарсил вывод, удалил, перешел к следующему хосту, повторил. Он не успокоится, пока не получит привилегии администратора домена. Все хорошо, вот только возникает вопрос: откуда появились исходные привилегии и куда смотрит антивирус?
Можно возразить, что такие утилиты используются теми, кто все-таки знает, как получить необходимые привилегии. Можно также свалить все на «защиту от скрипткидди». К сожалению, такая защита не очень работает — порог вхождения в тему уже достаточно низок, и информацию не найдет только ленивый.
Ряд действий, которые выполняются для того, чтобы получить привилегии, можно и нужно автоматизировать. Думаю, что многие это понимают, но не афишируют. Уже давно наступило время, когда по статистике количество уязвимостей, эксплуатация которых абсолютно безопасна (не нарушает целостность и доступность), превышает число уязвимостей, эксплуатация которых в рамках тестирования на проникновение должна проводиться под наблюдением за системой.
Разработав, даже на коленке, набор утилит, которые реализуют обдуманную эксплуатацию безопасных уязвимостей, можно будет тратить меньше усилий и иметь результаты прежнего уровня. Кроме того, представители штатного отдела ИБ смогут самостоятельно использовать подобные скрипты, что благоприятно отразится на защищенности их систем, даже когда бюджет на определенные проекты по анализу защищенности отсутствует.
Проект разработки набора утилит, автоматизирующих всевозможные действия пентестера, стартовал, информацию о нем можно почерпнуть на GitHub.
Outro
Восемь лет назад вышел сотый номер журнала. В то время было сложно себе представить, что тестирование на проникновение и анализ защищенности заинтересует широкую публику. Сейчас это реальность. Технологии развиваются, меняются, совершенствуются. Совершенствуйся и ты вместе с ними. Не останавливайся на достигнутом. Изучай, делись и автоматизируй. Stay tuned!
INFO
Автоматизация
Right way to contribute
Общая теория по пентестам
- Vulnerability Assessment
- Open Source Security Testing Methodology Manual
- The Penetration Testing Execution Standard