Атаки с использованием социальной инженерии нынче стали чем-то обыденным и традиционным — как распространение вирусов или SQL-инъекции. Злоумышленники используют их для хищения средств, атак класса Advanced Persistent Threat (APT) и высокоэффективного проникновения в корпоративную сеть, даже когда другие способы преодоления периметра не дают результатов. Пентестеры и этичные хакеры выполняют социотехнические проверки как в виде самостоятельных работ, так и в рамках комплексного тестирования на проникновение.
Прежде всего, для успешного проведения большой и сложной атаки ее надо разделить на несколько этапов и последовательно решать маленькие задачи, чтобы успешно прийти к финишу. Этапы у нас будут следующие: разведка, подготовка, рассылка и разбор результатов.
WARNING
Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.Разведка/Ready
Смысл этого этапа, как ты уже догадался — получение максимума сведений о целях социальной инженерии.
- Чем занимается компания? Придется разобраться в этой области бизнеса. Деловые письма наверняка заинтересуют сотрудников.
- Каковы текущие дела фирмы? К примеру, если недавно была сделка по поглощению или слиянию, можно попытаться воспользоваться возникшей неразберихой.
- Как зовут сотрудников и каков формат их почтовых ящиков? Нам необходимо знать, куда слать наше творчество и как общаться с целями.
- Какова структура компании? Какие есть должности и отделы? Организационная диаграмма нам пригодится: наивным секретаршам лучше будет слать мультики, а финансовому директору — отчеты с цифрами. Адреса топ-менеджеров и сотрудников службы безопасности пригодятся в особенности!
- В каком офисе и городе они работают? Работают ли они все в одном месте или сидят порознь? Во сколько приходят и уходят? Не вызовет ли возглас «Ой, я какой-то файл запустила» цепную реакцию, которая завалит всю атаку?
- Какое ПО используют сотрудники? ОС, браузеры, антивирусы, почтовые клиенты. Нам предстоит обнаружить потенциальные уязвимости и пережать вредоносное ПО так, чтобы обойти конкретные антивирусы.
- Другие полезные сведения: формат почтового сообщения и прочие элементы фирменного стиля, новости и события в компании — все, что сделает письмо, фишинговый сайт и целевую атаку более правдоподобными.
- Дополнительно будет полезно правильно выбрать дату. Например, приурочить атаку к какому-то празднику или к мировым событиям, особенно если они перекликаются с деятельностью компании.
Конечно, мы всегда можем отправить классическое «Глянь, какая красивая картинка» или, к примеру, «Штрафы ГИБДД», не выяснив, есть ли у адресатов машина, но шанс спалиться будет очень высоким. Поэтому сбор данных и максимальная точность в подделках — немаловажный фактор при подготовке.
Инструментария для этого этапа предостаточно. Можно начать с хитрых запросов в поисковиках и соцсетях, а также простых сборщиков почтовых адресов по доменному имени. Такие тулзы есть в виде standalone бинарников и скриптов или в виде плагинов для любимого Metasploit. Для серьезных случаев есть огромные фреймворки, которые умеют строить графы и извлекать метатеги — такие делают в FOCA и MALTEGO. И конечно, никто не отменял уязвимые SMTP-серверы с возможностью проводить запросы VRFY/EXPN без авторизации и получать или перебирать почтовые адреса.
Есть еще один способ — технически простой, но смелый. Взять и отправить письмо в отдел кадров или закупок. Прикинуться дурачком и попросить подсказать формат почтового сообщения; так будет получено имя первой цели. С другой стороны, активные работы на этом этапе не подразумеваются — разведчика не должно быть видно!
В общем, есть масса вариантов атак, и почтовая рассылка — это лишь самый популярный и изученный, но не обязательно самый действенный. В случае с социнженерией вариантов исполнения может быть сколько угодно — вплоть до полевых работ с проникновением на территорию. В таких случаях подготовка будет включать такие этапы, как изучение карты офиса (особенно внимательно смотри на местоположение кабинета техподдержки и столовой — забросить флешку будет легче после бесплатного обеда) и набор команды, ведь хакер не обязан владеть еще и актерским мастерством. С историческими примерами смелых проникновений ты уже знаком благодаря предыдущей статье, так что вернемся к более технологичным методам.
Подготовка/Steady
Один из важнейших этапов планирования работы — выбор сценария. На этом этапе вырабатывается главная тактическая линия в зависимости от поставленных целей.
От выбора правильного и эффективного сценария будет зависеть результат всей работы. Сценариев может быть несколько: «персональные», таргетированные сценарии для конкретных целей или общие типовые и массовые — они помогут протестировать подготовку сотрудников.
В общем, нам надо решить, как и что рассылать, как и что собирать. Пройдемся по списку протоколов коммуникации в порядке их приоритетности и популярности:
- электронная почта — универсальный рабочий идентификатор человека в компании;
- телефон — следующий по популярности способ, неизменный в своей эффективности еще со времен Кевина Митника. Требует особой подготовки и творческой жилки, так как предусмотреть все исходы переговоров попросту невозможно;
- девайсы, разбросанные по офису или подкинутые в карманы. Можно подбрасывать как старые добрые трояны на флешках, так и Bad USB, Teensy и прочие новомодные «умные» железки.
И менее популярные:
- социальные сети — здесь нет гарантии того, что жертва откроет вложение из корпоративной сети, но гораздо больше шансов провести с целью долгую игру: войти в доверие, стать лучшим другом по переписке и в итоге гарантировать тихое заражение;
- всяческие SMS и MMS, с помощью которых можно проводить как фишинг, так и заражение мобильных устройств.
Задачи рассылок могут варьироваться: построение ботнетов, фишинг, направленный на получение корпоративного или банковского аккаунта, или заражение рабочей станции трояном с целью проникновения во внутреннюю сеть компании для хищения коммерческой тайны и других незаконных целей. Последнее может перерасти в атаки уровня APT на долгие месяцы и годы.
Но, несмотря на разнообразие задач, с технической стороны все сводится всего к двум действиям: фишингу с целью хищения учетной записи и запуску исполняемого файла для заражения устройства.
Жертву нужно вынудить либо ввести логин и пароль, либо запустить какую-то нагрузку, почти всегда в обход оповещений в стиле «Внимание, данный файл не является доверенным». Чаще всего в наших работах применяются манипуляции чувством страха или жадности в сочетании с приемлемым уровнем доверия к нам — без этого ничего не сработает. Доверие достигается мимикрией: похожие домены и типовые формы авторизации, однотипные подписи, знакомые фамилии.
Использование чувств страха и жадности — это сочетание выверенных годами и практикой сценариев, но в каждой работе к ним стоит подходить с долей креатива. Иногда и без того хорошие типовые сценарии можно вывести на качественно новый уровень статистики «пробивов». Больше сотрудников пугает увольнение, а жадность проявляется в финансовых вопросах: кому дали премию, дадут ли жертве, сколько дадут, когда и кого уволят, по каким причинам и так далее.
Есть, впрочем, одно очень важное обстоятельство — нельзя перегибать палку. В вопросах манипуляции с чувствами оставаться этичным и деликатным очень важно. Если твой сценарий будет играть на мощных эмоциях, которые связаны с семьей, здоровьем или чем-то таким, это с большой вероятностью может выйти боком.
Наконец, нам необходим ресурс для рассылок и для фишинга. Самое простое — это зарегистрировать похожий домен: с префиксом, в другой доменной зоне или с заменой символов на похожие: l-i, o-0 и прочие. Использование в фишинговых доменах и документах элементов корпоративного стиля, как ты понимаешь, — важный фактор. В тот момент, когда цель видит что-то незнакомое или непонятное, она начинает думать. А если все знакомо и понятно, то и думать не стоит — вводи пароль, запускай файлы и не заморачивайся.
Иногда случается и удача в техническом плане: SMTP-сервер компании может работать в режиме relay. Тогда он позволяет отсылать почту в компанию без авторизации и верит на слово заголовкам SMTP. В таком случае можно либо напрямую подключиться к порту 25/465 или использовать внешний sendmail для проведения атаки. Еще бывает, что везет с легитимными ресурсами компании, там может найтись какая-нибудь полезная для фишинга уязвимость: Reflected File Download, Open Redirect, XSS или RCE и SQLi — подойдет все, с помощью чего можно внедрить свой HTML на легитимные ресурсы. Опять-таки вредоносы тоже можно размещать на фишинговых и атакуемых ресурсах. Почтовый клиент с большой вероятностью не пропустит многие исполняемые файлы, тогда как шанс на загрузку и исполнение с веб-ресурсов немного больше.
С технической стороны тут тоже есть много интересного. Начиная от необычных и очень эффективных способов обхода сигнатурных проверок и песочниц и заканчивая тем, что должен делать пейлоад. Мы же поговорим о классике — макросах в офисных документах. Чего только не делается с их помощью! Можно отстучаться на ресурс для сбора статистики (как по HTTP, так и по DNS, если у жертвы вдруг нет подключения), передать заранее подготовленный токен, определить список установленного ПО (антивирусы и прочее), записать на диск файл, заранее подготовленный и хранящийся тут же в документе, или загрузить его из интернета. Можно даже запросить авторизацию и таким образом похитить учетную запись. В общем, рай для пентестера или хакера.
WWW
Множество примеров заразных документов описано в блоге Дидье Стивенса. Он годами собирает и коллекционирует такую малварь. Иногда интересные образцы проскакивают в крупных блогах типа Threatpost.com.
Рассылка/Go
Готовиться можно бесконечно долго: затачивать сценарий под конкретных людей и настраивать исполняемые нагрузки под установленное ПО, но рано или поздно наступает главный момент — контакт с целями. Рассылку можно вести аккуратно — рассылать по одному письму, пытаясь не поднять шум (если все сидят в одном офисе, то это важно). А можно отправить все письма сразу в надежде закрепиться в системе и выполнить все необходимые действия до того, как кто-то заподозрит неладное.
Важен и отвлекающий маневр: пригодится страница или сообщение с ошибкой, которые напоследок отвлекут наивного пользователя. Иногда попадаются очень далекие от технологий люди — они начинают пересылать письма друг другу или отвечать на них, жалуясь на неполадки и прося совета.
В айтишных компаниях, наоборот, попадаются умники, которым интересно, кто же их пытается надурить. Такие постараются отреверсить нагрузку, некоторые запускают сканеры безопасности на найденные ресурсы (хотя это не всегда законно и будет отражено в отчете пентестера). Другим в голову приходят совсем странные вещи — к примеру, подставить коллегу после того, как подставился сам ;). От таких этичному хакеру тоже лучше защититься, в этом могут помочь хеш-функции. Например, когда поступает два запроса с разными логинами учеток, но с одинаковым хешем, это или признак намеренной или ненамеренной попытки переслать кому-то письмо. В любом случае виноватым будет тот, за кем закреплен токен с идентификатором. Если полученного токена нет в оригинальном списке, это тоже повод глубже проанализировать полученные данные статистики.
Как подготовить письмо с аттачем
Почтовая рассылка с вредоносными аттачами — это один из классических приемов. Открытие и запуск приложения к письму станет триггером успешного срабатывания сценария, этаким бэкдором. Вот несколько советов о том, как лучше готовить письмо.
- Чтобы узнать, кто открыл документ, в нем можно использовать SSRF с callback по Reverse DNS. Это пригодится в качестве дополнительного показателя статистики. К примеру: «разослано писем 100, открыло 90, сплоит сработал у троих». Это важно, так как, даже если эксплойт в документе не сработает, мы увидим, кто безбожно открывает левые документы.
- Добавь в письмо ссылку и регистрируй тех, кто кликнул по ней (дополнительно можно будет на сайте выдавать эксплойт или документ с нагрузкой).
- Добавь телефонный вектор. Позвони сотруднику и скажи, что выслал важный документ и что дело не терпит!
- Используй SMTP relay (если оправдано сценарием и целями) — письмо от менеджера или директора имеет больший вес.
- Если оправдано сценарием, используй XSS/RCE с домена самой компании. Доверие к родному сайту выше. Годятся и локальные файлопомойки, если получится добыть доступ к ним.
- Можно разбивать рассылку на фазы. Одна будет логическим продолжением другой. Например, в первой фазе была только ссылка, которая поможет собрать инфу о браузерах и ОС, на втором этапе ты выберешь цели со старым браузером, подготовишь эксплойты и повторишь рассылку, пустив их в дело.
Профит/Finish him!
В результате успешно проведенных работ мы получаем несколько учеток от корпоративной сети — это может быть доступ к VPN, RDP, почте и так далее. Если удастся заразить несколько рабочих станций, это откроет большой потенциал для продолжения атаки.
За последние два года мы с коллегами из Positive Technologies регулярно проводили социотехнические тесты на проникновение и можем сказать, что число успешно разведенных сотрудников не перестает радовать. Если взять статистику за 2014 год, то количество проверяемых, которые, нарушив все меры безопасности, установили «вредоносное ПО» или ввели свою учетную запись, составляли в среднем 15%. Такие люди нашлись в каждой проверенной организации. Мало того, с каждым годом число инцидентов в процентном соотношении растет (больше подробностей можно найти в нашей статистике).
15% кажется не так много? На самом деле это более чем достаточно. Для успешного завершения атаки достаточно порой всего лишь одной учетки.
Статистика Positive Technologies
Более полную статистику можно найти на сайте ptsecurity.ru.
Что делать?
Всех и навсегда не исправишь, но организациям следует сделать все, чтобы снизить риски. Для этого людей можно обучать и проводить «пожарные тревоги» — в одну из них и будет входить социотехнический тест на проникновение.
Есть две основные цели таких тестов: проверить, может ли в сеть компании проникнуть внешний злоумышленник, или собрать статистику. В статистику входят данные о том, сколько людей в компании не понимают основ информационной безопасности и правил поведения в интернете.
В зависимости от условий проведения работ заказчик может сам предоставить почтовые адреса своих сотрудников или профильтровать найденные (никому не хочется отчитываться перед генеральным директором, о том, для чего на его компьютер с позволения служб безопасности загружали троянские программы). Еще можно облегчить условия и вместо троянов рассылать безобидные скрипты, задача которых — сообщить исполнителю факт открытия приложения или запуска макросов. Минус проверок по облегченной схеме очевиден: антивирус и другие средства защиты, скорее всего, не среагируют на холостые нагрузки, и тест будет не полным. Однако и плюсы очевидны – пентестерам не нужно каждый раз готовить новый пейлоад, прогонять по базе антивирусов и переживать за блокировку по сигнатурам или поведенческому анализу. Конечно, во время таких работ консалтеров интересуют сугубо рабочие адреса электронной почты и телефоны: попытки заразить личные компьютеры и телефоны через социальные сети или SMS незаконны.
Резюме
Технические средства меняются, а вот психология людей — никогда. Голову не запатчишь и не оградишь файрволом, так что работа для пентестера найдется всегда.
Кое-что о психологии
С точки зрения психологии атака методами социальной инженерии всегда идет в обход аналитических инструментов разума. Она действует преимущественно на уровне эмоциональной сферы, привычно подавляемой у большинства людей, занятых умственным трудом. Именно поэтому приемы СИ часто завершаются успехом даже в том случае, когда интеллект атакующего заметно ниже, чем у жертвы.
Высокий IQ мало препятствует обману, поскольку методы СИ бьют по шаблонам поведения, глубинным страхам и выработанным под давлением микросоциума приспособительным рефлексам. Чтобы развитый блок критического восприятия жертвы не мешал атаке, его просто перегружают потоком данных, переключая на анализ второстепенной информации, или используют фактор срочности, чтобы отключить вовсе и заставить действовать необдуманно. Все это похоже на DDoS-атаку ключевых узлов нейросети.
Один из базовых приемов СИ — создание дефицита времени. Срочные решения сложно принимать именно потому, что приходится действовать в условиях нехватки достоверной информации. В таких ситуациях некогда советоваться и проверять все сообщенные атакующим данные, поэтому жертва начинает действовать, руководствуясь сильными чувствами: желанием помочь, стремлением получить признание или поскорее отделаться от неожиданной проблемы. Также часто удается сыграть на жажде легкой наживы, страхе потерять деньги, работу, результаты труда или репутацию.
Жертве могут сказать в лоб, что ситуация срочная, или позволить ей самостоятельно прийти к такому выводу. Второе эффективнее, так как для человека это будет собственная мысль, которая не вызывает сомнений. Именно на нее он будет опираться в своих минимальных рассуждениях, все больше проникаясь доверием к услышанной легенде.
Избыточность и обфускация — еще один способ быстро сломить сопротивление. Если незнакомый человек с порога сыплет специфическими терминами и подробностями работы, то у охраны или насторожившихся сотрудников возникает желание отделаться от него поскорее. Иначе говоря — пропустить и не забивать себе голову чужими проблемами.
Успешность удаленного общения зависит от актерского мастерства атакующего и его умения выдавать себя за другого человека с помощью ранее украденных персональных данных. При личной беседе арсенал пополняется такими методами, как язык телодвижений, жалкий или грозный внешний вид, знакомая форма одежды (уборщик, дезинсектор, сотрудник из другого филиала, полицейский), демонстрация статусных аксессуаров (взятый в аренду автомобиль представительского класса, реплики дорогих часов, украшения с покрытием из нитрида титана, имитирующие золотые, топовые гаджеты или их копии). Однако самое главное правило — решительность действий атакующего. Уверенность — гораздо более заразительная вещь, чем подложенные флешки.
Особой формой быстрого завоевания доверия можно считать фармакологический подход: спиртное (особенно дорогое и преподнесенное в виде угощения для особенных людей) расслабляет, воздействуя преимущественно на дофаминовые рецепторы, а любители экзотики могут попробовать распылить в воздухе гормон окситоцин, который напрямую усиливает степень доверия к собеседнику. Фраза «создать доверительную атмосферу» может приобрести буквальный смысл.