Ми регулярно пишемо про те, як хакери часто спираються на використання
З іншого боку, мені не хотілося б демонізувати співробітників, оскільки ніхто не хоче працювати в бізнес-середовищі прямо з «1984» Оруелла. На щастя, існує низка практичних кроків і лайфхаків, які можуть значно ускладнити життя інсайдерам. Ми Роздивимось потайливі методи атаки, що використовуються хакерами співробітниками з деяким технічним бекграунд. А далі ми обговоримо варіанти скорочення таких ризиків – вивчимо як технічний, так і організаційний варіант дій.
Що поганого у PsExec?
Едвард Сноуден, справедливо чи ні, став синонімом інсайдерської крадіжки даних. До речі, не забудьте поглянути на
Навпаки, Сноуден застосував трохи соціальної інженерії та скористався своїм посадовим становищем системного адміністратора для збирання паролів та створення облікових даних. Нічого складного – жодних
Співробітники організацій не завжди знаходяться в унікальній позиції Сноудена, але з концепції «виживання на підніжному кормі» можна отримати ряд уроків, про які слід знати – не робити жодних шкідливих дій, які можна виявити, і особливо акуратно використовувати облікові дані. Запам'ятайте цю думку.
Mimikatz перехоплює NTLM-хеш у процесу LSASS, та був передає токен чи облікові дані – т.зв. «pass the hash» атака – у psexec, дозволяючи зловмиснику увійти на інший сервер від імені іншого користувача. І з кожним наступним переміщенням на новий сервер атакуючий збирає додаткові облікові дані, розширюючи спектр своїх можливостей у пошуку доступного контенту.
Коли я вперше почав працювати з psexec, він здався мені просто магічним – дякую
Перший цікавий факт про psexec полягає в тому, що він використовує надзвичайно складний мережевий файловий протокол SMB від Microsoft. За допомогою SMB psexec передає невеликі бінарні файли на цільову систему, поміщаючи в папку C:Windows.
Далі psexec створює Windows-службу за допомогою скопійованого бінарника і запускає її під вкрай несподіваним ім'ям PSEXECSVC. При цьому ви можете реально побачити все це, як і я, спостерігаючи за віддаленою машиною (див. нижче).
Візитна картка Psexec: служба "PSEXECSVC". Вона запускає бінарний файл, який був поміщений SMB в папку C:Windows.
Як фінальна стадія, скопійований бінарний файл відкриває RPC-підключення до цільового сервера і потім приймає керуючі команди (за замовчуванням – через cmd-шелл Windows), запускаючи їх і перенаправляючи введення та виведення на домашню машину атакуючого. При цьому зловмисник бачить базовий командний рядок – такий самий, якби він був підключений безпосередньо.
Безліч компонентів і дуже галасливий процес!
Складний механізм внутрішніх процесів psexec пояснює повідомлення, яке спантеличило мене під час моїх перших тестів кілька років тому: «Starting PSEXECSVC…» та подальшу паузу перед появою командного рядка.
Psexec від Impacket насправді показує, що відбувається під капотом.
Не дивно: psexec робив величезну кількість роботи «під капотом». Якщо вас цікавить докладніше пояснення, ознайомтеся з
Очевидно, що при використанні як інструмент системного адміністрування, що й було початковим призначенням psexec, нічого страшного в «дзижченні» всіх цих механізмів Windows немає. Для атакуючого, однак, psexec створить ускладнення, і для обережного та хитрого інсайдера, такого як Сноуден, psexec або схожа утиліта, буде занадто великим ризиком.
І тут приходить Smbexec
SMB - це майстерний і потайливий спосіб передачі файлів між серверами, і хакери впроваджувалися безпосередньо в SMB ще споконвіку. Вважаю, що всі вже знають, що не варто
У 2013 році на Defcon Ерік Мілман (
На відміну від psexec, smbexec уникає передачі потенційно детектованого бінарного файлу на цільову машину. Натомість утиліта повністю живе з «підніжного корму» через запуск локальної командний рядок Windows.
Ось що вона робить: передає команду від атакуючої машини через SMB в спеціальний вхідний файл, а потім створює і запускає складний командний рядок (як служба Windows), який здасться знайомим лінуксоїдам. Коротко: вона запускає нативний Windows-Шел cmd, перенаправляє виведення в інший файл і потім відправляє його по SMB назад на машину зловмисника.
Найкращим способом зрозуміти це буде вивчення командного рядка, який я зміг отримати з журналу подій (див. нижче).
Чи це найбільший спосіб перенаправлення вводу/вывода? До речі, створення служби має ідентифікатор події 7045.
Як і psexec, вона також створює службу, яка виконує всю роботу, але служба після цього видаляється – вона використовується лише один раз для запуску команди та потім пропадає! Співробітник інформаційної безпеки, який спостерігає за машиною жертви, не зможе виявити очевидних індикаторів атаки: немає ніякого шкідливого файлу, що запускається, ніякої постійної служби не встановлюється, і немає докази використання RPC, так як SMB є єдиним засобом передачі даних. Геніально!
З боку атакуючого при цьому доступний "псевдо-шелл" із затримками між відправкою команди та отриманням відповіді. Але цього цілком достатньо для роботи зловмисника – або інсайдера, або зовнішнього хакера, який вже має плацдарм, – щоб почати шукати цікавий контент.
Для виведення даних назад з цільової машини на машину зловмисника, використовується
Давайте зробимо крок назад і подумаємо, що це може дати для співробітника. У моєму вигаданому сценарії, скажімо, блогеру, фінансовому аналітику або високооплачуваному консультанту з безпеки можна використовувати власний ноутбук для роботи. В результаті якогось магічного процесу вона ображається на компанію і «пускається у всі тяжкі». Залежно від операційної системи ноутбука, вона або використовує версію Python від Impact, або Windows версію smbexec або smbclient у вигляді .exe файлу.
Як і Сноуден, вона дізнається пароль іншого користувача або підглянувши його через плече, або їй щастить, і вона натикається на текстовий файл із паролем. І з допомогою цих облікових даних вона починає копатися навколо системи новому рівні привілеїв.
Злом DCC: нам не потрібен ніякий «безглуздий» Mimikatz
У моїх попередніх постах, присвячених пентесту, я часто використовував mimikatz. Це чудовий інструмент для перехоплення облікових даних - NTLM-хешів і навіть паролів у відкритому вигляді, що причаїлися всередині ноутбуків і чекають, щоб ними скористалися.
Часи змінилися. Інструменти моніторингу стали кращими у детектуванні та блокуванні mimikatz. Адміністратори інформаційної безпеки також стали мати велику кількість опцій зі скорочення ризиків, пов'язаних з атаками «pass the hash»-типу (далі – PtH).
То що має зробити розумний співробітник, щоб зібрати додаткові облікові дані без використання mimikatz?
У набір від Impacket входить утиліта під назвою
DCC-хеші – це не NTML-хеші і їх не можна використовувати для PtH-атаки.
Ну ви можете спробувати зламати їх, щоб отримати вихідний пароль. Однак Microsoft стала розумнішою при роботі з DCC і зламати DCC-хеші стало надзвичайно складно. Так є
Натомість давайте спробуємо розмірковувати як Сноуден. Співробітник може провести очну соціальну інженерію і, можливо, дізнатися якусь інформацію про людину, пароль якої вона хоче зламати. Наприклад, дізнатися, чи зламувався колись онлайн-акаунт цієї людини і вивчити його пароль у відкритому вигляді на наявність будь-яких підказок.
І це той сценарій, яким я вирішив піти. Давайте припустимо, що інсайдер дізнався, що його керівник Круелла кілька разів була зламана на різних веб-ресурсах. Після аналізу кількох з цих паролів, він усвідомлює, що Круелла вважає за краще використовувати формат назви бейсбольної команди «Yankees» і поточним роком, що йде за ним – «Yankees2015».
Якщо ви зараз намагаєтеся відтворити це у себе в домашніх умовах, то ви можете завантажити невеликий «C»
Зображуючи роль інсайдера, я запустив кілька різних комбінацій і зрештою зміг виявити, що пароль Круелли - "Yankees2019" (див. нижче). Місія виконана!
Трохи соціальної інженерії, дещицю ворожіння та дрібку Maltego – і ви вже на шляху злому хеша DCC.
Пропоную на цьому закінчити. Ми ще повернемося до цього питання в інших публікаціях і розглянемо ще більше повільних та потайливих методів атаки, продовжуючи спиратися на чудовий набір утиліт від Impacket.
Джерело: habr.com