Невимовно привабливий: як ми створили ханіпіт, який не можна викрити

Невимовно привабливий: як ми створили ханіпіт, який не можна викрити
Антивірусні компанії, ІБ-експерти і просто ентузіасти виставляють в інтернет системи-приманки — ханіпоти, щоб «зловити на живця» новий різновид вірусу або виявити незвичайну хакерську тактику. Ханіпоти зустрічаються так часто, що у кіберзлочинців виробився своєрідний імунітет: вони швидко виявляють, що перед ними пастка і просто її ігнорують. Щоб дослідити тактику сучасних хакерів, ми створили реалістичний ханіпот, який протягом семи місяців жив в інтернеті, залучаючи різні атаки. Про те, як це було, ми розповіли у нашому дослідженні.Caught in the Act: Running a Realistic Factory Honeypot to Capture Real Threats». Деякі факти з дослідження – у цьому пості.

Розробка ханіпоту: чек-лист

Головним завданням при створенні нашої суперпастки було не допустити, щоб нас викрили хакери, які виявили до неї інтерес. Для цього довелося провести велику роботу:

  1. Створити реалістичну легенду про компанію, що включає ПІБ і фото співробітників, номери телефонів і е-мейли.
  2. Придумати та реалізувати модель промислової інфраструктури, що відповідає легенді про діяльність нашої компанії.
  3. Вирішити, які мережеві сервіси будуть доступні зовні, але при цьому не захоплюватися відкриттям вразливих портів, щоб це не виглядало пасткою для простолю.
  4. Організувати видимість витоку інформації про вразливу систему та поширити ці відомості серед потенційних атакуючих.
  5. Реалізувати непомітне спостереження за хакерськими діями в інфраструктурі пастки.

А тепер про все по порядку.

Створюємо легенду

Кіберзлочинці вже звикли до того, що їм зустрічається безліч ханіпотів, тому найпросунутіша їх частина проводить поглиблене дослідження кожної вразливої ​​системи, щоб переконатися, що це не пастка. З тієї ж причини ми прагнули домогтися не лише реалістичності ханіпоту з погляду дизайну та технічних аспектів, а й створити видимість реальної компанії.

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

Ми вирішили позиціонувати фабрику-пастку як невеликий бутік промислового прототипування, який працює для великих анонімних клієнтів з військового та авіаційного сегменту. Це позбавляло нас юридичних труднощів, пов'язаних з використанням існуючого бренду.

Далі нам потрібно було придумати бачення, місію та назву організації. Ми вирішили, що наша компанія буде стартапом з невеликою кількістю співробітників, кожен із яких є засновником. Це додавало переконливості легенді про спеціалізованість нашого бізнесу, яка дозволяє йому працювати з делікатними проектами для великих та важливих замовників. Ми хотіли, щоб наша компанія виглядала слабкою з погляду кібербезпеки, але водночас було очевидно, що ми працюємо з важливими активами у цільових системах.

Невимовно привабливий: як ми створили ханіпіт, який не можна викрити
Скріншот сайту ханіпота MeTech. Джерело: Trend Micro

Як назву компанії ми вибрали слово MeTech. Сайт зробили на основі безкоштовного шаблону. Зображення взяли з фотобанків, використовуючи найнепопулярніші та допрацювавши, щоб зробити їх менш пізнаваними.

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

Невимовно привабливий: як ми створили ханіпіт, який не можна викрити
Скріншот сайту ханіпота MeTech. Джерело: Trend Micro

Щоб нас не розкрили, ми шукали групові фото гарної якості, з яких можна було вибрати потрібні нам особи. Однак потім ми відмовилися від цього варіанту, оскільки потенційний зломщик міг скористатися реверс-пошуком зображень і виявити, що наші «співробітники» живуть лише у фотобанках. Зрештою ми скористалися фотографіями неіснуючих людей, створеними за допомогою нейромереж.

Опубліковані на сайті профілі співробітників містили важливу інформацію про їхні технічні навички, проте ми уникали вказівок конкретних навчальних закладів та міст.
Для створення поштових скриньок ми скористалися сервером хостинг-провайдера, а потім орендували кілька телефонних номерів у США та об'єднали їх у віртуальну АТС із голосовим меню та автовідповідачем.

Інфраструктура ханіпоту

Щоб уникнути викриття, ми вирішили використати комбінацію із справжнього промислового обладнання, фізичних комп'ютерів та захищених віртуальних машин. Забігаючи наперед, скажемо, що результат наших зусиль ми перевірили за допомогою пошуковика Shodan, і він показав, що ханіпіт виглядає як справжня промислова система.

Невимовно привабливий: як ми створили ханіпіт, який не можна викрити
Результат сканування ханіпоту за допомогою Shodan. Джерело: Trend Micro

Як «залізо» для нашої пастки ми використовували чотири ПЛК:

  • Siemens S7-1200,
  • два AllenBradley MicroLogix 1100,
  • Omron CP1L.

Ці ПЛК були обрані за їхню популярність на світовому ринку систем керування. А ще кожен із цих контролерів використовує свій протокол, що дозволяло нам перевірити, який із ПЛК будуть атакувати частіше та чи зацікавлять вони когось у принципі.

Невимовно привабливий: як ми створили ханіпіт, який не можна викрити
Обладнання нашої "фабрики"-пастки. Джерело: Trend Micro

Ми не просто поставили залізниці та підключили їх до інтернету. Кожен контролер ми запрограмували виконання завдань, серед яких були

  • перемішування,
  • управління пальником та конвеєрною стрічкою,
  • палетування з використанням роботизованого маніпулятора.

А щоб виробничий процес був реалістичним, ми запрограмували логіку для випадкової зміни параметрів зворотного зв'язку, імітації запуску та зупинки двигунів, включення та вимкнення пальника.

На нашій фабриці було три віртуальні комп'ютери та один фізичний. Віртуалки використовувалися для управління заводом, роботом-паллетайзером і як АРМ інженер-програміст ПЛК. Фізичний комп'ютер працював файловим сервером.

Крім спостереження за атаками на ПЛК ми хотіли стежити за станом програм, завантажених на наші пристрої. Для цього ми створили інтерфейс, який дозволяв швидко визначити, яким чином було модифіковано стан наших віртуальних виконавчих механізмів та установок. Вже на етапі планування ми виявили, що набагато простіше реалізувати це за допомогою програми, що управляє, ніж через безпосереднє програмування логіки контролера. До інтерфейсу управління пристроями нашого ханіпоту ми відкрили доступ через VNC без пароля.

Промислові роботи - ключовий компонент сучасного розумного виробництва. У зв'язку з цим ми вирішили додати робота та АРМ для управління ним до складу обладнання нашої фабрики-пастки. Щоб зробити фабрику більш реалістичною, на АРМ управління ми встановили справжній софт, який інженери використовують для графічного програмування логіки робота. Ну а оскільки зазвичай промислові роботи знаходяться в ізольованій внутрішній мережі, ми вирішили залишити незахищений доступ з VNC тільки до АРМ управління.

Невимовно привабливий: як ми створили ханіпіт, який не можна викрити
Середовище RobotStudio з 3D-моделлю нашого робота. Джерело: Trend Micro

На віртуалці з АРМ керування роботом ми встановили середовище програмування RobotStudio від ABB Robotics. Налаштувавши RobotStudio, ми відкрили файл симуляції з нашим роботом так, щоб його 3D-зображення було видно на екрані. В результаті Shodan та інші пошукові системи, виявивши незахищений VNC-сервер, отримають це зображення з екрану та покажуть його тим, хто шукає промислові роботи з відкритим доступом до керування.

Сенс такої уваги до деталей полягав у тому, щоб створити привабливу та максимально реалістичну мету для зловмисників, які виявивши її, поверталися б до неї знову і знову.

АРМ інженера


Для програмування логіки ПЛК ми додали до інфраструктури інженерний комп'ютер. На нього встановили промислове програмне забезпечення для програмування ПЛК:

  • TIA Portal для Siemens,
  • MicroLogix для контролера Allen-Bradley,
  • CX-One для Omron

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

Файловий сервер

Він був потрібен нам як приманка для зловмисників і як засіб для резервного копіювання наших власних «робіт» у фабриці-пастці. Це дозволило нам обмінюватися файлами з нашим ханіпотом за допомогою USB-пристроїв, не залишаючи слідів у мережі пастки. Як ОС для файлового сервера ми встановили Windows 7 Pro, в якій зробили спільну папку, доступну на читання та запис будь-кому.

Спочатку ми не робили жодної ієрархії папок та документів на файловому сервері. Однак потім виявилося, що атакуючі активно вивчають цю папку, тому ми вирішили наповнити її різними файлами. Для цього ми написали python-скрипт, який створював файл випадкового розміру із одним із заданих розширень, формуючи ім'я на базі словника.

Невимовно привабливий: як ми створили ханіпіт, який не можна викрити
Скрипт для створення привабливих імен файлів. Джерело: Trend Micro

Після запуску скрипта ми отримали потрібний результат у вигляді папки, заповненої файлами з дуже цікавими іменами.

Невимовно привабливий: як ми створили ханіпіт, який не можна викрити
Результат роботи сценарію. Джерело: Trend Micro

Оточення для моніторингу


Витративши стільки зусиль на створення реалістичної компанії, ми просто не могли дозволити собі проколотися на середовищі для моніторингу наших відвідувачів. Нам потрібно було отримувати всі дані у режимі реального часу таким чином, щоб атакуючі не помітили, що за ними спостерігають.

Ми реалізували це з використанням чотирьох USB-Ethernet-адаптерів, чотирьох Ethernet-відповідачів SharkTap, Raspberry Pi 3 та великого зовнішнього диска. Схема нашої мережі виглядала так:

Невимовно привабливий: як ми створили ханіпіт, який не можна викрити
Схема мережі ханіпоту із обладнанням для моніторингу. Джерело: Trend Micro

Три відгалужувачі SharkTap ми розташували так, щоб моніторити весь зовнішній трафік до ПЛС, доступним тільки з внутрішньої мережі. Четвертий SharkTap відстежував трафік гостей уразливої ​​віртуалки.

Невимовно привабливий: як ми створили ханіпіт, який не можна викрити
Ethernet-відповідач SharkTap та маршрутизатор Sierra Wireless AirLink RV50. Джерело: Trend Micro

Raspberry Pi виконував добове захоплення трафіку. Підключення до інтернету ми організували за допомогою стільникового маршрутизатора Sierra Wireless AirLink RV50, який часто використовується в промислових підприємствах.

На жаль, цей маршрутизатор не дозволяв вибірково блокувати атаки, які не відповідали нашим планам, тому ми додали в мережу файрвол Cisco ASA 5505 в прозорому режимі, щоб виконувати блокування з мінімальним впливом на мережу.

Аналіз трафіку


Tshark і tcpdump доречні для швидкого вирішення поточних питань, але в нашому випадку їх можливостей було недостатньо, оскільки ми мали багато гігабайт трафіку, аналізом яких займалися кілька людей. Ми скористалися open-source-аналізатором Moloch, розробленим AOL. За функціональністю він можна порівняти з Wireshark, проте має більше можливостей для спільної роботи, опису та тегування пакетів, експорту та інших завдань.

Оскільки ми не хотіли обробляти зібрані дані на комп'ютерах ханіпоту, PCAP-дампи щодня експортувалися до сховища AWS, звідки ми імпортували їх на машину з Moloch.

запис екрану

Щоб задокументувати дії хакерів у нашому ханіпоті, ми написали скрипт, який із заданим інтервалом робив скріншоти віртуальної машини і, порівнюючи з попереднім скріншотом, визначав, відбувається там щось чи ні. Під час виявлення активності скрипт включав запис екрана. Такий підхід виявився найефективнішим. Ми також намагалися аналізувати VNC-трафік з PCAP-дампа, щоб зрозуміти, які зміни відбулися в системі, але в результаті реалізований нами запис екрану виявився простішим і наочнішим.

Моніторинг VNC-сесій


Для цього ми використали Chaosreader та VNCLogger. Обидві утиліти витягують із PCAP-дампа натискання клавіш, але VNCLogger більш коректно поводиться з клавішами типу Backspace, Enter, Ctrl.

У VNCLogger є два недоліки. Перший: вона може витягувати клавіші лише «слухаючи» трафік на інтерфейсі, тому нам довелося імітувати для неї сесію VNC за допомогою tcpreplay. Другий недолік VNCLogger є спільний з Chaosreader: вони обидва не показують вміст буфера обміну. Для цього довелося користуватися Wireshark.

Приманюємо хакерів


Ми створювали ханіпіт, щоб його атакували. Щоб досягти цього, ми інсценували витік інформації, покликаний привернути увагу потенційних хакерів. На ханіпоті було відкрито такі порти:

Невимовно привабливий: як ми створили ханіпіт, який не можна викрити

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

Щоб залучити атакуючих, ми розмістили дві посади з інформацією про доступну промислову систему на PasteBin.

Невимовно привабливий: як ми створили ханіпіт, який не можна викрити
Один із постів, розміщених на PasteBin для залучення атак. Джерело: Trend Micro

атаки


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

Сканери

Було багато трафіку від сканерів відомих компаній – ip-ip, Rapid, Shadow Server, Shodan, ZoomEye та інших. Їх було так багато, що нам довелося виключити їх IP-адреси з аналізу: 610 із 9452 або 6,45% від усіх унікальних ip-адрес належали цілком легітимним сканерам.

Шахраї

Один із найбільших ризиків, з яким нам довелося зіткнутися, — це використання нашої системи в злочинних цілях: для покупки смартфонів за рахунок абонента, переведення в готівку миль авіакомпаній за допомогою подарункових карток та інших видів шахрайства

Майнери

Один із перших відвідувачів нашої системи виявився майнером. Він завантажив на неї софт для майнінгу Monero. Багато заробити на нашій конкретній системі йому не вдалося б через низьку продуктивність. Однак якщо поєднати зусилля кількох десятків або навіть сотень таких систем, могло б вийти цілком непогано.

вимагачі

За час роботи ханіпота ми двічі зіткнулися із справжніми вірусами-вимагачами. У першому випадку це був Crysis. Його оператори зайшли на систему через VNC, але потім встановили TeamViewer і з його допомогою виконували подальші дії. Дочекавшись здирницького повідомлення з вимогою викупу у розмірі 10 тис. доларів у BTC, ми почали листування зі злочинцями, попросивши їх розшифрувати нам один із файлів. Вони виконали прохання та повторили вимогу викупу. Нам удалося сторгуватися до 6 тис. доларів, після чого ми просто перезалили систему на віртуалку, оскільки отримали всю необхідну інформацію.

Другим здирником виявився Phobos. Хакер, що встановив його, протягом години переглядав файлову систему ханіпота і сканував мережу, а потім все-таки встановив здирника.
Третя атака здирника виявилася фейковою. Невідомий хакер скачав на нашу систему файл haha.bat, після чого деякий час ми спостерігали за тим, як він намагається змусити його працювати. Однією із спроб стало перейменування haha.bat на haha.rnsmwr.

Невимовно привабливий: як ми створили ханіпіт, який не можна викрити
"Хакер" збільшує шкідливість bat-файлу, змінюючи його розширення на .rnsmwr. Джерело: Trend Micro

Коли батник нарешті почав запускатися, хакер відредагував його, збільшивши викуп з 200 до 750 доларів. Після цього він «зашифрував» усі файли, залишив на робочому столі здирництво і зник, змінивши паролі на нашому VNC.

За кілька днів хакер повернувся і щоб нагадати про себе, запустив батник, який відкривав безліч вікон із порносайтом. Мабуть, таким чином він намагався привернути увагу до своєї вимоги.

Підсумки


За час дослідження з'ясувалося, що тільки-но відомості про вразливість були опубліковані, ханіпіт привернув увагу, причому активність зростала день у день. Щоб пастка привернула увагу, довелося допустити безліч порушень безпеки нашої вигаданої компанії. На жаль, така ситуація далеко не рідкість серед багатьох реальних компаній, які не мають штатних ІТ- та ІБ-працівників.

У випадку організації повинні використовувати принцип найменших привілеїв, тоді як ми реалізували повну йому протилежність залучення зловмисників. І чим довше ми спостерігали за атаками, тим витонченішими вони ставали в порівнянні зі стандартними методами тестування на проникнення.

І найголовніше: усі ці атаки провалилися б, якби при настроюванні мережі було реалізовано адекватні заходи безпеки. Організації повинні стежити, щоб їх обладнання та компоненти промислової інфраструктури не були доступні з інтернету, як ми спеціально робили у нашій пастці.

Хоча ми не зафіксували жодної атаки на АРМ інженера, незважаючи на використання однакового пароля локального адміністратора на всіх комп'ютерах, варто уникати такої практики, щоб мінімізувати можливість вторгнень. Адже слабка безпека є додатковим запрошенням для атаки на промислові системи, які вже давно викликають інтерес кіберзлочинців.

Джерело: habr.com

Додати коментар або відгук