Пам’ятаєте Dieselgate, скандал, коли певні дизельні транспортні засоби виявляли тест на викиди і запускали для цього очисник, «обманюючи» тест? Traingate може просто розглянути це в перспективі. Ми розповімо історію з самого початку, але пристебніться до дикої та дивовижної їзди. Все починається з капітального ремонту польських поїздів. Ці поїзди були побудовані компанією Newag, яка подала заявку на контракт на технічне обслуговування, але контракт виграла інша компанія, SPS. Цей різновид капітального ремонту передбачає розбиття кожного поїзда на компоненти, перевірку, змащування тощо, а потім знову збирає все разом. Перший поїзд пройшов через цей процес, був повністю зібраний, а потім відмовився рухатися. Вичерпавши всі звичайні заходи з усунення несправностей, SPS залучила хакерів.
Dragon Sector – це польська дослідницька група, яка привернула увагу всього світу робота над захистом BIOS ноутбука Toshiba. І виявилося, що це була ідеальна група для роботи. Від об’єднання апаратного забезпечення до покращення підтримки Ghidra для архітектури Infineon TriCore, було зроблено багато роботи, щоб навіть отримати опору в системах поїзда. Але нарешті вони змогли зробити дамп пам’яті та порівняти зламаний поїзд із робочим. Був набір прапорів конфігурації, які, здавалося, містили ключ. Але цей потяг був дуже потрібен в експлуатації. Тож із Newag, оригінальним виробником, нарешті зв’язалися, щоб завершити технічне обслуговування та знову запустити поїзд. Хакери, однак, ніщо, якщо не наполегливі. Просидівши всю ніч і маючи в запасі буквально хвилини, Dragon Sector зміг перезаписати пам’ять про зламаний поїзд правильною конфігурацією, і він знову ожив.
Поки що тут нічого не здається підозрілим. Перевірки запуску після технічного обслуговування можуть легко піти не так, що призведе до подібної ситуації. Але Dragon Sector продовжував копати, удосконалюючи свої інструменти та витягуючи нові секрети прошивки поїзда. І те, що вони знайшли, було вражаючим. Спочатку були GPS-координати, що відповідають кожній залізничній станції в Польщі, здатній виконувати такий капітальний ремонт. Якщо потяг був припаркований у будь-якій станції технічного обслуговування, окрім Newag, понад 10 днів, спрацьовував би прапор, і поїзд було б вимкнено. Важко сприймати цю «особливість» як щось інше, крім явної спроби заблокувати будь-який поїзд, який не повернувся до Newag для обслуговування. Але зачекайте, є ще щось.
Заміна певних компонентів призводила до подібної поломки, доки незадокументований чіт-код не вставлявся на головну консоль комп’ютера в поїзді. В іншому випадку поїзд зламався б, проїхавши мільйон кілометрів. Ще один потяг мав вийти з ладу через несправний компресор у вказану дату — і помилка програмування відклала цю поломку на рік потому. Загалом Dragon Sector переглянув 29 поїздів по всій Польщі та знайшов ці чудові маленькі сюрпризи в 24 з них. Через польський CERT Polska про цей випадок повідомлено правоохоронні органи.
У відповідь, Newag звинуватив Dragon Sector у наклепі та комп'ютерних злочинах, а також є загрозою безпеці залізниці. Все, що ми можемо сказати, це те, що ми сподіваємося, що ретельне розслідування встановить правду у справі та притягне справжніх злочинців до відповідальності.
Це завжди DNS
Ви коли-небудь замислювалися, як DNS-сервер отримує оновлення про DNS-імена? Виявляється, є пара способів. Один з них полягає в тому, щоб клієнти надсилали оновлення напряму, рекламуючи своє DNS-ім’я та IP-адресу. Динамічні оновлення DNS підтримуються кількома DNS-серверами, включаючи Active Directory (AD), і майже в кожній реалізації це має прийнятну реалізацію безпеки. З іншого боку, також є оновлення DNS, які надсилаються як частина запиту DHCP. А ті… є проблеми.
Цей запис дуже зосереджений на Active Directory, але ми не здивуємося, якщо знайдемо подібну проблему на інших серверах DHCP. Зокрема, оновлення DNS не автентифіковано. Будь-який пристрій, якому надано IP-адресу, може запитувати DNS-ім’я одночасно. У середовищі сервера Microsoft це працює так, що служба DNS використовує власні облікові дані для пересилання оновлення DNS на сервер DNS. Якщо це два окремі сервери, а ім’я вже зареєстровано безпосередньо іншим хостом, оновлення не вдасться. Але незатребуване ім’я чи навіть ім’я самого DHCP-сервера можуть бути захоплені. А у випадку служб DNS і DHCP, які працюють на одному сервері, у грі використовується майже будь-яке ім’я DNS. А в середовищі AD це дозволяє здійснювати всі види подальших атак на автентифікацію.
Про ці проблеми було повідомлено корпорації Майкрософт, яка вважає їх відомими проблемами, які не зовсім заслуговують на виправлення безпеки. Про них варто знати, будуючи мережу AD. Щоб уберегти нас від проблем, Akamai написав Invoke-DHCPCheckup як інструмент PowerShell для перевірки проблем.
Зробіть слайд JMP
Є техніка, яка використовується під час написання експлойтів, слайд NOP. Це серія команд No Operation, за якими йде цільовий шелл-код. Ідея полягає в тому, що вразливість перескочить кудись у цю контрольовану зловмисником область пам’яті, але точне призначення може відрізнятися. Це використовується настільки часто, що блоки 0x90 у даних є одним із сигналів того, що це може бути шкідливим. є проблема зі слайдом NOP, яка може зайняти більше часу, ніж ви хочете, щоб пройти всі інструкції NOP, щоб дістатися до соковитого шелл-коду. І ось де в гру вступає слайд JMP.
Основа полягає в тому, що ми знаємо, скільки байтів залишилося на слайді, тому ми можемо використовувати інструкції JMP, щоб перейти безпосередньо до корисного навантаження. Це чудово, за винятком вирівнювання. А саме, машинний код x86 вільно змішує інструкції та аргументи. Якщо ви точно не знаєте, де інструкція потрапить у ваш буфер, як ви дізнаєтесь, чи збираєтесь ви виконати jmp, чи зміщення як інструкцію? Існує кілька очевидних способів підійти до цього, як-от використання значень 0x90 як аргументу для JMP, а потім значно меншої зони слайдів NOP для перехоплення JMP.
Це також є певним викликом, тому що команда JMP базується на зміщеннях, які можуть бути додатними або від’ємними, а 0x90 є від’ємним зміщенням. Це може спрацювати, але весь корисний код шелл-коду має бути сконструйований у зворотному порядку, щоб ним керувати. Є ще один варіант, коди операцій JCC умовного переходу. Це 0x70-0x7F у машинному коді, який має позитивні зсуви. Єдина проблема полягає в тому, що ці стрибки залежать від значення регістра, яке невідоме. Остаточним рішенням є двічі використання коду операції Jump if Greater, а потім двічі Jump if Less або Equal. Обидва є позитивними зміщеннями, і обидва досягають стабільного прогресу через слайд JMP, щоб зрештою потрапити в невеликий слайд NOP, щоб нарешті запустити шелл-код. Розумний!
Біти та байти
Після звільнення може виникнути спокуса спалити свої мости на виході. Якщо це включає видалення сховищ коду, видалення файлів журналу, занесення додому власного коду, викрадення робочого ноутбука та видавання себе за колег… можливо ні. Інженер-програміст із First Republic Bank просто не встояв перед спокусою і відсидить два роки у в’язниці, три роки випробувального терміну та заплатить 529,000 XNUMX доларів як відшкодування збитків. Однозначно не варто.
І для яскравого нагадування, чому не все потрібно підключати до мережі чи Інтернету, див наслідки кібератаки на Київстар в Україні. Цей телефонний та інтернет-провайдер був вимкнений у вівторок у результаті, здається, руйнівної атаки зі знищення даних. Банки та магазини закриті через припинення обробки платежів, і принаймні одному місту довелося вручну відключити вуличні ліхтарі від електромережі, оскільки програмний контролер був вимкнений як побічний продукт атаки. Можливо, все-таки старі механічні таймери були кращими.
- Розповсюдження контенту та PR на основі SEO. Отримайте посилення сьогодні.
- PlatoData.Network Vertical Generative Ai. Додайте собі сили. Доступ тут.
- PlatoAiStream. Web3 Intelligence. Розширення знань. Доступ тут.
- ПлатонЕСГ. вуглець, CleanTech, Енергія, Навколишнє середовище, Сонячна, Поводження з відходами. Доступ тут.
- PlatoHealth. Розвідка про біотехнології та клінічні випробування. Доступ тут.
- джерело: https://hackaday.com/2023/12/15/this-week-in-security-traingate-dns-and-jmp-slides/
- : має
- :є
- : ні
- :де
- $UP
- 000
- 10
- 24
- 29
- a
- Здатний
- МЕНЮ
- рахунки
- обвинувачений
- через
- активний
- Active Directory
- Ad
- рекламна мережа
- адреса
- реклама
- після
- знову
- агентства
- Akamai
- вирівнювання
- ВСІ
- дозволяє
- вже
- Також
- завжди
- an
- та
- Інший
- будь-який
- все
- з'являється
- підхід
- архітектура
- ЕСТЬ
- ПЛОЩА
- аргумент
- аргументація
- AS
- At
- атака
- нападки
- спроба
- увагу
- автентифіковано
- Authentication
- назад
- поганий
- погано
- Банк
- Банки
- заснований
- основа
- BE
- оскільки
- було
- початок
- буття
- Краще
- пропозиція
- Біт
- BleepingComputer
- блоки
- обидва
- Перерва
- Пробій
- Розрив
- мости
- Зламаний
- приніс
- буфера
- Створюємо
- побудований
- горіти
- але
- by
- прийшов
- CAN
- здатний
- випадок
- Залучайте
- певний
- виклик
- перевірка
- Перевірки
- Місто
- очищувач
- клієнтів
- закрито
- код
- Приходити
- приходить
- компанія
- порівняти
- повний
- Компоненти
- комп'ютер
- конфігурація
- підключений
- Вважати
- Консоль
- контракт
- контролер
- звичайний
- Відповідний
- може
- Пара
- Повноваження
- злочинці
- Кібератака
- дані
- Дата
- Днів
- безумовно
- Затримується
- призначення
- виявляти
- руйнівний
- пристрій
- дизельний
- безпосередньо
- інвалід
- DNS
- do
- справи
- зроблений
- Не знаю
- вниз
- дракон
- два
- динамічний
- кожен
- легко
- викиди
- примус
- інженер
- Весь
- Навколишнє середовище
- рівним
- помилка
- встановити
- і т.д.
- Навіть
- врешті-решт
- Кожен
- все
- точно
- Крім
- виконувати
- подвигів
- FAIL
- опади
- далеко
- Файли
- остаточний
- в кінці кінців
- знайти
- звільнили
- Перший
- виправляти
- прапори
- увагу
- потім
- для
- Вперед
- знайдений
- вільно
- від
- повністю
- далі
- отримала
- отримати
- отримання
- GitHub
- даний
- Go
- GPS
- хапає
- великий
- великий
- сітка
- Group
- хакери
- було
- рука
- відбувається
- Жорсткий
- апаратні засоби
- Мати
- допомога
- тут
- удар
- тримати
- Головна
- надія
- господар
- Як
- Однак
- HTML
- HTTPS
- ідея
- if
- реалізація
- поліпшення
- in
- В інших
- includes
- У тому числі
- Infineon
- всередині
- інструкції
- інтернет
- в
- дослідження
- включає в себе
- IP
- IP-адреса
- питання
- IT
- ЙОГО
- сам
- робота
- JPG
- стрибати
- скачки
- просто
- тримати
- збережений
- ключ
- Знати
- Знання
- відомий
- земля
- портативний комп'ютер
- пізніше
- закон
- правозастосування
- вести
- провідний
- найменш
- залишити
- менше
- життя
- як
- буквальний
- трохи
- журнал
- довше
- подивився
- серія
- машина
- головний
- обслуговування
- зробити
- управляти
- управляє
- вручну
- виробник
- багато
- Може..
- може бути
- заходи
- механічний
- пам'ять
- Microsoft
- мільйона
- протокол
- mixes
- більше
- рухатися
- багато
- множинний
- ім'я
- а саме
- Імена
- необхідний
- потреби
- негативний
- мережу
- немає
- нічого
- Очевидний
- of
- зсув
- компенсації
- часто
- Старий
- on
- один раз
- ONE
- ті,
- тільки
- OpCode
- операція
- варіант
- or
- оригінал
- Інше
- з
- над
- Капітальний ремонт
- власний
- частина
- приватність
- Платити
- оплата
- обробка платежу
- ідеальний
- телефон
- plato
- Інформація про дані Платона
- PlatoData
- Play
- Польща
- полірування
- позитивний
- влада
- Енергосистема
- PowerShell
- досить
- в'язниця
- Проблема
- процес
- обробка
- Програмування
- прогрес
- власником
- Постачальник
- тягне
- put
- Поклавши
- досить
- залізничний
- розумний
- рафінування
- реєструвати
- зареєстрований
- нагадування
- Повідомляється
- Республіка
- запросити
- дослідження
- дослідницької групи
- відповідь
- Ride
- право
- прогін
- біг
- Безпека
- то ж
- say
- Скандал
- плановий
- секрети
- сектор
- безпеку
- побачити
- здавалося
- Здається,
- послати
- посланий
- окремий
- Серія
- служити
- сервер
- сервери
- обслуговування
- Послуги
- комплект
- аналогічний
- ситуація
- Ковзати
- Слайди
- невеликий
- менше
- So
- Софтвер
- Інженер-програміст
- рішення
- деякі
- десь
- різко
- починається
- введення в експлуатацію
- стійкий
- магазинів
- Історія
- вулиця
- підтримка
- Підтриманий
- сюрприз
- сюрпризи
- підозрілі
- Systems
- Приймати
- прийняті
- взяття
- Прослуховування
- Мета
- техніка
- сказати
- розповідає
- тест
- ніж
- Що
- Команда
- їх
- Їх
- потім
- Там.
- Ці
- вони
- це
- На цьому тижні
- ті
- хоча?
- загрози
- три
- через
- час
- до
- разом
- сказав
- занадто
- інструмент
- інструменти
- Toshiba
- поїзд
- поїзда
- викликати
- біда
- правда
- Правда
- Вівторок
- повороти
- Двічі
- два
- невідомий
- до
- Оновити
- Updates
- на
- us
- використання
- використовуваний
- використовує
- використання
- дійсний
- значення
- Цінності
- Транспортні засоби
- дуже
- вразливість
- чекати
- хотіти
- було
- шлях..
- способи
- we
- week
- ДОБРЕ
- пішов
- були
- Що
- коли
- який
- ВООЗ
- чому
- Wild
- волі
- витирання
- з
- Виграв
- чудовий
- Work
- робочий
- працює
- світовий
- вартість
- гідний
- б
- лист
- письмовий
- рік
- років
- ще
- ви
- вашу
- зефірнет