В сборнике избранных статей из журнала «Хакер» описаны способы поиска уязвимостей в сетевом оборудовании MikroTik и использования этого оборудования для постэксплуатации Windows. Показаны методы защиты MikroTik от хакерских атак. Рассказывается об эксплуатации XSS-уязвимостей DOM XSS с помощью Web Messaging, о поиске уязвимостей в приложениях Android на примере Viber и в драйвере AdGuard для Windows. Приводится подробное руководство по атакам NTLM Relay и защите от них. Даны инструкции по фаззингу JS-приложений при помощи Fuzzilli, описана ошибка use after free в движке Blink. Изложены практические способы реализации антиотладки в исполняемых файлах для Linux. Показано, как работает GRE-пивотинг поверх сетевого оборудования. Отдельная глава посвящена практическому способу спуфинга GPS.
Для читателей, интересующихся информационной безопасностью
В книге собраны самые лучшие, самые интересные статьи из легендарного журнала «Хакер». Авторы представленных в сборнике материалов — опытнейшие эксперты в сфере информационной безопасности и поиска уязвимостей: исследователи, пентестеры, практикующие специалисты по защите данных.
Вы узнаете, как:
- осуществлять атаки NTLM Relay и защищаться от них,
- искать уязвимости в сетевом оборудовании MikroTik и использовать его для постэксплуатации,
- обезопасить MikroTik от хакерских атак,
- обнаруживать и использовать уязвимости DOM XSS,
- выполнять фаззинг JS-приложений с помощью Fuzzilli,
- использовать ошибку use after free в движке Blink,
- искать уязвимости в приложениях Android на примере Viber,
- заставить исполняемые файлы Linux сопротивляться отладке,
- выявить уязвимость в драйвере AdGuard для Windows,
- осуществлять GRE-пивотинг поверх сетевого оборудования,
- подделывать данные, передаваемые GPS-спутниками.
Информационная безопасность — чрезвычайно динамичная сфера, изменения в которой происходят стремительно. Новые уязвимости в операционных системах и программных продуктах обнаруживаются едва ли не каждый день, а разработчики в свою очередь оперативно выпускают закрывающие их обновления и патчи. Эта «борьба снаряда и брони» продолжается непрерывно на протяжении многих лет, поэтому для того, чтобы всегда быть в курсе событий, необходимо следить за новостями и читать профильные издания. Одно из них – журнал «Хакер», где публикуются опытные специалисты по информационной безопасности: исследователи, пентестеры, практикующие эксперты в сфере защиты данных.
Валентин Холмогоров, Ведущий редактор журнала «Хакер»
Книгу “Хакерство. Секреты мастерства” можно купить со скидкой в интернет-магазине издательства “БХВ“.
- Caster Remix. Используем виртуальный MikroTik
для постэксплуатации Windows (Caster)…………………………………………………. 11
Caster Remix……………………………………………………………………………………………………………………………….. 11
CHR Deploy………………………………………………………………………………………………………………………………… 12
VXLAN-туннелирование…………………………………………………………………………………………………………… 14
Атака…………………………………………………………………………………………………………………………………………… 16
Зачистка……………………………………………………………………………………………………………………………………… 16
Выводы……………………………………………………………………………………………………………………………………….. 17
- JavaScript альденте. Фаззим JS-движки при помощи Fuzzilli (sploitem [secware]) 19
Стенд…………………………………………………………………………………………………………………………………………… 19
JavaScript-движки……………………………………………………………………………………………………………….. 21
Подготовка фаззера…………………………………………………………………………………………………………………… 22
Сборка и фаззинг V8………………………………………………………………………………………………………………….. 25
Теория…………………………………………………………………………………………………………………………………. 25
Сборка…………………………………………………………………………………………………………………………………. 25
Фаззинг………………………………………………………………………………………………………………………………… 27
Сборка и фаззинг SpiderMonkey……………………………………………………………………………………………….. 28
Теория…………………………………………………………………………………………………………………………………. 28
Сборка…………………………………………………………………………………………………………………………………. 28
Фаззинг………………………………………………………………………………………………………………………………… 31
Сборка и фаззинг JavaScriptCore………………………………………………………………………………………………. 32
Теория…………………………………………………………………………………………………………………………………. 32
Сборка…………………………………………………………………………………………………………………………………. 32
Фаззинг………………………………………………………………………………………………………………………………… 34
Выводы……………………………………………………………………………………………………………………………………….. 35
- Жидкий хром. Как работает баг use after free в движке Blink (sploitem [secware]) 37
Стенд…………………………………………………………………………………………………………………………………………… 37
Теория…………………………………………………………………………………………………………………………………………. 39
Потоки сжатия……………………………………………………………………………………………………………………. 40
Promise…………………………………………………………………………………………………………………………………. 40
postMessage…………………………………………………………………………………………………………………………. 42
Запуск PoC………………………………………………………………………………………………………………………………….. 43
Анализ PoC…………………………………………………………………………………………………………………………………. 48
Анализ исходного кода……………………………………………………………………………………………………………… 49
Патч…………………………………………………………………………………………………………………………………………….. 53
Выводы……………………………………………………………………………………………………………………………………….. 53
- Препарируем Viber. Мини-гид по анализу приложений для Android (saruman9) 55
Цель…………………………………………………………………………………………………………………………………………….. 55
Разделяемые библиотеки…………………………………………………………………………………………………………… 56
Предварительные результаты анализа……………………………………………………………………………. 57
Функции………………………………………………………………………………………………………………………………………. 58
libFlatBuffersParser.so…………………………………………………………………………………………………………. 59
libsvg.so………………………………………………………………………………………………………………………………… 59
libnativehttp.so…………………………………………………………………………………………………………………….. 60
Другие библиотеки…………………………………………………………………………………………………………….. 61
Анализ цели………………………………………………………………………………………………………………………………… 61
Досягаемость функции………………………………………………………………………………………………………. 62
Фаззинг………………………………………………………………………………………………………………………………… 65
Harness……………………………………………………………………………………………………………………….. 67
Эксперименты и улучшения……………………………………………………………………………………………… 71
Выводы……………………………………………………………………………………………………………………………………….. 73
- Гид по NTLM Relay. Захватываем NTLM-аутентификацию
для Relay-атаки (Владислав Дриев)………………………………………………………….. 75
Теория…………………………………………………………………………………………………………………………………………. 75
Захват с Responder…………………………………………………………………………………………………………………….. 77
Захват NTLM-аутентификации для Relay-атак………………………………………………………………………. 80
SMB (445/TCP)…………………………………………………………………………………………………………………………… 80
Coerce-атаки……………………………………………………………………………………………………………………….. 81
Ярлыки………………………………………………………………………………………………………………………………… 82
Триггерим вручную…………………………………………………………………………………………………… 83
MITM…………………………………………………………………………………………………………………………. 83
RPC (135/TCP)……………………………………………………………………………………………………………………………. 83
SweetPotato…………………………………………………………………………………………………………………………. 83
Триггерим вручную……………………………………………………………………………………………………………. 83
Пример получения аутентификации на DCE RPC…………………………………………………………… 84
HTTP (80/TCP)……………………………………………………………………………………………………………………………. 85
Coerce-атаки……………………………………………………………………………………………………………………….. 85
PrivExchange……………………………………………………………………………………………………………………….. 86
Триггерим вручную……………………………………………………………………………………………………………. 86
RemotePotato0……………………………………………………………………………………………………………………. 86
WCF (9389/TCP)…………………………………………………………………………………………………………………………. 87
Триггерим вручную……………………………………………………………………………………………………………. 88
RAW (произвольный TCP)…………………………………………………………………………………………………………. 88
Как получить NTLM-аутентификацию, если мешает NAT или МЭ……………………………………… 91
Бонус № 1……………………………………………………………………………………………………………………………………. 91
Бонус № 2……………………………………………………………………………………………………………………………………. 93
Защита………………………………………………………………………………………………………………………………………… 93
Выводы……………………………………………………………………………………………………………………………………….. 93
- Гид по NTLM Relay. Проводим Relay-атаки (Владислав Дриев)…………… 95
Клиенты………………………………………………………………………………………………………………………………………. 95
SMB (445/TCP)……………………………………………………………………………………………………………………. 95
LDAP (389/TCP, 636/TCP)……………………………………………………………………………………………….. 103
RPC (135/TCP)………………………………………………………………………………………………………………….. 109
HTTP (80/TCP)………………………………………………………………………………………………………………….. 112
Выводы……………………………………………………………………………………………………………………………………… 113
Бонус…………………………………………………………………………………………………………………………………………. 114
Защита………………………………………………………………………………………………………………………………………. 116
Итог…………………………………………………………………………………………………………………………………………… 116
- BloodHound. Натаскиваем ищейку на поиск NTLM Relay (Владислав Дриев) 117
Описание проблемы………………………………………………………………………………………………………………… 117
Анализ существующих решений……………………………………………………………………………………………. 118
Добавляем атрибуты……………………………………………………………………………………………………………….. 122
Пишем запросы………………………………………………………………………………………………………………………… 127
Выводы……………………………………………………………………………………………………………………………………… 134
- Как стать спутником. Спуфим GPS в 2023 году (qeewqq)………………….. 135
Теория……………………………………………………………………………………………………………………………………….. 135
GNSS………………………………………………………………………………………………………………………………….. 135
Частоты…………………………………………………………………………………………………………………………….. 136
Триангуляция и трилатерация………………………………………………………………………………………… 137
Простой способ определить координаты………………………………………………………………………. 138
TTFF…………………………………………………………………………………………………………………………………… 139
Практика…………………………………………………………………………………………………………………………………… 140
Оборудование…………………………………………………………………………………………………………………… 140
GPS-SDR-SIM……………………………………………………………………………………………………………………. 140
iPhone………………………………………………………………………………………………………………………………………… 145
На что обратить внимание……………………………………………………………………………………………………… 145
Выводы……………………………………………………………………………………………………………………………………… 146
- Неправильные эльфы. Учим исполняемые файлы Linux
сопротивляться отладке (kclo3)…………………………………………………………….. 147
Language-theoretic Security и файлы-полиглоты……………………………………………………………………. 147
Parse tree differential attack……………………………………………………………………………………………………… 149
Requests smuggling в GitLab и Zoom……………………………………………………………………………………….. 149
Psychic Paper и CVE-2022-42855…………………………………………………………………………………….. 150
Доверенные сертификаты X.509 на произвольный домен……………………………………………. 150
ELF: запустить нельзя проанализировать……………………………………………………………………… 150
Парсеры ELF…………………………………………………………………………………………………………………………….. 151
Ядро ОС…………………………………………………………………………………………………………………………….. 151
Системные утилиты…………………………………………………………………………………………………………. 152
Отладчики, декомпиляторы, дизассемблеры, эмуляторы……………………………………………. 152
Ищем различия…………………………………………………………………………………………………………………………. 153
Фаззеры…………………………………………………………………………………………………………………………….. 153
Melkor………………………………………………………………………………………………………………………………… 154
Тестируем EDB…………………………………………………………………………………………………………………. 156
Проверяем GDB………………………………………………………………………………………………………………… 159
Radare2: r2hang………………………………………………………………………………………………………………… 160
Interactive Disassembler……………………………………………………………………………………………………. 165
Выводы……………………………………………………………………………………………………………………………………… 165
- DOM XSS через Web Messaging. Как работает легкий способ
получить XSS с помощью postMessage (Андрей “W0lFreaK” Козлов)……….. 171
Что такое DOM?……………………………………………………………………………………………………………………….. 171
Как эксплуатируются DOM-based XSS?………………………………………………………………………………… 171
Механизмы безопасности кросс-доменного взаимодействия……………………………………………… 172
Web Messaging API…………………………………………………………………………………………………………………… 174
DOM-based XSS через Web Messaging……………………………………………………………………………………. 175
Origin Verification отсутствует…………………………………………………………………………………………. 175
Origin verification………………………………………………………………………………………………………………. 176
JSON Parse…………………………………………………………………………………………………………………………. 176
Выводы……………………………………………………………………………………………………………………………………… 177
- Sad guard. Ищем и эксплуатируем уязвимость в драйвере AdGuard для Windows (Марсель Шагиев)…………………………………………………………………………………………………………….. 179
Как все начиналось…………………………………………………………………………………………………………………. 179
Почему AdGuard………………………………………………………………………………………………………………………. 180
Поверхность атаки…………………………………………………………………………………………………………………… 180
Фаззинг……………………………………………………………………………………………………………………………………… 184
Подготовка……………………………………………………………………………………………………………………….. 184
DIBF…………………………………………………………………………………………………………………………………… 184
Реверс драйвера……………………………………………………………………………………………………………………….. 187
По следам фаззера…………………………………………………………………………………………………………………… 189
Еще немного реверса……………………………………………………………………………………………………………….. 190
Примитивы……………………………………………………………………………………………………………………………….. 191
Проблемы 1 и 2. KASLR…………………………………………………………………………………………………… 194
Проблема 3. Сравнение с index………………………………………………………………………………………. 195
Эксплуатация…………………………………………………………………………………………………………………………… 196
Демонстрация (видео)……………………………………………………………………………………………………………… 203
- Pivoting District. Как работает GRE-пивотинг
поверх сетевого оборудования (Caster)…………………………………………………. 205
GRE 205
Лабораторная сеть………………………………………………………………………………………………………………….. 207
L3 GRE VPN поверх Cisco IOS………………………………………………………………………………………………… 208
L3 GRE VPN поверх RouterOS………………………………………………………………………………………………… 211
Обеспечение туннеля L2 GRE с поддержкой L2-атак………………………………………………………….. 214
Возможные проблемы с MTU…………………………………………………………………………………………………. 219
Перехват трафика с помощью Cisco ERSPAN……………………………………………………………………….. 220
Перехват трафика с помощью TZSP (Mikrotik)……………………………………………………………………… 222
Выводы……………………………………………………………………………………………………………………………………… 222
- Атаки на DHCP. Разбираем техники DHCP Starvation и DHCP Spoofing и защиту от них (Александр Михайлов)……………………………………………………………………………………………… 223
Теория……………………………………………………………………………………………………………………………………….. 223
Сообщения DHCP…………………………………………………………………………………………………………….. 223
Структура заголовка DHCP……………………………………………………………………………………………. 225
Тестируем DHCP на стойкость……………………………………………………………………………………………….. 226
Лабораторный стенд……………………………………………………………………………………………………….. 226
DHCP Starvation……………………………………………………………………………………………………………………….. 227
Rogue DHCP или DHCP Spoofing……………………………………………………………………………………. 230
Нейтрализуем атаки на DHCP-протокол………………………………………………………………………………. 232
Trusted- и Untrusted-порты………………………………………………………………………………………………. 232
Limit Rate………………………………………………………………………………………………………………………….. 234
Verify MAC-Address………………………………………………………………………………………………………….. 234
Port Security……………………………………………………………………………………………………………………….. 235
Выводы……………………………………………………………………………………………………………………………………… 237
- MikroTik Nightmare. Пентестим сетевое оборудование MikroTik
(Caster)………………………………………………………………………………………………….. 239
Проблемы сетевой безопасности……………………………………………………………………………………………. 239
DAI…………………………………………………………………………………………………………………………………….. 239
RA Guard…………………………………………………………………………………………………………………………… 239
Абьюз DP…………………………………………………………………………………………………………………………… 240
Спуфинг в системе резервирования VRRPv3………………………………………………………………………… 240
Перечисление информации……………………………………………………………………………………………… 241
Инъекция…………………………………………………………………………………………………………………………… 242
GARP-кадр………………………………………………………………………………………………………………………… 243
Уклонение от трассировки………………………………………………………………………………………………. 244
Проблема асимметричной маршрутизации…………………………………………………………………… 244
Маршрутизация……………………………………………………………………………………………………………….. 245
Импакт………………………………………………………………………………………………………………………………. 245
RouterOS Traffic Hijacking………………………………………………………………………………………………………. 246
GreenDog — Easy Hack #196 (Caster Bootleg)………………………………………………………………… 246
TZSP…………………………………………………………………………………………………………………………………… 247
Угон трафика……………………………………………………………………………………………………………………. 248
Обработка TZSP-заголовков…………………………………………………………………………………………… 248
RouterOS Pivoting……………………………………………………………………………………………………………………… 250
L3 GRE VPN………………………………………………………………………………………………………………………. 250
L2 EoIP VPN……………………………………………………………………………………………………………………… 253
Выводы……………………………………………………………………………………………………………………………………… 254
- MikroTik Daymare. Защищаем оборудование MikroTik
от хакерских атак (Caster)…………………………………………………………………….. 255
Неиспользуемые интерфейсы…………………………………………………………………………………………………. 255
Discovery-протоколы……………………………………………………………………………………………………………….. 256
Безопасность Winbox на L2……………………………………………………………………………………………………. 256
DHCP Snooping…………………………………………………………………………………………………………………………. 256
Настройка файрвола……………………………………………………………………………………………………………….. 257
Корректная обработка трафика……………………………………………………………………………………… 258
Аккуратная работа с ICMP…………………………………………………………………………………………….. 258
TTL Shift……………………………………………………………………………………………………………………………. 258
Риск DNS-флуда……………………………………………………………………………………………………………….. 258
Drop All Other…………………………………………………………………………………………………………………….. 259
Динамическая маршрутизация………………………………………………………………………………………………. 259
Пассивные интерфейсы……………………………………………………………………………………………………. 259
Криптографическая аутентификация…………………………………………………………………………….. 259
Безопасность системы резервирования VRRP………………………………………………………………………. 260
Проблема псевдобалансировки……………………………………………………………………………………… 260
Безопасность дерева STP………………………………………………………………………………………………………… 261
Осторожность при выборе STP Root………………………………………………………………………………. 262
Безопасность панели управления (MGMT)…………………………………………………………………………… 262
Защита RMI……………………………………………………………………………………………………………………… 262
Защита учетных записей на оборудовании………………………………………………………………….. 263
Выводы……………………………………………………………………………………………………………………………………… 263
«Хакер»: безопасность, разработка, DevOps…………………………………………. 265
Предметный указатель…………………………………………………………………………. 268
-
НОВИНКА
Хакерство. Секреты мастерства
750 ₽
592 ₽
Caster, sploitem [secware], saruman9, Владислав Дриев, qeewqq, kclo3, Андрей “W0lFreaK” Козлов, Марсель Шагиев, Александр Михайлов