Андрей Смирнов
Время чтения: ~8 мин.
Просмотров: 0

Remote wipe на Android и Exchange ActiveSync

android-sync.jpg

  1. В меню Приложения выберите пункт Электронная почта. В некоторых версиях Android это приложение может называться Почта.
  2. Введите полный адрес электронной почты (например, proverka@contoso.com) и пароль, а затем нажмите кнопку Далее.
  3. Выберите пункт Учетная запись Exchange. В некоторых версиях Android он может называться «Exchange ActiveSync».
  4. Введите указанные ниже сведения об учетной записи, а затем нажмите кнопку Далее.
  • ДоменИмя пользователя. Введите здесь полный адрес электронной почты. Если Домен и Имя пользователя в вашей версии Android — два разных поля, оставьте поле Домен пустым и введите полный адрес электронной почты в поле Имя пользователя.

 ПРИМЕЧАНИЕ.    В некоторых версиях Android в этом поле необходимо использовать формат «доменимя_пользователя». Например, если ваш адрес — proverka@contoso.com, введите contoso.comproverka@contoso.com. Имя пользователя — это используемый адрес электронной почты .

  • Пароль. Введите пароль, используемый для доступа к учетной записи.
  • Exchange Server. Введите адрес сервера Exchange Server. Если вы подключаетесь к своей электронной почте Office 365, используйте в качестве имени сервера outlook.office365.com. Если вы не используете Office 365, см. раздел Определение имени сервера Exchange ActiveSync далее в этой статье.
  1. Как только телефон проверит настройки сервера, отобразится экран Параметры учетной записи. Доступные параметры зависят от версии Android, установленной на телефоне. Могут быть доступны указанные ниже параметры.
  • Интервал проверки электронной почты. По умолчанию задано значение «Автоматически» (push). В этом случае сообщения отправляются на телефон при их поступлении. Это значение рекомендуется выбирать только при наличии неограниченного доступа к Интернету.
  • Период синхронизации. Определяет количество сообщений, которые требуется хранить на мобильном телефоне. Можно выбрать одно из нескольких значений, например «Один день», «Три дня» или «Одна неделя».
  • Уведомлять о получении новых сообщений. Если выбрать этот параметр, вы будете получать на мобильный телефон уведомления о новых сообщениях электронной почты.
  • Синхронизировать контакты с учетной записью. Если выбрать этот параметр, контакты на телефоне и в учетной записи будут синхронизированы.
  1. Нажмите кнопку Далее, а затем введите имя этой учетной записи и имя, которое требуется отображать при отправке сообщений другим пользователям. Нажмите кнопку Готово, чтобы завершить настройку электронной почты и начать использовать свою учетную запись.

 ПРИМЕЧАНИЕ.    Возможно, придется подождать 10–15 минут после настройки учетной записи, прежде чем можно будет отправлять или получать сообщения.

(Всего просмотров: 5 827, просмотров сегодня: 1)

Пошаговое описание процесса подключения корпоративной почты сотрудников @etu.ru на мобильные телефоны, работающие под управлением ОС Android

Данная инструкция составлена с использованием мобильного устройства Xiaomi A1 с операционной системой Android 8.1.0. В более ранних и поздних версиях представленные снимки экранов могут не принципиально отличаться.

  1. Нажмите на ярлык приложения «Gmail»
  2. Нажмите «Добавить адрес электронной почты»

mail.etu.ru-android-01.jpg

  1. В «Настройках электронной почты» выберите пункт «Exchange и Office 365».
  2. Введите данные в предложенные поля: e-mail – адрес Вашего корпоративного почтового ящика. Нажмите в нижнем правом углу кнопку «Далее».

mail.etu.ru-android-02.jpg

  1. В дополнительно появившемся поле «Пароль» введите Ваш пароль от корпоративной почты. Нажмите в нижнем правом углу кнопку «Далее». В случае если Вы не знаете пароль от почты, свяжитесь со специалистами отдела технической поддержки.
  2. Введите данные в дополнительно появившиеся поля: сервер – укажите mail.etu.ru; порт – укажите 443; тип безопасности – укажите SSL/TLS. Нажмите в нижнем правом углу кнопку «Далее».

mail.etu.ru-android-03.jpg

  1. Разрешите серверу mail.etu.ru удаленное управление некоторыми функциями безопасности устройства Android и завершите настройку аккаунта.
  2. Активируйте приложение администратора устройства.

mail.etu.ru-android-04.jpg

  1. Выбрать какие данные необходимо синхронизировать с корпоративной почтой. Если Вам нужна только почта, оставьте только переключатель «Почта» в зелёном положении. Нажмите в верхнем, правом углу «Сохранить».
  2. В стандартном для ОС Apple приложении «Почта» у Вас должен появиться пункт с названием, которое вы указали в поле «Описание» в пункте № 5, данной инструкции.

mail.etu.ru-android-05.jpg

Обратите внимание! По умолчанию, после добавления Вашего адреса электронной почты, приложение Gmail синхронизирует все данные с сервера корпоративной почты университета (почта, контакты, календарь, задачи). Это может приводить, например, к появлению в записной книжке на телефоне контактов хранящихся на сервере университета. Для того, что бы отключить синхронизацию не нужных данных, перейдите в раздел настройки Вашего почтового ящика в приложении Gmail и оставьте только необходимые Вам данные.

Однажды наш администратор Microsoft Exchange упомянул о функциональности полной очистки любого устройства по своему усмотрению (будь то iPhone, или девайс на основе BlackBerry или Android), получающих почту по протоколу Exchange ActiveSync. Девайс рапортует серверу, доступен ли ему функционал wipe, а администратор может запретить передачу почты на устройства, не поддерживающие wipe. Сначала я не поверил: как так, безобидная настройка почтового аккаунта даёт администратору почты столько полномочий на моём личном устройстве. Сделав полный бэкап SD-карточки и всей внутренней памяти, предложил эксперимент. И чудо — пришло push-уведомление, телефон подзавис, через некоторое время перезагрузился и я остался с заводскими настройками. А SD-карта вообще не подавала признаков жизни.6420e93dfc872177be1ffe6ecf2e7ded.jpg Заинтересовавшись, я решил изучить этот вопрос и, по возможности, отключить вредоносный функционал почтового клиента. Первым делом надо было посмотреть, что случилось с SD-картой. Телефон считал, что она отсутствует и я вставил её в кард-ридер. Просмотр в HEX-редакторе показал, что таблица разделов (MBR) затёрта, но сами разделы (FAT32 и Linux swap) вполне нормальны. Замечательной утилитой TestDisk я моментально восстановил содержимое карточки к состоянию до очистки (вот вам и Full Wipe) Затем просмотрел исходники Android, поискав по ключевым словам wipe, clear, factory settings. Код самоуничтожения располагается в модуле /system/framework/services.jar и представляет собой некий BroadcastReceiver, ожидающий запроса на уничтожение данных (исходник этого класса) Приложение Settings.apk, входящее в состав open-source пакета Android, вызывает его следующим способом:

sendBroadcast(new Intent("android.intent.action.MASTER_CLEAR")); 

От несанкционированного вызова он якобы защищён

It can only be granted to apps signed with the platform key, or installed on the system partition.

Но, как мы увидим ниже, обычное приложение может обойти эту защиту. Поискав, другие способы запуска очистки, на Stackoverflow я нашёл рецепт, как обычное приложение (без специальных permissions) может попросить Settings.apk показать страницу управления очисткой, где пользователь сам нажмёт «Очистить» на странице доверенного приложения.

Context ctx = createPackageContext("com.android.settings", Context.CONTEXT_IGNORE_SECURITY | Context.CONTEXT_INCLUDE_CODE); Class< mc = ctx.getClassLoader().loadClass("com.android.settings.MasterClear"); startActivity(new Intent(ctx, mc)); 

Пока всё под контролем пользователя… Далее я декомпилировал все приложения из стандартной прошивки Gingerbread 2.42 (HTC Sense) для Desire Z, и поискал в исходниках обращения к android.intent.action.MASTER_CLEAR, либо к com.android.settings.MasterClear. Всего таких приложения нашлось четыре:

CheckinProvider.apk MyHTC.apk Settings.apk Mail.apk

Первые два — функционал блокировки потерянного устройства от онлайн-сервисов Google и HTC, далее — очистка девайса по запросу пользователя из страницы настроек и виновник расследования, почтовый клиент. Почтовик вызывает очистку таким кодом:

    Intent i = new Intent("android.intent.action.MAIN");     i.setClassName("com.android.settings", "com.android.settings.MasterClear");     i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);     i.putExtra("EASRemoteWipe", true);     this.mContext.startActivity(i); 

То есть, от предыдущего примера он пошёл немного дальше и вызывает не activity с кнопкой, которую может нажать юзер, а activity, которая запускается после нажатия кнопки. У меня есть подозрение, что для выполнения этого кода не нужны особые разрешения (не могу проверить, т.к. не установлены ни java-IDE, ни Android SDK). На этом моё любопытство было удовлетворено. Исправив в дизасм-листинге строку MasterClear на MasterXlear, я пересобрал Mail.apk, залил его на устройство и проверил, что команда wipe от exchange больше не имеет власти над телефоном (при попытке синхронизировать почту, появляется ошибка синхронизации, пока «потерянный» телефон не будет отвязан от учётной записи exchange, после чего на следующей синхронизации вся почта заливается заново, как на новый девайс, и продолжает нормально работать) В заключение опишу несколько граблей, которые доставили мне много удовольствия в их преодолении. Для андроид-разработчиков это элементарные вещи, но для начинающих хакеров они не очевидны. 1. Подпись пересобранного приложения. Любое Android-приложение должно быть подписано личным сертификатом разработчика, иначе оно не запустится. Бесплатный сертификат можно получить из программы openssl, если попросить её об этом так:

openssl genrsa -out key.pem 1024 openssl req -new -key key.pem -out request.pem openssl x509 -req -days 9999 -in request.pem -signkey key.pem -out certificate.pem openssl pkcs8 -topk8 -outform DER -in key.pem -inform PEM -out key.pk8 -nocrypt 

В результате мы получим вожделенные certificate.pem, key.pem и key.pk8, которыми подпишем пересобранный Mail.apk с помощью утилиты signapk.jar:

java -jar signapk.jar certificate.pem key.pk8 Mail-unsigned.apk Mail-signed.apk 

2. Dalvik cache У каждого приложения есть кеш JIT-компиляции, чтобы не проводить компиляцию каждый запуск. При установке apk обычным способом кеш очищается, но при копировании приложения (в системный раздел /system/app) его нужно очистить самостоятельно:

rm /data/dalvik-cache/*@Mail.apk@*

3. Глюки apktool Утилита apktool, которой я проводил дизассемблирование и пересборку приложения, упорно создавала неработоспособный файл. Внутри apk находятся ресурсы, собранные в бинарный файл resources.arsc (например, xml-ресурсы в этом файле переведены в бинарный вид, скорее всего для удобной навигации по xml-дереву) и код, собранный в classes.dex. Поскольку править мне надо только код, при декомпиляции я задал опцию -r (Do not decode resources) и после компиляции исправленной требухи обратно в apk-файл он наконец-то запустился.Используемые источники:

  • https://iteron.ru/настройка-электронной-почты-microsoft-exchange-на-ус/
  • https://etu.ru/ru/upravlenie-informacionnyh-tehnologiy/chasto-zadavaemye-voprosy/podklyuchenie-korporativnoj-pochty-na-mobilnom-ustrojstve/podklyuchenie-k-mobilnym-ustrojstvam-na-os-android
  • https://habr.com/post/148331/

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации