По заветам Митника
Как я заколебал всех, но все же получил пароль
Pentest Award
Этот текст получил третье место на премии Pentest Award 2024 в категории «Ловись рыбка». Это соревнование ежегодно проводится компанией Awillix.
Решив идти по стопам Кевина Митника, я принялся размышлять. Нужно было определить для себя несколько вещей:
- Как атакуем?
- Кого атакуем?
- Какую дополнительную инфу собираем?
- Как оцениваем успешность атаки?
И если с последним пунктом нет проблем (пароль или получен, или нет), то над остальными следовало подумать.
Ах да, важное ограничение, которое я себе задал, — вся информация должна быть собрана через внешние источники. Мы же хотим максимально приблизиться к тому, как будет вести себя злоумышленник, верно?
Делай раз — как атакуем?
Раз следуем заветам Митника, пускай это будет звонок сотруднику, информация о котором есть в открытых источниках. Попросим его дать пароль от учетной записи.
Кому из компании могут дать пароль? Админам и безопасникам. Представляться безопасником я не могу по простой причине...

Остаются только админы, причем они должны и правда быть в компании, так как пользователь у нас образованный и на любого Ивана Васильевича не поведется.
Значит, нужно будет еще ответить на вопрос «Как узнать данные админа?».
Чтобы админ позвонил, нужен повод, и это мы обеспечим сами! Отлично подойдет любое подозрительное письмо, которое мы же и отправим.
Получается вот такая цепочка действий:
- Узнаём информацию от секретаря.
- Высылаем подозрительное письмо.
- Звоним человеку, представляемся админом.
- Пугаем тем, что в письме был стилер и надо поменять пароль.
И это все подводит нас к следующему вопросу: «Кого будем атаковать?»
Делай два — кого атакуем?
Логично предположить, что в зоне риска находятся те, про кого есть инфа в открытом доступе. Публиковать свою почту в открытом доступе могут только некоторые категории сотрудников: продажники, секретари и рекрутеры. В качестве цели я выбрал рекрутеров.
Также нам нужно будет найти системного администратора из компании или кого‑то из техотдела.
Рекрутер
Найти адреса рекрутеров легко. Смотрим следующие ресурсы:
- Сайт для поиска работы:
career.
habr. com/ companies/ █████ - Группа «Вконтакте»:
vk.
com/ █████. ████ - Официальный сайт:
█████.
team/ - Google.com
На «Хабр Карьере» удалось найти всех рекрутеров и получить их имена и должности. Больше всего информации было у Марии и Дианы.

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

Я продолжил искать информацию о Марии и напал на золотую жилу — ее полную контактную информацию.

Рабочий телефон, почта, Telegram (где указан сотовый), название вакансии — достаточно для формирования атаки. Настала очередь админа.
Админ
К счастью, тут все попроще, и для поиска нужно было только два ресурса:
-
linkedin.
com/ company/ ████████ - Яндекс
Мою компанию удалось найти в LinkedIn, и в списке сотрудников значился ведущий системный администратор. Также среди подписчиков нашелся некий Роман, который неожиданно пригодился позже.

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


Много информации не надо, достаточно фамилии и имени, чтобы представиться. Существует несколько рисков:
- Рекрутер может знать админа лично, если она работает в гибридном или офисном режиме.
- Данные на LinkedIn старые, и админ может уже не работать в компании.
Чтобы понять, насколько риски соответствуют действительности, мне не пришло на ум ничего лучше, кроме как позвонить в компанию и поболтать.
Делай три — сбор информации
Данные из интернета никогда не помешает актуализировать. Вдруг админ вообще уже уволился? Рекрутер вряд ли уволена, вакансии публикуются небесплатно, и там сразу обновили бы адрес.
Звонить будем секретарю от имени какой‑нибудь компании‑интегратора, чтобы впарить чудесные серверы и программы. Плюс попробуем разболтать секретаря, вдруг узнаем что‑нибудь еще о компании.
Позвонив в компанию и представившись менеджером по продажам ООО «ИТ‑Софт‑сервис», я спросил у секретаря, работает ли сейчас у них Дмитрий С., ведущий системный администратор, так как на его рабочий номер я не могу дозвониться. Секретарь спросила, как меня зовут и какого хре с какой целью я спрашиваю про Дмитрия.
Представившись и рассказав всю свою историю, я сказал, что в базе данных Дмитрий у нас указан контактным лицом, поэтому я о нем и спрашиваю. Если вдруг он уволился, то я с радостью бы пообщался с другим админом. Секретарь раскрыла карты и сказала, что Дмитрий действительно уже не работает в компании, но упорно не хотела выдать кого‑то, с кем можно пообщаться вместо него.
Тогда я стал ей рассказывать, какие у нас чудо‑серверы, а еще у нас есть классные мессенджеры для корпоративного общения. В итоге, выслушав, что им мессенджеры не нужны, так как мессенджер у них есть, я спросил, каким они пользуются, и узнал, что это «Тимс» (Microsoft Teams). Интересная информация!
Потом я чуть снизил напор и спросил, кому можно направить письмо, если отсылать предложение об услугах. Как оказалось, письмо можно направить секретарю и указать, что оно будет для Романа, который, как оказалось, руководитель ОТО. Роман оказался тот самый, что был среди контактов у Дмитрия.
Доставая бедного секретаря дальше, я пытался выведать режим работы Романа, чтобы прийти лично и поговорить о треклятых серверах. Мне сказали, что надо договариваться лично с ним, так как он редко появляется в офисе, и попросили присылать всю инфу на почту, чтобы Роман сам решил, стоит назначать встречу или нет.
Я решил, что с бедного секретаря хватит, и вежливо попрощался. Секретарь, облегченно вздохнув, повесила трубку.
Подытожим:
- Дмитрий уволился, поэтому представляемся Романом.
- Роман работает удаленно или гибридно, поэтому маловероятно, что они могут быть знакомы с рекрутером (будем рисковать).
- В качестве корпоративного мессенджера используется Microsoft Teams.
Хватит делать — пора атаковать!
Нам удалось собрать достаточно информации, и теперь можно атаковать ничего не подозревающего рекрутера.
Первый шаг — отправляем письмо с файлом, который невозможно открыть. Текст письма написан так, будто мы уже общались с Марией насчет этой вакансии.

Вордовский файл не открывается, да...

Это было сделано для двух целей:
- Мы все же за безопасность, и хотелось узнать, сообщит ли кому‑то Мария, что ей пришел подозрительный файл (спойлер: нет).
- В подписи к письму может быть дополнительная информация. Если вдруг эта атака не удастся, то можно будет использовать это в другом сценарии.
Отправив письмо днем, я получил ответ только на следующее утро.

Ну что, отправляем второе письмо и готовимся к звонку.

Стоит ли говорить о том, что этот файл тоже не открывается.
Считаем, что дня после отправки файла достаточно для того, чтобы открыть его, поэтому на следующий день звоню с сотового телефона на рабочий Марии и представляюсь Романом:
Мария, привет! Это Роман ████████ из ОТО.
Вхожу в доверие и извиняюсь за то, что звоню на рабочий, а не в мессенджер:
Извини, что звоню на сотовый, Teams целый день глючит, не могу никого набрать.
Спрашиваю у нее, не открывала ли она какие‑нибудь странные файлы:
Подскажи, ты за последний день не открывала какие‑нибудь файлы подозрительные? Скачанные или из почты, например.
Она говорит, что вчера и сегодня открывала письмо с резюме, но у нее не открылось, а недавно она еще один файл открыла с PDF, который тоже выдал ошибку при открытии.
Я начинаю объяснять причину своего звонка — сработало предупреждение на сервере:
Я вот по какой причине звоню — Дима‑то ушел, и я пока некоторые его обязанности взял на себя и поэтому смотрю за системой безопасности. И у меня тут сработало предупреждение, что у тебя какая‑то странная активность идет.
Она говорит, что ей кажется, будто ее компьютер медленнее работает, а то и вообще тормозит.
Я начинаю запугивать: спрашивать, не появилось ли странных файлов на рабочем столе, вдруг это шифровальщик начинает работать...
Проверь, пожалуйста, рабочий стол, нет ли там новых файлов или заставки с требованием заплатить денег за расшифровку. Иногда вирусы могут зашифровать компьютер или сеть, а потом вымогать деньги.
Она делает это, а потом говорит, что рабочий стол обычный — нет новых файлов и обои стандартные.
Я радуюсь этому и прошу открыть диспетчер задач, чтобы проверить, нет ли там одного подозрительного файла, потому что был похожий случай:
Это хорошо. Слушай, а посмотри еще, пожалуйста, диспетчер задач. Там может быть файл svchost.exe. У нас был один случай, когда этот вирус на компе обнаружили. Вот как это можно сделать...
Мария смотрит диспетчер задач и с ужасом обнаруживает, что файлов svchost.
на самом деле полно. Начинаю нагнетать ужас и говорю, что на самом деле все еще хуже:
Блин, это плохо. В общем, этот вирус записывает все твои нажатия, снимает экран, сохраняет пароли из браузера и системы, поэтому этих файлов так много.
Рекрутер пугается и начинает оправдываться, что так и думала, что с файлами что‑то не так. Предлагаю свою помощь и говорю, как будем действовать:
Не переживай, такое с каждым может случиться. Смотри, как поступим сейчас: тебе надо будет выключить компьютер, чтобы вирус ничего больше не собирал. Я отправлю кого‑нибудь к тебе, чтобы забрали компьютер и разобрались, как лечить. Пока надо будет поменять пароль. Если ты его будешь менять, то вирус увидит все и нам это не поможет. Давай сделаем так — чтобы тебе было проще запоминать, я могу сейчас на сервере заменить твой пароль точно таким же, но просто добавлю в конце единицу.
Несколько секунд ожидания, и Мария спрашивает, как долго будет происходить смена пароля и как долго будут лечить комп. Говорю, что постараемся сделать все как можно быстрее. После этого мне диктуют пароль.
Говорю, что в скором времени еще раз наберу, и вежливо прощаюсь.
После этого пытаюсь зайти в веб‑почту с помощью того пароля, который продиктовала Мария.
Пара секунд загрузки, и успех — я попадаю в ее почту.


Пароль получен, цель достигнута. Что дальше?
Делаем, чтобы такого больше не было
После разбора полетов и оценки успешности атаки начинаем созваниваться с Марией и настоящим Романом ████████ для разговора и объяснения того, что произошло. На встрече я спросил у Марии, не передавала ли она кому‑то пароль, и она уверенно сказала, что передавала, но только Роману. Тот очень удивился и сказал, что никому не звонил и пароль, естественно, не просил.
После паузы Маша произнесла одно слово — БЛ████████.
Есть множество рисков и потенциальных ситуаций, когда эта атака могла не дать результата: Мария могла знать Романа, продиктовать полностью новый пароль, сообщить его напрямую Роману в мессенджере или по его настоящему телефону. Тем не менее атака удалась.
Мы задались вопросом, что нужно, чтобы такого больше не повторилось. Вот что сделали по итогам:
- Провели разговор со всеми рекрутерами.
- Актуализовали внутренний курс по информационной безопасности.
- Сделали рассылку, где говорилось о том, что в случае подозрений лучше звонить в отдел ИБ.
- Поставили учения по социнженерии наряду с фишингом.
- Стали рассматриваться варианты двухфакторной аутентификации.
Все было учтено и выполнено. Мы думали, что такого снова не должно было случиться. Следующие учения показали, что все не так хорошо, как мы думали...