Спамом в наше время никого не увидишь. Мы к нему привыкли и уже воспринимаем как данность. С другой стороны, спам перестает быть просто рекламой, все больше и больше «писем счастья» являются фишингом. Текст данных писем составляется с целью побудить получателя выполнить то или иное действие.
Немного теории
Фи́шинг (англ. phishing, от fishing — рыбная ловля, выуживание) — вид интернет-мошенничества, целью которого является получение доступа к конфиденциальным данным пользователей — логинам и паролям.
«Спирфишинг» (англ. spear phishing ) – вид фишинга, при котором злоумышленник формирует фишинговое письмо под конкретного получателя, используя собранные ранее данные о получателе.
Почему это все так опасно?
Перейдя по вредоносной ссылке или открыв вложение к письму, вы запускаете вирус или троян, который может получить контроль над вашим компьютером и информационными системами компании. Спирфишинг – более опасный вид фишинга. Зловредность его связана с тем, что любой человек, получив персональное, адресованное именно ему письмо, уже не считает это письмо спамом и склонен доверять и открывать любые ссылки/файлы.
А действительно ли это актуально?
Мошенничество с использованием корпоративной электронной почты набирает обороты. За первую половину 2016 года ФБР зафиксировала 22 тыс. жертв этого вида мошенничества, при этом финансовые потери составили более 3 млрд долларов. Почта на сегодня является основным методом проникновения в корпоративную сеть. Злоумышленники не видят разницы между компаниями малого, среднего и крупного бизнеса. Киберпреступники играют вдолгую против крупных компаний, но это не значит, что малый бизнес им менее интересен. Ниже приведу интересную инфографику, показывающую что все больше злоумышленников интересует именно малый бизнес.
Мошенники все чаще и чаще используют шифрование (упоминать WannaCry уже становится плохим тоном) как оружие. 2016 год Cisco назвало "Year of ransome". За первые 3 месяца 2016 года мошенники заработали более 200 000 000$. По оценкам, к концу года "выручка" составила более миллиарда долларов.
Эксперты, сообщество, правоохранительные органы говорят: не платите злоумышленникам, этим вы поощряете их на продолжение деятельности. Но люди и компании платят, уровень шифровальшиков растет. Если первые шифровальщики были похожи на работу студентов первого курса по программированию, то сейчас этим стали заниматься настоящие профессионалы своего дела. Уже встречаются криптографически стойкие шифровальщики.
Компания часто может встать перед выбором: платить, или просто прекратить свою деятельность. Естественно многие, практически все платят. Вам ведь также страшно, как и мне? Нет? Тогда давайте прибавим к этому социальную инженерию. Все мы сейчас используем Facebook, vk, twitter и т.п. Для нашего удобства социальные сети объединяют людей в группы. Мы сами заполняем профили, указываем где мы живем, название компании, в которой работаем.
Я параноик и никогда не указываю название компании, где я работаю, скажете вы? А в друзья вы коллег из компании не добавляете в соцсетях? А все ли они не указывают название компании? Не думаю. Проведя пару часов в сети, исследуя любую интересующую нас компанию, можно достаточно легко и быстро получить список имен и фамилий сотрудников компании. Попадание будет достаточно большим, причем в дополнение к фамилиям можно достаточно легко узнать список увлечений и занятий сотрудников, что может быть использовано против них… например, для создания персонализированных фишинговых писем. Но корпоративные адреса почты найти не так просто, скажете вы? Опять разочарую. Зная название компании, легко найти ее корпоративный сайт. Соответственно, домен уже есть. Зачастую на корпоративных сайтах есть и общие почтовые контакты, они нам тоже пригодятся. Теперь самое сложное: нам нужно получить пару действительных адресов почт сотрудников компании. Для этого можно, например, написать на один из публичных адресов компании. Обратиться в техподдержку, например. Попробовать что-то купить в sales. Если публичного адреса на сайте нет, то всегда можно просто позвонить по телефону и поговорить с секретарем. Социальная инженерия творит чудеса.
Мне посчастливилось побывать на выступлении Chris "loganWHD" Hadnagy. Организация ежегодно проводит соревнования по добровольному взлому (пентесту) других компаний. Вывод из лекции был простой: социальной инженерией можно получить любую информацию. Неподготовленный человек от этого не защищён. К тому же ничто не помешает перед звонком получить данные о секретаре компании из социальных сетей. Это поможет упростить разговор. Итак, будем считать, что мы выяснили пару адресов сотрудников. Смотрим на паттерн в адресах. Он есть! Админы ведь почту не из головы каждый раз придумывают. Паттернов не много: фамилия, ФИО, имя_фамилия и т.п. Накладываем паттерн на базу фамилий и имен, и вот у нас база почтовых адресов компании. Зачем нам все это? Есть такое понятие как Kill chain.
Нас интересует верхняя часть картинки. Итак, мы с вами поняли, что разведку о нас злоумышленники легко проведут в социальных сетях. Соответственно, будет составлен список адресов и осуществлена отправка. Если мы говорим о целевой атаке на компанию, а с учетом разведки предположим, что идет именно она, специально, чтобы обойти стандартные спам-защиты злоумышленники приобрели несколько временных доменов и, соответственно, все наши спам-фильтры будут пройдены, и письмо окажется в почтовом ящике сотрудника. Что дальше? Запуск вложенного файла/переход по ссылке. Неподготовленный пользователь (уж точно несколько среди сотрудников компании) перейдет по ссылке, откроет вложении. По данным Positive Technologies, за 2015 год 24% пользователей, получив письмо, перешли по ссылке, а 15% ввели учетные данные или установили ПО. Процент таких пользователей год от года только растет.
Сработает ли эксплойт? Да (здесь можно вставить много о WannaCry). И вот почему. В отчете HP Enterprise есть вот такая интересная инфографика, это новые уязвимости ПО, появившиеся в 2015 году. Уязвимости есть, и регулярно находят новые. И о них даже знают исследователи:
Часто о них никто и не знает. И бывает вот так (а еще и NSA есть).
На этом «Kill chain» для нас закончен. Заражение произошло, злоумышленник завладел нашим компьютером. Что с ним он будет делать дальше конечно интересно? В любом случае оставим дальнейшее вне рамок данной статьи. Мы хотим понять, что мы можем этому противопоставить? А противопоставить мы можем немногое. Да, можно корпоративными политиками и правилами запретить людям пользоваться социальными сетями и публиковать в них информацию о работе, но с ростом количества сотрудников это становится малореальным. Да, можно тренировать спам-фильтры и использовать дорогостоящие системы обнаружения угроз, но даже самые продвинутые из них зачастую не на 100% гарантируют фильтрацию опасного письма.
Что остается? Остается обучать и еще раз обучать сотрудников на регулярной основе, обучать определять фишинг и просто удалять эти письма, предварительно оповещая ИТ-отдел/службу безопасности о получении подозрительного письма. Недавно в своей компании мы провели «антифишинговое» обучение.
Обучение
Как мы будем учить? А учить мы будем, устраивая социальный пентест своей компании. Можно пойти несколькими способами.
Пентест на заказ
Побродив по просторам интернета можно достаточно легко найти несколько компаний, которые с радостью выпустят вашими социальными пентестерами:
Например, www.infosec.ru — phishman.ru — http://www.antiphish.ru
Можно пойти этим путем, но нужно понимать, что бюджет данного мероприятия будет зависеть от размеров организации и составлять несколько сотен тысяч рублей в минимальном варианте. По желанию заказчика, представители пентесторов даже могут провести полноценный социальный поиск и добыть адреса почты сами, а могут работать и уже с готовыми данными. Обучение по результатам пениста будет стоить отдельных денег. Из интересного в интернете мы нашли еще пару SaS сервисов:
• phishme.com
• infosecinstitute.com/phishsim
Стоить подобные сервисы будут около 20$ в год за почтовый адрес, но нужно учитывать, что готовые базы шаблонов, которые содержатся в них, будут англоязычными (хотя можно всегда загрузить свои шаблоны) + все международные сервисы (видимо для того, чтобы избежать юридических претензий) в обязательном порядке пишут маленькими буквами внизу письма, что это проверка на фишинг, что, по моему мнению, несколько снижает чистоту эксперимента.
Игровые варианты
Одной из лучших методик обучения является игровая. К примеру, недавно так поступил Сбербанк. Метод, без сомнения, эффективный, но содержит пару недостатков. К сожалению, данный метод действует по факту один раз, а учитывая развитие средств и возможностей, фишингу обучаться нужно на регулярной основе. Но что самое главное, игру нужно делать самому и под себя. В открытом доступе готовых решений найти не удалось.
GoPhish
Теперь давайте я расскажу о решении, которое в конечном счете выбрали для себя мы: GoPhish — OpenSource фреймворк для фишинга. GoPhish, пожалуй, незаслуженно обойден вниманием на Хабре. Поиском удалось найти всего одну статью по данному продукту, а продукт стоит того.
Возможности GoPhish
Gophish осуществляет рассылку писем по заранее заданным шаблонам и спискам email-адресов. Также данное ПО использует встроенный веб-сервер для отображения фишинговых страниц. Ссылки для перехода на данные страницы находятся в тексте писем. Для контроля за процессом фишинг-теста используется сущность «кампания» — она объединяет шаблон письма, список адресов со списком «пользователей-целей» (Фамилия, Имя, email-адрес), фишинговую страницу и набор параметров SMTP. После того как «компания» запущена в интерфейсе ПО можно просмотреть, кто из пользователей перешел по ссылке на фишинговую страницу, а кто нет. ПО Gophish также предоставляет API, но нам хватило и базового функционала.
Установка GoPhish
Продукт написан на Go и в скомпилированном виде представляет собой один бинарник. Установка проста и не вызывает проблем, есть хороший и простой мануал. Вся процедура установки сводится к генерации ssl сертификат и созданию простого и понятно config.json файла.
"admin_server" :
{ "listen_url" : "127.0.0.1:3333",
"use_tls" : true,
"cert_path" : "gophish.crt",
"key_path" : "gophish.key"
}
Пояснять что-то здесь я считаю излишним. Все просто и понятно. Осталось запустить сервис, выполнив такую команду:
gophish@gophish.dev:~/src/github.com/gophish/gophish$ ./gophish
Все дальнейшие работы производятся с использованием веб-интерфейса фреймворка. Первое что, нужно сделать — это добавить сотрудников (вкладка «Users & Groups»). Можно импортировать список пользователей из csv файла (например, выгрузив csv с нужными нам полями из AD) или ввести данные пользователей вручную. Далее нужно создать шаблоны писем (вкладка «Email templates»). Текст письма можно вводить в виде текста (вкладка «Text») или с помощью HTML (вкладка «HTML»).
Если отметить флажок «Add tracking image», в письмо будет добавлена «следящая картинка» размером 1х1 пиксель. Картинка используется для отслеживания факта открытия письма пользователем. В тексте письма можно использовать следующие ссылочные значения:
Значение | Описание |
---|---|
{{.FirstName}} | Имя |
{{.LastName}} | Фамилия |
{{.Position}} | Должность |
{{.From}} | Отправитель |
{{.TrackingURL}} | url для отслеживания |
{{.Tracker}} | Картинка для отслеживания |
{{.URL}} | url страницы перехода |
Далее создаем «фишинговые» страницы (вкладка «Landing Pages»), HTML -код страницы нужно ввести в соответствующее окно интерфейса. Поскольку мы не собираемся заниматься реальным фишингом среди своих сотрудников, а хотим их обучать, в качестве фишинговый страницы мы использовали страницу с обучающим материалом, рассказывающим сотрудникам, что такое фишинг и как не попасться на его удочку. (Шаблон страницы выложим во второй части статьи).
Можно также создавать страницы с полями ввода. Причем есть опции, которые сохраняют в том числи и пароли, введенные пользователями, но лучше пользоваться этим очень аккуратно. Теперь создаем профили отправки (вкладка «Sending Profiles»), т.е. по сути некие почтовые данные от имени кого, сотрудник получит письмо и какой почтовый сервер мы будем использовать для рассылки. На последнем шаге создаем кампанию (вкладка Campaigns). «Компания» объединяет все ранее описанное. После ввода всех параметров нужно нажать кнопку «Launch campaign», и компания запустится автоматически.
За результатами компании можно следить на вкладке «Dashboard».
На данной вкладке показан общий процент, перешедших по ссылкам пользователей и результативность каждой компании в процентах. Всегда можно перейти и посмотреть подробности по компании и увидеть конкретных сотрудников, кликнувших по ссылке.
Продолжение следует
На этом мы завершаем первую часть нашей статьи. Скоро мы добавим вторую половину, в которой поделимся с вами шаблонами фишинговых писем и страницей обучения. Расскажем о реакции наших сотрудников (она порой была не предсказуема и прекрасна!) и поделимся результатами, которых нам удалось достичь. А еще упомянем о наших граблях, на которые посоветуем вам не наступать.
Часть 2