Взломать админа
Во многих случаях, успешные социальные инженеры обладают сильными человеческими качествами. Они очаровательны, вежливы и просты — социальные качества, необходимые для установления быстрой связи и доверия.Проверка осведомленности персонала об ИБ-угрозах является одним из самых востребованных кейсов. Проводится она, как правило, методами социальной инженерии.
Кевин Митник
Данный пост написан мной в соавторстве с коллегами Перспективного мониторинга на основании реальных кейсов, отработанных нашей рабочей группой на практике.
Цель: проверка соблюдения сотрудниками политик ИБ.
Методы: социальная инженерия.
Локальная цель: получение информации, которая позволит реализовать атаку «повышение привилегий».
Этапы проведения социалки мало чем отличаются от этапов пентеста.
Планирование
Главное в социалке — поставить четкую цель. Без целеполагания, действуя хаотично, вы мало чего добьетесь, только превратите социалку в балаган, а себя в клоунов.
Ставим цель: выйти на системного администратора и добиться у него информации по структуре учетной записи, структуре пароля, в идеале — получить сам пароль.
Сбор и анализ информации
Это самый длительный и нудный этап. Глазами неосведомленного человека работа социального инженера состоит из телефонных разговоров, во время которых он силой магии, таланта и обаяния выуживает у доверчивых пользователей конфиденциальную информацию. В реальности сбор информации/переговоры соотносятся как многодневные изматывающие тренировки/выступление на чемпионате у спортсмена.
Что нам необходимо: максимально полная информация о сотрудниках атакуемой компании. А именно: ФИО, должности, контакты, полномочия. Важнейшая информация — используемые в компании технологии. Также необходима информация о самой компании: положение на рынке, финансовое состояние, слухи, сплетни (последнее — особенно интересно, т.к. раскрывает неформальную обстановку в компании).
Чем пользуемся: сайт организации, сбор информации по открытым источникам, фишинг, какую-то информацию может предоставить заказчик.
Фишинг — идеальное решение, но для вайтхакера не всегда возможное с точки зрения договора с заказчиком. Подготавливаем письмо, содержащее вредоносное вложение или ссылку на фишинговый сайт. Цель — получить реальные учетные данные пользователей.
Чтобы фишинговое письмо попало точно в цель, необходимо тщательно изучить информацию о компании и ее специфику. Какие именно технологии используются в компании? Где находится офис? Какие бонусы предлагают сотрудникам? Какие проблемы есть у компании?
Пример фишингового письма:
Можно сделать несколько писем, каждое из которых ориентировано на свою целевую группу.
Заказчик против фишинга? Ок, вооружаемся терпением и просеиваем открытые источники: работные сайты, сайты отзывов, соцсети, блоги, форумы, тематические группы. Приготовьтесь убить несколько дней на занудную и часто неблагодарную работу.
Сбор информации из публичных источников вручную — занятие трудоемкое. Поскольку одним из продуктов, разрабатываемых нашей компанией, является комплекс сбора данных по открытым источникам, у нас данный этап занимает небольшое количество времени, т.к. все делается достаточно быстро, связи между объектами интереса выстраиваются автоматически.
Схема дружеских отношений реального аккаунта. Фото заменены.
Финальным итогом этапа может быть следующее:
- приблизительная оргструктура атакуемой компании;
- структура электронного адреса сотрудника;
- список предполагаемых сотрудников с должностями;
- контакты сотрудников, телефоны, электронная почта, аккаунты в соцсетях.
Эксплуатация уязвимостей
Из всех пользователей нам надо выбрать несколько жертв: тех, кому мы звоним, и тех, от лица кого мы звоним. Продумать их связи, на основании анализа аккаунтов соцсетей написать предполагаемый психологический портрет.
Если наша цель — системный администратор, то целевые группы будут следующие: ресепшен, секретари, hr, бухгалтерия, сотрудники технической поддержки и, собственно, админы.
Условно, по степени подверженности атакам, мы делим пользователей на следующие группы.
Параноики. От этих ничего не добьешься. Неважно, почему они такие, мама в детстве запретила разговаривать с незнакомыми людьми или недавно получили взбучку от злого безопасника. Узнаются по суконному языку, неприветливости и формализму.
Равнодушные. Такому сотруднику глубоко плевать, кто ему звонит и зачем. Еще не взяв телефонную трубку, он уже придумывает, как бы ему побыстрее от тебя отделаться, неважно, кто ты и что тебе нужно. В небольшом проценте случаев, именно в силу своего пофигизма, такой сотрудник выдаст тебе всю нужную инфу. Чаще сошлется на обед, окончание рабочего дня, занятость или отсутствие полномочий.
Трусливые. Сотрудники, до смерти боящиеся не угодить начальству, нарушить какие-либо правила или распоряжения, в общем, те, у кого страх за свое кресло в данную конкретную секунду превалирует над критическим мышлением. Побольше начальственного металла в голосе, и ты его взломаешь.
Добрые, хорошие люди, искренне готовые помочь. Но при этом не старающиеся разобраться, кому же они собственно помогают. А вот это наша целевая аудитория.
Как отличить одних от других? Подготовка, знание психологии, чутье, актерское мастерство, опыт.
Итак, на основании анализа профилей сотрудников соцсетей мы выбираем 2-х жертв: секретаря с респешен и админа. Желательно, конечно, не 2, а 5-6. Лучший выбор — яркие личности с выраженными особенностями, которых легко представить себе и изобразить. Сценарий атаки также необходимо писать с учетом особенностей психологии и связей найденных «жертв». Звонить рандомному сотруднику с просьбой сказать пароль — это провальная затея.
Жертва, от лица которой будет произведен звонок: секретарь респешен Екатерина Петрова, 21 год, в компании полгода, учится на заочном на экономиста. Яркий макияж, розовые волосы, множество фото в соцсетях, аккаунт в Тиндере.
Звоним сотруднику отдела технической поддержки Дмитрию, 35 лет, стаж работы в компании 5 лет, холост, хочет сменить место работы. Это важно, поскольку возможно, что психологически сотрудник уже меньше ассоциирует себя с компанией и более халатно относится к безопасности.
Разрабатываем сценарий атаки
Легенда: девочка на больничном не может зайти через owa в рабочую почту. Ей необходимо сделать рассылку для топ-менеджеров относительно сроков проведения закрытой конференции. Она 3 раза неправильно ввела пароль и просит выслать ей временный, обещая сменить пароль при первом входе. Легенду необходимо придумать заранее и выучить наизусть во избежание ситуации «еще никогда Штирлиц не был так близок к провалу». Импровизировать все равно придется и степень хаоса лучше снизить.
Главное — уверенность, не давайте человеку на другом конце провода прийти в себя. Сбился, растерялся, начал мямлить, забыл, как тебя зовут, не нашелся быстро, что ответить — проиграл.
Скрипт звонка:
— Дим, привет! Это Катя. Есть минутка?
— Привет! Какая Катя?
— Да я это! Катя Петрова, с ресепшен. Дим, спасай.
Далее возможно несколько вариантов развития событий:
- Дима не помнит, кто такая Катя, но ему стыдно в этом признаться.
- Дима «узнал» Катю.
- Катя стоит рядом с Димой, и он в шоке от происходящего.
В этом случае он, скорее всего, скажет что-то вроде «Чегооо? Какая Катя??» и останется только положить трубку и никогда больше не звонить Диме с этого номера. Поэтому потенциальных объектов атаки надо заранее выбрать несколько.
Допустим, у нас все хорошо и Дима готов к диалогу.
— Что случилось?
— Дим, я дома, на больничном. Не могу зайти в наш общий ящик reсeption@xxx.ru, а мне прямо позарез надо сегодня сделать рассылку для наших топов. Караул, меня Иванова убьет. (Иванова, как мы выяснили в ходе сбора информации, является непосредственным Катиным руководителем).
Во время звонка необходимо молниеносно сканировать эмоциональное состояние Димы. Он настроен на общение? Он сдержан? Он торопится? Он флиртует с Катей? Он равнодушен? Если у Димы есть какие-то хобби, про которые вы прочитали в соцсетях, тоже можно ввернуть, но очень аккуратно, чтобы не переиграть. Тут вам понадобится вся ваша эмпатия. «Просчитаете» человека, выберете нужный тон — пароль у вас в кармане.
Можно держать перед глазами фото Кати. На какое-то время вам надо самому до мозга костей стать «Катей».
Далее рассмотрим 2 варианта.
1) Дима — веселый раздолбай, ему интересно поболтать, и он готов помочь.
— Что у тебя не получилось? Ты раскладку и капс проверяла?
— Почему не могу зайти? Да 3 раза неправильно пароль ввела. Вот так и ухитрилась, мы же не так часто этим ящиком пользуемся. Забыла, у нас там «си» или «эс». Да я и так и так пробовала и вот все 3 раза не то, вспомнила, а попыток больше нет, он залочился. Что делать-то!!! Меня убьет Иванова, точно убьет. Помоги Димаан… Можешь мне в телегу временный пароль кинуть? А я при первом входе его обратно поменяю.
Вариантов разговора может быть много. Забыла капслок, перепутала раскладку, выбрала не тот браузер. Общая идея такова, что «Катя» будет изводить Диму своей тупостью, щебетанием и дебильными вопросами, пока он не плюнет и не продиктует или вышлет новый пароль.
После смены пароля у вас будет некоторое количество времени, ровно до того момента, пока кто-то не попробует зайти под обычным паролем и не позвонит в техническую поддержку. Что можно взять в общем ящике секретариата? Ну, например, скачать справочник с контактами сотрудников.
В защиту Димы могу сказать, что ситуации в работе технической поддержки бывают еще и не такие, и пользователи порой демонстрируют еще большую необучаемость и забывчивость.
2) Дима — мрачный, не контактный тип.
— Дмитрий, мне необходим удаленный доступ к электронной почте. В связи с производственной необходимостью. Мне срочно надо. Что значит, нет запроса, я дома, на больничном. Да, я прошу Вас в виде исключения самостоятельно завести запрос! Меня зовут Петрова Екатерина Ивановна, отдел секретариат. Мне необходимо срочно сделать рассылку для высшего менеджмента. Мне написать руководству, что данную рассылку я не смогла сделать по вине сотрудника техподдержки?
А теперь идеальный ответ Димы: «Уважаемая Екатерина, я прошу вас перезвонить с телефона, указанного в корпоративной информационной системе. Я не имею права сообщить вам пароль».
Цель проверки осведомленности — не покарать несчастного Диму, слившему пароль девочке с розовыми волосами. Главное — выявить и устранить слабые места.
Что делать компании, в которой проверка методами социальной инженерии выявила множество уязвимостей, связанный с человеческим фактором? Наши рекомендации:
- периодическое обучение персонала основам ИБ, тренинги с привлечением специализированных компаний;
- проверки осведомленности сотрудников в вопросах ИБ;
- сотрудник должен точно знать, какая именно информация является конфиденциальной;
- обучение ИТ-сотрудников методам противодействия социальной инженерии.
Самое слабое место системы — это человек. Если не уделять внимание человеческому фактору, то какой бы безопасной и соответствующей всем стандартам и best practices ни была ваша система, вы потеряете данные через рядового пользователя.