Хабрахабр

«Мамкины хакеры» на официальной работе: чем занимаются пентестеры

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

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

Уязвимость – это уже потенциальный риск. В программном продукте любая ошибка – это потенциальная уязвимость. А риск – это вроде как плохо, и можно потерять деньги (вообще много всего можно потерять: данные клиентов, интеллектуальную собственность, репутацию, но всё это высчитывается в деньгах).

«Большие дяди» решают не торопить программистов, свозить их на курсы безопасной разработки, дать время на доведение кода до совершенства и делают им массаж ступней? И что вы думаете? «Большие дяди» решают эти риски «принять» (снизить, передать, застраховать и много других умных слов). Конечно же, нет. Хакеры немного воровали, и всё шло в стандартном потоке, но так было до поры до времени. В общем, программы крутятся – лавеха мутится.

Вред от взлома стал превышать допустимые пределы. Со временем объем данных стал значительно расти, наглость хакеров росла еще быстрее. Еще и пользователи начали осознавать ценность своих «ну очень важных» персональных данных, а потом подъехали «ребята» из политики, и завертелось (прослушка первых лиц, вывод из строя Иранской АЭС, фальсификации выборов, свобода слова, право на приватность, право на забвение и наконец «кибероружие»!).

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

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

  • требования регуляторов (иначе большие штрафы);
  • не дать хакерам украсть много (может довести до банкротства);
  • сохранить репутацию (чтобы доверчивые пользователи дальше несли денежки компании).

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

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

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

Откуда? Как тестировать? Какие сведения получить? Куда проникать? – всё это детали, которые заранее оговариваются. Какие ограничения?

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

Жизненный опыт

Пентестер – это не просто тестировщик, лучше сюда не идти со школьной скамьи, не обладая опытом работы в качестве сотрудника обычной компании или компании вендора.

Вы должны пройти школу жизни, примеры:

  • объяснить бухгалтеру, что принтер не работает, потому что провод не подключен к компьютеру;
  • объяснить финансовому директору в компании, что писать пароль на стикере у компьютера очень плохо;
  • установить на компьютер с 256Мб оперативной памяти программное обеспечение с минимальными требованиями на 4Gb;
  • настроить корпоративную сетку на домашних роутерах так, чтобы всё летало;
  • ждать согласования получения доступа к простой информационной системе пару месяцев;
  • разработать политику информационной безопасности за пару дней, скачав «рыбу» с интернета;
  • попросить бога, чтобы программа скомпилировалась и, ничего не изменив в коде, получить успех;
  • сделать работу быстрее запланированного в 2 раза, а вместо премии получить еще больше работы;
  • и т.д.

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

Найти одну «дырку» в многотысячной компании обычно не составляет труда, но не имея жизненного опыта, будет трудно полноценно анализировать и взламывать другие системы, не понимая:

  • Как это было построено? (качественно, либо под веществами)
  • Почему именно так? (лень, бюджет, условия, кадры)
  • Что мог упустить разработчик/архитектор/сетевик?
  • Почему ни на ком не лежит ответственность за взлом системы? (а такое бывает)
  • Почему никто не хочет устранять вашу суперважную найденную уязвимость? (и такое бывает)
  • Почему критичную уязвимость не могут устранить за пару часов? (может, у людей просто закончился рабочий день и за переработки никто не платит)
  • Насколько легко устранить обнаруженную уязвимость? (может, там поддержка на просроченном аутсорсинге)
  • И т.д.

Требования к пентестеру

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

Вот примерные должностные обязанности:

  • Проведение тестов на проникновение (pentest):
    • внешнее и внутреннее тестирование на проникновение;
    • анализ защищенности веб-приложений;
    • анализ защищенности беспроводных сетей;
    • тестирование на проникновение с использованием методов социотехнической инженерии;
  • Проведение тестов на проникновение в рамках требований стандарта PCI DSS.
  • Разработка отчетов и рекомендаций по проведенным тестированиям.
  • Собственное развитие и развитие компетенций отдела в области ИБ.

Примерные требования:

  • Наличие высшего технического образования в области ИБ.
  • Знания по администрированию *nix и Windows-систем, web-серверов.
  • Знание сетевых протоколов (TCP/IP), защитных технологий (802.1x), а также основных уязвимостей сетевых протоколов (arp-spoofing, ntlm-relay).
  • Знание работы веб-протоколов и технологий (http, https, soap, ajax, json, rest...), а также основных веб-уязвимостей (OWASP Top 10).
  • Знание рынка продуктов ИБ (производители, поставщики, конкуренты, тенденции развития, особенности спроса, потребности и ожидания заказчиков).
  • Понимание технологий защиты информации (WAF, VPN, VLAN, IPS/IDS, DLP, DPI и т.д).
  • Опыт работы с программами nmap, sqlmap, dirb, wireshark, burp suite, Metasploit, Responder, Bloodhound.
  • Опыт работы с ОС Kali Linux.
  • Знание методологий OWASP, PCI-DSS.
  • Опыт разработки на Python, PHP, Ruby, bash, Powershell, Java, C, Assembly.
  • Понимание основ reverse engineering.
  • Знание английского языка не ниже уровня Intermediate.
  • Знание китайского (скоро ждите).

Плюсом:

  • Опыт реверс-инжиниринга и анализа вредоносного кода.
  • Опыт эксплуатации бинарных уязвимостей.
  • Наличие профессиональных сертификатов CEH, OSCP, OSCE и т.п.
  • Участие в профессиональных соревнованиях (CTF, hackathon, олимпиадах).
  • Участие в программах Bug Bounty.
  • Наличие своих CVE.
  • Выступление на профессиональных конференциях.

От себя:

Технический гений-социофоб в данном случае мало кого интересует, обычно здесь требуется коммуникабельный человек, умеющий:

  • объяснить заказчику, что тот на самом деле хочет и как это будет выглядеть;
  • грамотно изложить и защитить свои действия и рекомендации в письменной и устной форме;
  • в случае успеха создать «вау-эффект»;
  • в случае неуспеха создать «вау-эффект» (минусы пентеста – это плюсы ИБ);
  • быть стрессоустойчивым (бывает жарко, особенно при скрытых работах);
  • решать поставленные задачи в срок даже при перекрестных проектах.
  • быть в тренде (о, да, быть в тренде – это «ноша» всех ИТ-специалистов):
    • [Нельзя после работы просто так взять и не думать о работе].
    • Нужно постоянно развиваться.
    • Читать чатики в телеграмме, читать зарубежные блоги, читать новости, отслеживать Twitter, читать Habr, смотреть отчеты.
    • Изучать новые инструменты, отслеживать изменения в репозиториях.
    • Посещать конференции, выступать самому, писать статьи.
    • Обучать новых сотрудников.
    • Сертифицироваться.
  • Не перегореть.

Философия пентеста

Не нужно думать, что пентест покажет все проблемы, что полученный результат будет объективной оценкой вашей ИБ в компании (продукта).

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

Помните: пентестеры – это не реальные злоумышленники, которые могут комбинировать кражу, взлом, шантаж, подкуп сотрудников, подделку документов, своё влияние и другие общечеловеческие факторы, здесь всё согласуется по 100 раз, нагрузка контролируется и все в курсе.

Сегодня ты успел извлечь пароль администратора из оперативной памяти и поднялся до администратора домена на всю корпоративную сеть, а завтра его уже там нет, и в отчет пойдет только непривилегированный (простой) доступ на каком-то древнем, никому не интересном сервере. Пентест — это еще и удача.

Отличия от близких направлений

Помимо «пентестеров», есть еще «редтимеры», «багхантеры», «исследователи», «аудиторы», просто специалисты по ИБ – всё это может быть один человек, а могут быть и разные люди, только частично пересекающиеся по компетенциям. Но попробуем немного «разжевать» эти термины:

«Аудитор»

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

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

Необходимо объединять усилия аудиторов и пентестеров для проверки как бумажек с бизнес-процессами, так и их реализации на практике.

«Исследователь»

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

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

«Редтимер»

Редтим – это совершенно другая философия тестирования. Подходит для компаний со зрелой ИБ, у которых уже проводились аудиты и пентесты, плюс все недостатки были устранены.

Здесь наиболее приближённо к реальному злоумышленнику, и уже под проверку попадает служба ИБ организации и смежные с ней (SOC ...).

Отличия от пентеста:

  • О проведении работ знает только несколько человек, остальные будут в реальном времени штатно реагировать на атаки.
  • Работы проводятся скрытно – можно атаковать с облачных хостеров в ночное время.
  • Покрытие тестами делать не нужно – можно идти по пути наименьшего сопротивления и найти пароль на github.com.
  • Более широкий диапазон воздействия – можно применять 0day, закрепляться в системе.
  • Работы проводятся длительный период (несколько месяцев, год), не требуют спешки – как раз здесь и можно позволить себе исследования инфраструктуры заказчика на поднятых у себя стендах для минимизации срабатывания защитных средств.

«Багхантер»

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

Багхантеру достаточно найти дыру у кого-угодно (обычно из списка на площадке) и выслать доказательство наличия ошибки (предварительные условия, шаги).

Можно даже посмотреть, как только что Петя это сделал в организации «А», и повторить тут же в организации «B». Еще раз, никаких предварительных договоров, никаких согласований – просто нашел уязвимость и отправил заказчику через площадку (примером площадки может служить cайт www.hackerone.com). Лучше рассматривать как вид дополнительного заработка для пентестера. Конкуренция тут высокая, и «низко висящие фрукты» попадаются всё реже.

Специфика пентеста от компании-интегратора

Данный раздел может показаться рекламным, но от фактов не уйдешь.

Уникальным его делает множество факторов, но в основном это люди, команда специалистов, на стиль которых непременно влияет компания, где они работают. Каждый пентест по-своему уникален (хотя методика и может быть шаблонной).

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

Специфика заключается в том, что: Работая в компании-интеграторе, расскажу об особенностях наших пентестов для внешних заказчиков.

  • Мы не заинтересованы провести пентест ради пентеста и растягивать его на несколько месяцев.
  • Работы проводятся в минимально необходимые сроки, и результаты нацелены на выявление реальной картины информационной безопасности заказчика.
  • Необходимо подсветить проблемные бизнес-процессы ИБ за счет тестирования ключевых точек инфраструктуры. Так, если на 20 из 20 компьютеров обнаружена устаревшая операционная система, то какой смысл демонстрировать еще 200? Полное покрытие часто не требуется, да и кто его вообще может гарантировать?
  • По результатам пентеста компания сразу может предложить провести аудит, выстроить бизнес-процессы, предложить защитные меры, внедрить их, сопровождать и мониторить. В России не так много компаний может похвастаться таким набором возможностей. Это удобно, когда весь пакет услуг может предоставить одна компания, имеющая огромный опыт в подобных проектах.

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

Трудовые будни

Представим, что вы уже работаете пентестером. Как будут выглядеть ваши трудовые будни?

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

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

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

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

По приезду вас провожают в отдельный кабинет, предоставляют рабочее место. Дальше вас распределяют на «внутренний пентест» Заказчика2 с командировкой в город N, кому-то из ваших коллег достается тестирование мобильного приложения. Возможно, вы захватываете контроллер домена через 3 часа после начала работ через ms17-010 и остальные дни коллекционируете другие векторы. Вы спокойно подключаете сетевой кабель в ноутбук и проводите «внутренний пентест», согласно заявленному договору. К вам непременно подходят сотрудники ИБ и спрашивают, что нашли. Возможно, вы всю неделю пытаетесь «играть» с «делегированием полномочий Kerberos» на паре полученных учетных записей. Удалось что-то взломать?», хотя nmap даже «не прогрелся». Уже через 15 минут вы ожидаете вопрос: «Ну что? Дальше отчеты, рассказы «о великом путешествии» коллегам, удивление заказчика, много рекомендаций и еще больше уточнений, но в итоге компания действительно начинает понимать, что безопасность – это процесс, а не разовые меры, и вам от проделанной работы становится приятно. В любом случае вам обычно есть чем удивить безопасников, и даже с учетной записью из принтера вы можете забрать бэкапы Exchange-сервера.

Запускаете атаку на Wi-Fi с помощью ноутбука и специальной антенны. Дальше вас распределяют на red team, вы едете с коллегой в машине, паркуетесь рядом с банком. Вы не ГРУ, у вас нет корочки, можно реально «отхватить по шапке» от непредупрежденных охранников, поэтому антенна скрыта, и у вас есть легенда, что вы ожидаете друзей.

Это успех. Но вот wifi-handshake корпоративного Wi-Fi получен, и ваши коллеги в офисе уже сбрутили его и зашли через интернет в почтовый ящик топ-менеджера. Дальше сбор информации, отчеты, презентации.

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

Пишете отчет о результатах. Несколько часов в субботу (переработки оплачиваются) запланировано нагрузочное тестирование у заказчика, вы «роняете» сайт через 10 минут после начала, и угадайте, что?

Вы роняете слезу счастья и вставляете кавычку в новую веб-форму. Скоро будет интересный вам пентест АСУ ТП и поездка на конференцию по ИБ за счет компании.

В завершение

Тема пентестов уже не нова, о ней писали много и по-разному (можно почитать тут и тут),
в вузах появляются соответствующие дисциплины, устраиваются соревнования, проводятся различные конференции, но кадровый «голод» с каждым годом увеличивается. Помимо этого, зрелость информационной безопасности многих компаний растет, появляется всё больше средств защиты информации, от специалистов требуется высокая и разносторонняя компетенция. Каждому специалисту ИТ (не говоря уже о специалистах ИБ) будет полезным хоть раз поучаствовать в реальном пентесте.

И несмотря на зачатки автоматизации (пример тут), вряд ли что-то заменит живого компетентного человека в ближайший десяток лет.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть