Опубликовано

2-е издание книги “Android глазами хакера”

Android глазами хакера. 2-е издание

Рассмотрена внутренняя архитектура ОС Android, используемые ею разделы и файловые системы, принцип работы механизмов обновления и внутренних инструментов безопасности. Рассказано о разграничении доступа в ОС Android, о привилегиях, методах получения прав root, кастомизации и установке нестандартных прошивок. Описаны инструменты для дизассемблирования, отладки и анализа кода мобильных приложений, приведены примеры модификации кода с целью изменения функций ПО и внедрения в приложение сторонних модулей. Даны подробные рекомендации по деобфускации кода и обходу антиотладки, а также практические советы по защите собственных приложений от декомпиляции и исследования. Приводятся сведения о вредоносных программах для платформы Android, используемых ими уязвимостях, даны примеры кода таких программ. Рассказывается об использовании стандартных функций Android в нестандартных целях и способах противодействия вредоносному ПО. Во втором издании приводятся сведения об изменениях и нововведениях в Android 14.

Для разработчиков мобильных приложений, реверс-инженеров, специалистов по информационной безопасности и защите данных

БЕЗОПАСНОСТЬ ANDROID, ВЗЛОМ ПРИЛОЖЕНИЙ И ЗАЩИТА ОТ ВЗЛОМА

В книге рассмотрены:

  • Безопасность Android
  • Внутреннее устройство системы
  • Кастомизация прошивки
  • Получение root
  • Практические приемы взлома
  • Реверс-инжиниринг
  • Предотвращение взлома и исследования приложений
  • Мобильные вредоносные программы

Книга состоит из трех частей:

В первой части подробно рассказывается об архитектуре и внутреннем устройстве Android, используемых разделах и файловых системах, разграничении доступа, установке обновлений ОС, рутовании, кастомизации прошивок, а также о принципах работы встроенной системы безопасности.

Вторая часть посвящена практическим методам дизассемблирования, реверс-инжиниринга, исследования и модификации мобильных приложений, борьбе с обфускацией и антиотладкой. Приводятся конкретные способы внедрения в приложения Android постороннего кода и изменения их функций. В ней же даны советы по противодействию взлому, исследованию и модификации ПО.

В третьей части подробно рассматривается архитектура вредоносных программ для Android, а также уязвимости ОС, используемые троянами для проникновения на устройство. Даны примеры выполнения несанкционированных пользователем действий с помощью стандартных функций Android, а для наглядности приводится и подробно описывается код полноценной вредоносной программы, на примере которой можно изучить методы противодействия такому ПО.

Если ты хочешь узнать, как устроен Android «под капотом», как работает его система безопасности и как ее обойти, как действуют мобильные трояны, как дизассемблировать и взламывать чужие приложения и как защитить от взлома свои, — поздравляю, ты нашел настоящее сокровище! Книга будет интересна и полезна любому читателю: от начинающего программиста до профессионала.
Валентин Холмогоров, ведущий редактор журнала «Хакер»

Книгу “Android глазами хакера. 2-е издание” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Введение………………………………………………………………………………………………….. 9

Что вы найдете в этой книге?……………………………………………………………………………………………………. 10

Для кого эта книга?……………………………………………………………………………………………………………………. 11

Предисловие ко второму изданию……………………………………………………………………………………………. 11

Условные обозначения……………………………………………………………………………………………………………… 12

Приложение AnTrack…………………………………………………………………………………………………………………. 12

Часть I…………………………………………………………………………………………………. 13

Глава 1. Пять столпов Android. Технологии, лежащие в основе
самой популярной ОС……………………………………………………………………………. 15

Виртуальная машина………………………………………………………………………………………………………………… 15

Многозадачность………………………………………………………………………………………………………………………. 18

Binder…………………………………………………………………………………………………………………………………………… 21

Сервисы Google………………………………………………………………………………………………………………………….. 23

Ядро Linux и рантайм……………………………………………………………………………………………………………….. 24

Android Go…………………………………………………………………………………………………………………………………… 26

Глава 2. От кнопки включения до рабочего стола…………………………………. 29

Шаг первый. Aboot и таблица разделов………………………………………………………………………………….. 29

Шаг второй. Раздел boot……………………………………………………………………………………………………………. 31

Шаг второй, альтернативный. Раздел recovery……………………………………………………………………….. 33

Шаг третий. Инициализация…………………………………………………………………………………………………….. 33

Шаг четвертый. Zygote и app_process………………………………………………………………………………………. 35

Глава 3. Treble, A/B-разметка, динамические и модульные обновления…. 39

Treble…………………………………………………………………………………………………………………………………………… 40

A/B-разметка………………………………………………………………………………………………………………………………. 41

Динамические обновления………………………………………………………………………………………………………… 44

Виртуальная A/B-разметка………………………………………………………………………………………………………. 46

Модульные обновления…………………………………………………………………………………………………………….. 46

Трюк с сохранением пространства………………………………………………………………………………………….. 48

Глава 4. Броня Android…………………………………………………………………………… 51

Полномочия………………………………………………………………………………………………………………………………… 52

Ограничения……………………………………………………………………………………………………………………………….. 55

Запрет доступа к другим приложениям……………………………………………………………………….. 56

Шифрование данных…………………………………………………………………………………………………………………. 57

Доверенная среда исполнения………………………………………………………………………………………………….. 59

Доверенная загрузка………………………………………………………………………………………………………………….. 61

Защита от срыва стека………………………………………………………………………………………………………………. 62

SELinux……………………………………………………………………………………………………………………………………….. 65

Seccomp-bpf……………………………………………………………………………………………………………………………….. 66

Виртуализация…………………………………………………………………………………………………………………………… 68

Google Play Protect……………………………………………………………………………………………………………………… 69

Smart Lock………………………………………………………………………………………………………………………………….. 70

WebView……………………………………………………………………………………………………………………………………… 72

SafetyNet (Play Integrity API)…………………………………………………………………………………………………….. 73

Kill Switch…………………………………………………………………………………………………………………………………….. 74

Цифровые подписи APK…………………………………………………………………………………………………………….. 74

Итог……………………………………………………………………………………………………………………………………………… 76

Глава 5. Альтернативные прошивки, рутинг и кастомизация……………….. 77

GrapheneOS…………………………………………………………………………………………………………………………………. 77

Tor……………………………………………………………………………………………………………………………………………….. 79

Рутинг………………………………………………………………………………………………………………………………………….. 80

SuperSU……………………………………………………………………………………………………………………………. 82

Magisk………………………………………………………………………………………………………………………………. 82

Модификации…………………………………………………………………………………………………………………………….. 83

Часть II……………………………………………………………………………………………….. 85

Глава 6. Основы взлома…………………………………………………………………………. 87

Делаем платное бесплатным……………………………………………………………………………………………………. 87

Снаряжаемся…………………………………………………………………………………………………………………… 88

Вскрываем подопытного……………………………………………………………………………………………….. 89

Изучаем код…………………………………………………………………………………………………………………….. 90

Вносим правки………………………………………………………………………………………………………………… 92

Глава 7. Внедряемся в чужое приложение………………………………………………. 95

Ищем точку входа……………………………………………………………………………………………………………………… 95

Пишем payload…………………………………………………………………………………………………………………………… 97

Вызываем payload……………………………………………………………………………………………………………………… 98

Крадем данные………………………………………………………………………………………………………………………… 100

Периодические задачи…………………………………………………………………………………………………………….. 103

Глава 8. Продираемся сквозь обфусцированный код…………………………… 105

Как работает обфускация……………………………………………………………………………………………………….. 105

Упаковщики……………………………………………………………………………………………………………………………… 109

Деобфускаторы………………………………………………………………………………………………………………………… 109

Небольшой пример………………………………………………………………………………………………………………….. 112

Глава 9. Взлом с помощью отладчика………………………………………………….. 117

Отладчик и реверсинг……………………………………………………………………………………………………………… 117

Флаг отладки……………………………………………………………………………………………………………………………. 118

Декомпиляция и дизассемблирование…………………………………………………………………………………… 118

Android Studio…………………………………………………………………………………………………………………………… 118

Используем дизассемблированный код…………………………………………………………………………………. 121

Глава 10. Frida……………………………………………………………………………………… 123

Dynamic Instrumentation Toolkit…………………………………………………………………………………………….. 123

Первые шаги…………………………………………………………………………………………………………………………….. 124

Пишем код………………………………………………………………………………………………………………………………… 126

Внедряемся……………………………………………………………………………………………………………………………….. 127

Ломаем CrackMe……………………………………………………………………………………………………………………… 129

Перехват нативных библиотек……………………………………………………………………………………………….. 131

Другие примеры применения Frida…………………………………………………………………………………………. 132

Обход защиты на снятие скриншотов………………………………………………………………………… 133

Извлечение SSL-сертификата приложения из KeyStore…………………………………………….. 134

Обход детекта root……………………………………………………………………………………………………….. 135

Обход упаковщиков……………………………………………………………………………………………………… 136

Выводы……………………………………………………………………………………………………………………………………… 137

Глава 11. Drozer и другие инструменты……………………………………………….. 139

Активности……………………………………………………………………………………………………………………………….. 140

Перехват интентов…………………………………………………………………………………………………………………… 142

Перехват возвращаемого значения………………………………………………………………………………………… 143

Content Provider………………………………………………………………………………………………………………………… 144

Сервисы…………………………………………………………………………………………………………………………………….. 145

Другие возможности………………………………………………………………………………………………………………… 146

Другие уязвимости…………………………………………………………………………………………………………………… 146

Выводы………………………………………………………………………………………………………………………….. 149

Другие инструменты……………………………………………………………………………………………………………….. 149

Статический анализ……………………………………………………………………………………………………… 149

Jadx…………………………………………………………………………………………………………………….. 149

JEB………………………………………………………………………………………………………………………. 150

Apktool……………………………………………………………………………………………………………….. 150

APKiD………………………………………………………………………………………………………………….. 150

Simplify……………………………………………………………………………………………………………….. 151

DeGuard………………………………………………………………………………………………………………. 151

Bytecode Viewer…………………………………………………………………………………………………. 152

QARK………………………………………………………………………………………………………………….. 153

Динамический анализ………………………………………………………………………………………………….. 153

Objection…………………………………………………………………………………………………………….. 154

Inspeckage………………………………………………………………………………………………………….. 154

Что еще может пригодиться?………………………………………………………………………………………………….. 155

Часть III…………………………………………………………………………………………….. 157

Глава 12. История вирусописательства для Android…………………………….. 159

До нашей эры, или Как написать вирус за 15 минут……………………………………………………………. 159

Geinimi и все-все-все………………………………………………………………………………………………………………… 160

DroidDream и начало борьбы за чистоту маркета……………………………………………………………….. 161

Zeus-in-the-Mobile…………………………………………………………………………………………………………………….. 162

Первый IRC-бот……………………………………………………………………………………………………………………….. 164

Первый полиморфный троян…………………………………………………………………………………………………… 164

Вирус-матрешка………………………………………………………………………………………………………………………. 165

Действительно продвинутый троян……………………………………………………………………………………….. 167

Ransomware……………………………………………………………………………………………………………………………… 168

Adware………………………………………………………………………………………………………………………………………. 170

Click fraud…………………………………………………………………………………………………………………………………. 170

А как же другие ОС?………………………………………………………………………………………………………………… 171

Глава 13. Современные образцы вредоносных программ…………………….. 173

Toast Amigo………………………………………………………………………………………………………………………………. 173

Android/Banker.GT!tr.spy…………………………………………………………………………………………………………. 173

Chrysaor…………………………………………………………………………………………………………………………………….. 174

Rootnik………………………………………………………………………………………………………………………………………. 175

Mandrake………………………………………………………………………………………………………………………………….. 176

Joker…………………………………………………………………………………………………………………………………………… 177

MalLocker…………………………………………………………………………………………………………………………………. 178

Вредоносные библиотеки……………………………………………………………………………………………………….. 180

Уязвимости, используемые троянами…………………………………………………………………………………….. 181

StrandHogg — уязвимость с подменой приложений………………………………………………….. 181

Cloak & Dagger………………………………………………………………………………………………………………. 182

Перекрытие диалогов запросов разрешений……………………………………………………………… 184

Глава 14. Пишем вредоносную программу для Android………………………… 185

Каркас………………………………………………………………………………………………………………………………………. 185

Информация о местоположении…………………………………………………………………………………………….. 187

Список установленных приложений……………………………………………………………………………………… 189

Дамп SMS…………………………………………………………………………………………………………………………………. 190

Запись аудио……………………………………………………………………………………………………………………………. 191

Съемка………………………………………………………………………………………………………………………………………. 192

Складываем все вместе……………………………………………………………………………………………………………. 198

Задания по расписанию………………………………………………………………………………………………. 198

Снимок при включении экрана……………………………………………………………………………………. 199

Запуск при загрузке……………………………………………………………………………………………………… 199

Запись аудио по команде…………………………………………………………………………………………….. 200

Отправка данных на сервер………………………………………………………………………………………… 201

Выводы……………………………………………………………………………………………………………………………………… 201

Глава 15. Используем возможности Android в личных целях……………….. 203

IPC…………………………………………………………………………………………………………………………………………….. 203

Интенты…………………………………………………………………………………………………………………………. 204

Широковещательные сообщения………………………………………………………………………………… 205

Логирование звонков……………………………………………………………………………………………………. 207

Скрытые API…………………………………………………………………………………………………………………………….. 208

Оригинальный фреймворк……………………………………………………………………………………………. 210

Рефлексия………………………………………………………………………………………………………………………. 211

Какие еще скрытые API существуют?………………………………………………………………………… 211

Запрет рефлексии в Android 9……………………………………………………………………………………… 211

Системный API…………………………………………………………………………………………………………………………. 212

Немного теории…………………………………………………………………………………………………………….. 212

Уровень доступа privileged…………………………………………………………………………………………… 213

Уровень доступа signature……………………………………………………………………………………………. 215

Уровень доступа development…………………………………………………………………………………….. 215

Права администратора и сервис Accessibility……………………………………………………………………….. 216

Нажимаем кнопки смартфона……………………………………………………………………………………… 217

Извлекаем текст из полей ввода………………………………………………………………………………….. 219

Блокируем устройство и защищаемся от удаления………………………………………………….. 221

Перехватываем и смахиваем уведомления………………………………………………………………… 224

Права root…………………………………………………………………………………………………………………………………. 226

Запускаем команды……………………………………………………………………………………………………… 226

Получаем права суперпользователя………………………………………………………………………….. 228

Несколько примеров…………………………………………………………………………………………………….. 230

Сторонние библиотеки………………………………………………………………………………………………… 233

Расширение функциональности……………………………………………………………………………………………… 233

Плагины…………………………………………………………………………………………………………………………. 233

API………………………………………………………………………………………………………………………. 234

Простейший плагин…………………………………………………………………………………………… 234

Поиск плагинов………………………………………………………………………………………………….. 235

Запуск функций плагина…………………………………………………………………………………… 236

Динамическая загрузка кода……………………………………………………………………………………….. 238

Простейший пример………………………………………………………………………………………….. 238

Долой рефлексию………………………………………………………………………………………………. 240

Когда модулей много………………………………………………………………………………………… 241

Берем модули с собой……………………………………………………………………………………….. 242

Глава 16. Скрываем и запутываем код………………………………………………… 245

Обфускация………………………………………………………………………………………………………………………………. 245

Собственный словарь…………………………………………………………………………………………………… 246

Скрытие строк………………………………………………………………………………………………………………………….. 247

Сохраняем строки в strings.xml……………………………………………………………………………………. 247

Разбиваем строки на части………………………………………………………………………………………….. 248

Кодируем помощью XOR…………………………………………………………………………………………….. 248

Шифруем строки…………………………………………………………………………………………………………… 250

Советы по использованию шифрования…………………………………………………………………….. 252

Храним данные в нативном коде……………………………………………………………………………………………. 253

«Крашим» измененное приложение……………………………………………………………………………………….. 254

Сверяем цифровую подпись………………………………………………………………………………………… 255

Проверяем источник установки…………………………………………………………………………………… 257

Защита от реверса и отладки…………………………………………………………………………………………………. 257

Root………………………………………………………………………………………………………………………………… 257

Эмулятор……………………………………………………………………………………………………………………….. 259

Отладчик……………………………………………………………………………………………………………………….. 261

Xposed……………………………………………………………………………………………………………………………. 263

Frida……………………………………………………………………………………………………………………………….. 264

Клонирование……………………………………………………………………………………………………………….. 267

Предметный указатель…………………………………………………………………………. 268

Зобнин Евгений Евгеньевич

Зобнин Евгений Евгеньевич, редактор журнала «Хакер», программист, в прошлом системный администратор. Автор статей на тему внутреннего устройства настольных и мобильных ОС, безопасности и взлома. Имеет 20-летний опыт в области UNIX-подобных операционных систем, последние 10 лет пишет статьи об устройстве Android. Автор популярного приложения AIO Launcher.

Опубликовано

Уникальная книга: “Хакерство. Физические атаки с использованием хакерских устройств”

Хакерство. Физические атаки с использованием хакерских устройств

Представляем уникальную книгу, подготовка которой заняла у нас очень много времени и потребовала значительных усилий. Но оно того стоило!
📚Книгу «Хакерство. Физические атаки с использованием хакерских устройств» написал Андрей Жуков — этичный хакер, пентестер, ведущий специалист по анализу защищенности в компании «Уральский центр систем безопасности» (УЦСБ).

Книга посвящена физическим атакам на беспроводные сети и компьютеры с использованием самодельных хакерских устройств и защите от них. Показан способ дампа памяти компьютера при помощи обычной флешки, метод перехвата сетевого трафика посредством зажимов-«крокодилов». Подробно освещены различные атаки BadUSB, продемонстрирован метод организации несанкционированного доступа к компьютеру при помощи 4G-модема и подключения к локальной сети через хакерское устройство на базе одноплатного компьютера. Описаны атаки на беспроводные сети и уличные IP-камеры с помощью самодельного устройства Wi-Fi Pineapple. Продемонстрирован способ атаки на сеть и устройства с использованием дрона, оборудованного одноплатным компьютером. Описана конструкция защищенного от помех квадрокоптера с управлением по мобильной сотовой сети. Рассказано о том, как превратить обычный мобильный телефон в «трекер» или хакерское устройство, позволяющее управлять гаражными воротами или шлагбаумами.

Для пентестеров и специалистов по информационной безопасности

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

 

Читатель узнает:

  • как сдампить оперативную память компьютера или ноутбука с помощью обычной флешки;
  • как сетевой трафик может быть перехвачен с использованием зажимов-«крокодильчиков»;
  • как хакеры похищают корпоративные пароли в метро и общественном транспорте;
  • как пролетающий мимо окна дрон может взломать компьютер в мгновение ока, даже если он расположен на 25-м этаже;
  • как построить на базе дешевого квадрокоптера такой «хакерский дрон», способный противостоять «глушилкам» и летать на десятки километров, не теряя связи с оператором;
  • как с помощью подключаемого устройства перехватывать сетевой трафик заблокированного компьютера;
  • как подключаться к IP-камерам на столбах;
  • как запустить Linux на телефоне, подключать к нему разнообразные хакерские устройства и управлять гаражными воротами или шлагбаумами, словно в компьютерной игре про хакеров.

Книгу “Хакерство. Физические атаки с использованием хакерских устройств” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Жуков Андрей

Жуков Андрей Николаевич, пентестер с восьмилетним стажем. Ведущий специалист по анализу защищенности в компании «Уральский центр систем безопасности» (УЦСБ). Обладатель сертификатов OSCP, OSCE, OSWE. Автор статей в журналах «Хакер» и «PentestMagazine», докладов на международных конференциях Positive Hack Days и Zero Nights.