Социальная инженерия и этичный хакинг на практике [Джо Грей] (pdf) читать онлайн

Книга в формате pdf! Изображения и текст могут не отображаться!


 [Настройки текста]  [Cбросить фильтры]
  [Оглавление]

Джо Грей

Социальная инженерия и этичный хакинг
на практике

PRACTICAL SOCIAL
ENGINEERING
A Primer for the
Ethical Hacker

by Joe Gray

San Francisco

СОЦИАЛЬНАЯ ИНЖЕНЕРИЯ
И ЭТИЧНЫЙ ХАКИНГ
НА ПРАКТИКЕ

Джо Грей

Москва, 2023

УДК 004.5
ББК 32.973
Г79

Г79

Джо Грей
Социальная инженерия и этичный хакинг на практике / пер. с англ.
В. С. Яценкова. – М.: ДМК Пресс, 2023. – 226 с.: ил.
ISBN 978-5-97060-980-4
Даже самые продвинутые специалисты по безопасности не смогут предотвратить взлом корпоративных систем, если сотрудники компании разглашают
секретные данные или посещают вредоносные сайты. Эта книга написана известным экспертом в области кибербезопасности и содержит подробное руководство
по использованию этичных методов социальной инженерии для поиска слабых
мест и уязвимостей в защите организации. Вы на практических примерах изучите
методы, лежащие в основе атак социальной инженерии, и узнаете, как помешать
злоумышленникам, которые используют человеческие слабости в своих целях.
Книга адресована как специалистам в области пентестинга и оценки безопасности, так и широкому кругу читателей, желающих повысить уровень личной и
корпоративной защиты от современных киберугроз.

УДК 004.5
ББК 32.973

Title of English-language original: PRACTICAL SOCIAL ENGINEERING, ISBN 978-1-71850098-3, published by No Starch Press Inc. 245 8th Street, San Francisco, California United States
94103. The Russian-Language 1st edition Copyright © 2022 by DMK Press Publishing under
license by No Starch Press Inc. All rights reserved.
Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения
владельцев авторских прав.

ISBN 978-1-7185-0098-3 (англ.)
ISBN 978-5-97060-980-4 (рус.)

Copyright © 2022 by Joe Gray
© Перевод, оформление, издание, ДМК Пресс, 2023

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

СОДЕРЖАНИЕ
https://t.me/it_boooks

От издательства............................................................................................................... 10
Об авторах......................................................................................................................... 11
О техническом рецензенте. ......................................................................................... 11
Благодарности.................................................................................................................. 12
Предисловие..................................................................................................................... 14
Часть I. Основы................................................................................................................ 17
Глава 1. Что такое социальная инженерия?............................................................ 18
Важные понятия социальной инженерии. ................................................................ 19

Предлог............................................................................................................................ 19
Разведка по открытым источникам.............................................................................. 19
Фишинг............................................................................................................................ 20
Целевой фишинг............................................................................................................. 21
Вейлинг............................................................................................................................ 21
Вишинг............................................................................................................................. 22
Приманка......................................................................................................................... 22
Мусорные баки................................................................................................................ 23
Психологические концепции в социальной инженерии. ...................................... 24
Влияние............................................................................................................................ 24
Манипуляции.................................................................................................................. 24
Взаимопонимание (раппорт)......................................................................................... 25
Шесть принципов влияния доктора Чалдини............................................................... 25
Симпатия или эмпатия?................................................................................................. 28
Вывод. ................................................................................................................................. 29

Глава 2. Этические соображения в социальной инженерии.............................. 30
Этическая социальная инженерия. ............................................................................. 31

Соблюдение границ........................................................................................................ 31
Понимание юридических аспектов............................................................................... 32
Особенности предоставления услуг третьей стороны.................................................. 32
Подведение итогов после вторжения............................................................................ 33
Практический пример: социальная инженерия зашла слишком далеко........... 34
Этические рамки OSINT................................................................................................. 34
Защита данных................................................................................................................ 35
Соблюдение законов и правил....................................................................................... 36
Практический пример: этические ограничения социальной инженерии. ....... 38
Вывод. ................................................................................................................................. 40

Часть II. Наступательная социальная инженерия.................................................. 41
Глава 3. Подготовка к атаке......................................................................................... 42
Согласование с клиентом............................................................................................... 43
Ознакомление с задачей................................................................................................ 43
Определение целей......................................................................................................... 44
Определение методов..................................................................................................... 44

6

Содержание

Разработка удачных предлогов.................................................................................... 45
Использование специализированных ОС для социальной инженерии............. 46
Последовательные фазы атаки..................................................................................... 47
Практический пример: почему изучение задачи имеет значение. .................... 51
Вывод. ................................................................................................................................. 52

Глава 4. Бизнес-разведка по открытым источникам............................................ 53
Практический пример: почему OSINT имеет значение......................................... 54
Разберемся с типами OSINT.......................................................................................... 54
Сбор данных OSINT об организации........................................................................... 55

Получение базовой бизнес-информации из Crunchbase............................................. 55
Идентификация владельцев веб-сайтов с помощью WHOIS....................................... 59
Сбор OSINT из командной строки с помощью Recon-ng............................................. 60
Вывод. ................................................................................................................................. 71

Глава 5. Социальные медиа и публичные документы......................................... 72
Анализ социальных сетей для сбора OSINT.............................................................. 72

LinkedIn............................................................................................................................ 73
Доски объявлений и карьерные сайты.......................................................................... 76
Facebook (Meta)................................................................................................................ 77
Instagram.......................................................................................................................... 80
Использование Shodan для OSINT............................................................................... 83
Использование параметров поиска Shodan.................................................................. 84
Поиск IP-адресов............................................................................................................. 84
Поиск доменных имен.................................................................................................... 84
Поиск имен хостов и субдоменов.................................................................................. 85
Делаем автоматические скриншоты с помощью Hunchly..................................... 86
Вывод. ................................................................................................................................. 87

Глава 6. Сбор OSINT о людях....................................................................................... 89
Использование инструментов OSINT для анализа адресов
электронной почты. ........................................................................................................ 89

Выяснение того, был ли пользователь взломан............................................................ 90
Составление списка учетных записей социальных сетей с помощью Sherlock......... 91
Составление списка учетных записей веб-сайтов с помощью WhatsMyName........... 91
Анализ паролей с помощью Pwdlogy.......................................................................... 92
Анализ изображений цели............................................................................................. 93
Ручной анализ данных EXIF........................................................................................... 94
Анализ изображений с помощью ExifTool.................................................................... 95
Анализ социальных сетей без инструментов. .......................................................... 98
LinkedIn............................................................................................................................ 98
Instagram.......................................................................................................................... 98
Facebook........................................................................................................................... 98
Twitter.............................................................................................................................. 98
Пример из практики: неожиданно информативный ужин................................... 99
Вывод. ................................................................................................................................100

Глава 7. Фишинг. ............................................................................................................102
Настройка фишинговой атаки.....................................................................................102

Настройка защищенного экземпляра VPS для фишинговых целевых страниц........104
Выбор платформы электронной почты........................................................................112
Содержание

7

Покупка доменов для рассылки и целевых страниц...................................................114
Настройка инфраструктуры фишинга и веб-сервера..................................................115
Дополнительные действия для успешного фишинга.............................................116
Использование пикселей отслеживания......................................................................116
Автоматизация фишинга с помощью Gophish............................................................117
Добавление поддержки HTTPS для фишинговых целевых страниц..........................122
Использование сокращенных URL-адресов в фишинге..............................................123
Использование SpoofCard для спуфинга вызовов.......................................................123
Соглашение о сроках проведения атаки...................................................................123
Практический пример: серьезный фишинг за 25 долларов.......................................124
Вывод. ................................................................................................................................127

Глава 8. Клонирование целевой страницы............................................................128
Пример клонированного сайта. ..................................................................................129

Страница входа..............................................................................................................129
Страница критичных вопросов.....................................................................................132
Клонирование веб-сайта...............................................................................................135
Поиск страниц входа и профиля пользователя...........................................................135
Клонирование страниц с помощью HTTrack...............................................................135
Изменение кода поля входа..........................................................................................137
Добавление веб-страниц на сервер Apache..................................................................139
Вывод. ................................................................................................................................140

Глава 9. Обнаружение, измерение и отчетность..................................................141
Обнаружение....................................................................................................................142
Измерение. .......................................................................................................................142

Выбор показателей........................................................................................................143
Отношения, медианы, средние значения и стандартные отклонения......................143
Количество открытий писем электронной почты.......................................................144
Количество переходов...................................................................................................146
Ввод информации в формы...........................................................................................147
Действия жертвы............................................................................................................149
Время обнаружения.......................................................................................................149
Своевременность корректирующих действий.............................................................150
Эффективность ответных действий.............................................................................150
Количественная оценка риска......................................................................................151
Составление отчетов......................................................................................................152
Знайте, когда звонить по телефону..............................................................................152
Написание отчета...........................................................................................................153
Вывод. ................................................................................................................................155

Часть III. Защита от социальной инженерии..........................................................157
Глава 10. Опережающие способы защиты.............................................................158
Программы повышения осведомленности..............................................................159

Как и когда проводить обучение...................................................................................159
Некарательная политика...............................................................................................160
Поощрение за хорошее поведение...............................................................................161
Проведение фишинговых кампаний............................................................................161
Репутация и OSINT-мониторинг.................................................................................162
Реализация программы мониторинга..........................................................................162
Аутсорсинг......................................................................................................................163

8

Содержание

Реагирование на инциденты........................................................................................163

Процесс реагирования на инциденты по версии SANS..............................................164
Реагирование на фишинг..............................................................................................166
Реагирование на вишинг...............................................................................................166
Реагирование на сбор OSINT.........................................................................................167
Управление вниманием СМИ........................................................................................168
Как пользователи должны сообщать об инцидентах..................................................168
Технический контроль и изоляция...............................................................................169
Вывод. ................................................................................................................................169

Глава 11. Инструменты управления электронной почтой.................................171
Стандарты.........................................................................................................................171

Поля «От кого»................................................................................................................172
Стандарт DKIM...............................................................................................................172
Инфраструктура политики отправителя......................................................................178
Аутентификация сообщений на основе домена, отчетность и соответствие............181
Уровень шифрования TLS.............................................................................................184
МТА-STS.............................................................................................................................186
TLS-RPT. ............................................................................................................................186
Технологии фильтрации электронной почты..........................................................186
Другие средства защиты. ..............................................................................................187
Вывод. ................................................................................................................................188

Глава 12. Методы выявления угроз. ........................................................................189
Использование Alien Labs OTX. ...................................................................................190
Анализ фишингового письма в OTX. .........................................................................191

Создание импульса........................................................................................................191
Анализ источника электронной почты........................................................................192
Ввод индикаторов..........................................................................................................193
Тестирование потенциально вредоносного домена в Burp........................................197
Анализ загружаемых файлов........................................................................................200
Проведение OSINT для анализа угроз........................................................................201
Поиск в базе VirusTotal..................................................................................................201
Выявление вредоносных сайтов в WHOIS....................................................................202
Обнаружение фишинга с помощью PhishTank............................................................203
Просмотр ThreatCrowd...................................................................................................205
Консолидация информации в ThreatMiner..................................................................206
Вывод. ................................................................................................................................207

Приложение 1. Обзорные таблицы для подготовки контракта.......................209
Приложение 2. Шаблон отчета...................................................................................212
Приложение 3. Сбор рабочей информации...........................................................218
Приложение 4. Примеры предлогов для контакта..............................................221
Приложение 5. Упражнения для развития навыков социальной инженерии.....223
Предметный указатель.................................................................................................225
Содержание

9

ОТ ИЗДАТЕЛЬСТВА
Отзывы и пожелания
Мы всегда рады отзывам наших читателей. Расскажите нам, что вы
ду­маете об этой книге, – что понравилось или, может быть, не понравилось. Отзывы важны для нас, чтобы выпускать книги, которые
будут для вас максимально полезны.
Вы можете написать отзыв на нашем сайте www.dmkpress.com, зайдя­
на страницу книги и оставив комментарий в разделе «Отзывы и рецензии». Также можно послать письмо главному редактору по адресу
dmkpress@gmail.com; при этом укажите название книги в теме письма.
Если вы являетесь экспертом в какой-либо области и заинтересованы в написании новой книги, заполните форму на нашем сайте по
адресу http://dmkpress.com/authors/publish_book/ или напишите в издательство по адресу dmkpress@gmail.com.

Список опечаток
Хотя мы приняли все возможные меры для того, чтобы обеспечить
высокое качество наших текстов, ошибки все равно случаются. Если
вы найдете ошибку в одной из наших книг, мы будем очень благодарны, если вы сообщите о ней главному редактору по адресу dmkpress@
gmail.com. Сделав это, вы избавите других читателей от недопонимания
и поможете нам улучшить последующие издания этой книги.

Нарушение авторских прав
Пиратство в интернете по-прежнему остается насущной проблемой.
Издательства «ДМК Пресс» и No Starch Press очень серьезно относятся
к вопросам защиты авторских прав и лицензирования. Если вы столк­
нетесь в интернете с незаконной публикацией какой-либо из наших
книг, пожалуйста, пришлите нам ссылку на интернет-ресурс, чтобы
мы могли применить санкции.
Ссылку на подозрительные материалы можно прислать по адресу
элект­ронной почты dmkpress@gmail.com.
Мы высоко ценим любую помощь по защите наших авторов, благодаря которой мы можем предоставлять вам качественные материалы.

ОБ АВТОРЕ
Джо Грей, ветеран ВМС США, является основателем и главным
инструктором OSINTion, основателем и главным исследователем Transparent Intelligence Services, а также первым победителем
DerbyCon Social Engineering CTF. Будучи сотрудником Агентства по
проверке паролей, Грей выиграл конкурс TraceLabs OSINT Search
Party на DEFCON 28. Недавно он разработал профессиональные инст­
рументы для проведения OSINT и операций по обеспечению кибербезопасности DECEPTICON Bot и WikiLeaker.

О ТЕХНИЧЕСКОМ РЕЦЕНЗЕНТЕ
Кен Пайл – партнер CYBIR, специализирующийся на информационной безопасности, разработке эксплойтов, тестировании на проникновение и управлении корпоративными рисками, а также дипломированный профессор кибербезопасности в Колледже Честнат-Хилл. Как
авторитетный и популярный лектор по информационной безопас­
ности, он выступал на отраслевых мероприятиях, таких как DEFCON,
ShmooCon, Secureworld и HTCIA International.

БЛАГОДАРНОСТИ

В первую очередь я благодарен читателям: спасибо за внимание и
снисхождение, проявленные к моей книге. Надеюсь, она вам понравится, и я считаю, что потраченное время того стоило.
Я бы ничего не добился без поддержки моей семьи. Вы моя нерушимая скала – я люблю вас всех!
На протяжении всей своей карьеры я мог смотреть вдаль, стоя на
плечах гигантов. Это отсылка к цитате Исаака Ньютона, которую любит повторять мистер Джек Дэниел, и это правда. Джек – всего лишь
один «гигант», на плечи которого я встал, чтобы увидеть и узнать
больше во время своего профессионального развития.
Невозможно переоценить знания, полученные от других участников сообщества информационной безопасности, социальной инженерии и OSINT, начиная с моих первых наставников в области информационной безопасности, Джима Роллера и Люка Винклемана. Они
приняли из рядов ВМФ свежего наивного энтузиаста, пропахшего
типографской краской от учебников, и взялись обучать меня на практике, даже в ущерб собственной работе. Я также хотел бы поблагодарить моего предыдущего менеджера и наставника Джерри Белла за
то, что он вдохновил меня написать эту книгу и помог обуздать мои
безумные идеи.
Я заранее извиняюсь перед людьми, занимающимися социальной
инженерией и OSINT, если кого-то упущу. Социальная инженерия находится на переднем крае информационной безопасности благодаря
работе, которую проделал (и продолжает делать) Крис Хаднаги. Я бесконечно благодарен за возможность участвовать в SECTF, но прежде
всего за книгу Криса, найденную мной в университетской библиотеке, когда я ломал голову над темами исследований для своей докторской диссертации (которую я так и не закончил… но вдруг когда-то…).
А еще есть Майкл Баззелл – «ветеран OSINT». Отрасль OSINT не достигла бы таких высот без его участия.
Такие конференции, как Security BSides, DerbyCon и особенно
Layer 8, помогли мне познакомиться с единомышленниками, с кото­
рыми я мог сотрудничать и учиться. Я дорожу общением с такими
людьми, как Джефф Мэн, Алет Денис, Ginzberg5150, Марсель Ли, покойный Джон Кейс, Джуди Тауэрс, Крис Кирш, Крис Сильверс, Мика
Хоффман, Дженни Рэдклифф и Крис Кубека. Еще раз приношу свои
извинения, если кого-то упустил, но этот список, вероятно, может
оказаться длиннее, чем сама книга.
Помимо участия в SECTF, я благодарен TraceLabs не только за проделанную работу, но и за проведение конференций (до COVID) и за
партнерство с OSINTion, за помощь конкурентам, властям, а главное,

за розыск пропавших без вести людей. Спасибо Адриану, Джеймсу,
Роберту, Белув, Тому и Леви. Спасибо также BSides Atlanta и NOLACon
за проведение OSINT CTF.
Наконец, я должен поблагодарить Билла, Фрэнсис, Рейчел и Шэрон
из издательства No Starch Press за их терпеливое ожидание, пока я
закончу эту книгу. Надеюсь, что они и вы довольны окончательным
результатом, и я приношу свои извинения за любые седые волосы,
появившиеся по моей вине.

Благодарности

13

ПРЕДИСЛОВИЕ

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

Для кого эта книга
Эта книга предназначена для всех, кто хочет лучше понять, что такое
социальная инженерия и как проводятся успешные атаки. Эта книга
для вас, если вы:
новичок в индустрии информационной безопасности;
zz опытный специалист по тестированию на проникновение или
сотрудник красной команды;
zz

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

Что вы найдете в этой книге
Эта книга состоит из трех ключевых разделов.

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

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

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

Вывод
Эта книга не является универсальным ресурсом для изучения социальной инженерии. После прочтения вы можете продолжать пользоПредисловие

15

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

16

Предисловие

ЧАСТЬ I
ОСНОВЫ

1

ЧТО ТАКОЕ СОЦИАЛЬНАЯ
ИНЖЕНЕРИЯ?
https://t.me/it_boooks

Социальная инженерия (social engineering) – это любая
атака, которая использует человеческую психологию
для воздействия на цель, заставляя ее либо выполнить
нужное действие, либо предоставить секретную информацию. Эти атаки играют важную роль в индуст­
рии информационной безопасности и хакерском сообществе, но мы
регулярно встречаем примеры подобного поведения в своей повседневной жизни.
Например, отделы продаж и маркетинга часто используют тактику
социальной инженерии. Продавец, который обзванивает потенциальных клиентов, может попытаться повлиять на людей на другом
конце линии, предложив решения их проблем. Дети часто ссылаются
на «крутых ребят», чтобы добиться желаемого у своих родителей, в то
время как родители могут преувеличивать негативный эффект от неправильного поведения ребенка (вспомните, какими последствиями
вас пугали взрослые, если вы будете есть много сладкого).

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

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

Предлог
Согласно концепции социальной инженерии предлог (pretexting) – это
акт выдачи себя за кого-то. Вы можете надеть чужую униформу, рассказать выдуманную предысторию или создать фиктивный повод для
контакта. Я использую этот термин для обозначения любого вашего
предлога для разговора с жертвой. Если, например, вы заявили охраннику на проходной, что работаете в компании по обслуживанию
мусорных баков, держите в руках блокнот и одеты в униформу компании – это и есть предлог.

Разведка по открытым источникам
Разведка по открытым источникам (open source intelligence, OSINT) –
это сбор информации о вашей цели из общедоступных ресурсов.
Источники OSINT включают газеты, поисковые системы, документы
из различных регулирующих органов, социальные сети, рекламу и
обзорные сайты, и это неполный перечень. OSINT поможет вам придумать повод для контакта.
1

Пентест (pentest) – это сокращение от penetration test, т. е. тест на вторжение в закрытую область (например, в корпоративную сеть). Пентестер – это специалист по
информационной безопасности, которого нанимают для проверки надежности защиты от вторжений. – Прим. перев.

Что такое социальная инженерия?

19

OSINT может поддержать или разрушить ваши усилия по социальной инженерии, потому что для достижения успеха вам часто нужно знать важные подробности о компании-жертве и ее сотрудниках.
Какую виртуальную частную сеть (VPN) они используют? Какие еще
технологии они применяют в своей работе? Какова физическая планировка здания организации? Зная эту информацию, вы сможете
значительно упростить взаимодействие. Несколько ведущих специалистов по тестированию на проникновение сказали мне, что оптимальное отношение времени, затрачиваемого на сбор данных OSINT,
к времени, затраченному на фактическое проникновение, колеблется
от 30/70 до 70/30.

Фишинг
Вероятно, это наиболее распространенная форма социальной инженерии. Фишинг (ловля рыбы) – это отправка мошеннических элект­
ронных писем с целью повлиять на жертву или заставить ее предоставить информацию, открыть файлы или перейти по ссылкам. Позже в
этой книге я расскажу о различных методах, которые вы можете использовать для этого.
Обычные фишинговые электронные письма, как правило, не адресованы какому-либо конкретному получателю. Вместо этого их рассылают по обширным спискам адресов электронной почты, купленным мошенниками и преступниками. Это означает, что вы можете
отправить электронное письмо большому количеству людей, не собирая о них OSINT. Например, почти не владея контекстом жертвы,
вы можете разослать одинаковое для всех электронное письмо, которое попытается заставить пользователя либо войти на мошенничес­
кий веб-сайт, либо загрузить файл. Когда жертвы открывают файл,
на их компьютере может открыться удаленный доступ к оболочке
командной строки или произойдет установка вредоносной программы. После того как злоумышленники запустили удаленную оболочку
или установили вредоносное ПО, они могут в интерактивном режиме
взаимодействовать с системой и выполнять атаки на запуск эксплойтов и повышение привилегий, чтобы продолжить компрометацию
системы и сети.
Иногда наборы эксплойтов (программное обеспечение, используемое для совершения других атак и загрузки вредоносных программ)
используют фишинг для распространения вредоносного ПО. Согласно отчету Symantec Internet Security Threat Report (ISTR) за 2018 год,
0,5 % всего URL-трафика являются фишинговыми, а 5,8 % этого трафика – вредоносными. Это 1 из 224 всех URL-адресов!
Тем не менее простые фишинговые атаки, подобные описанной
выше, не распространены в этическом взломе и тестировании на
проникновение. Если клиент нанимает вас для проведения теста на
проникновение, можно с уверенностью предположить, что он достаточно компетентен в области безопасности, чтобы избежать простой
фишинговой атаки.

20

Глава 1

Целевой фишинг
Целевой фишинг – это разновидность обычного фишинга, при котором специалист по социальной инженерии фокусируется на конкретной цели. Если бы вы были рыбаком, использующим копье, а не сеть,
вам, вероятно, нужно было бы знать, как ведет себя каждый вид рыб
и как к ним подходить. Точно так же вам, как пентестеру, нужно будет
собирать, объединять и использовать OSINT о вашей целевой компании или человеке, чтобы должным образом заманить их в ловушку.
ISTR заявляет, что целевой фишинг является вектором номер один
в целевых атаках. По оценкам отчета за 2018 год, 71 % организованных групп, включая национальные разведки, киберпреступников и
хактивистов, используют целевой фишинг для достижения своих целей. В 2019 году этот показатель упал до 65 %.
Если бы вы были пентестером с уклоном в социальную инженерию
(или консультантом в фирме, где другие компании платят вам за то,
чтобы вы выступали в роли злоумышленников), то, вероятно, тратили
бы большую часть своего рабочего времени на разработку целевого
фишинга. Это наиболее распространенные атаки, с которыми сталкиваются компании, и они требуют наименьшего количества прямого
взаимодействия, что делает их более доступными для потенциальных
клиентов.
Вы бы начали с OSINT-расследования в направлении компа­ниижертвы или конкретного человека. Например, можете раздобыть информацию о поставщиках услуг, которыми они пользуются. Затем –
создать фишинговое электронное письмо, в котором сказано, что вы
являетесь представителем страховой компании и хотите уточнить некоторые данные. Вы бы вставили логотип страховой компании в электронное письмо вместе с формулировками, характерными для таких
компаний, а затем отправили жертву на клон реального веб-сайта
компании, чтобы попытаться получить их учетные данные или заставить их загрузить файл.

Вейлинг
Вейлинг (whaling, китобойный промысел) – это фишинг, направленный на «большую рыбу» – как правило, топ-менеджеров компании. Во
время проведения тестов на проникновение с помощью социальной
инженерии я обнаружил, что эти люди вызывают больше доверия, чем
многие другие. Они также обычно имеют больше прав доступа, чем
средний пользователь. Например, они могут быть локальными администраторами в системе компании. Вам нужно подходить к атакам
на этих людей иначе, чем к фишингу или целевому фишингу, потому
что у этих людей другие мотивы и интересы, чем, скажем, у рядовых
сотрудников службы поддержки или отдела продаж.
Представьте, что ваша цель – финансовый директор компании.
Можете попытаться изготовить вейлинговое письмо от имени отдела
кадров, чтобы установить дополнительные отношения с потенциальЧто такое социальная инженерия?

21

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

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

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

22

Глава 1

ли USB-накопители, но теперь можно воспользоваться и более современным вариантом в виде QR-кода, чтобы заставить жертву скачать
вредоносный код.
Вы можете загрузить поддельные документы на USB-накопитель
или в специальное устройство, которое хакеры называют Rubber
Ducky1 («резиновая уточка»), а затем положить это устройство в пакет
с привлекательной надписью типа «список на увольнение/повышение», «выплата бонусов», «доклад генеральному директору» и т. п. Затем подбросьте приманку на парковку, у входа в офис или в коридоре
компании-жертвы.
Использование «резиновой уточки» имеет свои преимущества.
С помощью этого устройства вы можете загружать вредоносные
скрипты на устройство вместе с законными файлами. Когда кто-то
подключает «уточку» к компьютеру, она обходит любые инструменты предотвращения потери данных (программные или аппаратные
решения, которые предотвращают перемещение файлов с компьютера через USB-накопитель, электронную почту или протокол, такой
как FTP или SCP), поскольку выдает себя за USB-клавиатуру. Если вы
используете обычный USB-накопитель, вас может остановить программное обеспечение для предотвращения потери данных, установленное на компьютере жертвы. В отличие от него «уточка» откроет
файл и развернет полезную нагрузку (скрипт или инструмент, помогающий получить желаемый результат).
Можно использовать приманку, чтобы получить удаленный доступ
к оболочке командной строки в системе, что впоследствии позволит
вам напрямую взаимодействовать с хост-компьютером. Но с приманкой непросто достичь успеха, потому что трудно гарантировать, что
она достанется жертве и что оболочка, подключения или информация
с рабочего компьютера окажутся в пределах вашего доступа. Люди
могут взять диск домой и подключить его к домашнему компьютеру,
на атаку которого у вас не будет разрешения.

Мусорные баки
Вероятно, наименее привлекательный прием социальной инженерии – это копание в содержимом мусорных баков или в мешках с мусором, собранным в офисе компании-жертвы, а затем вывоз их за пределы офиса для анализа и сбора информации. Вы можете многое узнать
об организации и найти именно то, что искали. Вспомните о вещах,
которые сами выбрасываете. Некоторые из них чрезвычайно личные.
Впрочем, мешки с мусором могут быть наполнены объедками из офисного кафетерия, не имеющими отношения к секретам компании.
Для этого типа разведки вам, скорее всего, придется притвориться сотрудником мусорной компании и придумать какую-то историю,
чтобы добраться до местной помойки. Оказавшись там, первым де1

Rubber Ducky Hak5 – это устройство с микрокомпьютером внутри, заключенное в
корпус, идентичный обычному USB-накопителю, которое действует как клавиатура
и может вводить данные в систему так, как если бы пользователь печатал их сам.

Что такое социальная инженерия?

23

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

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

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

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

24

Глава 1

Взаимопонимание (раппорт)
Если коротко, взаимопонимание – это взаимное доверие. Большинство
словарей определяют взаимопонимание как «дружеские, гармоничные отношения» и добавляют, что такие отношения обычно «характеризуются соглашением, взаимным доверием или сопереживанием,
которые делают общение возможным или легким». Американская
психологическая ассоциация (АПА) основывается на этом определении, говоря, что «установление взаимопонимания с клиентом в
психотерапии часто является важной промежуточной целью для терапевта, чтобы облегчить и углубить терапевтический опыт и способствовать оптимальному прогрессу и улучшению».
Как и психотерапевты, специалисты по социальной инженерии пытаются установить контакт со своими объектами для завоевания их доверия. Чтобы построить взаимопонимание, они часто полагаются на
общий опыт (реальный или выдуманный), играют на интересах жертвы и подчеркивают свои собственные черты характера. Вы можете использовать OSINT, чтобы узнать о симпатиях и антипатиях жертвы.

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

Авторитет
Люди склонны совершать определенные действия, когда кто-то,
наделенный властью, просит их об этом или когда их заставляют поверить (правдиво или под ложным предлогом), что такое же действие
совершает авторитетная фигура. Мне нравится использовать в вишинге ссылки на авторитеты. Например, я могу позвонить и сказать,
что действую по распоряжению генерального директора, директора
по информационной безопасности или в соответствии с определенным законом.
Использование авторитета может быть очень эффективным. Имейте в виду, однако, что вы никогда не должны прикидываться сотрудником правоохранительных органов, налоговой службы, таможни и
других государственных организаций, обладающих особыми полномочиями на сбор конфиденциальной и иной информации. Это незаконно!

Привлекательность
Люди, как правило, стремятся помочь тем, кого считают милым
и привлекательным. Вы когда-нибудь встречали продавца, который
хотя бы не пытался выглядеть приятным человеком? Скорее всего,
Что такое социальная инженерия?

25

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

Срочность и дефицит
Если есть риск, что человек чего-то не получит, он начинает хотеть
этого намного сильнее. Недавно я воспользовался рекламной акцией
местного спортзала. В процессе регистрации на странице сайта появился таймер, предупреждающий меня о том, что осталась одна минута, чтобы завершить процедуру, иначе я буду исключен из списка
льготных клиентов. В качестве эксперимента я прошел процедуру регистрации трижды. Первые два раза я проделал регистрацию с одного
и того же IP-адреса в течение минуты. В третий раз потратил около
пяти минут, и таймер просто сбрасывался без последствий каждый
раз, когда минута заканчивалась.
Мораль этой истории: спортзал пытался использовать срочность,
чтобы заставить меня подписаться на что-то, что могло принести мне
пользу, а могло и не принести. Таймер дает потенциальным клиентам
искусственное ограничение по времени и ощущение, что они потеряют что-то важное, если не будут действовать быстро.
Занимаясь фишингом, многие мошенники заявляют, что продают или раздают что-то такое, чего существует лишь небольшое количество. Чтобы соблазнить жертву действовать, будь то переход по
ссылке или ввод информации, они предлагают нечто ценное в сделке,
которая слишком хороша, чтобы быть правдой, но с оговоркой, что
жертва должна действовать в кратчайший срок.
В других случаях преступник может попытаться заставить заплатить выкуп за свою программу-вымогатель, выделяя жертве всего несколько часов на оплату, прежде чем безвозвратно удалить, украсть
или обнародовать данные, – независимо от того, собирается ли он исполнить угрозу. В любом случае преступник надеется напугать жертву
и заставить ее действовать до того, как она успеет все обдумать.

Постоянство и последовательность
Люди ценят постоянство и в большинстве своем не любят перемены. Специалисты по социальной инженерии иногда остаются последовательными, а иногда нарушают постоянство и последовательность,
чтобы влиять на жертву. Продавец может утверждать, что больше заинтересован в успехе своего клиента, чем в комиссионных, говоря
что-то вроде: «Я всегда заботился о своих клиентах. Я понимаю ваши
потребности с первого дня сотрудничества. Я всегда работаю с вами
по принципу “что обещано, то и сделано”». Этот прием распространен
среди продавцов, успех которых зависит от прочных долгосрочных отношений.

Социальное доказательство
Общество требует от нас «не отставать от соседа». Другими словами,
мы часто делаем что-то исключительно потому, что остальные счи-

26

Глава 1

тают это нормальным, уместным или статусным. Вы можете попытаться убедить свою жертву в том, что определенное поведение или
действие повышает социальный статус или что все другие эффективные сотрудники выполняют некое нужное вам действие. Убеждение
собеседника в желательности чего-либо называется социальным доказательством. Продавец автомобилей может попытаться уговорить
вас купить роскошную машину, сказав, например, что на ней ездят
успешные люди вашего возраста.
Злоумышленник может придумать социальное доказательство,
используя информацию, полученную из OSINT. Например, он может
определить, кто в компании является влиятельным лицом. Затем отправит вам электронное письмо, утверждая, что разговаривал с авторитетным человеком, который восторженно отзывался о вас и предоставил вашу контактную информацию, чтобы вы помогли «решить
проблему». Я встречал двух или трех не очень умных рекрутеров, которые писали мне по электронной почте, утверждая, что мой друг дал
им мою контактную информацию, но просил не называть его имя.
Вакансии, что они предлагали, были связаны с Java-разработкой, о
которой я не упоминаю ни в своем резюме, ни в LinkedIn. Разумеется,
я сразу внес их в черный список.

Взаимность
Мы более охотно помогаем людям, которые помогли нам. Часто социальные пентестеры помогают кому-то, а затем просят сделать чтото взамен (и не всегда это в интересах того, кто помогает). Один из
таких случаев произошел со мной, когда я посетил Layer 8 Conference,
конференцию по социальной инженерии в Ньюпорте, Род-Айленд.
Рядом с пирсом я увидел пару, которая пыталась сфотографироваться
на фоне парусника. Я предложил их сфотографировать.
«А вас это точно не затруднит?» – спросили они.
«Нисколько. И кстати, подержите мой телефон, чтобы знать, что я
не убегу с вашим», – ответил я, чтобы наладить с ними более тесный
контакт.
Я сделал снимок. В этот момент прямо за этой парой проплыла еще
одна красивая яхта, и я попросил их не сходить с места. «Давайте я
сфотографирую вас еще раз на фоне этой яхты», – сказал я.
Они согласились: «Это было бы круто».
Я сделал еще несколько снимков. Закончив, я передал им телефон,
чтобы они могли просмотреть снимки, а мои новые знакомые поблагодарили меня.
«Пустяки, не за что. Не найдется ли у вас минутка, чтобы помочь
мне с антропологическим исследованием, которое я провожу этим
летом?» – поинтересовался я.
«Конечно, а что это за исследование?» – спросили они в ответ.
Поскольку я помог им сфотографироваться, они чувствовали себя
обязанными отплатить взаимностью, даже несмотря на то, что ответы на мои вопросы не сулили им никакой выгоды.
Что такое социальная инженерия?

27

«Я провожу исследование о характере миграции людей и о том, как
смешиваются разные этнические группы. Собираю информацию об
именах, о том, где путешествуют эти люди, о моделях поведения и так
далее. Увы, у меня очень мало информации о родителях членов тех
семей, с которыми я беседовал. Например, как звали вашу маму до
того, как она вышла замуж?»
Заметьте, я не спросил «Какой была девичья фамилия вашей матери?», потому что этот вопрос моментально вызывает тревогу. Это
распространенный вопрос для восстановления пароля, и люди защищают эту информацию.
Они оба ответили на мой вопрос, а потом рассказали, откуда они.
Я сказал, что у меня в этом городе есть друзья. Это была ложь – на
самом деле я просто был смутно знаком с этой местностью. Я сообщил, что мои друзья ходили в одну среднюю школу в том городе. Они
ответили, что эта школа конкурировала с той, в которой учились они.
«А что было изображено на гербе вашей школы?» – спросил я.
Мои собеседники охотно ответили и на этот вопрос. Я мог бы продолжать расспросы еще очень долго…

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

Вывод
Социальная инженерия может быть невероятно мощным инструментом для получения доступа к чужим секретам. В этой главе вы по-

28

Глава 1

знакомились с целым рядом приемов, многие из которых мы рассмотрим более подробно на протяжении всей книги.
Имейте в виду, что взаимопонимание – это особая игра. После
того как вы установили взаимопонимание, остальная часть взаимодействия будет проще. Понимание психологических концепций и
принципов человеческого поведения является одним из полезных
способов установить связь с кем-то. Кроме того, чем больше OSINT
вы соберете, тем умнее сможете говорить о компании-жертве. Можно
найти идеальные поводы для установления контакта с сотрудниками,
а также узнать о культуре, процессах и технологиях, которые облегчат
последующий пентестинг или взаимодействие с красной командой.
Иметь взаимопонимание полезно независимо от того, занимаетесь
ли вы фишингом, целевым фишингом, вейлингом, вишингом, разбрасываете приманки или роетесь в мусорных баках.

Что такое социальная инженерия?

29

2

ЭТИЧЕСКИЕ СООБРАЖЕНИЯ
В СОЦИАЛЬНОЙ ИНЖЕНЕРИИ
https://t.me/it_boooks

В отличие от тестирования безопасности сетевых и
веб-приложений, воздействие социальной инженерии может выходить за пределы ноутбука или сервера.
Когда вы взаимодействуете с реальными людьми, то
должны принимать особые меры предосторожности,
чтобы не причинить им вреда.
Также следует тщательно соблюдать законы своей страны и учитывать физическое местонахождение людей или предприятий, с которыми потенциально можете взаимодействовать. Вы можете случайно нарушить законы той страны, где физически находятся люди
или серверы, подвергшиеся вашей атаке, и, сами того не желая, окажетесь преступником в соответствии с чужими законами. Хотя может не существовать юридического прецедента, предписывающего
вам собирать данные OSINT определенным образом или вообще запрещающего вам собирать данные OSINT, некоторые законы, такие
как Общий регламент Европейского союза по защите данных (GDPR),
налагают на вас определенные обязательства и влекут последствия в

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

Этическая социальная инженерия
Начнем с самой атаки социальной инженерии. Занимаясь социальной
инженерией, вы должны постоянно думать о том, как будет чувствовать себя жертва в результате ваших действий. Это непростая задача,
так как вам нужно найти способы показать, что компания уязвима
(обычно потому, что у сотрудников нет надлежащей подготовки или
процессы плохо организованы), но сделать это без прямого ущерба для
репутации и карьеры людей, через которых вы раскрыли уязвимость.
Один из способов защитить людей – по возможности сделать их
анонимными в глазах вашего клиента. Например, вместо упоминания о том, что Эдвард из бухгалтерии перешел по ссылке в фишинговом письме, напишите в отчете, что один из сотрудников финансового подразделения стал жертвой фишинговой атаки. При этом следует
учитывать размер организации и возможность для коллег угадать
личность жертвы по предоставленным вами данным. Если вы работаете по заказу относительно небольшой компании, можете не говорить, что ее учредитель опубликовал в социальных сетях слишком
много деликатной информации, а вместо этого заявить, что высшее
руководство легкомысленно относится к соблюдению конфиденциальности в соцсетях.
Настоящие плохие парни, скорее всего, не будут придерживаться
подобных границ. Однако при тестировании на проникновение мы
не должны копировать все, что делают плохие парни. На нашем мес­
те они использовали бы атаки типа «отказ в обслуживании» (атаки
на сети и системы, которые не позволяют законным пользователям и
службам получить к ним доступ, DDOS-атака); доксинг клиентов, т. е.
обнародование их личной информации, такой как адрес проживания,
адрес электронной почты и номер телефона; и развертывание программ-вымогателей (вредоносное программное обеспечение, которое требует от жертв уплаты выкупа, чтобы разблокировать его). Но
мы ведь не такие, правда?
Вот несколько советов по защите людей в ваших проектах социальной инженерии.

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

31

использовать личные учетные записи (включая связь с ними);
zz обращаться к этой информации вне рабочих задач.
zz

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

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

Особенности предоставления услуг третьей стороны
Также могут возникнуть проблемы, если вы нарушите правила использования услуг, предоставляемых третьей стороной. В 2019 году
Майк Фелч из Black Hills Information Security опубликовал пару сообщений в блоге о выборе программных сервисов, которые можно использовать при фишинге. В этих постах, озаглавленных «Как очистить
Google и начать заново» (части I и II), рассказывается о его опыте использования G Suite (платформа повышения производительности
Google, которая теперь называется Google Workspace) как в качестве
цели, так и инструмента для атаки. Фелч объясняет, как он скомпрометировал учетные данные и использовал CredSniper для обхода многофакторной аутентификации.
Тут история принимает интересный оборот. Блог обнаружили как
сотрудники Центра управления безопасностью (Security Operations

32

Глава 2

Center, SOC) заказчика, так и SOC Google. В качестве ответных действий Google не только заблокировал учетную запись Фелча, но также (предположительно с помощью OSINT и собственных алгоритмов
обнаружения) начал блокировку других учетных записей Майка и его
жены, даже не связанных с используемыми ими сервисами Google.
Мораль этой истории заключается в том, что нужно согласовать свои
действия с любыми другими поставщиками услуг, которых может использовать клиент, чтобы гарантировать, что вас не подвергнут блокировке всего подряд, включая, как в случае с Майком, даже термостат в системе отопления дома.

Подведение итогов после вторжения
После выполнения операций с использованием социальной инженерии важно правильно провести дебрифинг (debriefing) – обнародовать
предпринятые меры и полученные результаты. Дебрифинг включает
в себя ознакомление жертв с методами, которые вы использовали,
и информацией, которую вы собрали. Вы не должны рассказывать
всей организации, что Джейн из отдела кадров использует имя своего
мужа Джона в качестве пароля или что у Мэдисон проблемы взаимоотношений с дядей. Строго соблюдайте анонимность отчета и не
касайтесь деталей; просто скажите заказчику, что вы обнаружили, как
некоторые сотрудники используют имена своих супругов в качестве
паролей, или что вы легко получили информацию об их личных отношениях.
Один из способов решить эту этическую проблему – вести список
тех, кто стал жертвой атаки, и конфиденциально сообщить им, почему
они провалили испытание, при этом не указывая их имена из отчета.
Если руководство организации запрашивает эту информацию, можете указать имена в ответ на обязательство компании не увольнять
сотрудников. Этот пункт часто указывают в контракте между пентестерами и их заказчиками. Если компания не обучает своих сотрудников, будет несправедливо увольнять их за нарушения безопасности.
С другой стороны, в вашем отчете должны быть явно указаны люди,
которые помешали атаке. Они позаботились о защите своей организации, и их заслуги следует признать и вознаградить.
С организационной точки зрения руководство должно дать понять
сотрудникам, что сама компания не шпионила за ними. Им должно
быть ясно, что компания заплатила кому-то другому за проверку, которая включает сбор информации, а затем отфильтровала собранные
сведения и оставила имеющие отношение только к бизнесу, сохранив
личную жизнь сотрудников в тайне. Кроме того, организация должна
использовать предоставленный вами отчет вместе с рекомендациями и примерами сценариев атаки для обучения сотрудников, чтобы
они могли быть более безопасными.
Выступая с презентациями на таких конференциях, как DerbyCon,
Hacker Halted и различных мероприятиях Security BSides, я следую
тем же правилам, что и в отчетах. Вы никогда не знаете, находится ли
Этические соображения в социальной инженерии

33

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

Практический пример: социальная инженерия
зашла слишком далеко
В 2012 году беременная принцем Джорджем Кембриджским герцогиня Кейт Миддлтон была госпитализирована из-за сильного утреннего недомогания. Общественность и средства массовой информации вскоре узнали об этом, и в 5:30 пара ведущих австралийского
радиошоу позвонила в больницу, представившись королевой Англии
и принцем Чарльзом. Ведущие умело изобразили их произношение
и запросили самую новую информацию о состоянии Миддлтон. На
звонок ответила дежурная медсестра приемной. Полагая, что звонок
был законным, дежурная соединила пранкеров с личной медсестрой
Миддлтон, которая сообщила различные подробности о ее состоянии.
Ведущие записали звонок и включили его в эфир. Программа привлекла огромное внимание и стала причиной международного скандала. Прежде чем больница успела предпринять какие-либо действия,
медсестру нашли мертвой со следами явного самоубийства. Принц
Уильям и герцогиня Кейт опубликовали заявление, в котором выразили глубокую скорбь по поводу инцидента и выразили соболезнования близким медсестры.
Это пример социальной инженерии, которая зашла слишком далеко. Розыгрыши розыгрышами, но в какой-то момент во время звонка
пранкеры обязаны были раскрыться. Они также не должны были делать свои трюки достоянием широкой публики. Впоследствии радио­
шоу закрыли, а аккаунты шоу и ведущих в соцсетях были удалены.
Владельцы радиостанции принесли официальные публичные извинения – слишком поздно после трагедии, которой можно было избежать.
Хотя это поведение больше похоже на глупую безвкусную шутку,
чем на атаку, инцидент вполне можно расценить как злоупотребление доверием жертвы, потому что ди-джеи действовали не в ее интересах. Если бы они не транслировали звонок в эфир, их действия,
возможно, были бы больше похожи на безобидное использование чужого авторитета, хотя лучшим решением было бы вообще не звонить.

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

34

Глава 2

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

Защита данных
Необходимо тщательно продумать, как долго нужно хранить любые
данные, которые вы собираете, как их уничтожить, какую ценность
присвоить данным, к чему приведет потеря данных и как кто-то может попытаться их скомпрометировать.
Цифровая криминалистика и правоохранительные органы при
работе с данными часто используют концепцию цепочки безопасного
хранения (chain of custody). Цепочка хранения направлена на сохранение в безопасных условиях любых собранных улик с момента сбора
до уничтожения. Для этого необходимо хранить все данные в специально отведенном для этого безопасном месте. Например, у полицейских принято хранить вещественные доказательства в специальной
ячейке, которая находится в охраняемом помещении. Лицо, получающее доступ к этой ячейке, должно доказать свое право доступа, расписаться в получении вещественных доказательств и затем вернуть
их под роспись.
К сожалению, данные в цифровом формате можно легко скопировать, поэтому обеспечить соблюдение цепочки безопасного хранения
немного сложнее, но это возможно, если вы примете определенные
меры предосторожности. Прежде всего это соблюдение правил гигиены безопасности, о которых мы поговорим далее. Для каждого исследования безопасности вам нужна выделенная виртуальная машина,
которую вы будете использовать исключительно для этого исследования. Машина должна быть зашифрована надежным паролем. Когда
вы закончите исследование, обеспечьте безопасное хранение. Сохраните файлы, из которых состоит виртуальная машина, на отдельном
диске. Скорее всего, вам будет достаточно обычного компакт-диска
или DVD-диска, но в некоторых случаях может понадобиться накопитель большего размера, например флеш-накопитель USB или внешний жесткий диск. В качестве дополнительного уровня безопасности
вы можете зашифровать сам диск и безопасно хранить его, отключив
от каких-либо компьютеров, с помощью физического ограничителя
доступа, такого как обычный сейф.
Цифровая гигиена – это не что иное, как последовательное применение лучших методов обеспечения безопасности. Обеспечьте защиту от вредоносных программ на своих рабочих устройствах и не
используйте пароли повторно (и, разумеется, выбирайте надежные
пароли). Вы также должны использовать менеджер паролей и много­
факторную аутентификацию при каждой возможности. Это лишь
верхушка айсберга, но эти шаги застрахуют вас от того, что кто-то
сможет поставить под сомнение надежность ваших данных, особенно
если они предназначены для судебного разбирательства.
Этические соображения в социальной инженерии

35

Чтобы определить ценность данных, подумайте, какой ущерб
они могут нанести компании или человеку. Я никогда не собираю и
не храню номера социального страхования, но если бы собирал, то
придавал бы им очень большое значение. Если я получу чей-то адрес
электронной почты вместе с паролем, я присвою им максимальный
уровень важности. Обнаружение этой информации указывает на то,
что организация или сотрудник потенциально могли пострадать от
взлома, потому что люди склонны использовать одинаковые пароли.
При этом, если организация может доказать, что данному пользователю технически запрещено применять известный вам пароль, можете присвоить известному паролю низкий уровень важности. Простой
пароль без привязанного к нему человека также будет иметь низкую
ценность, хотя вы можете использовать его для атаки на компанию
с помощью распыления пароля (password spraying). При распылении
пароля злоумышленник использует один пароль, пытаясь взломать
многочисленные учетные записи, например используя пароль по
умолчанию для всех известных ему учетных записей.
Короче говоря, защитите свои конфиденциальные данные, сведя к
минимуму доступ к системе, в которой они хранятся, поддерживая
их в актуальном состоянии, отключая ненужные службы, используя
надежные пароли и многофакторную аутентификацию, когда это возможно. Шифруйте данные, когда это возможно. Даже если кто-то похитит данные, они окажутся бесполезными, если злоумышленник не
сможет взломать ключ шифрования.

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

Общее положение о защите данных (GDPR)
Положения GDPR определяют, что вы можете делать с данными,
принадлежащими гражданам ЕС. Регламент направлен на защиту
граждан и жителей ЕС в отношении сбора и использования их данных. По сути, это дало возможность гражданам и резидентам ЕС как
потребителям управлять данными, которые собираются от них и о
них. После принятия GDPR в 2016 году предприятиям дали два года
на то, чтобы привести свою деятельность в соответствие требованиям нового положения. Начиная с 25 мая 2018 года все компании
во всем мире, ведущие деятельность в ЕС, должны соблюдать GDPR.

36

Глава 2

Компания, нарушающая GDPR, может быть оштрафована на 4 % от
ее глобального годового дохода. Это должно послужить стимулом для
защиты любой информации, собранной о гражданах ЕС (как в ЕС, так
и за рубежом) и о людях, посещающих ЕС.
Основное влияние GDPR на социальную инженерию и OSINT
заключается в том, что закон дает людям возможность ограничить
сбор другими лицами их личной информации (personal information, PI)
и конфиденциальной личной информации (sensitive personal information,
SPI), что, в свою очередь, может существенно уменьшить поверхность
атаки OSINT. Кроме того, если персональные данные были похищены
и информация стала общедоступной, это повлечет за собой огромные
штрафы для компаний, которые не обеспечили должную безопасность
собранных PI и SPI.
Еще одно важное положение GDPR – право на забвение. Это положение позволяет частным лицам ознакомиться с полным объемом
информации о себе, хранящимся у оператора данных, и затребовать
немедленное удаление своей PI или SPI.

Сбор данных от лица правоохранительных органов
Если вы работаете в правоохранительных органах (государственных,
муниципальных или иных) или имеете лицензию частного детектива, то наверняка обладаете более широкими возможностями собирать и использовать OSINT. Ознакомьтесь со всеми применимыми
законами или проконсультируйтесь с юристом, прежде чем применить свои особые полномочия в каких-либо операциях по сбору данных OSINT.
Например, Американский союз гражданских свобод (ACLU) опубликовал в 2012 году статью, предупреждающую о весьма скользкой
ситуации, связанной с использованием больших данных и других методов, включая OSINT, для выявления потенциальных преступников
до того, как они нарушат закон. ACLU обсудил практику получения
больших данных от правоохранительных органов, а затем использования этих данных, чтобы выдвинуть подозрения в совершении
правонарушений против людей, которые, возможно, не нарушали
закон, потому что предположения об этом возникли исключительно на основе компьютерных прогнозов. Джей Стэнли, автор статьи
ACLU, утверждает, что такой подход к анализу будут способствовать
бесконтрольному увеличению объема собираемой информации, по
уважительной причине или без нее. Это может привести к тому, что
люди попадут в поле зрения уголовного правосудия без соблюдения
надлежащей правовой процедуры – просто потому что «так сказали
данные».

Сбор данных в качестве частных лиц
Если вы заключили договор на проведение пентеста и мероприятий
социальной инженерии как частное лицо, это вовсе не освобождает
вас от необходимости соблюдать законы о сборе, защите и хранении
Этические соображения в социальной инженерии

37

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

Практический пример: этические ограничения
социальной инженерии
Следующий случай произошел, когда я был консультантом, помогающим группе пентестеров. Я должен был обзвонить по телефону
25 потенциальных целей и написать отчет о звонках. Компания не
предоставила мне повода для звонков. (Некоторым клиентам нравится предоставлять готовый сценарий звонка, хотя я предпочитаю создавать свой собственный, чтобы убедиться, что сотрудники не были
предварительно проинформированы о проверке.)
Я притворился, что провожу опрос организационной компетенции, который придумал, чтобы позволить себе задавать довольно
навязчивые вопросы жертвам под предлогом поручения от генерального директора. Организация предоставила мне список номеров, но
без указания имен и названий отделов. Поскольку слепой звонок по
номеру обычно не приводит к успеху, мне пришлось провести дополнительное исследование. Из предоставленных телефонных номеров
один оказался номером отделения полиции, а два других – номерами
местных судов. Я поговорил об этом со своим менеджером, и мы решили отказаться от них из осторожности.
Затем я подделал свой номер, чтобы он отражался как номер телефона компании Nielsen, которая обычно проводит опросы для других
организаций. Я утверждал, что провожу опрос, санкционированный
генеральным директором организации, чтобы узнать, что сотрудники знают о рабочем месте и других отделах организации. Был задан
ряд вопросов наподобие следующих.
1. Как долго вы работаете в этой организации?
2. Есть ли у вас доступ к беспроводному интернету? Если да, то каково имя сети или точки доступа (SSID)?
3. У вас есть рядом с рабочим местом торговые автоматы?
4. Какой у вас компьютер? Операционная система?
5. Антивирус какой марки вы используете?
6. Знаете ли вы, как зовут охранников на проходной?
7. Как звали вашу мать до того, как она вышла замуж?

38

Глава 2

8. Можете ли вы привести пример предыдущего или текущего пароля, который вы используете?
В качестве дополнительной меры безопасности я не записывал
звонки и проводил их в приватном месте. Через какое-то время несколько человек назвали мне девичью фамилию своей матери, но паролей еще никто не дал.
Затем я позвонил по официальному контактному номеру организации. Ответила приятная дама лет шестидесяти. Мы обменялись любезностями, и я объяснил суть исследования. Она согласилась помочь,
чем могла, но сказала мне, что не очень разбирается в технологиях.
«Я тоже, – сказал я, – ведь я немного подрабатываю опросами, пока
учусь в колледже ACME на факультете психологии». Мы рассмеялись,
и я начал опрос.
Я прошел по стандартному списку. Она ответила на первые шесть
вопросов, но, когда я спросил у нее имя ее матери до замужества, она
ответила, что я задаю вопрос о восстановлении пароля, ответ на который ей не следует никому говорить. Я согласился двигаться дальше,
сказав ей, что мне и самому не всегда нравились вопросы, которые
мне приходилось задавать. Я напомнил ей, что она всегда может отказаться отвечать на вопрос. Когда я спросил у нее пароль, которым
она часто пользовалась, она поколебалась, потом вздохнула и сказала
мне: «Пахта»1.
«Пахта?» – переспросил я.
Чтобы наладить с ней отношения, я поделился реальной историей
о том, как в детстве я любил есть раскрошенный кукурузный хлеб в
пахте, когда гостил у моего покойного дедушки.
Женщина разрыдалась. Когда я спросил, все ли с ней в порядке, она
ответила, что кукурузный хлеб с пахтой был любимым блюдом ее покойного мужа. Я сразу почувствовал себя подавленным. Она сказала
мне, что на предстоящий День благодарения как раз будет его день
рождения и что она потеряла его около трех лет назад из-за рака.
Что делать в подобных случаях? Я решил остаться в образе, но болтал с ней до тех пор, пока не убедился, что она успокоилась. Было бы
неэтично просто положить трубку и перейти к следующему звонку.
Мы вспомнили о наших покойных членах семьи, людях в ее районе,
обсудили погоду и другие традиционные темы светской беседы.
Прежде чем закончить разговор, я спросил ее, все ли с ней в порядке. Положив трубку, я поговорил с руководителем команды, рассказал
ему эту историю и сказал, что предпочел бы больше не звонить в этот
день. Он согласился, поэтому я переключился на другой проект, не
связанный со звонками.
Основные правила опроса таковы:
zz

1

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

Пахта – жидкий остаток после взбивания цельного молока в масло. – Прим. перев.

Этические соображения в социальной инженерии

39

ше. Если вы чувствуете себя уверенно, спросите позже еще раз,
но, если они снова скажут «нет», остановитесь. Сила не поможет
вашему делу;
zz задавая деликатные вопросы, убедитесь, что вы находитесь в тихом и безопасном месте, где вас никто не услышит. Избегайте
записи разговора, если задаете такие вопросы;
zz если вы заподозрили, что своими вопросами задели кого-то за
живое, найдите время, чтобы успокоить его, и либо перезвоните позже, либо прекратите общение, в зависимости от того, что
подходит для вашей кампании;
zz свяжитесь со своим руководством, если вы окажетесь в ситуации,
подобной моей. Они должны знать о происшествии на случай,
если впоследствии ваш собеседник свяжется с ними, но они также должны знать о вашем душевном равновесии и обо всем, что
может повлиять на вашу работу.

Вывод
Социальная инженерия и OSINT оказывают влияние на всех людей,
участвующих во взаимодействии, и даже за пределами рабочего мес­
та. В этом аспекте социальная инженерия отличается от обычного
тестирования на проникновение, которое по большей части позволяет жертвам «оставить работу на работе». Занимаясь социальной
инженерией, будьте осторожны и аккуратны, чтобы гарантировать,
что лицо, на которое направлено ваше воздействие, не подвергнется
психологическому стрессу или не получит иного вреда. Лучший способ сделать это – установить четкие границы, подобные тем, которые
описаны в этой главе, и потребовать внести их в контракт с клиентом.
В противном случае мой лучший совет практикам – доверять своему
чутью. Не стесняйтесь обращаться к юристу при работе с международными клиентами. Если то, что вы делаете с объектом социальной
инженерии, расстраивает вас, скорее всего, вам не следует этого делать.

40

Глава 2

ЧАСТЬ II
НАСТ УПАТЕЛЬНАЯ
СОЦИАЛЬНАЯ ИНЖЕНЕРИЯ

3

ПОДГОТОВКА К АТАКЕ
Люди поверят в самую возмутительную ложь,
какую только можно придумать, если вы будете
произносить ее с искренней убежденностью.
Марк Твен, письмо в газету Alta California,
Сан-Франциско, 1867 г.

Атака с применением социальной инженерии – это
один из самых впечатляющих вариантов пентестинга.
Но прежде чем вы приступите к атакам, нужно четко
усвоить процесс их выполнения на всех этапах. Если
вы этого не сделаете, могут возникнуть проблемы с законом или, что
еще хуже, вы можете нанести ущерб психическому здоровью объекта,
которого атакуете. Здесь в игру вступают наборы стандартных процедур, которые мы будем дальше называть фреймворками.
В этой главе вы познакомитесь с процессом взаимодействия с вашим клиентом для определения (и соблюдения) объема задания. Мы
также рассмотрим два важных процесса для выполнения OSINT и
социальной инженерии – фреймворк социальной инженерии и цикл
OSINT OODA (Observe-Orient-Decide-Act, наблюдение-ориентациярешение-действие) – и обсудим операционные системы, которые вы
можете использовать для этого.

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

Ознакомление с задачей
На этапе ознакомления с задачей вы должны плотно общаться с клиентом, чтобы точно определить, в чем будет заключаться ваше тес­
товое вторжение и как оно будет происходить. Этот этап включает
в себя выяснение того, кто будет вашим контактным лицом, а также
рассмот­рение сроков (например, количество часов, отведенных на
выполнение задания; время дня, недели или месяца, в течение которого будет проводиться тестирование, а также запретные периоды,
когда вы не можете проводить тестирование). Также следует обсудить юридичес­кие аспекты, убедившись, что в договоре есть формулировки, которые защитят от юридических проблем. Вот почему
разумно нанять адвоката. Вам нужны пункты договора, страхующие
вас в случае причинения случайного ущерба и других непредвиденных обстоя­тельств. Наконец, обсудите объем вашей атаки, например
количест­во звонков или писем по электронной почте.
Вы и ваш клиент должны задокументировать результаты этапа
определения объема работ в техническом задании (ТЗ) – части конт­
ракта, в которой четко указывается, что вы явно уполномочены и не
уполномочены делать в рамках задания. Убедитесь, что в ТЗ очерчены соответствующие правила ведения атакующих действий. В нем
должны быть подробно описаны любые запрещенные или рекомендованные предлоги, адреса электронной почты, исходящие или целевые IP-адреса и другие ограничения или требования, относящиеся к
заданию.
Кроме того, убедитесь, что в контракте и ТЗ вы упомянуты по имени.Лучше всего назвать поименно всех тестировщиков, занятых выполнением контракта, если это возможно, а также компанию, в которой вы работаете.
При определении масштаба задачи убедитесь, что ваше участие в
социальной инженерии соответствует определенным требованиям.
Помимо прочего, удостоверьтесь, что у вас есть надлежащее разрешение и юридическая защита для выполнения социальной инженерии и что лицо, подписывающее контракт, уполномочено давать вам
разрешение на такую деятельность. Если вы являетесь внутренним
сотрудником, выполняющим тестирование собственной компании,
Подготовка к атаке

43

получите письменное разрешение от руководства. Если вы занимаетесь тем, что выполняете заказы на тестирование других организаций, постарайтесь оформить специальную страховку от ошибок и
упущений (errors and omissions, E&O), чтобы защитить себя на законных основаниях. Страхование E&O, также называемое страхованием
профессиональной ответственности (professional liability insurance,
PLI), призвано защитить вас от необходимости выплачивать полную
стоимость по иску о халатности в гражданском суде (если вы про­
играете этот суд).
Этап ознакомления с задачей задает тон всему взаимодействию.
Неправильная оценка работы может доставить неприятности обеим
сторонам. Она может излишне усложнить взаимодействие, заставляя вас тратить больше времени на телефонные звонки в неподходящее время или выполнять работу ненадлежащим образом. Неверная оценка задачи также может нанести ущерб вашей репутации как
специалиста, если компания, где вы работаете, сочтет вас непрофессионалом. Рабочая таблица в приложении 1 поможет задать правильные вопросы, чтобы убедиться, что у вас есть вся необходимая информация.

Определение целей
После подписания контракта и создания ТЗ еще раз обсудите с вашим
клиентом цели предстоящего тестирования. Будет ли результат тестирования использован как обоснование для внедрения новых средств
защиты бизнеса, продуктов и технологий? Будет ли он использоваться для оценки потребностей в человеческом капитале? Может быть,
тест нужен просто для проверки соблюдения внутренних правил компании? Или клиент будет использовать его для оценки работы службы безопасности (например, как часть оценки производительности
или для решения о повышении)? Ответы на эти вопросы не должны
влиять на то, насколько хорошо вы выполняете свою работу, но они
должны помочь вам понять, чего ожидать и как строить свои коммуникации.

Определение методов
Методы, которые вы используете, имеют решающее значение для
вашего участия. Будете ли вы использовать доменное имя с опечаткой, очень похожее на доменное имя клиента (особенно эффективная
стратегия, если правильное написание допускает опечатку), или купите доступный домен с тем же именем и другим доменом верхнего
уровня (например, nostarch.us вместо законного nostarch.com)? Станете ли вы прикидываться поставщиком, клиентом или партнером?
Использовать загрузку вредоносных документов или просто собирать
учетные данные? Будете ли вы использовать вишинг и фишинг вместе? Хочет ли клиент, чтобы вы использовали автоматизированное
решение, или вы должны отдать предпочтение ручному труду, как мы
обсудим в главе 7?

44

Глава 3

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

Разработка удачных предлогов
При разработке предлогов для взаимодействия попытайтесь найти
события в окружении вашей жертвы, которые можно было бы использовать против нее. Можете заявить, что работаете в организации,
предоставляющей компании-жертве услуги облачного хранилища
или сервера электронной почты, и запросить дополнительную информацию в связи с «инцидентом безопасности». Чтобы собрать дополнительные данные OSINT, можно заглянуть на страницы и группы
в местных социальных сетях.
Если у вас есть достаточно времени, купите несколько экземпляров
местных газет. Если вы находитесь достаточно близко, прогуляйтесь
по городу и поищите любые листовки или плакаты, объявляющие о
подходящих событиях. Есть ли общий интерес или цель среди целей?
Возможно, кто-нибудь из сотрудников любит пешие прогулки, бег,
гонки с препятствиями или посещает рок-фестивали на открытом
воздухе? Есть ли в организации команда по боулингу или софтболу?
Если да, то в каких они лигах и где играют? Против кого они играют?
Упомянутые здесь соображения превратят вашу фишинговую атаку из случайной в целенаправленную, что многократно повысит ее
шансы на успех. Если вы потратите время на то, чтобы лучше изучить
жертву и ее окружение, это значительно облегчит вашу работу, но
нужно обязательно поделиться полученной информацией и советами в своем отчете, а также при обучении персонала, которое вас могут
попросить провести по итогам тестирования.
На основе собранной информации разработайте свои сценарии
и предлоги. Покажите клиенту от трех до пяти лучших вариантов, и
пусть он сам выберет, какой из них лучше использовать. Если возможно, подтвердите временные рамки, в течение которых будет выполняться ваша атака, но не точное время. Это держит ваших клиентов в
напряжении и дает вам элемент неожиданности.
Хотя ни один клиент не должен информировать сотрудников о сценариях, которые вы выбираете, я столкнулся с тем, что это происходит довольно часто. Например, в одном из моих контрактов клиент
ограничил возможные предлоги и сценарии, а затем прописал точное
время, когда я мог отправлять фишинговые письма и совершать виПодготовка к атаке

45

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

Использование специализированных ОС
для социальной инженерии
Профессионалы в области социальной инженерии и сборщики OSINT
отличаются тем, что используют в своей работе правильные инструменты. Kali – широко известный дистрибутив Linux, предназначенный для тестирования на проникновение и созданный и поддерживаемый Offensive Security, – поставляется с такими инструментами,
как Social-Engineer Toolkit (SET), theHarvester, Ghost Phisher, Maltego
и Recon-ng. Мы обсудим эти инструменты более подробно в следующих главах. ОС Kali и инструменты, с которыми она поставляется,
наиболее эффективны при использовании в рамках теста на проникновение или взаимодействия, включающего общую социальную инженерию без экстремального сбора данных OSINT, хотя с помощью
Kali также можно проводить расширенный сбор OSINT.
Кроме того, канадская некоммерческая организация Trace Labs создала и активно поддерживает форк Kali Linux (с благословения и при
содействии Offensive Security), который предназначен для помощи
в расследованиях OSINT, в частности, в соревнованиях Search Party
с использованием OSINT для поиска людей, пропавших без вести.
Предварительно настроенная виртуальная машина (ВМ) Trace Labs
имеет множество инструментов для OSINT-расследований, ориентированных как на бизнес, так и на людей. Она доступна для бесплатного скачивания по адресу https://www.tracelabs.org/trace-labs-osint-vm/.
Использование менее распространенной операционной системы
и конфигурации также имеет свои преимущества. В частности, это
позволяет настроить среду в соответствии с вашими предпочтениями и уровнем комфорта. Если я занимаюсь изучением жертвы,
способной обнаружить меня, я не хочу использовать свою домашнюю или рабочую сеть даже через VPN, который может быть скомпрометирован. Вместо этого, в дополнение к версиям Kali Offensive
Security и Trace Labs, я использую систему Ubuntu, работающую на
экземпляре облачного виртуального частного сервера (VPS), где я
установил настроенный набор инструментов, включая SpiderFoot,

46

Глава 3

Recon-ng, Metasploit, Metagoofil, theHarvester и некоторые менее известные скрипты и утилиты, которые я модифицировал. VPS имеет
свой собственный независимый IP-адрес, и я могу запускать новые
его экземпляры с новыми IP-адресами, чтобы избежать обнаружения. (Я сделал и заархивировал образ системы Ubuntu, поэтому могу
создавать новые копии так часто, как мне нужно.) Также могу повысить безопасность VPS путем его защиты – удаления ненужных
служб или приложений, закрытия неиспользуемых портов и применения безопасной конфигурации к системе – и использования одного или нескольких VPN. Мы рассмотрим настройку инфраструктуры
для фишинга в главе 7.
Отдельные инструменты работают и в Windows. Некоторые из них
представляют собой веб-инструменты (например, Netcraft, Hacker
Target и OSINT Framework), к которым вы в основном обращаетесь
из веб-браузера. Делать это с Mac или ПК может быть удобнее, чем
с Linux. Тем не менее имейте в виду, что у вас больше шансов быть
пойманными, если вы используете свою личную или даже рабочую систему для проведения этих операций. Пока есть надлежащее
разрешение на такие действия, наихудшими сценариями являются
(а) блокировка и (б) добавление вашего IP-адреса в ленту информации об угрозах (краудсорсинговый список вредоносных объектов
или характеристик, таких как адрес электронной почты, IP-адрес,
хеш файла или домен), что означает, что ваши потенциальные клиенты или жертвы могут быть предупреждены о том, что используемый вами IP-адрес считается «вредоносным». Использование VPS
для атаки позволяет использовать установку только один раз, а затем уничтожить ее1.

Последовательные фазы атаки
Все этичные хакеры обычно следуют определенной последовательности фаз атаки, гарантирующей, что будет собрана и использована вся
необходимая информация. Эта последовательность обычно состоит
из следующих этапов: разведки, сканирования и перечисления, получения доступа, поддержания доступа, удаления следов и составления
отчета. Подробнее об этих этапах можно прочитать на странице https://
www.cybrary.it/blog/2015/05/summarizing-the-five-phases-of-penetration-testing/. Однако, когда дело доходит до социальной инженерии, имеет смысл
определить несколько иной процесс атаки. На рис. 3.1 схематически
изображен процесс тестирования на проникновение, адаптированный для социальной инженерии.

1

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

Подготовка к атаке

47

Подготовка
Reporting
отчета

Scoping

Обзор

Measurement
Измерение

Reconnaissance
Разведка

Обнаружение
Detection

Design and
Проектирование
approval
и согласование

Реализация
Implementation

Рис. 3.1. Последовательность этапов социальной инженерии

Каждый этап в этом процессе выглядит следующим образом.
Обзор
Это этап определения объема задачи социальной инженерии, на
котором вы задаете вопросы своему клиенту, чтобы убедиться,
что у вас есть вся необходимая информация.
Разведка
На этапе разведки вы пытаетесь выявить ключевых сотрудников
компании; продавцов, партнеров, поставщиков, используемые
технологии; используемые домены и поддомены; адреса элект­
ронной почты и стандартный синтаксис адресов электронной
почты компании (например, имя и фамилия, разделенные точкой). После того как подписан контракт на выполнение задания,
вы можете начать разведку в сроки, указанные в контракте. При
условии соблюдения контракта и проведения разведки в соответствии с вашими временными рамками (например, не тратить
12 ч на сбор OSINT по одной цели в атаке, рассчитанной на 4 ч),
никакой объем OSINT не будет излишним. Тем не менее вы можете столкнуться с тем, что некоторые организации поддерживают надлежащую безопасность операционной деятельности (operations security, OpSec): они не используют социальные сети или
даже предпринимают активные действия по преднамеренному
размещению вводящей в заблуждение или ложной информации
в своих учетных записях, чтобы избежать таких угроз. Мы называем этот процесс активной дезинформацией.
В главах 4, 5 и 6 я расскажу вам о некоторых инструментах для
сбора данных OSINT. Имейте в виду, что, хотя важно собрать достаточное количество информации о вашей целевой компании

48

Глава 3

и ее сотрудниках, вы несете ответственность за защиту данных,
пока они у вас есть. Следует хранить только то, что вам нужно, не
дольше, чем это вам нужно, и только в установленные законом
периоды времени.
Проектирование и согласование
Нужно потратить некоторое время на то, чтобы убедиться, что
собранная вами информация OSINT актуальна, а затем использовать ее таким образом, чтобы помочь сотрудникам организации-жертвы расти и учиться. В конце концов, даже если вы пытаетесь получить доступ к системе или информации, в идеальном
случае вас должны поймать, а вы – стремиться к тому, чтобы клиенты учились на ваших действиях.
Этап проектирования и согласования включает в себя придумывание возможных предлогов для установления контакта, которые должен рассмотреть и утвердить ваш клиент. Поделитесь с
ним подробностями предлога, номерами телефонов, с которых
вы будете звонить, адресами электронной почты, откуда будете
отправлять электронные письма, и интервалом времени, в пределах которого вы планируете начать и закончить тестирование.
Также объясните свою цель. Например, это может быть подсчет
количества переходов по ссылкам в электронном письме. Или,
может быть, вы попытаетесь получить от работников компании
конфиденциальную информацию или развернуть вредоносное
ПО или дропперы удаленной оболочки (программное обеспечение, которое позволяет вам удаленно подключаться и устанавливать вредоносное ПО).
Реализация
На этапе реализации вы устанавливаете и настраиваете нужное
программное обеспечение. Оно включает в себя инфраструктуру, такую как учетные записи электронной почты, веб-серверы,
документы Microsoft Office с поддержкой макросов, вредоносное ПО, USB-накопители и другие приманки. Вы также можете
получить доступ к мусорным бакам организации и собирать документы, чтобы вывезти их за пределы площадки для дальнейшего анализа. Вы будете использовать предлоги, одобренные
вашим контактным лицом со стороны заказчика, и претворять
их в жизнь, выполняя фишинговые, вишинговые и другие атаки,
указанные в ТЗ.
Обнаружение
На этапе обнаружения защитники попытаются обнаружить ваши
действия, а затем примут меры, чтобы снизить их эффективность или влияние. В зависимости от масштаба атаки защитники
могут знать или не знать, что атака была санкционирована.
Если это часть работы красной команды, они, скорее всего, не будут знать заранее. Хотя эта фаза кажется менее захватывающей,
Подготовка к атаке

49

чем сама атака, это самая важная часть процесса. Помните, что
ваша конечная цель – в том, чтобы научить организации выявлять и смягчать атаки, основанные на социальной инженерии.
Измерение
На этапе измерения вы собираете такую информацию, как коли­
чество людей, ставших жертвами ваших ухищрений, сколько
времени потребовалось для обнаружения атаки, когда жертвы
сообщили об этом, сколько было таких сообщений и множество
других показателей. После того как вы собрали и проанализировали эту информацию, нужно скомпилировать ее в отчете для
клиента. Мы обсудим методы измерения в главе 9.
Составление отчета
На этапе отчетности вы берете собранные вами метрики и объединяете их вместе с ТЗ, кратким изложением идеи и плана
атаки, кратким изложением того, как прошло взаимодействие,
и любыми выводами, полученными в результате сбора данных
OSINT или выполнения задания. Для написания отчета можете
использовать шаблон, подобный приведенному в приложении 2.
Представьте этот отчет клиенту на проверку. Если вы решите сохранить копию отчета, необходимо защитить документ, так как
содержащаяся в нем информация потенциально может быть использована для атаки на клиента.
В дополнение к этому процессу социальной инженерии вам может
быть полезно обратиться к циклу наблюдения-ориентации-реше­
ния-действия (НОРД)1 для сбора данных OSINT, который я использую. Цикл, показанный на рис. 3.2, предлагает вам наблюдать за своими выводами и строить гипотезу (фаза ориентации), а затем искать
дополнительную информацию, чтобы попытаться подтвердить уже
имеющуюся.
Когда у вас будет достаточно данных, вы сможете решить, что с ними
делать. Следует ли заниматься фишингом или вишингом или вам нужно больше информации, чтобы добиться успеха? Достаточно ли у вас
информации, чтобы провести заказанный тест на проникновение или
бой красной команды с должной степенью скрытности? Затем, в зависимости от результатов этих решений, вы переходите к действиям.
Действия могут включать в себя выполнение атаки или написание
отчета (если OSINT – это все, чего хочет клиент) или могут инициировать дополнительные итерации цикла НОРД. Здесь нет правильного
либо неправильного ответа; это зависит от ваших целей и временных
ограничений, изложенных в вашем соглашении с клиентом.
Тем не менее можете применить этот цикл к любой атаке, будь то
проникновение на веб-сервер или получение полномочий админист­
ратора сети.
1

50

Глава 3

Также известен как цикл Бойда. – Прим. перев.

Act
Действие

Decide
Наблюдение

Observe
Наблюдение

Orient
Ориентация

Рис. 3.2. Цикл НОРД

Практический пример: почему изучение задачи
имеет значение
В сентябре 2019 года пара пентестеров, работающих на компанию
Coalfire, была арестована за попытку проникнуть в здание суда округа Даллас в Аделе, штат Айова. Хотя конкретные подробности об
этом инциденте в настоящее время недоступны, мы знаем, что они
дейст­вовали в рамках теста на проникновение, санкционированного
Судебной администрацией штата Айова (SCA). В заявлении для Ars
Technica SCA признает, что уполномочила Coalfire проверить безопас­
ность электронных записей суда.
Согласно их заявлению SCA не просила и не ожидала, что тестировщики попытаются физически проникнуть в здание суда. Тестеры
и Coalfire утверждают, что тест на проникновение должен был определить уязвимость записей и оценить реакцию правоохранительных
органов. Хотя этот подход не лишен здравого смысла, тот факт, что
тестировщики провели в тюрьме несколько часов и должны были
внести залог, говорит об отсутствии должного понимания на этапе
знакомства с задачей.
Основываясь на предоставленной информации, пентестеры могли
бы действовать иначе. Рекомендую чаще общаться с сотрудниками
службы безопасности вашего клиента. Если у вас есть вопросы, не
стесняйтесь их задавать. Кроме того, тестировщики должны убедиться, что у них при себе есть нотариально заверенная копия официального разрешения, когда они занимаются физическим проникновением в здание.
Подготовка к атаке

51

Как можно смягчить или предотвратить негативные последствия:
задавайте больше вопросов, чтобы прояснить область своих полномочий;
zz поддерживайте рабочий диалог с вашим контактным лицом по
электронной почте. Устное общение помогает быстрее добиться
цели, но плохо подходит для правовой защиты;
zz руководство заказчика должно четко указать не только то, что
разрешено, но и то, что запрещено, в контракте и разрешительных документах. Это должно быть частью процесса подготовки
контракта.
zz

Вывод
Если вы потратите время на то, чтобы правильно определить масштаб
и способы взаимодействия с вашим клиентом, это сэкономит вам
обоим очень много времени и усилий. Безусловно, здесь вам поможет
умение задавать правильные вопросы. Некоторые специалисты по
социальной инженерии утверждают, что их работа – сеять хаос в компании. Хотя в каком-то смысле это верно, у вас обязательно должен
быть продуманный план для этого безумия, чтобы гарантировать, что
в конечном итоге все участники только выиграют. Вы получите оплату за проделанную работу и продолжите укреплять свою репутацию, в
то время как клиент получит то, что он заказал и за что заплатил. Это
повысит безопасность его организации и, надеюсь, будет означать
повторение сделки для вас.

52

Глава 3

4

БИЗНЕС- РАЗВЕДКА
ПО ОТКРЫТЫМ ИСТОЧНИКАМ

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

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

Практический пример: почему OSINT имеет
значение
В 2017 году я стал победителем конкурса DerbyCon’s Social Engineering
Capture the Flag (SECTF). В этом упражнении я и пять других конкурсантов противостояли ничего не подозревающей компании из списка
Fortune 500 в Луисвилле, штат Кентукки. Мы потратили три недели
на сбор OSINT, а затем провели 20 мин в звуконепроницаемой кабине, чтобы пообщаться с сотрудниками целевой компании. Исследуя
свою целевую компанию, я проверил записи одного из руководителей в социальных сетях и узнал, что он опоздал на деловую встречу в
Амс­тердаме, потому что авиакомпания задержала его рейс в Ньюарке. Эта, казалось бы, безобидная информация дала мне прекрасный
повод связаться с ним.
Зная это, я добавил номер телефона этой авиакомпании в свой список номеров для вишинга. Затем узнал имя руководителя компа­ниижертвы, адрес электронной почты и номер телефона и добавил их в
свой список целей для атаки. Если бы у меня на руках был контракт
с этой фирмой, позволяющий фишинг, я бы отправил электронное
письмо с извинениями, которое имитировало бы шаблон авиакомпании, а затем позвонил бы, представившись сотрудником авиакомпании. Тогда я мог бы подтвердить уже известную мне информацию и
задать «контрольные вопросы», чтобы убедить жертву в том, что я являюсь надежным источником. Я мог бы даже включить несколько звуков операционной системы Windows, чтобы усилить доверие к себе.
Наконец, задал бы ему потенциально опасные вопросы об операционной среде компании, такие как статус обновления оборудования,
рабочий график или другие конфиденциальные данные компании.
Эта атака была бы невозможна, если бы я сначала не нашел сообщение руководителя о задержке рейса. Редкая эффективная атака с
использованием социальной инженерии происходит без информационной разведки цели. Чем лучше OSINT, тем лучше социальная инженерия.

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

54

Глава 4

охотясь за информацией, такой как его симпатии и антипатии, личные связи, вопросы для сброса пароля и контекст для подбора паролей. В качестве альтернативы можем использовать человека, чтобы
узнать о бизнесе, в котором он работает. Этот тип OSINT включает
фотографии человека на работе, резюме, жалобы или хвастовство в
отношении работы и поездки, которые люди совершили по работе, и
это лишь небольшая часть потенциально полезной информации.
ПРИМЕЧАНИЕ
Как правило, я не использую напрямую личные аккаунты человека в рамках атаки на организацию. Я могу собирать информацию для последующего использования, но не буду пытаться связаться
с ним через личную учетную запись в социальных сетях и мессенджерах.

OSINT можно использовать в целях аналитики киберугроз (cyber
threat intelligence, CTI), которая обычно включает в себя часть кода
или конкретного противника. Мы используем OSINT как средство для
идентификации виновного в нападении и его мотивов. Например, вы
можете отслеживать элементы кода, чтобы определить его автора или
страну. Или отследить адрес электронной почты или номер телефона,
с которого обращались в вашу организацию. Люди спорят об эффективности OSINT для анализа угроз. Некоторые организации делают
это очень хорошо, в то время как другие пытаются быстро заработать
за счет своих клиентов.

Сбор данных OSINT об организации
Этот раздел поможет вам начать собирать данные OSINT об организациях. Какой контекст вы можете использовать для установления
взаимопонимания при общении с сотрудниками компании? Здесь я
расскажу о некоторых инструментах сбора данных OSINT.

Получение базовой бизнес-информации из Crunchbase
Различные сайты-агрегаторы могут предоставить вам подборку сведений о компании. В то время как большинство из них взимает плату
за подробную информацию, некоторые позволяют получить ограниченный объем информации бесплатно или без аутентификации. Примером такого сайта в США является Crunchbase (https://www.crunchbase.
com/). В других странах есть аналогичные сервисы, все они устроены
приблизительно одинаково и предоставляют схожую информацию.
Вы можете найти подходящие сервисы при помощи поисковой системы.
У Crunchbase есть бесплатный уровень, который удовлетворяет
большинство потребностей обычных энтузиастов OSINT. Если вы
планируете использовать его активно или в качестве профессионального консультанта, я рекомендую заплатить за уровень Pro. Поиск в
Crunchbase для Walmart открывает профиль с несколькими вкладками. На рис. 4.1 показана вкладка Summary (Сводка), которая позволяБизнес-разведка по открытым источникам

55

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

Рис. 4.1. Страница сайта Crunchbase c профилем Walmart

На вкладке Financials (Финансы) представлена конкретная информация об инвестициях и сборе средств (рис. 4.2).

Рис. 4.2. Информация об акциях Walmart на вкладке Crunchbase Financials

56

Глава 4

Если акции компании торгуются на фондовой бирже, вы найдете
информацию о первичном публичном предложении (IPO) и цене акций. Если вы исследуете закрытую частную компанию, то почти ничего не увидите в этом разделе или, возможно, узнаете об усилиях
по сбору средств, включая привлеченные суммы, инвесторов и даты.
Если компания инвестировала деньги или сделала пожертвования,
это будет указано далее (рис. 4.3), за чем следуют Exits (Выходы из
доли в собственности) и завершенные сделки Acquisitions (Приобретения), рис. 4.4.

Рис. 4.3. Инвестиционная информация Walmart на вкладке Crunchbase Financials

Рис. 4.4. Информация о приобретении Walmart на вкладке Crunchbase Financials
Бизнес-разведка по открытым источникам

57

Далее идет вкладка People (Люди), на которой перечислены важные сотрудники. Обычно это руководители, курирующие определенные ключевые области, или люди, оказавшие влияние на историю
организации. Например, на рис. 4.5 Сэм Уолтон, основатель Walmart,
указан как «основатель и руководитель» текущей команды и член совета директоров, несмотря на то, что он скончался в 1992 году.

Рис. 4.5. Вкладка People профиля Walmart

Содержимое вкладки Technology (Технологии) в основном скрыто,
если у вас нет учетной записи уровня Pro. Если она есть, на этой вкладке будет отображаться статистика веб-трафика, показатели мобильных приложений и ограниченная информация о патентах компании
и других заявках на интеллектуальную собственность. Эту информацию можно найти в других местах в интернете, поэтому блокировка не такая уж большая проблема. Попробуйте поискать на BuiltWith
(https://www.builtwith.com/), Wappalyzer (https://www.wappalyzer.com/) или Shodan
(https://www.shodan.io/).
На последней вкладке Signals & News (Важные события и новости)
собраны актуальные новости и изменения в руководстве (рис. 4.6).
На этой вкладке также перечислены события, к которым организация имеет какое-то отношение, либо спонсируя их, либо выступая на них в лице своих сотрудников. Это хорошая отправная точка,
но не замена другим источникам информации, включая публичные
документы, пресс-релизы и сообщения средств массовой информации. (Мы обсудим эти источники в следующих нескольких главах.)
Эта вкладка также может послужить источником идей для поисковых запросов, которые вы можете ввести в выбранной вами поисковой системе.

58

Глава 4

Рис. 4.6. Вкладка Signals & News профиля Walmart

Идентификация владельцев веб-сайтов
с помощью WHOIS
Название сервиса WHOIS произошло от who is – «кто есть кто» – и
представляет собой каталог веб-сайтов, их сетевых адресов, владельцев и их контактных данных. Его назначение – помочь людям, имеющим законную деловую потребность, связываться с веб-командами
компаний по поводу присутствия в интернете.
Вы можете выполнять поиск в WHOIS с помощью DomainTools, как
показано на рис. 4.7. Команда whois встроена как в версии Offensive
Security, так и в версии Trace Labs Kali, и ее можно добавить в любую
систему Linux с помощью apt-get или аналогичных команд для других
дистрибутивов Linux.
В верхней части страницы показаны домены, похожие на домен
жертвы и выставленные на продажу. Они могут пригодиться для самозахвата домена и дальнейших попыток фишинга. Спуфинг (подмену
адреса) легко обнаружить, и большинство почтовых клиентов имеет
защиту от него, что ослабляет ваш потенциал как социального инженера. Приобретение легальных доменов, похожих на домен жертвы,
с большей вероятностью приведет к тому, что электронные письма
будут проходить через фильтры и попадать в почтовые ящики.
Обратите внимание, что в данном случае перенос домена запрещен, а это означает, что вы, скорее всего, не сможете передать этот
домен другому провайдеру, что часто предпринимают красные
коман­ды. Также обратите внимание на возраст домена. Это помогает
удостовериться, что вы выбрали правильную цель. Кроме того, эта же
функция может выявить, что используемые вами домены являются
Бизнес-разведка по открытым источникам

59

поддельными. Вот почему рекомендуется покупать домены и ждать
от шести месяцев до года, прежде чем использовать их.
Далее идут серверы доменных имен, которые использует сайт.
Иногда они могут указывать на программное обеспечение и сервисы,
используемые компанией. Например, Walmart использует Akamai и
UltraDNS. Akamai также предоставляет услуги сети доставки контента
(content distribution network, CDN) (чтобы обеспечить более быструю
загрузку страниц и смягчение атак DOS) и выполняет веб-защиту
и балансировку нагрузки (дальнейшее смягчение DOS). Это важно
знать, если вы готовитесь к тесту на проникновение.
Имейте в виду, что с 25 мая 2018 года Общий регламент ЕС по защите
данных (GDPR) изменил способ обработки WHOIS в его юрисдикции.
Это побудило Интернет-корпорацию по присвоению имен и номеров
(ICANN), руководящий орган WHOIS, изменить состав информации,
представляемой о компаниях и контактных лицах, расположенных
в ЕС.

Рис. 4.7. Запись WHOIS Walmart, полученная через DomainTools

Сбор OSINT из командной строки с помощью Recon-ng
Recon-ng – это инструмент командной строки для Linux, специально
написанный Тимом Томсом для сбора данных OSINT. Он во многом
похож на Metasploit: вы можете ввести информацию, назначить цели,
а затем использовать команду run для выполнения поиска.
В Recon-ng встроено множество инструментов для сбора OSINT как
о бизнесе, так и о людях, начиная от хакерских электронных писем из
Have I Been Pwned (обсуждается в главе 6) и записей DNS до хостов или
портов из Shodan (обсуждается в главе 5). Вы можете найти большинство вещей, которые хотите узнать о компании, используя Recon-ng.

60

Глава 4

Установка Recon-ng
Recon-ng предустановлен как в версиях Offensive Security, так и в
версиях Trace Labs Kali. Чтобы использовать Recon-ng в другой системе Linux, вам понадобится Python 3, инструмент управления пакетами pip3 и Git. Затем можете установить его в каталог /opt с помо­щью
следующих команд:
root@se-book:/opt# git clone https://github.com/lanmaster53/recon-ng
Cloning into 'recon-ng'...
---snip-Resolving deltas: 100% (4824/4824), done.
root@se-book:/opt# cd recon-ng/
root@se-book:/opt/recon-ng# ls -la
--snip--rw-r--r-- 1 root root 97 Sep 25 18:37 REQUIREMENTS
--snip--rwxr-xr-x 1 root root 2498 Sep 25 18:37 recon-ng
-rwxr-xr-x 1 root root 97 Sep 25 18:37 recon-web
root@se-book:/opt/recon-ng# python3 -m pip install -r REQUIREMENTS
Requirement already satisfied: pyyaml in /usr/lib/python3/dist-packages (from -r
REQUIREMENTS (line 2))
Collecting dnspython (from -r REQUIREMENTS (line 3))
Downloading https://files.pythonhosted.org/packages/ec/d3/3aa0e7213ef72b8585747
aa0e271a9523e713813b9a20177ebe1e939deb0/dnspython-1.16.0-py2.py3-none-any.whl (188kB)
100% |████████████████████████████████| 194kB 5.6MB/s

Настройка рабочего пространства
Recon-ng позволяет вам определять отдельные рабочие области,
которые отлично подходят для сегментации собранной информации.
Вы можете определить рабочую область при открытии Recon-ng и
хранить собранные данные в собственной уникальной базе данных
SQLite. Если я ищу различные организации или компании в рамках
одного и того же контракта, я выделю им отдельные рабочие пространства, чтобы не запутаться при просмотре собранной информации. Если вы не определите рабочую область, Recon-ng запишет все
результаты в рабочую область по умолчанию и связанную базу данных.
Чтобы использовать рабочую область при запуске Recon-ng, выполните команду:
recon-ng -w имя_рабочей_области

Например, если бы я исследовал Walmart, я мог бы ввести команду:
recon-ng -w Walmart

В результате рабочее пространство будет выглядеть так:
Бизнес-разведка по открытым источникам

61

[recon-ng] [walmart]

Если вы уже находитесь в Recon-ng, можете просмотреть доступные рабочие области, введя команду workspace list.
ПРИМЕЧАНИЕ
Вы не можете сделать это, когда модуль загружен,
поэтому в данной ситуации потребуется выполнить команду back.

Если хотите загрузить существующую рабочую область, введите
следующую команду:
workspace load имя_рабочей_области

Вы также можете создать рабочее пространство, используя команду:
workspace create имя_рабочей_области

После того как вам больше не нужна какая-либо информация в рабочей области, для соблюдения требований к хранению информации
можете удалить ее:
workspace remove имя_рабочей_области

Установка модулей Recon-ng
Далее, вам нужно включить и установить модули. Давайте посмотрим, какие модули доступны с помощью команды marketplace search:
[recon-ng][walmart] > marketplace search
+----------------------------------------------------------------------------------- ------+
|.
Path
| Version | Status
| Updated
|D|K|
+--------------------------------------------------------------------------------------- --+
| discovery/info_disclosure/cache_snoop
| 1.0
| not installed | 2019-06-24 | | |
| discovery/info_disclosure/interesting_files | 1.0
| not installed | 2019-06-24 | | |
| exploitation/injection/command_injector
| 1.0
| not installed | 2019-06-24 | | |
| exploitation/injection/xpath_bruter
| 1.1
| not installed | 2019-08-19 | | |
| import/csv_file
| 1.1
| not installed | 2019-08-09 | | |
| import/list
| 1.0
| not installed | 2019-06-24 | | |

Установить модули можно двумя способами: по одному или все
сразу. Чтобы установить один модуль, введите следующую команду,
заменив import/csv_file полным путем к модулю:
[recon-ng][walmart] > marketplace install import/csv_file
[*] Module installed: import/csv_file
[*] Reloading modules...

62

Глава 4

Чтобы установить все доступные модули, используйте следующую
команду:
[recon-ng][walmart] > marketplace install all
[*] Module installed: discovery/info_disclosure/cache_snoop
[*] Module installed: discovery/info_disclosure/interesting_files
[*] Module installed: exploitation/injection/command_injector
--snip-[*] Module installed: reporting/xml
[*] Reloading modules...
[!] 'google_api' key not set. pushpin module will likely fail at runtime.
See 'keys add'.
[!] 'bing_api' key not set. bing_linkedin_cache module will likely fail at runtime.
See 'keys add'.
[!] 'censysio_id' key not set. censysio module will likely fail at runtime. See
'keys add'.
ПРИМЕЧАНИЕ
Игнорируйте предупреждения об отсутствии ключей API. Мы будем импортировать ключи API только для тех модулей,
которые нам нужны.

Получение и добавление ключей API
Чтобы некоторые инструменты могли получить доступ к внешним
ресурсам, вам необходимо добавить ключи API с разных веб-сайтов.
У каждого веб-сайта есть собственный процесс получения этих ключей, и эти процедуры часто меняются. Вы можете найти мое актуальное руководство по получению этих ключей API по адресу https://www.
theosintion.com/practical-social-engineering/ или проверить страницы ключей
API на веб-сайтах для каждого инструмента по отдельности.
Получив ключи, используйте следующий синтаксис в Recon-ng,
чтобы добавить их:
keys add имя_модуля значение_ключа

Убедитесь, что Recon-ng имеет ключ в базе данных с помощью следующей команды:
keys list

Поиск и запуск модулей Recon-ng
Существует пять типов модулей Recon-ng: обнаружение, эксплуатация, импорт, разведка и создание отчетов. В этой книге мы будем
использовать модули обнаружения, разведки и отчетности.
Чтобы увидеть модули, относящиеся к определенному типу, используйте команду поиска, за которой следует имя типа, например:
modules search discovery
Бизнес-разведка по открытым источникам

63

Если вы знаете часть имени модуля, можете использовать функцию

search, чтобы найти его, например:
modules search hibp

Вы также можете вызвать модуль напрямую с помощью команды
загрузки модулей modules load, если знаете либо имя модуля, либо начало имени модуля:
modules load metacr

Эта команда загрузит модуль metacrawler. Теперь давайте рассмотрим некоторые из этих модулей более подробно.
Чтобы задать цель для модуля, вам нужно знать, какие входные
данные модуль принимает. Выясните это, введя команду info. Когда
будете готовы ввести цель или значение в одно из допустимых полей,
введите команду options set имя_поля значение_поля.

Перечисление файлов с помощью Metacrawler
Модуль metacrawler ищет на целевом сайте или сайтах файлы
Microsoft PowerPoint, Word, Excel и PDF. Это равносильно длинному
поисковому запросу Google Dork, допустим, такому:
site:nostarch.com Filetype:XLS* OR Filetype:DOC* OR Filetype:PPT* or Filetype:PDF

Например, чтобы найти все типы файлов на сайте nostarch.com, используйте следующие команды:
[recon-ng][default][metacrawler] > options set SOURCE nostarch.com
SOURCE => nostarch.com
[recon-ng][default][metacrawler] > run
-----------NOSTARCH.COM
-----------[*] Searching Google for: site:nostarch.com filetype:pdf OR filetype:docx OR
filetype:xlsx OR filetype:pptx OR filetype:doc OR filetype:xls OR
filetype:ppt
[*] https://www.nostarch.com/download/WGC_Chapter_3.pdf
[*] Producer: Acrobat Distiller 6.0 (Windows)
[*] Title: Write Great Code
[*] Author: (c) 2004 Randall Hyde
[*] Creator: PScript5.dll Version 5.2
[*] Moddate: D:20041006112107-07'00'
[*] Creationdate: D:20041006111512-07'00'
[*] https://www.nostarch.com/download/wcss_38.pdf
[*] Producer: Acrobat Distiller 5.0 (Windows)
[*] Title: wcss_book03.book
[*] Author: Riley

64

Глава 4

[*] Creator: PScript5.dll Version 5.2
[*] Moddate: D:20040206172946-08’00’
[*] Creationdate: D:20040116180100Z

Если для параметра Extract (Извлечь) установлено значение True
(Истина), эта команда выводит все документы, доступные на общедоступном веб-сайте цели в форматах PDF или Microsoft Office (Excel,
Word или PowerPoint) со ссылкой на файл и его метаданные, включая
автора, дату модификации, программное обеспечение, с помощью
которого документ был создан, и дату создания. Если для Extract задано значение False, вывод содержит только имя файла и ссылку.
Имея эту информацию, вы можете делать множество вещей: из
мета­данных – извлечь имена пользователей, название операционные
системы и используемое программное обеспечение; из самих файлов – найти информацию, которую цель намеревалась сохранить в
тайне, включая имена, адреса электронной почты, номера телефонов
и факсов, местонахождение и важные деловые вопросы.

Поиск контактных данных домена с помощью whois_pocs
Модуль whois_pocs перечисляет все известные контакты для указанного домена. Он более надежен для этой функции, чем модуль whois_
miner, и работает даже против целей с включенной конфиденциальнос­
тью домена. Вот пример запуска этого модуля против Walmart:
[recon-ng][default][whois_pocs] > modules load whois_pocs
[recon-ng][default][whois_pocs] > options set SOURCE walmart.com
SOURCE => nostarch.com
[recon-ng][default][whois_pocs] > info
Name: Whois POC Harvester
Path: modules/recon/domains-contacts/whois_pocs.py
Author: Tim Tomes (@LaNMaSteR53)
Description:
Uses the ARIN Whois RWS to harvest POC data from whois queries for the given domain.
Updates the 'contacts' table with the results.
Options:
Name
Current Value Required Description
------ ------------- -------- ----------SOURCE walmart.com yes source of input (see 'show info' for details)
Source Options:
default
SELECT DISTINCT domain FROM domains WHERE domain IS NOT NULL

string representing a single input

path to a file containing a list of inputs
query
database query returning one column of inputs
[recon-ng][default][whois_pocs] > run
----------WALMART.COM
----------[*] URL: http://whois.arin.net/rest/pocs;domain=walmart.com
[*] URL: http://whois.arin.net/rest/poc/ABUSE327-ARIN
Бизнес-разведка по открытым источникам

65

[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]
[*]

Country: United States
Email: abuse@walmart.com
First_Name: None
Last_Name: Abuse
Middle_Name: None
Notes: None
Phone: None
Region: Brisbane, CA
Title: Whois contact
--------------------------------------------------

Имейте в виду, что некоторые организации не раскрывают информацию WHOIS.

Использование mx_spf_ip для изучения политик электронной
почты домена
Модуль mx_sfp_ip извлекает запись почтового шлюза DNS (mail
exchanger, MX) для домена. Запись MX определяет, как домен обрабатывает электронную почту. Она показывает используемые почтовые
серверы и любые записи Sender Policy Framework (SPF), ограничивающие диапазоны IP-адресов, с которых домен может получать почту,
а также домены, способные отправлять электронные письма организации без проверки.
Используя запись MX, злоумышленник может взятьсодержащуюся
в ней информацию для создания успешной атаки с подделкой элект­
ронной почты. Например, злоумышленник может установить диапазоны IP-адресов, указанные в записи, и связанные с ними домены.
Это может дать подсказки о деловых отношениях, поставщиках или
используемых технологиях.
Следующая команда извлекает запись MX для nostarch.com. Вывод подтверждает, что сайт использует почтовые серверы Google, но
отсутст­вие записи SPF указывает на то, что у No Starch не реализован
SPF:
[recon-ng][book][mx_spf_ip] > options set SOURCE nostarch.com
SOURCE => nostarch.com
[recon-ng][book][mx_spf_ip] > run
[*] Retrieving MX records for nostarch.com.
[*] [host] alt1.aspmx.l.google.com ()
[*] [host] aspmx.l.google.com ()
[*] [host] alt3.aspmx.l.google.com ()
[*] [host] alt2.aspmx.l.google.com ()
[*] [host] alt4.aspmx.l.google.com ()
[*] Retrieving SPF records for nostarch.com.
[*] nostarch.com => No record found.

С другой стороны, следующий вывод показывает нам, что Walmart
использует SPF:

66

Глава 4

[recon-ng][book][mx_spf_ip] > options set SOURCE walmart.com
SOURCE => walmart.com
[recon-ng][book][mx_spf_ip] > run
[*] Retrieving MX records for walmart.com.
[*] [host] mxb-000c7201.gslb.pphosted.com () 
[*] [host] mxa-000c7201.gslb.pphosted.com ()
[*] Retrieving SPF records for walmart.com.
[*] TXT record: "dtOeNuIs42WbSVe3Zf2qizxLw9LSQpFd6bWqCr166oTRIuJ9yKS+etPsGGNOvaiasQk2C
6GV0/5PjT9CI2nNAg=="
[*] TXT record: "google-site-verification=ZZYRwyiI6QKg0jVwmdIha68vuiZlNtfAJ90msPo1i7E"
[*] TXT record: "adobe-idp-site-verification=7f3fb527466337ac0ac0752c569ca2ac48926dc6c
6dad3636d581aa131a1cf3e"
[*] TXT record: "v=spf1 ip4:161.170.248.0/24 ip4:161.170.244.0/24 ip4:161.170.236.31
ip4:161.170.238.31 ip4:161.170.241.16/30 ip4:161.170.245.0/24 ip4:161.170.249.0/24
include:Walmart.com include:_netblocks.walmart.com include:_vspf1.walmart.com
include:_vspf2.
walmart.co" "m include:_vspf3.walmart.com ~all"
[*] [netblock] 161.170.248.0/24 
[*] [netblock] 161.170.244.0/24
[*] [host] (161.170.236.31)
[*] [host] (161.170.238.31)
[*] [netblock] 161.170.241.16/30
[*] [netblock] 161.170.245.0/24
[*] [netblock] 161.170.249.0/24
[*] TXT record: "facebook-domain-verification=ximom3azpca8zph4n8lu200sos1nrk" 
[*] TXT record: "adobe-idp-site-verification=5800a1970527e7cc2f5394a2bfe99bcda4e5938e1
32c0a19139fda9bf6e30704" 
[*] TXT record: "docusign=5bdc0eb1-5fb2-471c-99a0-d0d9cc5fdac8" 
[*] TXT record: "MS=E4F53D5B1A485B7BA06E0D36A9D38654A16609F3" 

В записи SPF перечислены проверки доменов для Adobe, Facebook,
DocuSign, Microsoft и Google. Текстовая запись (TXT), начинающаяся
с MS=, указывает на то, что Walmart использует Microsoft Office 365 .
Он также использует adobe-idp-site-verification для проверки доменов для продуктов Adobe Enterprise, таких как Creative Cloud . Запись TXT facebook-domain-verification ограничивает домены, которые
редактируют официальную страницу Facebook для домена . Запись
TXT, начинающаяся с docusign=, указывает на то, что сайт использует
DocuSign для подписи официальных документов .
Обратите внимание, что адрес pphosted.com  указан как хост. Это
говорит об использовании Proof-point – технологии защиты от спуфинга, которая добавляет пользовательское сообщение, часто строку
[EXTERNAL] (внешнее), в строку темы полученных писем, что упрощает
обнаружение фишинга или попыток компрометации корпоративной
электронной почты.
Также перечислены некоторые сетевые диапазоны . Это общедоступные IP-адреса цели, а два перечисленных хоста являются основными почтовыми серверами. Вы можете проверить это, используя
другие инструменты.

Бизнес-разведка по открытым источникам

67

Использование других инструментов: theHarvester
и OSINT Framework
Как и Recon-ng, theHarvester – это OSINT-инструмент командной
строки на базе Linux, который бесплатно доступен как часть Kali и
Buscador. Вы также можете найти его на GitHub. Для theHarvester,
написанного Кристианом Мартореллой, требуются ключи API для
Shodan и системы пользовательского поиска Google (Google Custom
Search Engine, CSE). Вы можете ввести эти ключи в следующие файлы:
путь_к_theHarvester/discovery/googleCSE.py

а также
путь_к_theHarvester /discovery/shodansearch.py

В theHarvester можете использовать переключатели, чтобы направить инструмент на выполнение задач. Решение применять
theHarvester вместо Recon-ng является вопросом личного предпочтения. Даже если вы берете Recon-ng в качестве основного инструмента,
то можете получить второе мнение с помощью theHarvester, чтобы
узнать, не пропустил ли Recon-ng какую-либо дополнительную информацию.
OSINT Framework (https://osintframework.com/) – это набор инструментов с графическим интерфейсом. Разработанный под руководством
Джастина Нордина, OSINT Framework группирует ресурсы в зависимости от того, что вы ищете (рис. 4.8).

Рис. 4.8. OSINT Framework

Поиск адресов электронной почты с помощью Hunter
Вам часто придется искать адреса электронной почты компании и
синтаксис этих адресов (формат, который компания использует для

68

Глава 4

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

Рис. 4.9. Результаты поиска Hunter для неаутентифицированного пользователя.
(Примечание: Hunter подверг эти результаты цензуре)

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

Рис. 4.10. Результаты поиска Hunter для аутентифицированного пользователя.
(Примечание: автор скрыл подробности)
Бизнес-разведка по открытым источникам

69

Глядя на эти результаты, вы можете сделать вывод о синтаксисе адресов электронной почты компании. Далее можете перейти к
LinkedIn и корпоративному веб-сайту, чтобы получить больше имен,
а потом самостоятельно собрать больше адресов электронной почты,
если хотите отправить этим людям фишинговые письма.
Hunter предоставляет различные уровни обслуживания; на момент
написания этой статьи они варьируются от бесплатного (100 запросов в месяц и без экспорта CSV) до 399 долл. в месяц, что включает
50 000 запросов и позволяет экспортировать CSV.

Использование картографических и геолокационных
инструментов
Вы, вероятно, использовали Google Maps или Bing Maps, чтобы
ориен­тироваться по картам, спутниковым изображениям и видам,
снятым на улицах. Когда дело доходит до сбора данных OSINT, наиболее ценными обычно являются режимы просмотра со спутника и улиц.
Вид со спутника может показывать ворота, мусорные баки, спутниковые тарелки, въезды и выезды, схемы парковок и прилегающие
объекты. Вы можете достаточно сильно увеличить некоторые участки, чтобы определить навесы, входы и места для курения.
Вид с улицы позволяет увидеть здание и объекты, как если бы вы
шли или ехали мимо. С этой точки зрения можно определить следую­
щее:
названия компаний, которые обслуживают шлагбаумы и ворота
или занимаются вывозом мусорных баков (полезная информация, способная помочь вам получить доступ на территорию здания или порыться в мусорном баке);
zz наличие и расположение ворот, дверей и заборов, а также остаются ли они обычно открытыми (а иногда и присутствие охранников);
zz компании служб доставки, чьи грузовики припаркованы снаружи;
zz конкретные названия зданий, такие как Walmart Innovation
Center, Walmart People Center или Walmart Home Office, которые
могут помочь вам лучше вписаться в организацию;
zz наличие других арендаторов в здании.
zz

Во время конкурса DerbyCon SECTF, который был упомянут в начале этой главы, я использовал Google Maps, чтобы определить службы
доставки для моей целевой компании, проверяя, чьи грузовики находились поблизости от ворот. Я мог бы использовать эту информацию,
чтобы получить физический доступ в здание, может быть, найдя похожую униформу в комиссионном магазине, или как предлог, чтобы
позвонить по поводу доставки.
Использование как Google Maps, так и Bing Maps может дать вам
более точную информацию, поскольку у этих сервисов разные источ-

70

Глава 4

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

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

Бизнес-разведка по открытым источникам

71

5

СОЦИАЛЬНЫЕ МЕДИА
И ПУБЛИЧНЫЕ ДОКУМЕНТЫ

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

Анализ социальных сетей для сбора OSINT
Платформы социальных сетей дают нам представление о жизни людей и компаний, на которые мы направили свои усилия. Хотя в неко-

торых организациях действуют правила очистки рабочих мест, требующие от сотрудников удалять конфиденциальную информацию со
своих рабочих мест, когда они на перерыве, во время обеда или вне
офиса, многие из этих правил не включают фотографии, сделанные
на личных устройствах. В результате люди публично раскрывают все,
что их беспокоит или волнует, будь то дома или на работе. Это дает
следователям OSINT полный доступ к объектам организации и часто
позволяет нам увидеть больше, чем при личном туре.
В главе 6 мы вернемся к социальным сетям как к средству узнать о
человеке, публикующем пост.

LinkedIn
LinkedIn1 – отличная профессиональная социальная сеть. Многие
из ее пользователей слишком откровенно рассказывают о своем
опыте, выдавая все технологии и процессы, используемые внут­
ри компании. Просматривая сотрудников компании на сайте, мы
можем заполнить список целей для фишинга, найти технологии,
используемые в компании, и придумать роли, которые мы могли
бы выполнять в вишинг-атаках. LinkedIn – это золотая жила OSINT,
особенно для небольших компаний с ограниченным присутствием
в интернете.
ПРИМЕЧАНИЕ
Некоторые из обсуждаемых далее функций анализа
доступны только пользователям тарифа LinkedIn Premium, который на
момент написания этой книги стоил 29 долл. в месяц. Имейте в виду,
что свойства любого продукта или услуги могут со временем меняться
в лучшую или худшую сторону. В следующих разделах этой главы я сосредоточусь не столько на инструментах и функциях, сколько на методах.

Общая информация о компании
Давайте взглянем на бизнес-страницу Walmart в LinkedIn (рис. 5.1).
В верхней части страницы мы можем увидеть, сколько подписчиков у
Walmart, сколько контактов этой учетной записи работает в Walmart,
биржевой тикер и обзор компании. Раздел About Us (О нас) также
предоставляет нам общую информацию о Walmart.
Ниже на странице перечислены веб-сайты и адреса всех основных
филиалов Walmart, информация о том, когда и где была основана
компания, местонахождение штаб-квартиры, размер компании и ее
специализация.

1

Доступ к LinkedIn заблокирован на территории РФ. Тем не менее многие специалис­
ты и организации, особенно из области информационных технологий, продолжают
активно пользоваться этой профессиональной сетью. Поэтому российским читателям могут пригодиться советы автора, представленные в этой книге. – Прим. перев.

Социальные медиа и публичные документы

73

Рис. 5.1. Сведения о компании Walmart в LinkedIn

Информация о трудоустройстве
Поскольку люди часто используют LinkedIn в качестве доски объявлений о вакансиях, на страницах компании приводится информация,
имеющая отношение к соискателям, например официальное коли­
чество сотрудников и их увеличение или уменьшение (рис. 5.2).

Рис. 5.2. Сведения о сотрудниках Walmart в LinkedIn

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

74

Глава 5

ния, особенно в крупных компаниях с более чем 300 000 работников,
таких как Walmart. Точно так же данные LinkedIn о распределении
персонала, росте компании и новых сотрудниках могут дать нам
представление о вероятности того, что мы натолкнемся на нового неопытного коллегу, если начнем обзванивать офисы.

Сотрудники компании
На отдельной странице перечислены пользователи LinkedIn, являющиеся сотрудниками компании. Используйте эту информацию,
чтобы увидеть роль, которую играет каждый человек. Например, на
рис. 5.3 показан человек, занимающий должность аналитика вторжений, это стандартная должность в подразделении кибербезопас­
ности, которая предполагает, что компания активно отслеживает
свои веб-сайты и сети на предмет злонамеренного поведения.
Мы можем оценить безопасность компании по количеству сотрудников информационной безопасности. Простой способ добиться этого – просмотреть профили сотрудников на наличие специфических
аббревиатур, обозначающих должности и профессиональные сертификаты. Хорошей отправной точкой является проверка аббревиатур
CISSP, GPEN, OSCP, CEH и Security+. Подходящие названия вакансий
для поиска включают термины «информационная безопасность»,
«кибербезопасность», «вторжение», OpSec и CISO.

Рис. 5.3. Сотрудники Walmart в LinkedIn

Профили сотрудников также многое говорят нам о технологиях,
которые использует компания. Анализируя профили, мы можем обнаружить наличие решений по управлению событиями и инцидентами безопасности (SEIM), средств защиты от вредоносных программ,
фильтрации электронной почты или VPN. Кроме того, они помогаСоциальные медиа и публичные документы

75

ют нам создать список адресов электронной почты для дальнейшего
профилирования и фишинга.

Доски объявлений и карьерные сайты
Сотрудники, рекрутеры и аутсорсинговые поставщики рекрутинговых услуг могут ссылаться на страницы с вакансиями или доски объявлений о вакансиях в своих социальных сетях. В качестве побочного
продукта умные социальные инженеры, сотрудники красных команд
и аналитики OSINT могут собирать эту информацию и использовать
ее в качестве оружия.
В зависимости от того, как написано объявление о вакансии, вы можете найти ключи от королевства буквально в одном предложении.
На рис. 5.4 видно, что кандидат должен иметь опыт работы с Oracle
E-Business Suite (EBS) версии 12.2.7. Это подсказывает потенциальному злоумышленнику, что нужно искать уязвимости этой конкретной
версии программного обеспечения. Судя по тому, как написано сообщение о вакансии, злоумышленник может сделать вывод, что компания также продолжает использовать версию 11.5.10.2, в которой есть
уязвимости, относящиеся к 2006 году.

Рис. 5.4. Слишком подробное объявление о вакансии

Дальше можно пойти несколькими путями. Во-первых – искать
запи­си об общем перечне уязвимостей и рисков (Common Vulnerabilities
and Exposures, CVE), относящиеся к этому конкретному программному
обеспечению, а затем проверять такие сайты, как https://www.exploit-db.
com/, на наличие известного кода эксплойта. В качестве альтернативы
мы могли бы использовать эту информацию в наших предлогах для
фишинга или вишинга. Наконец, можно было бы просто попытаться

76

Глава 5

выполнить брутфорс (взлом путем грубого подбора пароля) любых
общедоступных экземпляров рассматриваемого программного обес­
печения, что было бы самым шумным вариантом, выходящим за рамки социальной инженерии или OSINT.
Другими важными вещами, которые следует искать в объявлениях
о вакансиях, являются упоминания о том, какому менеджеру подчиняется сотрудник на этой должности. Знание организационной структуры и того, кто какую роль выполняет, может быть полезно для создания предлогов в ситуациях, когда упоминание имени поможет вам
завоевать доверие. Не ограничивайтесь свежими публикациями. Посмотрите на старые публикации на таких сайтах, как Indeed, Ladders и
LinkedIn. Вы также можете посмотреть более старые страницы на сайте https://archive.org/. Просматривая старые сообщения, можете понять,
как часто организация исправляет или обновляет свое программное
обеспечение, а также оценить культуру в области управления персоналом и безопасности.

Facebook (Meta)
Социальная сеть Facebook заблокирована по требованию Роскомнадзора на территории Российской Федерации в соответствии
с федеральным законом «О мерах воздействия на лиц, причастных
к нарушениям основополагающих прав и свобод человека, прав и
свобод граждан Российской Федерации» за регулярное размещение недостоверной информации и отказ от предоставления равных прав на публикацию российским СМИ.
Facebook может быть золотой жилой или выгребной ямой в зависимости от того, кого вы спрашиваете и что ищете. Это потому, что данных много, но они минимально проверены, хотя время от времени
подтверждаются фактами. Многие люди склонны чрезмерно делиться информацией на этом сайте (это поведение мы рассмотрим далее
в главе 6). В этом разделе сосредоточимся на бизнес-информации о
компании и ее клиентах.
Чтобы начать анализ на Facebook, создайте учетную запись, которую вы не используете в личных целях. Несмотря на то что создание
поддельной учетной записи нарушает Условия обслуживания сайта,
это не позволит вам появиться на вкладке Люди, которых вы можете знать под вашим настоящим профилем. Вы также сможете пуб­
ликовать сообщения на своей странице публично, не сбивая с толку
своих законных друзей и не рискуя их выдать. Имейте в виду, что
после ряда скандалов Facebook принимает жесткие меры в отношении поддельных учетных записей, особенно тех, которые используют
изображения, созданные искусственным интеллектом.
В качестве еще одного уровня безопасности избегайте использования мобильных приложений сайта, потому что они обычно имеют
дос­туп ко всем приложениям на вашем мобильном устройстве и моСоциальные медиа и публичные документы

77

гут точно определить, что учетная запись принадлежит вам, даже не
используя дополнительные данные. Вы также можете начать получать
все более личную рекламу, которая лично меня очень раздражает.
Итак, что мы можем найти в Facebook? Конкурентов, клиентов, рек­
ламные акции, пресс-релизы, новости и общественное мнение.

Информация о компании
На странице организации в Facebook (см. рис. 5.5 для Walmart) найдите контактную информацию или пресс-релизы. Для небольших
компаний обычно можно найти новости о выигранных наградах или
списки, в которые они были добавлены. Также можете увидеть сообщения о деятельности и достижениях сотрудников, особенно если вы
ориентируетесь на консалтинг.

Рис. 5.5. Целевая страница Walmart на Facebook

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

Клиенты и общественное мнение
Когда вы осуществляете вишинговый звонок в компанию, один
из самых действенных способов заставить сотрудника поговорить

78

Глава 5

с вами – это изобразить из себя клиента. Вы можете найти множество реальных клиентов, просмотрев вкладку Community (Сообщество) Facebook и прочитав отзывы. На рис. 5.7 на вкладке Community
Walmart показаны различные отзывы от широкой публики. Их следует воспринимать с долей скептицизма и в общем контексте темы.
Некоторые из этих сообщений являются обоснованными опасениями
или претензиями, но другие опираются на теории заговора или являются необоснованными заявлениями, попытками запустить вирусную волну и сообщениями о поддельных страницах или страницах,
выдающих себя за других.

Рис. 5.6. Страница Walmart About Us на Facebook

Рис. 5.7. Страница сообщества Walmart на Facebook
Социальные медиа и публичные документы

79

На вкладке Community показано количество подписчиков компании. Этот показатель показывает силу бренда и то, насколько активно
компания взаимодействует с клиентами и привлекает их.
Посмотрите, какими сообщениями делятся клиенты на странице
компании и как часто они публикуют сообщения. Отвечает ли компания на эти сообщения? Проявляет ли компания сочувствие или она
холодна? Это может помочь нам разработать досье для компании, а
также досье, которое мы используем в качестве предлога.
Иногда люди будут делиться случайными сообщениями на стене
компании, пытаясь провернуть вирусную компанию. Учитывайте это
при анализе.

Instagram
Социальная сеть Instagram заблокирована по требованию Роскомнадзора на территории Российской Федерации в соответствии
с федеральным законом «О мерах воздействия на лиц, причастных
к нарушениям основополагающих прав и свобод человека, прав и
свобод граждан Российской Федерации» за регулярное размещение недостоверной информации и отказ от предоставления равных прав на публикацию российским СМИ.
Instagram – это сокровищница OSINT. В конкурсе социальной инженерии Capture the Flag (SECTF), в котором я когда-то участвовал,
я нашел более 90 % информации о моей целевой компании с помощью Instagram.

Подписчики и хештеги
Кто более интересен, чем подписчики бизнес-аккаунта, так это те,
на кого подписан сам бизнес-аккаунт. Аккаунты компаний обычно
подписаны на руководителей и влиятельных лиц, а также на специа­
листов по маркетингу и связям с общественностью. Например, посмотрите, на кого подписан Walmart (рис. 5.8). В список входят бренды, которые они продают, и Леброн Джеймс.
Также ищите хештеги, на которые подписана цель. Это говорит нам
о том, что цель считает важным. Хештеги могут иметь отношение к
рекламной акции, которую проводит компания, или указывать, активна ли ее команда в социальных сетях. Они также могут указывать
на конкурентов компании. Из хештегов, которые выбрал Walmart
(рис. 5.9), мы узнаем о внутренних инициативах, стимулах для клиентов и возможном внутреннем жаргоне.

Поиск сообщений с геотегами
Затем покиньте страницу компании в Instagram и найдите в
Instagram адрес офиса компании. Это приводит нас ко всем сообщениям с геотегами по этому адресу. Геотегирование выполняется
автоматически, когда включены службы определения местополо-

80

Глава 5

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

Рис. 5.8. Список учетных записей, на которые подписана страница Walmart
в Instagram

Рис. 5.9. Хештеги, которые Walmart использует в Instagram

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

81

бейдж-карты, чтобы получить доступ к объектам. Брент Уайт и Тим
Робертс написали хорошую статью про использование клонировщика
карт доступа Proxmark (и многого другого) по адресу https://wehackpeople.
wordpress.com/2018/07/16/proxmark-3-cheat-sheet-and-rfid-thief-instructions/. В других случаях вы можете повторить дизайн бейджа. Например, значок
поставщика Walmart на рис. 5.10 показывает нам, как выглядят бейджи поставщиков, включая используемые ими шрифты, штрих-код и
дату истечения срока действия.

Рис. 5.10. Значок поставщика Walmart, найденный в Instagram

Возможно, вам удастся воссоздать штрих-код значка. Хотя значок
не содержит никаких цифр, полезных для идентификации, на нем
есть дата, потенциально полезная в хитроумной уловке для получения доступа.
В качестве альтернативы вы можете сделать фальшивые бейджи, а
также узнать, как люди одеваются на сайте, что позволит вам слиться с ними. Например, в магазинах Walmart продавцы обычно носят
брюки цвета хаки и темно-синюю рубашку с халатом и значком. На
рис. 5.11 показано несколько изображений бейджей Walmart, и все
они кажутся достаточно невинными, пока социальный инженер или
злоумышленник не использует их для получения несанкционированного доступа к объекту.
Фотографии столов могут рассказать нам много интересного о
техно­логиях, которые использует компания. На рис. 5.12 показано
изображение рабочего места сотрудника. Сотрудник (партнер) хвас­
тался полученной открыткой, но на снимке также видно, что он использует MacBook с Photoshop, Microsoft Office 2016 и Cisco WebEx,
открытый на док-станции macOS.

82

Глава 5

Рис. 5.11. Многочисленные значки сотрудников Walmart, найденные в Instagram

Рис. 5.12. Фотография рабочего места сотрудника Walmart, найденная в Instagram

Использование Shodan для OSINT
Джон Мазерли разработал сервис Shodan (https://www.shodan.io/) в
2009 году как поисковую систему для индексации устройств, подключенных к интернету. На практике это означает, что Shodan активно сканирует интернет на наличие незащищенных и открытых
устройств, а затем вводит эти устройства в свою доступную для поиска и индексируемую базу данных для использования людьми. Давайте рассмотрим основные методы анализа с помощью Shodan.
Социальные медиа и публичные документы

83

Стоимость членства в Shodan варьируется в зависимости от уровня
доступа: от бесплатного до 899 долл. в месяц. Уровни определяются
количеством ресурсов, которые вы хотите постоянно отслеживать, количеством поисков, которые требуется выполнить, и необходимостью
поиска явных уязвимостей. Shodan часто проводит специальные акции «черной пятницы», предоставляя дешевый пожизненный дос­туп.

Использование параметров поиска Shodan
При поиске в Shodan используйте один из следующих параметров:
city – для поиска в определенном городе;
country – для поиска в определенной стране;
geo – в пределах определенной широты и долготы;
hostname – для поиска конкретного имени хоста;
net – для поиска определенного IP-адреса, диапазона или CIDR;
os – конкретной операционной системы;
port – определенных открытых портов;
before/after – для определения временных рамок поиска.
Поскольку организации меняют свою аппаратную и программную
архитектуру, а Shodan сканирует без остановки, записи в базе данных
будут меняться. Установка временных рамок может помочь вам найти
закономерности обновлений, а также внедряемые в настоящее время
и актуальные технологии. Например, если вы знаете, что организация использует Cisco ASA, то можете просмотреть даты выпуска программного обеспечения и сравнить их с датой появления изменения
версии в Shodan, чтобы получить представление о скорости внесения
исправлений.

Поиск IP-адресов
Если вам известен IP-адрес или диапазон, можете запросить его в
Shodan, чтобы определить хост, службы и баннеры служб (рис. 5.13).
Это поможет, если вы собираете OSINT для подготовки к тесту на проникновение.
Shodan также сообщает нам о сертификате TLS/SSL, используемом
для шифрования входящего и исходящего веб-трафика. Если в сертификате используются слабые шифры, вы можете считать это вектором атаки для технического проникновения.

Поиск доменных имен
Если вы введете доменное имя вашей целевой организации в Shodan,
система ответит всеми известными хостами. Это поможет получить
информацию об используемых портах и протоколах, а также служебные баннеры и версии служб. Этот метод также помогает нам определить типы используемых организацией систем, подключенных к
интернету (например, NGINX, Apache и IIS), в дополнение к именам
хостов и IP-адресам.

84

Глава 5

Рис. 5.13. Результаты поиска по IP-адресу с указанием открытых портов и
запущенных служб с баннерами

На рис. 5.14 показан результат поиска домена walmart.com с указанием, что хосты должны принадлежать магазинам Walmart. Это пред­
отвращает включение в результат поиска нерелевантных доменов, содержащих фразу walmart.com, или сайтов со ссылками на walmart.com.

Рис. 5.14. Список доменов и IP-адресов Shodan, отфильтрованных
по магазинам Walmart

Поиск имен хостов и субдоменов
Зная конкретное имя хоста или субдомен, мы можем искать его в
Shodan так же, как искали домены. Shodan предоставит нам более точную информацию, такую как IP-адрес, сервис и открытые порты на
Социальные медиа и публичные документы

85

хосте. Конкретная возвращаемая информация зависит от домена, а ее
полезность – от того, что мы планируем делать с этой информацией.
Например, на рис. 5.15 показаны веб-серверы Microsoft IIS, принадлежащие Walmart.

Рис. 5.15. Расширенное перечисление IP-адресов Shodan

Мы видим набор символов, код HTTP и, если существует известная
уязвимость, номер CVE, который может привести нас к техническому
взлому, если в этом заключается наша задача.

Делаем автоматические скриншоты
с помощью Hunchly
До сих пор в этой главе мы обсуждали ручной анализ веб-страниц для
получения полезной информации. Но, если вы не используете специальный инструмент OSINT, такой как Recon-ng, отслеживать всю найденную информацию не всегда легко. Hunchly (https://www.hunch.ly/) – это
расширение для Chrome (или браузера Chromium, например Brave),
которое предоставляет скриншоты всего, что вы ищете (рис. 5.16 и
5.17). На момент написания этой книги сервис Hunchly, созданный
Джастином Зейтцем, стоит 129 долл. в год, но дает 30-дневную бесплатную пробную версию. Если вы часто проводите OSINT-расследования, покупка лицензии того стоит.
Нажав на конкретную иконку данных, вы можете просмотреть снимок экрана и любую информацию о нем, например что вы искали,
путь URL-адреса, соответствующий поиску, дату, когда вы его собрали, дату, когда сайт был обновлен, и хеш скриншота. Эта информация
критически важна, если вы собираете OSINT по юридическим причинам и будете использовать скриншот в качестве доказательства в
суде.

86

Глава 5

Рис. 5.16. Создание нового задания

Рис. 5.17. Панель инструментов Hunchly с иконками данных

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

87

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

88

Глава 5

6

СБОР OSINT О ЛЮДЯХ

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

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

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

Выяснение того, был ли пользователь взломан
Модули hipb_breach и hibp_paste в Recon-ng выполняют поиск на
веб-сайте Троя Ханта Have I Been Pwned (HIBP) (https://haveibeenpwned.
com/) и в связанных базах данных, чтобы определить, был ли введенный адрес электронной почты причастен к какой-либо утечке данных.
Я часто использую эти модули для создания досье о том, как сотрудники моей целевой компании используют свою рабочую элект­ронную
почту. Это хороший показатель зрелости программы безопас­ности
компании. Например, некоторым людям из числа тех, кто управляет
учетными записями в социальных сетях, может потребоваться учетная запись Facebook или LinkedIn, связанная с их рабочей электронной почтой. Однако уборщику или младшему специалисту службы
поддержки, вероятно, такая учетная запись не нужна.
Чтобы использовать модули HIBP в Recon-ng, просто загрузите модуль, введите в поле SOURCE адрес электронной почты или список, который вы хотите найти, а затем введите команду run:
[recon-ng][book] > modules search hibp
[*] Searching installed modules for 'hibp'...
Recon
recon/contacts-credentials/hibp_breach
recon/contacts-credentials/hibp_paste
[recon-ng][default][hibp_breach] > run
[*] bill@nostarch.com => Breach found! Seen in the Adapt breach that occurred on
2018-11-05.
[*] bill@nostarch.com => Breach found! Seen in the AndroidForums breach that occurred
on 2011-10-30.
[*] bill@nostarch.com => Breach found! Seen in the AntiPublic breach that occurred
on 2016-12-16.

90

Глава 6

Вы также можете вручную искать записи на основном веб-сайте
HIBP. Некоторые из найденных записей являются приватными, т. е.
вы увидите их только в том случае, если сможете подтвердить, что
являетесь владельцем электронной почты с помощью автоматизированного процесса верификации электронной почты, или указать, что
вы владеете всем доменом (либо являетесь его авторизованным системным администратором). Чтобы проверить каждое электронное
письмо во всем домене, нужно иметь возможность продемонстрировать право собственности, как правило, с помощью записи DNS TXT.
Примером тому является нашумевший взлом сайта знакомств Ashley
Madison.

Составление списка учетных записей социальных сетей
с помощью Sherlock
Sherlock (https://github.com/sherlock-project/sherlock/) – это инструмент на
языке Python 3, написанный и поддерживаемый проектом Sherlock.
Он просматривает различные сайты социальных сетей в поисках
имен пользователей. Список сайтов, которые проверяет Sherlock, короче, чем у других инструментов, но все равно полезен.
Чтобы установить и использовать Sherlock, выполните следующие
действия:
git clone https://github.com/sherlock-project/sherlock
cd sherlock
pip3 install -r requirements.txt
python3 sherlock.py OPTIONS USERNAME

Sherlock предоставит результаты, аналогичные WhatsMyName и
Recon-ng. Используйте любой инструмент, который вы предпочитаете, но всегда имейте под рукой несколько инструментов, чтобы повысить качество или точность собираемых данных.

Составление списка учетных записей веб-сайтов
с помощью WhatsMyName
WhatsMyName (https://github.com/WebBreacher/WhatsMyName/) – это инстру­
мент, написанный Микой Хоффманом. Он составляет список веб-сайтов, на которых существует определенное имя пользователя. Это эффективный способ проверить возможное поведение и веб-активность
пользователя. Вы также можете включить WhatsMyName в Recon-ng
в качестве модуля профилировщика. Кроме того, Крис Поултер из
OSINT Combine совместно с Хоффманом создал веб-приложение
WhatsMyName (https://whatsmyname.app/).
На момент написания этой книги WhatsMyName проверяет более
250 сайтов. Чтобы ограничить количество проверяемых сайтов или
добавить их в список, просто отредактируйте файл web_accounts_list.
json с правильным синтаксисом JSON, как в следующем примере:
Сбор OSINT о людях

91

{
"name" : "YouTube",
"check_uri" : "https://www.youtube.com/user/account/videos",
"account_existence_code" : "200",
"account_existence_string" : "name\" content=",
"account_missing_string" : " This channel does not exist",
"account_missing_code" : "404",
"known_accounts" : ["test"],
"category" : "video",
"valid" : true
}

Если вы хотите проверить сайт, не включенный в файл JSON, можете просто изучить, как сайт обрабатывает HTTP-запросы, включая
параметры, которые он использует, и ожидаемые коды ответов HTTP.
Затем просто скопируйте запись в файл.
Запустите WhatsMyName с помощью следующей команды:
root@kali:/opt/WhatsMyName# python3 web_accounts_list_checker.py -u nostarchpress
- 190 sites found in file.
- Looking up https://500px.com/nostarchpress
- Looking up https://9gag.com/u/nostarchpress
--snip-- Looking up https://api.github.com/users/nostarchpress
[+] Found user at https://api.github.com/users/nostarchpress
- Looking up https://gitlab.com/nostarchpress
[+] Found user at https://gitlab.com/nostarchpress
- Looking up https://www.goodreads.com/user/show/nostarchpress
- Looking up https://www.gpsies.com/mapUser.do?username=nostarchpress

При выполнении скрипта рядом с каждым сайтом, на котором
WhatsMyName обнаруживает учетную запись, должен появиться значок [+].

Анализ паролей с помощью Pwdlogy
Pwdlogy – это инструмент, написанный tch1001, он позволяет хакерам
создавать список слов для данного пользователя на основе терминов,
которые он часто использует, и тех, которые имеют для него значение. Вы выполняете предварительный анализ вручную, и создаете
исходный список. Затем инструмент изменяет этот список, добавляя
символы к словам из вашего списка и чередуя символы, создавая таким образом гораздо более длинный список слов. Далее злоумышленники могут использовать его для атак с подбором пароля и связанных
с этим действий.
Хотя на первый взгляд Pwdlogy может показаться не особенно полезным для социальной инженерии, при некоторой изобретательно-

92

Глава 6

сти такой инструмент можно применить в деле. Например, представьте, что вы занимаетесь фишингом, направленным на конкретного
пользователя, и у вас есть разрешение на использование предлога для
сброса пароля. Другими словами, вы можете опросить пользователя
для получения информации, возможно, вручив ему бланк опроса или
во время светской беседы. Используя эту информацию, заполняете
список в Pwdlogy и используете его для тестирования. Если у вас менее 10 пользователей для фишинга, можете узнать, как они создают
новые пароли с помощью этого метода. Если у вас есть сотни или тысячи, это может не сработать.
Чтобы установить и использовать Pwdlogy, введите следующие коман­
ды:
git clone https://github.com/tch1001/pwdlogy
cd pwdlogy
python3 pwdlogy

Эти команды клонируют код из GitHub в вашу систему, а затем перемещают вас в каталог и выполняют его с помощью Python. Чтобы
создать список для Pwdlogy, соберите следующую информацию OSINT
о каждом пользователе:
имена супругов, братьев и сестер, родителей и детей;
имена домашних животных;
zz любимые слова и числа;
zz дни рождения.
zz
zz

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

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

93

Когда я смотрю на изображения с точки зрения OSINT, то ищу четыре
вещи.
Сначала я смотрю на передний план или на то, что картина на самом деле должна нам сказать, будь то человек, сцена или что-то еще.
Далее – на фон. Например, есть ли там безвкусные обои для отелей,
которые могли бы связать это изображение с определенным местом
или сетью отелей? Затем я вглядываюсь, чего не хватает на картинке. Что здесь должно быть? Я думаю об этом как об одной из задач
сравнения двух картинок. Что-то «отфотошопили»? Что-то осталось
за кадром?
Наконец, я смотрю на данные Exchangeable Image File (EXIF). Формат данных EXIF – это стандарт для неподвижных изображений, который описывает изображения, звуки и другие теги, создаваемые
цифровыми камерами, смартфонами и другими системами. Поскольку все камеры и смартфоны способны сохранять такие данные, мы
можем собирать OSINT различного уровня о фотографиях и людях,
которые их сделали.
В этом разделе я расскажу о нескольких способах анализа данных
EXIF.

Ручной анализ данных EXIF
Давайте проанализируем данные EXIF для изображения, показанного
на рис. 6.1.

Рис. 6.1. Изображение, отправленное мне студентом для анализа

94

Глава 6

Рис. 6.2. Просмотр информации
EXIF на MacBook

Чтобы проанализировать данные EXIF, щелкните по изображению правой кнопкой мыши
и выберите Get Info (Получить информацию)
на Mac или Properties (Свойства) в Windows и
Linux. Должно открыться окно, в котором можно просмотреть данные EXIF (рис. 6.2).
Здесь мы видим тип изображения и время
его загрузки. Мыполучаем размеры, марку
и модель камеры, которая его сняла, – в данном случае это iPhone X. Внизу видим широту и долготу места, где был сделан снимок, –
это информация, которую обычно включают
смартфоны.

Анализ изображений с помощью
ExifTool
ExifTool – это инструмент, который может автоматически анализировать данные EXIF и
давать вам гораздо больше информации, чем
ручной анализ. Часть этой информации может
быть особенно полезна, если вы составляете
профиль компании на месте, изучаете корпоративную культуру или хотите узнать, каким
мобильным телефоном пользуется жертва. Еще
одно полезное применение этого инструмента – если вы участвуете в одном из соревнований CTF Search Party от Trace Labs (https://www.
tracelabs.org/getinvolved/ctf/).
Чтобы установить ExifTool в Kali, запустите
следующую команду:
apt-get install exiftool

Чтобы проанализировать файл, запустите команду:
exiftool имя_файла

Кроме того, вы можете использовать средство просмотра метаданных изображений Джеффри (http://exif.regex.info/exif.cgi), это онлайн-версия ExifTool. Оно пригодится, если вы пытаетесь избежать загрузки
файла или явно работаете только с онлайн-изображениями. Вы можете передать инструменту файл или ссылку, и он отобразит результаты
на экране.
Сбор OSINT о людях

95

Давайте начнем анализ, взглянув на время MACB. MACB (modified,
accessed, changed, born) – это юридический термин, обозначающий
время модификации, последнего доступа, изменения и создания.
В данном случае эти данные сообщают, когда я загрузил файл из своей электронной почты:
root@kali:~/Documents# exiftool IMG_4438.JPG
ExifTool Version Number : 11.65
File Modification Date/Time : 2019:09:14 00:41:45-04:00
Далее, после типа файла вы видите марку и модель камеры, а также
ориентацию устройства при съемке и не использовалась ли вспышка:
File Type
: JPEG
JFIF Version
: 1.01
Exif Byte Order
: Big-endian (Motorola, MM)
Make
: Apple
Camera Model Name
: iPhone X
--сокращено--

Поле программного обеспечения также невероятно важно, потому
что в этом случае оно сообщает нам версию Apple iOS, на которой работает телефон, сделавший снимок:
Software
Create Date
--сокращено-Scene Type
Custom Rendered

: 12.3.1
: 2019:08:03 11:39:02
: Directly photographed
: Portrait HDR

Далее вы видите марку и модель объектива. Это примерно то же
самое, что марка и модель камеры. В данном случае можно увидеть,
что использовалась задняя двойная камера iPhone X и что она находилась в северном и восточном полушариях (скорее всего, в Европе
или некоторых частях Азии):
Lens Info
Lens Make
Lens Model
GPS Latitude Ref
GPS Longitude Ref
GPS Altitude Ref
GPS Speed Ref
GPS Speed

:
:
:
:
:
:
:
:

4-6mm f/1.8-2.4
Apple
iPhone X back dual camera 6mm f/2.4
North
East
Above Sea Level
km/h
0.2333080322

Направление изображения (image direction) – это направление
(от 0,000 до 359,99º), в котором был ориентирован объектив:
GPS Img Direction Ref : True North
GPS Img Direction
: 221.1058655
--сокращено--

96

Глава 6

Digital Creation Time : 11:39:02
Digital Creation Date : 2019:08:03

В последнем блоке данных вы можете увидеть, как долго телефон
не заряжался, высоту, широту и долготу:
Image Size
:
Megapixels
:
Scale Factor To 35 mm Equivalent:
Shutter Speed
:
Create Date
:
Date/Time Original
:
GPS Altitude
:
GPS Latitude
:
GPS Longitude
:
Date/Time Created
:
Digital Creation Date/Time
:

4032x3024
12.2
8.7
1/163
2019:08:03 11:39:02.291
2019:08:03 11:39:02.291
16.6 m Above Sea Level
51 deg 22’ 4.87” N
0 deg 12’ 37.68” E
2019:08:03 11:39:02
2019:08:03 11:39:02

Это позволяет вам установить место, где был сделан снимок, с
помо­щью картографического приложения. Например, если это была
фотография разблокированного компьютера с Windows 7 на столе, по
координатам можно было узнать адрес объекта, где был сделан снимок, а также возможную компанию, в офисе которой был сделан снимок.
Давайте попробуем это сделать. Скопируйте широту и долготу, а
затем поместите их в Google Maps, и вы получите изображение, показанное на рис. 6.3.

Рис. 6.3. Изображение Google Maps для широты и долготы, взятых из данных EXIF

Этот пейзаж подтверждает, что снимок был сделан недалеко от гос­
тиницы Plough Inn на берегу реки Дарент в Эйнсфорде, Англия.
Сбор OSINT о людях

97

Анализ социальных сетей без инструментов
В этом разделе я расскажу о наиболее полезных аспектах распространенных платформ социальных сетей для сбора OSINT. В целом вы
должны сосредоточиться на привычках, культуре и связях. Привычки включают в себя то, как часто пользователи публикуют сообщения, термины, используемые ими, и подобное поведение. Культура
включает в себя нормы, которым следует человек или организация.
Контакты или другие пользователи в сети жертвы – это особая вещь.
Я противник использования личных аккаунтов и друзей целевого
объекта, потому что эти учетные записи не принадлежат компании,
которая вам платит.

LinkedIn
В LinkedIn проверьте, является ли ваша цель участником LinkedIn
Open Networker (LION) или кем-то, кто отвечает за ответ на запросы
установления контакта. Также составьте список коллег. Посмотрите
на их информацию, которая, вероятно, будет включать в себя некоторые достижения. Вы также можете найти адреса электронной почты
или ссылки на другие сайты социальных сетей.

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

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

Twitter
Что касается элементов управления конфиденциальностью, у Twitter
есть только три варианта: защищенный/заблокированный, заблоки-

98

Глава 6

рованный и по умолчанию. Первый режим позволяет пользователю
указывать, кто может видеть его твиты. Он отличается от заблокированного; если один пользователь блокирует другого, но не имеет
параметра «защищено/заблокировано», заблокированный пользователь все равно может видеть чужие твиты из другой учетной записи. Если они защищены, то для просмотра нужно подать запрос на
утверждение. Настройка по умолчанию показывает все твиты всем
желающим, если они не заблокированы или не отключены. Twitter
особенно полезен для сбора информации об общественных деятелях,
технологах, первопроходцах новых технологий, политических экспертах и спортивных болельщиках.

Пример из практики: неожиданно
информативный ужин
Некоторое время назад я ужинал в местном ресторане. Я сидел рядом с двумя женщинами, которые, судя по их разговору, общались
так, будто старые друзья болтают после долгой разлуки. Первая
женщина – назовем ее Ванда – преимущественно задавала вопросы, в то время как другая – Тэмми – бесцеремонно делилась информацией.
Ванда спросила Тэмми, где она работает, и Тэмми назвала имя
компании, а также рассказала, как оно появилось (это была вариация
имени владельца). Она сказала, что проработала там пять лет, а затем
объяснила, чем занимается в компании, пояснив, что это была пекарня. Она продолжала без умолку рассказывать о своих разочарованиях
и триумфах.
Ванда спросила Тэмми, замужем ли она еще. Тэмми рассказала о
своем бывшем парне Стивене и их совместной опеке над Лейфом. Она
также упомянула маму Стивена, которая жила в Талсе, а затем сказала
Ванде, что мама Стивена немного боялась Лейфа. Мне стало интересно: почему вдруг бабушка боялась своего внука? Подожди, подумал я.
Возможно, Лейф – это не ребенок. Конечно же, Ванда спросила, хочет
ли Тэмми настоящих детей и какой породы Лейф. Тэмми рассказала о
своих проблемах со здоровьем, а затем сообщила подруге, что Лейф –
годовалый дворняга.
Наконец, Тэмми рассказала о своем новом парне Дике и его карьере
комика. Ванда спросила, как Дик относится к тому, что Тэмми делит
Лейфа с бывшим парнем, и та ответила рассказом о Дике и Стивене,
которые с Лейфом вместе ходили на концерты.
Этот разговор выглядел достаточно безобидным, но вот что я узнал
и как.
Имя владельца пекарни
Я нашел название пекарни, затем изучил комментарии с ответами и рейтингами на Facebook.
Сбор OSINT о людях

99

Имя дочери владельца пекарни и работника
Я просмотрела фотографии пекарни, а затем нашел аккаунты
владельцев в Facebook.
Имя зятя владельца
Опять же, через публичные аккаунты владельца.
Полное имя Тэмми
Я проявил творческий подход и начал читать отзывы о пекарне
в Facebook. Узнав из разговора, что Тэмми начала работать в пекарне пять лет назад, я поискал отзывы за этот период. Я нашел
пятизвездочную оценку без текста и узнал отправителя по ее
аватарке.
Личность Дика, бойфренда
Я посмотрел фотографии и статус отношений Тэмми на Facebook,
а затем подтвердил вывод, используя статус отношений и профессию, указанные на странице Дика в Facebook.
Личность Стивена, бывшего парня
У Тэмми было трое друзей на Facebook по имени Стивен, но только у одного из них мать жила в Талсе. Я подтвердил это открытие,
просматривая фотографии и найдя Лейфа (кстати, очень уродливого пса).
Домашний адрес Тэмми и Дика и фотографии дома
Наряду с подсказками на их страницах в Facebook я проверил
запи­си о свойствах изображений при помощи Melissa Property
Data Explorer и Google Street View.
В чужих руках эта информация может стать поводом для кражи
личных данных, вторжения в дом или чего похуже. Как этого можно
было избежать?
Я мог бы и не слушать. Но как только вы погрузитесь в OSINT и
социальную инженерию, вам будет трудно отключиться даже вне
офиса.
zz Тэмми и Ванда могли бы раскрывать меньше подробностей или
говорить тише. Тэмми, Дик, Стивен и Ванда могли бы использовать более строгие настройки приватности в своих социальных сетях. Все стороны могли бы говорить и публиковать более
размывчатую информацию или использовать дезинформацию,
чтобы сбить социальных инженеров со своего следа.
zz

Вывод
Целью сбора OSINT в отношении конкретных людей является лучшее
понимание угроз, которые сотрудники представляют своему работодателю, и потенциальное установление взаимопонимания с ними в

100

Глава 6

ходе мероприятий по социальной инженерии. Есть несколько источников OSINT частных лиц, включая фотографии, списки друзей, социальные сети и обычные вещи, такие как адреса электронной почты,
имена пользователей и IP-адреса. Чтобы использовать эти инструменты с соблюдением этических норм, относитесь к ним как к средст­
ву узнать больше о компании, а не об отдельном человеке. Помните:
держитесь подальше от использования личных аккаунтов.

Сбор OSINT о людях

101

7

ФИШИНГ

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

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

ТЗ, контракта и желаний клиента. Например, если клиент хочет, чтобы вы измерили, сколько сотрудников нажимают зловредную ссылку
в электронном письме, все, что вам нужно, – это простой веб-сервер,
который перехватывает HTTP-запросы GET и отображает пользователю страницу 404 или страницу благодарности. Ответы будут храниться в журнале Apache.
Но стоит углубиться в задачу, и все становится сложнее. Клиент
хочет, чтобы вы идеально точно имитировали целевую страницу-ловушку, или можно состряпать страницу буквально на коленке? Вы
можете подделать законный домен, отправив электронное письмо и
манипулируя информацией, отображаемой получателю, чтобы она
выглядела так, как будто получена из законного источника, но подделку легко обнаружить.
Сквоттинг (захват домена) дает более достоверную приманку
для жертвы, и у вас меньше шансов быть пойманным. Сквоттинг
включает в себя регистрацию домена, аналогичного домену компании, но в другой доменной зоне. Например, фишинговый домен
может быть зарегистрирован в зоне .co, .uk, хотя законный домен
компании зарегистрирован в зоне .com. Это создает у получателя
впечатление, что ваши электронные письма исходят из законного
домена – по крайней мере, для тех, кто не присматривается слишком внимательно.
Далее, хотят ли ваши клиенты, чтобы вы собирали учетные данные
пользователей или другую конфиденциальную информацию, например вопросы о сбросе пароля? В этом случае ваше электронное письмо должно содержать ссылку на веб-страницу, которая убедительно
запрашивает эту информацию. Или ваши клиенты хотят, чтобы вы
рассылали вредоносные документы? Если это так, нужно будет создать эти документы и найти место для их размещения, где их не заблокируют системы безопасности.
А может, клиенты хотят, чтобы вы использовали автоматизированное решение для фишинга, такое как King Phisher или Gophish? Если
вы регулярно пользуетесь фишингом, у вас, скорее всего, уже есть настроенные автоматические инструменты, но, даже если это так, вам
может потребоваться внести некоторые изменения или разработать
свой собственный дизайн электронной почты. Самые успешные социальные инженеры хорошо разбираются как в технических аспектах
архитектуры, так и в человеческом факторе, который делает их атаки
успешными.
В этой главе вы создадите изощренную фишинговую атаку, предназначенную для обмана пользователей и уклонения от обнаружения.
Настроив свой собственный VPS, сервер электронной почты и целевую страницу, вы сможете отправлять электронные письма, которые
выглядят так, будто приходят с законного адреса электронной почты
компании. В теле письма вы добавите ссылку, направляющую пользователей на веб-страницу и предлагающую им ввести свои учетные
данные.
Фишинг

103

Настройка защищенного экземпляра VPS
для фишинговых целевых страниц
Независимо от того, чем вы занимаетесь, вам почти всегда понадобится экземпляр VPS. Через VPS можно разместить целевую страницу
и запустить почтовый сервер, если захотите, и все это без привязки
атаки к вашему личному IP-адресу.
В этом разделе я покажу, как настроить безопасный VPS с помощью
DigitalOcean, компании, занимающейся облачной инфраструктурой,
которая позволяет вам использовать свои услуги для исследований в
области безопасности. Дроплеты, представляющие собой экземпляры машин DigitalOcean VPS, требуют относительно низкую помесячную оплату и поставляются с резервными копиями, моментальными
снимками, томами хранилища, DNS, CDN, балансировкой нагрузки,
приложениями в один клик и сетевыми брандмауэрами. Вы можете
выбирать из множества операционных систем Linux и BSD, контейнеров и предварительно загруженных приложений, таких как Node.js,
LAMP, WordPress, GitLab и Docker.
Обратите внимание, что у DigitalOcean есть центры обработки данных в Нью-Йорке, Сан-Франциско, Торонто, Бангалоре, Амстердаме,
Франкфурте, Лондоне и Сингапуре. Эти местоположения могут иметь
значение, поскольку некоторые регионы фильтруют определенный
контент, а некоторые компании фильтруют трафик в зависимости от
страны.
В идеале вы должны настроить свой VPS с вашим доменом и
веб-сервером как минимум за две недели до взаимодействия с жертвой. Это связано с тем, что некоторые платформы безопасности почтовых серверов отклоняют всю почту с доменов, которым меньше
двух недель.

Создание учетной записи DigitalOcean и дроплета
Чтобы настроить дроплет DigitalOcean, вам необходимо создать
учетную запись. Перейдите на https://www.digitalocean.com/ и следуйте инструкциям по регистрации на этой странице. Я рекомендую включить
двухфакторную аутентификацию для вашей учетной записи, чтобы
никто не мог получить доступ, если они взломают ваш пароль.
После входа в систему выберите Create  Droplet (Создать  Дроп­
лет). Выберите желаемую операционную систему. Я рекомендую использовать Kali или Debian Linux. Затем измените размер дроплета,
чтобы определить количество процессоров и объем оперативной
памяти, который он должен использовать. Чем больше соединений будет иметь дроплет, тем больше вычислительной мощности
ему потребуется. Для небольшой атаки, рассчитанной, скажем, на
150 пользователей, вполне достаточно стандартного дроплета. Затем
вы можете включить IPv6, частную сеть, резервное копирование или
собст­венный ключ RSA. Также можете добавить имя хоста или запус­
тить несколько дроплетов.

104

Глава 7

После создания дроплета вы должны увидеть его IP-адрес.
DigitalOcean отправит вам по электронной почте исходные учетные
данные администратора (root) для хоста, а также IP-адрес. Если вы загружаете пару ключей SSH, как описано в следующем разделе, можете
использовать эту информацию для входа в систему. Если вы этого не
сделаете, DigitalOcean отправит вам по электронной почте временный пароль root, но будет предложено изменить его после первого
входа в систему.

Создание пары ключей SSH для защиты VPS
Наличие надежного метода аутентификации важно, потому что
этот сервер подключен к интернету. Когда я использовал DigitalOcean
для запуска приманок – преднамеренно уязвимых систем, созданных
с целью атак, позволяющих исследователям изучать методы и поведение злоумышленников или предупреждающих администраторов
о скомпрометированной системе, – хосты были забиты сканерами и
потенциальными эксплойтами.
Чтобы злоумышленники не смогли взломать ваш пароль, создайте пару ключей SSH. Такая пара ключей, также известная как пара
ключей RSA, представляет собой закрытый и открытый ключи RSA,
используемые для входа в систему. Скопируйте закрытый ключ (по
умолчанию id_rsa) в свою удаленную систему и открытый (по умолчанию id_rsa.pub) в файл authorized_keys, чтобы разрешить вход в систему. Ключи SSH позволяют отключить аутентификацию по паролю.
Сначала выполните следующую команду в своем терминале:
ssh-keygen -t rsa
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
cat ./.ssh/id_rsa.pub > ./.ssh/authorized_keys

Команда ssh-keygen создает пару ключей. По умолчанию они появляются в каталоге /root/.ssh на VPS. Вы можете записать ключи в
определенное место, передав в команде ssh-keygen параметр -C /path/,
а затем желаемый путь к файлу. Также можете ввести парольную фразу с ключом SSH, чтобы создать второй фактор аутентификации. Вам
будет предложено ввести парольную фразу при создании пары ключей. Если не хотите ее использовать, нажмите Enter, чтобы продолжить.
Потребуется доступ к паре ключей VPS в системе, которую вы будете использовать для управления VPS. Для этого примените протокол
защищенного копирования (Secure Copy Protocol, SCP) или клиент SCP.
Если вы находитесь на хосте Windows, можете использовать WinSCP,
эмулятор терминала, который позволяет пользователям Windows напрямую подключаться к хостам Linux через FTP, SSH и Telnet. Если вы
Фишинг

105

на хосте Mac или Linux, можете использовать клиент SCP, такой как
собственный терминал, iTerm2, Cyberduck или Termius. Это позволит
вам перемещать ключи RSA в дроплет и из него. Также можно использовать клиент SCP позже для перемещения объектов, таких как файлы, в дроплет и из него.
Чтобы скопировать файлы с помощью WinSCP, войдите в систему
VPS, используя созданные вами учетные данные (пароль или пару
ключей RSA), и перетащите файлы в любом направлении из графического интерфейса. Нужно будет убедиться, что у вас есть правильные
разрешения для вашего файла. Запустите команду chmod 600 имя_файла_
частного_ключа, чтобы убедиться, что у вас установлены правильные
разрешения.

Настройка удаленного доступа Windows к VPS
После того как вы перенесли ключ RSA на свою рабочую станцию,
установите клиент, который предоставит удаленный доступ к вашему VPS. Удаленный доступ нужен, чтобы настроить на VPS страницу
лендинга и любые дополнительные сервисы, такие как почтовые серверы.
В Windows вы можете получить удаленный доступ с помощью инструмента PuTTY. Загрузите PuTTYgen с веб-сайта PuTTY по адресу
https://www.putty.org/. Затем создайте файл закрытого ключа PuTTY (PPK)
для использования в PuTTY и WinSCP, импортировав закрытый ключ
RSA в программное обеспечение. В окне генератора ключей PuTTY
нажмите Generate (Сгенерировать) (рис. 7.1).

Рис. 7.1. Окно PuTTYgen

106

Глава 7

Импортируйте ключ id_rsa с хоста в PuTTYgen. Вы должны увидеть
ключ, сгенерированный в формате PPK, как показано на рис. 7.2.

Рис. 7.2. Создание ключа PPK

Затем загрузите ключ в сеанс PuTTY. Для этого добавьте свое имя
пользователя или IP-адрес вашего дроплета в поле Host Name (or IP
Address) (Имя хоста или IP-адрес), как показано на рис. 7.3.

Рис. 7.3. Конфигурация PuTTY
Фишинг

107

Затем выберите пункты меню Connection  SSH  Auth (Подключение  SSH  Авторизация) на левой панели (рис. 7.4). Введите путь
к файлу PPK в поле Private key file for authentication (Файл закрытого ключа для аутентификации). Наконец, нажмите Session (Сеанс)
в верхней части левой панели, а затем дайте экземпляру имя и сохраните его. Чтобы подключиться к хосту, нажмите Open (Открыть).

Рис. 7.4. Настройка PuTTY для использования PPK

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

Настройка удаленного доступа macOS или Linux к VPS
Если вы получаете доступ к VPS из операционной системы macOS
или Linux, придется сначала скопировать закрытый ключ RSA либо
через SCP, либо через копирование и вставку. Вы можете сделать это
из терминала. Введите следующую команду, чтобы скопировать ключ
(в этом примере я скрыл свой IP-адрес):
root@******:~/.ssh# scp root@***.***.***.***:/root/.ssh/id_rsa ./id_rsa

Если вы используете инструмент удаленного доступа, такой как
Termius, платное приложение, позволяющее сохранять сеансы SSH, не
нужно будет копировать файл, но придется скопировать и вставить
содержимое файла в свое хранилище ключей. Для этого выполните
следующую команду:

108

Глава 7

root@******:~#cat ./.ssh/id_rsa

Если вы используете терминал для подключения через SSH, выполните следующую команду, чтобы получить доступ:
root@******:~# chmod 600 id_rsa

root@******:~# ssh -i id_rsa root@***.***.***.***

Если все работает правильно, вы увидите приглашение на VPS, показывающее последний вход в систему и все пакеты, которые необходимо обновить. Если ключ настроен неправильно, вы увидите сообщение об ошибке, указывающее, что пошло не так.

Отключение аутентификации на основе пароля
Теперь, когда подключение установлено, примите меры, чтобы
убедиться, что ваш VPS остается безопасным. Во-первых, уберите
возможность входа в саму систему по паролю. (Это не повлияет на
какие-либо веб-приложения, установленные позже.) Каждому, кто
войдет в систему на этом VPS, потребуется закрытый ключ RSA, который чрезвычайно сложно (если не невозможно) взломать, в отличие
от паролей.
Убедитесь, что файл authorized_keys содержит открытый ключ, который вы создали ранее, выполнив следующую команду:
root@******:~# cat id_rsa.pub >> ./.ssh/authorized_keys

Откройте файл sshd_config в текстовом редакторе и измените
#PasswordAuthentication yes на PasswordAuthentication no.
Для этого выполните следующую команду:

root@******:vi /etc/ssh/sshd_config

Сохраните файл, затем перезапустите SSH. Вам нужно будет определить ключ в вашей команде ssh для подключения к VPS:
root@******:chmod 600 key_file
root@******:ssh -I key_file user@VPS_IP_address

Затем введите парольную фразу, если вы ее создали.

Установка брандмауэра
Далее нужно установить брандмауэр для ограничения портов на
VPS, к которым может получить доступ приложение, и хостов, которые
Фишинг

109

могут получить доступ к VPS. Это предотвратит подключение ботов,
сканирующих уязвимости, и злоумышленников к VPS, предотвращая
побочный ущерб. Установите Uncomplicated Firewall (ufw), если он еще
не установлен:
root@******:apt-get install ufw

Теперь убедитесь, что вы можете получить доступ к брандмауэру,
выполнив команду ufw enable. Следующие шаги создают новые правила для управления входящим и исходящим потоком данных на вашем
VPS:
root@******:ufw allow from your_IP_address to any
root@******:ufw allow from any to your_IP_address
root@******:ufw enable

Вы можете запустить брандмауэр на определенном порту, а не
на всех, добавив port номер_порта к IP-адресу источника или получателя.
Чтобы настроить брандмауэр, войдите в DigitalOcean и перейдите
в меню Networking (Сеть) на левой панели. Далее выберите Firewalls
(Брандмауэры). Если у вас уже есть брандмауэр, подключенный к
DigitalOcean, выберите его из списка, как показано на рис. 7.5.

Рис. 7.5. Настройка брандмауэра DigitalOcean

Если у вас еще нет брандмауэра, нажмите зеленую кнопку Create
(Создать) и выберите Firewall (Брандмауэр) в раскрывающемся списке. Это должно привести вас на страницу, показанную на рис. 7.6, которая предложит вам создать правила для входящих подключений.

110

Глава 7

Это правило определяет, как VPS будет взаимодействовать с входящими соединениями. Правило исходящих подключений определяет,
как VPS будет вести себя при попытке подключения к другим хостам.

Рис. 7.6. Создание брандмауэра DigitalOcean

Поскольку можно использовать этот хост для фишинга, вы, вероя­
тно, захотите, чтобы веб-сервер был общедоступным. В зависимости
от вашего контракта с клиентом можно ограничиться хостами в их
диапазонах IP-адресов. Также рекомендуется ограничить диапазоны
входящих IP-адресов, если вы используете сервер для размещения
вредоносных скриптов для фишинга. Это помешает поисковым роботам и фирмам, занимающимся поиском угроз, просматривать ваш
веб-сайт и находить его – быстрый способ оказаться в черных списках и в рассылках информации об угрозах, используемых системами
обнаружения вторжений, программами SIEM и другими защитными
технологиями.
Чтобы предоставить доступ к вашему серверу только определенному диапазону IP-адресов, создайте правило входящих подключений
для HTTP на TCP-порту 80 и HTTPS на TCP-порту 443, принимая входящие подключения All IPv4 (все IPv4) и All IPv6 (все IPv6), если не
применяются предыдущие условия. Обязательно создайте входящее
правило, позволяющее подключаться к хосту с помощью SSH с любых
IP-адресов, которые вы используете лично.
Образ системы от вашего провайдера VPS может быть не полнос­
тью обновлен. Чтобы обновить систему Linux, выполните следующие
команды:
apt-get update -y; apt-get upgrade -y; apt-get dist-upgrade

Фишинг

111

Команда apt-get update дает вам список обновленных пакетов,
apt-get upgrade выполняет обновления, а apt-get dist-upgrade обновляет ядро, а также программные зависимости. Переключатель -y авто­
матически дает утвердительный ответ на большинство запросов, которые вы можете получить.

Выбор платформы электронной почты
Теперь, когда у вас есть VPS, нужно выбрать, какой сервис вы будете
использовать для отправки электронной почты. Хотя можно использовать бесплатную учетную запись электронной почты от популярных сервисов типа Gmail, это может вызвать подозрения, если вы
выдаете себя за авторитетную личность. Бесплатные учетные записи
электронной почты могут работать для определенных атак, например нацеленных на HR, в которых вы притворяетесь кандидатом на
работу. Однако в большинстве случаев лучше использовать платный
домен, поэтому вам потребуется настроить почтовый сервер.
Доступные сервисы используют несколько протоколов для отправки почты, каждый из которых имеет свои сильные и слабые стороны. С точки зрения выбора протоколов исчерпывающим ресурсом
является запись в блоге «Управляемая передача файлов и сетевые
решения» Джона Карла Вильянуэвы (https://www.jscape.com/blog/smtp-vsimap-vs-pop3-difference). Существуют следующие основные протоколы
электронной почты.
Простой протокол передачи почты (Simple Mail Transfer
Protocol, SMTP).
Определен в RFC 5321. По умолчанию использует порт 25. Он также может использовать порт 587 и порт 465.
zz Протокол доступа к сообщениям в интернете (Internet
Message Access Protocol, IMAP).
Определен в RFC 3501. Использует порт 143 (или 993 для соединений SSL/TLS).
zz Почтовый протокол v3 (Post Office Protocol v3, POP3).
Определен в RFC 1939. Использует порт 110 (или 995 для соединений SSL/TLS).
zz

Если вы планируете подделать свою электронную почту, следует
использовать SMTP. POP3 и IMAP4 не поддерживают спуфинг, но будут работать со сквоттингом. Если у вас есть право самостоятельно
решать, какой сервер электронной почты использовать для себя, можете использовать один из нескольких вариантов.
Dovecot
Почтовый сервер IMAP и POP3 с открытым исходным кодом для
Linux/Unix-подобных систем. Он легкий, т. е. использует мало
памяти и не нагружает процессор. Как и в случае с любым про-

112

Глава 7

граммным обеспечением, вы должны поддерживать безопасную
конфигурацию и обновлять систему, чтобы оставаться в безопасности. Если вам нужны спорадические, небольшие объемы фишинга, его обслуживание может не стоить затраченных усилий
и времени, даже если программное обес­печение бесплатное. Но
если вы осуществляете фишинг с большого пула доменов или отправляете электронные письма несколько раз в день, этот сервер
может оказаться разумным и экономичным решением. Поскольку Dovecot не поддерживает SMTP, он не поддерживает спуфинг.
Вы можете использовать Dovecot для атак на скорую руку.
Sendmail
Один из первых почтовых клиентов интернета, впервые выпущенный в 1983 году. Он реализует SMTP и в настоящее время
поддерживается консорциумом Sendmail и Proofpoint, компанией по предупреждению и предотвращению фишинга. Те же соображения, что и для Dovecot, существуют и для Sendmail. Хотя
Sendmail является программным обеспечением с открытым исходным кодом, его служба поддержки пытается предотвратить
фишинг, что может помешать социальной инженерии. Поскольку Sendmail использует SMTP, вы можете использовать его как
для спуфинга, так и для сквоттинга.
Облачная электронная почта
Microsoft 365 – это облачная служба электронной почты Microsoft,
а Google Workspace – облачная корпоративная электронная почта Google. Обе услуги взимают плату из расчета за пользователя, за месяц или за год и доступны из любого места, где есть подключение к интернету. Обе службы поддерживают SMTP, POP3
и IMAP4, хотя по умолчанию они используют IMAP. Вы можете
привязать Microsoft 365 или Google Workspace к любому принадлежащему вам домену, реализуя таким образом сквотинг (но не
спуфинг).
Google Mail (Gmail)
По моему опыту Google не позволит вам отправлять вредоносное ПО (даже документы Office с поддержкой макросов) по
электронной поч­те или с Google Диска. Однако Google не отключит ваш аккаунт, если вы будете заниматься фишингом. На
момент написания этой книги вы можете получить доступ к
Google Workspace для своих доменов через Namecheap, Bluehost,
SiteGround или GoDaddy примерно за 6 долл. США на пользователя в месяц. Большинство фишинговых доменов используется
по принципу «поджигай и уходи», что означает для одного экземпляра фишинга для каждого клиента. Если вы единственный
человек, занимающийся фишингом, вам нужно платить только
за одного пользователя. Если это так, вы, скорее всего, заплатите
не более 6 долл. за клиента за фишинг.
Фишинг

113

ПРИМЕЧАНИЕ
С формальной точки зрения использование этих облачных провайдеров в рамках фишинговых операций является нарушением их Условий обслуживания. Разработайте план на случай непредвиденных обстоятельств, если вас поймают и забанят.

При выборе одного из этих вариантов помните о следующих соображениях. Во-первых, спуфинг легко обнаружить, и многие почтовые
системы имеют встроенную логику для его обнаружения. Кроме того,
некоторые приложения, независимые от почтовых систем, такие как
Exchange, Proofpoint и Mimecast, могут проверять электронную почту
и предотвращать спуфинг. С другой стороны, даже если ваша цель
реализует инструменты защиты от фишинга, такие как Sender Policy
Framework (SPF), Domain Keys Identified Mail (DKIM) или Domain-based
Message Authentication, Reporting and Conformance (DMARC), вы все
равно можете успешно применять опечатки в имени домена. SPF,
DKIM и DMARC – это технические решения, направленные на предотвращение спуфинга. На самом деле, если они реализованы, они предотвращают подделку вашего домена другими сторонами, поэтому
их стоит внедрить для вашей репутации, но они мало что делают для
предотвращения подмены вашей организации.
Сквоттинг также может обходить такие технологии, как Mimecast,
которые пытаются перехватывать фишинговые электронные письма,
просматривая статистику в самих электронных письмах, а также возраст и репутацию домена, отправляющего электронную почту. Если
отправляющий домен не имеет плохой репутации и не использует
решения, явно связанные с фишингом, вы сможете пройти через эти
фильтры, если только администраторы не установили какие-либо особые правила. Даже если у цели есть SPF или другое решение, отправка почты с использованием облачных сервисов, таких как Google Mail
(для доменов) и Microsoft 365, часто будет обходить их фильтры, поскольку почтовым серверам Google и Microsoft почти всегда доверяют.
В-третьих, автоматизированные решения для фишинга имеют
несколько способов интеграции с почтовыми службами, такими как
Dovecot, Sendmail или облачными провайдерами. Однако автоматизированные решения могут помещать в сообщения электронной почты код, водяные знаки или подписи, способные обнаруживать фильтры и другие защитные инструменты.
Перед настройкой почтового сервера вам необходимо создать для
него правила брандмауэра в DigitalOcean и обновить UFW в своем дроплете, указав информацию о протоколах (SMTP, IMAP или POP3), которые вы используете для связи. Используйте шаги, описанные далее в
разделе «Настройка инфраструктуры фишинга и веб-сервера», чтобы
создать правила брандмауэра для выбранного вами почтового сервера.

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

114

Глава 7

жертв, нажавших на ссылку в вашем электронном письме, и один
для размещения сайта, с которого вы будете отправлять фишинговое
электронное письмо. Домен целевой страницы может быть дешевым,
например очень дешево стоят домены .tech или .info. В ссылке вы будете использовать длинное имя субдомена, поэтому сделать ее легитимной не так важно.
Домен, применяемый для отправки электронной почты, должен
быть одним из наиболее известных доменов верхнего уровня, таких
как .com, .net, .org, .io или .us. Моя основная рекомендация – убедиться, что вы покупаете его с включенной конфиденциальностью,
чего не позволяют домены .us. Конфиденциальность домена – это услуга, предлагаемая регистраторами доменов, которая позволяет вам
указывать анонимные данные в качестве контактной информации
WHOIS вашего домена. Таким образом, люди не смогут связать лично
вас с доменом. Если произойдет что-то, о чем нужно будет вас уведомить, регистратор будет действовать в качестве посредника между
вами и отправителем. Вы же не хотите, чтобы ваше имя или имя вашего работодателя ассоциировались с фишинговым доменом, иначе
специалисты по анализу угроз отследят и внесут в черные списки все
ваши домены и сайты.
Приобретя домен, с которого будет осуществляться фишинг, прикрепите его к выбранной вами почтовой платформе на платформе
хостинга и следуйте инструкциям, чтобы получить к нему доступ.
Если вы занимаетесь более сложным фишингом, рассмотрите возможность реализации технического контроля электронной почты
(например, SPF, DKIM или DMARC) в своем домене, так как вы будете
заниматься сквотингом, а не подменой.

Настройка инфраструктуры фишинга и веб-сервера
Теперь, когда у вас есть экземпляр VPS и служба электронной почты,
нужно настроить веб-сервер, который будет получать входящие соединения, собирать учетные данные, размещать вредоосные сценарии и выполнять все остальное, что вам нужно сделать, чтобы успешно провести атаку. В этом разделе я покажу вам, как использовать
Apache, бесплатный программный пакет веб-сервера с открытым
исходным кодом. Apache хорошо документирован и довольно прост
в использовании.
Чтобы установить Apache, выполните следующие команды:
root@********:~# apt-get update -y
root@********:~# apt-get install apache2 -y

После завершения установки убедитесь, что Apache находится в
списке разрешенных процессов/служб UFW, введя следующую команду:
ufw app list
Фишинг

115

Теперь вам нужно свести к минимуму диапазон IP-адресов, которые могут получить доступ к экземпляру Apache, чтобы предотвратить доступ третьих лиц к вашему серверу. Я рекомендую разрешить
IP-адрес, с которого вы будете подключаться к VPS, любые IP-адреса
для тестирования или контроля качества, а также диапазон IP-адресов вашей целевой организации (в идеале указанный в письменной
форме вашим контактным лицом по вопросам безопасности в конт­
ракте). Чтобы ограничить свой сервер этим диапазоном, выполните
следующие команды:
ufw allow from IP_address or CIDR to any port web_port; 80 or 443
ufw enable

Проверьте статус с помощью команды ufw status:
root@********:~# ufw status
Status: active
To
Action
------Anywhere
ALLOW
***.***.***.***
ALLOW
22
ALLOW

From
---***.***.***.***
Anywhere
***.***.***.***

Теперь, когда установка завершена, выключите Apache на время с
помощью следующих команд:
root@********:~# service apache2 stop
root@********:~# systemctl stop apache2

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

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

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

116

Глава 7

Легко добиться этого можно с помощью пикселей отслеживания, которые обычно представляют собой изображения размером
1 на 1 пиксель, уникальные для каждого пользователя и отображаемые с удаленного сайта, которым вы владеете. Затем вы можете просмотреть журналы доступа для экземпляров каждого идентификатора, подключающегося к серверу.
Добавьте в электронное письмо следующий фрагмент HTML, чтобы
настроить пиксель отслеживания: