Атака із застосуванням соціальної інженерії – це один із найбільш вражаючих варіантів пентестингу. Але перш ніж приступити до атак, потрібно чітко засвоїти процес їх виконання на всіх етапах. Якщо ви цього не зробите, можуть виникнути проблеми із законом або, що ще гірше, ви можете завдати шкоди психічному здоров’ю об’єкта, якого атакуєте. Тут у гру вступають набори стандартних процедур, які ми далі називатимемо фреймворками. У цьому розділі ви познайомитеся з процесом взаємодії з вашим клієнтом для визначення (дотримання) обсягу завдання. Ми також розглянемо два важливі процеси для виконання OSINT та соціальної інженерії – фреймворк соціальної інженерії та цикл OSINT OODA.
(Observe-Orient-Decide-Act, спостереження-орієнтація-рішення-дія) – та обговоримо операційні системи, які ви можете використовувати для цього погодження з клієнтом. Першим кроком підготовки до атаки є координація дій із клієнтом, будь то безпосередній замовник, ваш менеджер чи інша команда у вашій компанії. Навіть після того, як ви завершили початковий процес ознайомлення із завданням, не соромтеся ставити питання, що стосуються виконання роботи. На карту можуть бути поставлені ваша репутація, засоби існування і навіть судимість, тому переконайтеся, що ви чітко знаєте, що робити можна, а чого не можна і чому це так.
На етапі ознайомлення із завданням слід тісно поспілкуватися з клієнтом, щоб точно визначити, яким буде ваше тестове вторгнення і як воно буде відбуватися. Цей етап включає з’ясування того, хто буде вашою контактною особою, а також розгляд термінів (наприклад, кількість годин, відведених на завдання; час доби, тижня або місяця, протягом якого буде проводитися тест, і періоди, коли ви не можете пройти тестування). Також слід обговорити юридичні аспекти, переконавшись, що в договорі є формулювання, які захистять вас від юридичних проблем. Ось чому розумно найняти юриста. Вам потрібні пункти договору, які страхують вас на випадок випадкового пошкодження та інших непередбачених обставин. Нарешті, обговоріть масштаб вашої атаки, наприклад, кількість дзвінків або електронних листів.
Ви та ваш клієнт повинні задокументувати результати етапу визначення області Технічного завдання (ТЗ) – частини договору, в якій чітко зазначено, що ви маєте і не уповноважені робити в рамках завдання. Переконайтеся, що в ТЗ прописані відповідні правила проведення атакуючих дій. У ньому повинні бути детально описані будь-які заборонені або рекомендовані виправдання, адреси електронної пошти, вихідні або цільові IP-адреси та інші обмеження або вимоги, що стосуються роботи.
Також переконайтеся, що ви вказані по імені в договорі і ТЗ. Найкраще назвати всіх тестувальників, які беруть участь у виконанні договору, якщо це можливо, а також компанію, в якій ви працюєте.
При визначенні обсягу завдання переконайтеся, що ваша участь в соціальній інженерії відповідає певним вимогам. Серед іншого, переконайтеся, що у вас є належний дозвіл і правовий захист на виконання соціальної інженерії і що особа, яка підписує контракт, уповноважена дати вам на це дозвіл. Якщо ви внутрішній співробітник, який тестує власну компанію,
Отримати письмовий дозвіл від керівництва. Якщо ви займаєтеся виконанням тестових замовлень від інших організацій, спробуйте оформити спеціальну страховку від помилок і упущень (E&O ), щоб захистити себе на законних підставах. E&O страхування, також зване страхуванням професійної відповідальності (страхування професійної відповідальності, PLI), покликане захистити вас від необхідності оплачувати повну вартість позову про недбалість в цивільному суді (якщо ви програєте цей суд).
Фаза ознайомлення із завданням задає тон всій взаємодії. Неправильна оцінка роботи може завдати неприємностей обом сторонам. Це може надмірно ускладнити взаємодію, змушуючи вас витрачати більше часу на телефонні дзвінки в невідповідний час або виконувати роботу неналежним чином. Неправильна оцінка завдання також може зіпсувати вашу репутацію фахівця, якщо компанія, де ви працюєте, вважатиме вас неспеціалістом. Робочий аркуш у додатку 1 допоможе вам задати правильні запитання, щоб переконатися, що у вас є вся необхідна інформація.
Визначення цілей
Після підписання договору і створення технічного завдання ще раз обговоріть з клієнтом цілі майбутнього тестування. Чи буде результат тестування використаний як обґрунтування для впровадження нових інструментів, продуктів і технологій безпеки бізнесу? Чи буде він використаний для оцінки потреб у людському капіталі? Може бути, тест потрібен якраз для перевірки дотримання внутрішніх правил компанії? Або клієнт буде використовувати його для оцінки роботи команди безпеки (наприклад, в рамках оцінки ефективності або для прийняття рішення про просування по службі)? Відповіді на ці питання не повинні впливати на те, наскільки добре ви виконуєте свою роботу, але вони повинні допомогти вам зрозуміти, чого очікувати і як будувати свої комунікації.
Визначення методів
Методи, які ви використовуєте, мають вирішальне значення для вашої участі. Чи будете ви використовувати неправильно написане доменне ім’я, дуже схоже на доменне ім’я клієнта (особливо ефективна стратегія, якщо правильне написання допускає друкарську помилку), або купите доступний домен з таким же ім’ям та іншим доменом верхнього рівня (наприклад, nostarch.us замість законного nostarch.com)? Ви будете прикидатися постачальником, клієнтом або партнером? Використовуєте завантаження шкідливих документів або просто збираєте облікові дані? Чи будете ви використовувати вішинг і фішинг разом? Клієнт хоче, щоб ви використовували автоматизоване рішення, або ви повинні надавати пріоритет ручній праці, як ми обговоримо в главі 7?
Знання технології, яку використовує ваш клієнт, і де зосередити свої зусилля, буде важливим фактором успіху атаки. Перш за все, перевірте, чи можна зібрати інформацію з відкритих джерел про технології, які використовує ваш клієнт, а потім спробуйте скористатися цією інформацією. У такого підходу є додаткові переваги: він надає клієнту метод виявлення і, можливо, приписування будь-яких інших атак, а також дозволяє перевірити, що клієнт правильно впровадив і використовував свої технології. Ваш клієнт напевно залишиться задоволений, якщо отримає більше інформації, ніж замовив.
Розробляючи приводи для взаємодії, постарайтеся знайти події в оточенні вашої жертви, які могли б бути використані проти неї. Ви можете претендувати на роботу в організації, яка надає хмарне сховище або послуги електронної пошти компанії-жертві, і запросити додаткову інформацію у зв’язку з «інцидентом безпеки». Для збору додаткових OSINT-даних можна подивитися сторінки і групи в локальних соціальних мережах.
Якщо у вас достатньо часу, купіть кілька примірників місцевих газет. Якщо ви досить близько, прогуляйтеся по місту і пошукайте листівки або плакати, що анонсують майбутні події. Чи є серед цілей спільний інтерес або мета? Можливо, комусь із співробітників подобаються піші прогулянки, біг, забіги з перешкодами або відвідування рок-фестивалів під відкритим небом? Чи є в організації команда з боулінгу або софтболу? Якщо так, то в яких лігах вони знаходяться і де грають? Проти кого вони грають?
Згадані тут міркування перетворять вашу фішингову атаку з випадкової на цілеспрямовану, що значно збільшить її шанси на успіх. Виділення часу на знайомство з жертвою та її оточенням значно полегшить вашу роботу, але обов’язково поділіться інформацією та порадами, які ви отримаєте у своєму звіті, а також у тренінгу, який вас можуть попросити провести за результатами тестування.
На основі зібраної інформації розробляйте свої сценарії і приводи. Покажіть клієнту три-п’ять кращих варіантів, і нехай він вибирає, який з них краще використовувати. По можливості підтвердьте терміни, в які буде здійснена ваша атака, але не точний час. Це тримає ваших клієнтів у напрузі та дає вам елемент несподіванки.
Хоча жоден клієнт не повинен інформувати співробітників про вибрані вами сценарії, я виявив, що це трапляється досить часто. Наприклад, в одному з моїх контрактів клієнт обмежував можливі виправдання і сценарії, а потім прописував точний час, коли я можу відправляти фішингові листи і здійснювати вішингові дзвінки. При цьому був зроблений важливий нюанс: якщо під час дзвінка мене попросили передзвонити пізніше з яких-небудь причин, я міг зробити це без додаткового узгодження.
На щастя, я зміг використати цей пункт у своїх інтересах. Під час дзвінка я створив багато дуже гучних фонових шумів і імітував розрив зв’язку. Між шумом і «відключенням телефону» мені вдалося змусити близько двох третин співрозмовників попросити мене передзвонити їм.
Використання спеціалізованих операційних систем для соціальної інженерії
Фахівці соціальної інженерії та OSINT-будівельники відрізняються тим, що використовують у своїй роботі правильні інструменти. Kali, відомий дистрибутив Linux, розроблений для тестування на проникнення, створений і підтримуваний Offensive Security, поставляється з такими інструментами, як Social-Engineer Toolkit (SET), theHarvester, Ghost Phisher, Maltego і Recon-ng. Ми обговоримо ці інструменти більш детально в наступних розділах. ОС Kali та інструменти, з якими вона постачається, є найбільш ефективними, коли використовуються як частина тесту на проникнення або взаємодії, що включає загальну соціальну інженерію без екстремального збору даних OSINT, хоча розширений збір OSINT також може бути здійснений за допомогою Kali.
Крім того, канадська некомерційна організація 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, Recon-ng, Metasploit, Metagoofil, theHarvester та деякі менш відомі сценарії та утиліти, які я змінив. VPS має власну незалежну IP-адресу, і я можу запускати нові її екземпляри з новими IP-адресами, щоб уникнути виявлення. (Я створив і заархівував образ системи Ubuntu, тому можу створювати нові копії так часто, як мені потрібно.) Я також можу підвищити безпеку свого VPS, захищаючи його – видаляючи непотрібні служби або програми, закриваючи невикористовувані порти та застосовуючи безпечну конфігурацію до системи – і використовуючи одну або кілька VPN. Ми розглянемо налаштування інфраструктури для фішингу в розділі 7.
Окремі інструменти також працюють на Windows. Деякі з них є веб-інструментами (наприклад, Netcraft, Hacker Target і OSINT Framework), до яких ви в основному отримуєте доступ з веб-браузера. Робити це з Mac або ПК може бути зручніше, ніж з Linux. Однак майте на увазі, що ви, швидше за все, потрапите в компанію, якщо будете використовувати свою особисту або навіть робочу систему для виконання цих операцій. Поки є належний дозвіл на такі дії, найгіршими сценаріями є (а) блокування та (б) додавання вашої IP-адреси до сховища загроз (краудсорсингового списку шкідливих об’єктів або характеристик, таких як адреса електронної пошти, IP-адреса, хеш файлу або домен), що означає, що ваші потенційні клієнти або жертви можуть бути попереджені про те, що IP-адреса, яку ви використовуєте, вважається «шкідливою». Використання VPS для атаки дозволяє використовувати установку тільки один раз, а потім знищити її.
Послідовні фази атаки
Всі етичні хакери зазвичай дотримуються певної послідовності фаз атаки, гарантуючи, що вся необхідна інформація збирається і використовується. Ця послідовність зазвичай складається з наступних кроків: розвідка, сканування та лістинг, отримання доступу, підтримка доступу, видалення слідів та звітність. Детальніше про ці етапи можна прочитати на сторінці https:// www.cybrary.it/blog/2015/05/summarizing-the-five-phases-of-penetration-testing/.
Коли справа доходить до соціальної інженерії, має сенс визначити дещо інший процес атаки. На рис. На рисунку 3.1 схематично зображено процес тестування на проникнення, адаптований для соціальної інженерії.
Недоліком такого підходу є те, що ви можете залишити після себе «брудний» IP-адресу, який скомпрометований вашими діями. Якщо цей IP потрапив в чорний список служб безпеки, то у наступного користувача, який отримає цю адресу, можуть виникнути серйозні проблеми. Але автор вважав за краще промовчати про це. – Примітка. перев.
Огляд
Це етап визначення області завдання соціальної інженерії, коли ви задаєте питання своєму клієнту, щоб переконатися, що у вас є вся необхідна інформація.
Розвідувальний
На етапі дослідження ви намагаєтеся визначити ключових співробітників компанії; продавців, партнерів, постачальників, використовувані технології; використовувані домени та субдомени; адреси електронної пошти та стандартний синтаксис адрес електронної пошти компанії (наприклад, ім’я та прізвище, розділені крапкою). Після того, як контракт на місію підписаний, ви можете почати розвідку в терміни, зазначені в контракті. За умови дотримання договору та проведення розвідувальних робіт відповідно до вашого часові рамки (наприклад, не витрачати 12 годин на збір OSINT по одній цілі в атаці, розрахованій на 4 години), ніяка кількість OSINT не буде зайвою. Однак ви можете виявити, що деякі організації підтримують належну безпеку операцій (OpSec), не використовуючи соціальні мережі або навіть вживаючи активних заходів для навмисного розміщення оманливої або неправдивої інформації у своїх облікових записах, щоб уникнути таких загроз. Ми називаємо цей процес активною дезінформацією.
У розділах 4, 5 і 6 я розповім вам про деякі інструменти збору даних OSINT. Майте на увазі, що хоча важливо зібрати достатньо інформації про цільову компанію
і його співробітники, ви несете відповідальність за захист даних, поки вони у вас є. Зберігати слід тільки те, що вам потрібно, не довше, ніж вам потрібно, і тільки протягом встановлених законом періодів часу.
Проектування та затвердження
Потрібен деякий час, щоб переконатися, що OSINT-інформація, яку ви збираєте, є актуальною, а потім використовувати її таким чином, щоб допомогти співробітникам організації-жертви рости і вчитися. Зрештою, навіть якщо ви намагаєтеся отримати доступ до системи або інформації, в ідеалі вас спіймають, і ви захочете, щоб клієнти вчилися на тому, що ви робите.
Етап проектування та затвердження передбачає придумування можливих приводів для встановлення контакту, які ваш клієнт повинен розглянути та затвердити. Поділіться з ними деталями виправдання, номерами телефонів, з яких ви будете дзвонити, адресами електронної пошти, з яких будете відправляти електронні листи, і часовим інтервалом, протягом якого ви плануєте почати і закінчити тест. Також поясніть свою мету. Наприклад, це може бути підрахунок кількості кліків по посиланнях в електронному листі. Або, можливо, ви спробуєте отримати конфіденційну інформацію від співробітників компанії або розгорнете шкідливе програмне забезпечення або віддалені крапельниці оболонок (програмне забезпечення, яке дозволяє віддалено підключатися та встановлювати шкідливе програмне забезпечення).
Реалізації
На етапі впровадження ви встановлюєте та налаштовуєте правильне програмне забезпечення. Він включає таку інфраструктуру, як облікові записи електронної пошти, веб-сервери, документи Microsoft Office із підтримкою макросів, шкідливі програми, USB-накопичувачі та інші приманки. Ви також можете отримати доступ до сміттєвих баків організації та зібрати документи, щоб винести їх з місця для подальшого аналізу. Ви будете використовувати приводи, схвалені вашою контактною особою на стороні клієнта, і застосовувати їх на практиці, здійснюючи фішинг, вішинг та інші атаки, зазначені в ТЗ.
Виявлення
Під час фази виявлення захисники спробують виявити ваші дії, а потім вживуть заходів, щоб зменшити їх ефективність або вплив. Залежно від масштабу атаки, захисники можуть знати, а можуть і не знати, що напад санкціоновано.
Якщо це частина роботи червоної команди, вони, швидше за все, не дізнаються заздалегідь. Хоча ця фаза здається менш захоплюючою, ніж сама атака, вона є найважливішою частиною процесу. Пам’ятайте, що ваша кінцева мета – навчити організації виявляти та пом’якшувати атаки соціальної інженерії.
Вимірювання
На етапі вимірювання ви збираєте таку інформацію, як кількість людей, які стали жертвами ваших трюків, скільки часу знадобилося для виявлення нападу, коли жертви повідомили про це, скільки таких повідомлень було та багато інших показників. Після того, як ви зібрали та проаналізували цю інформацію, вам потрібно скласти її у звіт для клієнта. Про методи вимірювань ми поговоримо в главі 9.
Складання звіту
На етапі звітності ви берете зібрані показники та об’єднуєте їх разом із технічним навантаженням, резюме ідеї та плану атаки, резюме того, як проходила взаємодія, та будь-які висновки зі збору даних OSINT або виконання завдань. Для написання звіту можна використовувати шаблон, аналогічний тому, що в додатку 2. Надішліть цей звіт клієнту на розгляд. Якщо ви вирішите зберегти копію звіту, необхідно захистити документ, оскільки інформація, яка в ньому міститься, потенційно може бути використана для атаки на клієнта.
На додаток до цього процесу соціальної інженерії, вам може бути корисно звернутися до циклу спостереження-орієнтація-рішення-дія (NORD), щоб зібрати дані OSINT, які я використовую. Цикл, показаний на рис.3.2, пропонує вам спостерігати за своїми висновками і побудувати гіпотезу (фаза орієнтації), а потім шукати додаткову інформацію, щоб спробувати підтвердити те, що у вас вже є.
Отримавши достатньо даних, ви можете вирішити, що з ними робити. Чи варто займатися фішингом або вішингом, або вам потрібно більше інформації, щоб досягти успіху? Чи достатньо у вас інформації для проведення замовленого тесту на проникнення або бою червоної команди з належним ступенем скритності? Потім, в залежності від результатів цих рішень, ви переходите до дій.
Дії можуть включати виконання атаки або написання звіту (якщо OSINT – це все, що хоче клієнт), або вони можуть ініціювати додаткові ітерації циклу NORD. Немає правильної чи неправильної відповіді; Це залежить від ваших цілей і часових обмежень, викладених у вашій клієнтській угоді.
Однак ви можете застосувати цей цикл до будь-якої атаки, будь то проникнення на веб-сервер або отримання прав адміністратора мережі.
У вересні 2019 року пара пентестерів, які працюють на Coalfire, була заарештована за спробу проникнути в будівлю суду округу Даллас в Аделі, штат Айова. Хоча конкретні подробиці про цей інцидент наразі недоступні, ми знаємо, що вони діяли в рамках тесту на проникнення, санкціонованого Судовою адміністрацією штату Айова (SCA). У заяві Ars Technica SCA визнає, що уповноважила Coalfire перевірити безпеку електронних записів суду.
Згідно з їхньою заявою, SCA не просив і не очікував, що випробувачі спробують фізично увійти до будівлі суду. Випробувачі і Coalfire стверджують, що тест на проникнення повинен був визначити вразливість записів і оцінити реакцію правоохоронних органів. Хоча такий підхід не позбавлений здорового глузду, той факт, що тестувальники провели у в’язниці кілька годин і повинні були внести заставу, свідчить про відсутність належного розуміння на етапі ознайомлення із завданням.
Виходячи з наданої інформації, пентестери могли діяти по-іншому. Рекомендую частіше спілкуватися зі співробітниками служби безпеки вашого клієнта. Якщо у вас є які-небудь питання, сміливо задавайте їх. Крім того, випробувачі повинні переконатися, що вони мають при собі нотаріально завірену копію офіційного дозволу, коли вони займаються фізичним входом в будівлю.
Як можна пом’якшити або запобігти негативним наслідкам:
Задавайте більше питань, щоб прояснити сферу своїх повноважень;
Підтримуйте робочий діалог з вашою контактною особою електронною поштою. Усне спілкування допомагає швидше досягти мети, але погано підходить для правового захисту;
Керівництво замовника має чітко вказати не лише те, що дозволено, а й те, що заборонено, у контракті та дозвільних документах. Це має бути частиною процесу підготовки договору.
Ми використовували матеріали з книги “Соціальна інженерія та етичний хакінг на практиці”, які були написані Джо Греєм.