Adguard ошибка https фильтрации не принимает наш сертификат

Прошли те времена, когда мобильные приложения мужественно игнорировали все ошибки, связанные с SSL, и позволяли перехватывать и модифицировать трафик.

Автор: Cody Wass

Прошли те времена, когда мобильные приложения мужественно игнорировали все ошибки, связанные с SSL, и позволяли перехватывать и модифицировать трафик. Современные приложения, как минимум, проверяют цепочки сертификатов на валидность и принадлежность к достоверному центру сертификации. Мы, пентестеры, ставим перед собой задачу «убедить» приложение, что сертификат надежный с целью выполнения атаки типа «человек посередине» и последующего изменения трафика. В этой статье будут рассмотрены следующие техники обхода проверок SSL-сертификатов в Android:

  • Добавление сертификатов в хранилище достоверных сертификатов.
  • Перезапись упакованных сертификатов.
  • Использование скрипта Frida для обхода проверок SSL-сертификатов.
  • Изменение кода проверки сертификата.

Некоторые из вышеуказанных техник — простые, другие – более сложные в реализации. Мы рассмотрим каждый из этих методов без особого углубления в специфические детали.

Зачем нужна MITM-атака на SSL

Чтобы просматривать и изменять вызовы веб-службы, используемой мобильным приложением, нам понадобится промежуточный прокси сервер для перехвата, созданный при помощи утилит навроде BurpSuite или ZAP. При перехвате SSL-трафика SSL-соединение прерывается на стороне прокси-сервера. Сертификат, отсылаемый прокси-сервером, анализируется мобильным приложением, как если бы прокси был оконечной точкой веб-службы. По умолчанию самоподписанный сертификат, генерируемые утилитами наподобие Burp, не будет принадлежать проверенной достоверной цепочке. Если сертификат нельзя проверить на достоверность, большинство мобильных будут обрывать соединение вместо того, чтобы подключаться и работать в потенциально незащищенном канале. Техники, представленные ниже, предназначены для одной цели – убедить мобильное приложение, что сертификат, отправляемый прокси-сервером, является достоверным.

Техника 1 – Добавление сертификата в хранилище пользовательских сертификатов

Самый простой способ избежать SSL-ошибок – обзавестись валидным и надежным сертификатом. Эта задача решается относительно просто, если вы сможете установить достоверный сертификат на устройство. Если операционная система доверяет вашему центру сертификации, то будет доверять и сертификату, подписанному центром сертификации.

В Android есть два встроенных хранилища сертификатов, которые отслеживают, каким центрам сертификации доверяет операционная система: системное хранилище (хранит предустановленные сертификаты) и пользовательское хранилище (хранит сертификаты, добавленные пользователями).

Выдержка с сайта developer.android.com:

По умолчанию безопасные соединения (использующие протоколы TLS, HTTPS и им подобные) во всех приложениях доверяют предустановленным системным сертификатам. В Android 6.0 (API level 23) и более ранних версиях по умолчанию также считаются достоверными сертификаты, добавленные пользователями. Приложение может настраивать свои собственные соединения на уровне приложения (base-config) и на уровне домена (domain-config).

Сей факт означает, что, если мы имеем дело с приложением, которое работает в Android 6.0 и более ранних версиях, то можно просто добавить сертификат в пользовательское хранилище. Когда приложение пытается проверить достоверность цепочки для нашего сертификата, то обнаружит, что наш центр сертификации связан с достоверным хранилищем и, следовательно, будет доверять нашему сертификату. В более новых версиях приложение не будет доверять хранилищу пользовательских сертификатов. Чтобы решить эту проблему, нужно прописать такой уровень API и версию Android, чтобы приложение стало доверять пользовательским центрам сертификации. Мы будем редактировать атрибут «platformBuildVersionCode» элемента «manifest» в файле AndroidManifest.xml.

<manifest xmlns:android=»http://schemas.android.com/apk/res/android&quot; package=»com.test.app» platformBuildVersionCode=»25″ platformBuildVersionName=»7.1.1″>

В коде выше в строке «platformBuildVersionCode=25» нужно поменять значение 25 на 23, а в строке platformBuildVersionName=»7.1.1″ значение 7.1.1 на 6.0.

<manifest xmlns:android=»http://schemas.android.com/apk/res/android&quot; package=»com.test.app» platformBuildVersionCode=»23″ platformBuildVersionName=»6.0«>

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

Если требуется запуск на конкретной версии платформы, мы можем определить тэг trust-anchors в файле «/res/xml/network_security_config.xml». Например, следующий файл (https://developer.android.com/training/articles/security-config.html) определяет новый достоверный сертификат, который должен храниться по адресу /res/raw/my_ca.

 <?xml version="1.0"  encoding="utf-8"?>
  <network-security-config>
  <base-config>
  <trust-anchors>
  <certificates src="@raw/my_ca"/>
  </trust-anchors>
  </base-config> 
</network-security-config>

Если в приложении будет проходить проверку только указанный сертификат, условия для успешного выполнения этой техники выполняются.

Техника 2 – Перезапись упакованного сертификата

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

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

Ручная установка сертификата на устройствах с Android 11 | AdGuard Knowledgebase
Рисунок 1: Перечень сертификатов, используемых приложением

Если открыть пакет приложения при помощи, например, APK Studio, то можно сразу увидеть перечень привязанных сертификатов. На картинке выше сертификаты находятся в папке «assets». Замена явно бросающегося в глаза сертификата UniversalRootCA позволит нам подсунуть приложению наш сертификат.

Техника 3 – Подключение к функциям через фреймворк Frida

Если установки собственного сертификата недостаточно для успешного перехвата SSL-трафика, скорее всего, в приложении используются техники навроде SSL pinning или дополнительная SSL-валидация. В этом случае нужно блокировать проверки через непосредственное подключение к соответствующим функциям. Ранее эта техника была доступна для реализации только на устройствах с правами суперпользователя. Однако на данный момент при помощи библиотеки Frida Gadget можно работать с приложением и получить доступ к полному функционалу фреймворка Frida без прав суперпользователя.

Если вы уже выполняли пентесты мобильных приложений, то, вероятно, знакомы с этим фреймворком. Описание всей функциональности Frida выходит за рамки этой статьи, но если говорить в общем, то этот фреймворк позволяет изменять логику работы приложения во время выполнения. Обычно Frida работает как отдельное приложение и требует прав суперпользователя на устройстве. Если у нас нет прав суперпользователя, мы можем инжектировать в пакет приложения динамическую библиотеку Frida Gadget, содержащую большую часть функционала фреймворка Frida. Эта библиотека загружается во время выполнения приложения и позволяет вносить изменения в код.
Чтобы загрузить Frida Gadget, нужно распаковать APK, вставить динамическую библиотеку, отредактировать smali-код так, чтобы динамическая библиотека вызывалась самой первой, а затем переупаковать и установить пакет. Весь этот процесс хорошо задокументирован Джоном Козиракисом (John Kozyrakis). Вначале лучше пройти все этапы вручную, чтобы лучше понять, как работает эта технология. Чтобы сэкономить время, существует утилита — Objection, которая автоматизирует весь вышеупомянутый процесс. Требуется лишь указание целевого пакета, над которым нужно выполнить манипуляции.

 C:  >objection patchapk -s test_app.apk
  No  architecture specified. Determining it using `adb`...
  Detected  target device architecture as: armeabi-v7a
  Github  FridaGadget is v10.6.28, local is v10.6.13. Updating...
  Downloading  armeabi-v7a library to  C:.objectionandroidarmeabi-v7alibfrida-gadget.so.xz...
  Unpacking  C:.objectionandroidarmeabi-v7alibfrida-gadget.so.xz...
  Cleaning up  downloaded archives...
  Using Gadget  version: 10.6.28
  Unpacking  test_app.apk
  App already  has android.permission.INTERNET
  Reading  smali from:  C:Temptmp8dxqks1u.apktempsmalicom/test/app/TestMainActivity.smali
  Injecting  loadLibrary call at line: 10
  Writing  patched smali back to: C:Temptmp8dxqks1u.apktempsmalicom/test/app/TestMainActivity.smali
  Creating  library path: C:Temptmp8dxqks1u.apktemplibarmeabi-v7a
  Copying  Frida gadget to libs path...
  Rebuilding  the APK with the frida-gadget loaded...
  Built new  APK with injected loadLibrary and frida-gadget
  Signing new  APK.
  jar signed.
  Signed the  new APK
  Performing  zipalign
  Zipaling  completed
  Copying  final apk from  C:UserscwassAppDataLocalTemptmp8dxqks1u.apktemp.aligned.objection.apk to  current directory...
Cleaning up  temp files...

После завершения в нашей рабочей директории должен появиться файл «test_app.objection.apk». По умолчанию утилита objection добавляет постфикс «.objection» к имени пакета. Далее мы можем установить этот пакет так же, как и любой другой APK, при помощи команды adb install test_app.objection.apk. После того как измененный пакет установлен на целевом устройстве, во время запуска приложение должно встать на паузу на начальном экране. В этот момент мы можем подключиться к серверу Frida, который отслеживает наше устройство:

C:>frida-ps -U
PID Name
—- ——
6383 Gadget

C:>frida -U gadget
____
/ _ | Frida 10.3.14 — A world-class dynamic instrumentation framework
| (_| |
> _ | Commands:
/_/ |_| help -> Displays the help system
. . . . object? -> Display information about ‘object’
. . . . exit/quit -> Exit
. . . .
. . . . More info at http://www.frida.re/docs/home/

[Motorola Moto G (5) Plus::gadget]-> Java.available
true

Alternatively, Objection supports interaction with the listening Frida server by using the ‘explore’ command:

C:>objection explore
___| |_ |_|___ ___| |_|_|___ ___
| . | . | | | -_| _| _| | . | |
|___|___|_| |___|___|_| |_|___|_|_|
|___|(object)inject(ion) v1.2.2

Runtime Mobile Exploration
by: @leonjza from @sensepost

[tab] for command suggestions
com.test.app on (motorola: 7.0) [usb] # android hooking search classes TrustManager
android.security.net.config.RootTrustManager
android.app.trust.ITrustManager$Stub$Proxy
android.app.trust.ITrustManager
android.security.net.config.NetworkSecurityTrustManager
android.security.net.config.RootTrustManagerFactorySpi
android.app.trust.TrustManager
android.app.trust.ITrustManager$Stub
com.android.org.conscrypt.TrustManagerImpl
com.android.org.conscrypt.TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker
com.android.org.conscrypt.TrustManagerImpl$TrustAnchorComparator
com.android.org.conscrypt.TrustManagerFactoryImpl
javax.net.ssl.TrustManagerFactory$1
javax.net.ssl.TrustManager
javax.net.ssl.TrustManagerFactory
javax.net.ssl.X509TrustManager
javax.net.ssl.TrustManagerFactorySpi
javax.net.ssl.X509ExtendedTrustManager
[Ljavax.net.ssl.TrustManager;

Теперь вы можете воспользоваться функцией для обхода технологии SSL pinning:

com.test.app on (motorola: 7.0) [usb] # android sslpinning disable
Job: 2f633f86-f252-4a57-958e-6b46ac8d69d1 — Starting
[6b46ac8d69d1] [android-ssl-pinning-bypass] Custom, Empty TrustManager ready
Job: 2f633f86-f252-4a57-958e-6b46ac8d69d1 – Started

Техника 4 – Реверс-инжиниринг кода верификации сертификата

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

Если использовать «dex2jar», синтаксис будет следующим:

C:>d2j-dex2jar.bat «C:test_app.apk»
dex2jar C:test_app.apk -> .test_app-dex2jar.jar

Полученный файл .jar должен быть пригоден для открытия в вашей любимой утилите для исследования Java-приложений (например, JD-GUI).

После того как вы нашли функции, отвечающие за проверку сертификата, можно либо полностью пропатчить код, либо подцепиться к нужной функции при помощи Frida. Чтобы сэкономить время и не пересобирать полностью приложение, эффективнее подцепиться к функциям, отвечающим за проверку сертификата. Шаги, описанные в предыдущей технике, позволят подключиться к приложению, и далее вы можете либо подцепиться к функции при помощи утилит фреймворка Frida, либо при помощи приложения Objection.

Заключение

Техники, описанные в этой статье, позволяют перехватывать SSL-трафик и обходить некоторые наиболее распространенные защиты, используемые разработчиками. Кроме того, я кратко рассказал об утилите Objection и фреймворке Frida. Обход технологии SSL pinning и других защит лишь небольшая часть возможностей, которые позволяют реализовать эти инструменты.

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

Closed

TheHasagi opened this issue

Sep 5, 2019

· 16 comments

Assignees

@admitrevskiy

@artemiv4nov

Comments

@TheHasagi

Somehow from time to time user will receive a notification (see attachment) about HTTPS filtering error that some application does not accept our certificate. It can not be reproduced easily but it does exist.

image

@ameshkov

Does the user have HTTPS filtering enabled for Outlook? We don’t filter it by default

@TheHasagi



Copy link


Contributor


Author

I guess not, can be reproduced with default settings (after a clean install of the application).

@Eugene-Savenko

image

If this can help, please find the logs here: 2307731

@TheHasagi



Copy link


Contributor


Author

@3xploiton3

I move cert adguard to system,


@Murgeye

For me it really is not «from time to time» but constantly and it completely breaks HTTP Filtering.

@Chinaski1

@Murgeye

I suppose this is your mail to support — 2354792
Thanks for the provided logs.
Added to NCloud

@Murgeye

@Murgeye

I suppose this is your mail to support — 2354792
Thanks for the provided logs.
Added to NCloud

Yes it is, sorry, I forgot to mention it here after sending in a support request.

Btw., there seems to be no good way to work around this bug(?) in Beta except by adding every single App or Domain to the whitelist. Disabling the notifications in the low level settings causes some Apps to be unable to open any TLS connections at all.

@ameshkov

Some of the apps do TLS pinning and HTTPS filtering won’t work for them.

Ideally, you should disable HTTPS filtering for such apps.

@ameshkov

@AdguardTeam/developers I think we should have a list of apps known for using TLS pinning and suppress this notification for them.

We should expose this list via low-level settings to make it transparent to the users.

@ameshkov
ameshkov

changed the title
HTTPS filtering error

Suppress HTTPS filtering error notification for the apps that use pinning techniques

Oct 23, 2019

@Murgeye

What was the default behavior before the notification was added? I haven’t seen this notification before the last beta update, but had no problems with the same applications. I find it highly unlikely that almost all apps have suddenly started using certificate pinning for domains like crashlytics.com.

Additionally, I was able to use all of them without in-app ads before.

@Murgeye

BTW., the exclude domain button from the notification does not seem to work for me, as it always overrides the last domain added to the HTTPS whitelist. (Therefore, you can only always add a single domain to the whitelist and it is getting replaced by the next one.)

@AlfredSpijker

I can confirm the issue Murgeye mentioned above. Running latest beta 3.3.2.
Is it better to report this separately somewhere else?

@Murgeye

The bug was present in 3.3 beta 1 as well by the way.

@artemiv4nov

This bug will be fixed in beta 3.

@ameshkov

So here’s what we have here:

  1. We should add a new low-level setting pref.https.ignore.filtering.error with the list of apps that are known to use pinning techniques (@artemiv4nov plz post the exact list)
  2. We should fix the «exclude» buttons: Suppress HTTPS filtering error notification for the apps that use pinning techniques #3052 (comment)

Проблемы Adguard

Иногда при переходе на нужный веб-ресурс выскакивает сообщение — «Ваше соединение не защищено», это значит, что вы пытаетесь зайти на сайт с безопасным соединением, но вашему браузеру не удается проверить его сертификат. Так как интернет обозреватель не может дать гарантии, что открываемый портал безопасен, он его блокирует и выдает такое сообщение.

Варианты решения проблемы

Чтобы избавится от неприятности, потребуется вначале выяснить, блокируется ли данный ресурс Эдгардом или это происходит по какой-либо другой причине. Приступим к решению проблемы.

Способ 1: Отключение Adguard

Первое что нужно сделать — это отключить Adguard и попробовать повторно зайти на требуемый сайт. Таким образом, мы узнаем виноват ли Эдгард в блокировке ресурса.

  1. Для отключения приложения нажмите на его иконку правой кнопкой мыши, в системной панели рядом с часами, и выберите пункт «Закрыть Adguard».Закрываем приложение Adguard
  2. После этого зайдите на сайт, который выдает сообщение о незащищенном соединении еще раз. Если надпись все равно появляется, то вам потребуется настроить ваш браузер, а в случае если она исчезла, и ресурс открывается нормально — перейдите к следующему варианту устранения проблемы.

Способ 2: Добавление в исключения

Чтобы приложение не блокировало нужный ресурс можно добавить его в исключения, и тогда на нем не будет применяться фильтрация. Для этого потребуется произвести следующие действия:

  1. Нажмите на надпись «Настройки» в главном меню программы.Переход в настройки Adguard
  2. После этого, в открывшемся окне пролистайте страницу в самый низ и нажмите кнопку «Управлять HTTPS-исключениями».Настройки фильтрации Adguard
  3. Далее нажмите на значок «+».
  4. Впишите адрес нужного сайта в открывшуюся строку.
  5. Нажмите кнопку «Сохранить».

Добавляем сайт в белый список Adguard

Веб-ресурс добавиться в белый список и на нём не должна будет применяться фильтрация. Если данный способ вам не помог, можно попробовать следующий вариант.

Способ 3: Переустановка Сертификата

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

  1. Для начала опять потребуется зайти в настройки программы, нажав на одноименную кнопку.Переход в настройки Adguard
  2. После этого нажать «Переустановить сертификат».Переустановка сертификата Adguard
  3. Adguard оповестит вас о том, что все браузеры будут закрыты. Убедитесь, что у вас нет открытых страниц с нужной информацией и нажмите на кнопку «OK» для начала переустановки.Предупреждение о закрытии браузеров Adguard
  4. Программа переустановит сертификат и оповестит вас о завершении работы.
  5. Далее нажмите на кнопку «Закрыть».Завершение переустановки сертификата Adguard
  6. Попробуйте заново зайти на нужный вам сайт. В том случае, если вам не помог и этот способ, перейдите к следующему.

Способ 4: Отключение Фильтрации

В Эдгард можно полностью отключить фильтрацию защищенных соединений, для этого вам потребуется:

  1. Зайти в настройки приложения.Переход в настройки Adguard
  2. В опциях фильтрации убрать галочку напротив варианта «Фильтровать HTTPS протокол».Отключение фильтрации в Adguard
  3. Программа оповестит вас о том, что на некоторых ресурсах будет появляться реклама.
  4. Нажмите на кнопку «OK» для подтверждения действия.

Предупреждение о показе рекламы Adguard

Все, теперь сайты с защищенным соединением не будут блокироваться, и вы сможете попасть на нужный вам ресурс.

В этой статье мы рассмотрели главные методы устранения проблемы с сообщением «Ваше подключение не защищено». Используя описанные способы, вы сможете устранить возникшую проблему, но если это не помогло, то можно прибегнуть к полному удалению программы и установки её заново, после перезагрузки компьютера.

Фильтрация в Internet Explorer и Edge

Что делать, если не работает фильтрация в Internet Explorer или Microsoft Edge?

Скорее всего дело в том, что вы используете Windows 10, Windows 8 или 8.1, и в Internet Explorer (Microsoft Edge) включен расширенный защищенный режим. Существует два варианта решения этой проблемы.

Вариант №1 — включить использование WFP-драйвера в сетевых настройках AdGuard.

  1. Перейдите в раздел «Сеть».
  2. Включите WFP драйвер как это сделано на картинке:

Вариант №2 — отключить расширенный защищенный режим в браузере.

  1. Запустите Internet Explorer
  2. В правом верхнем углу окна браузера нажмите на кнопку «Сервис» и выберите пункт «Свойства браузера», как это показано на картинке.
    Если вы используете Windows 10, нажмите кнопку «Пуск», выберите пункт «Параметры» в Главном меню Windows, затем в окне Панели управления нажмите «Сеть и интернет» -> «Свойства обозревателя».

  1. В окне «Свойства браузера» на закладке «Дополнительно» снимите флажок «Включить расширенный защищенный режим» и нажмите на кнопку «ОК».

Источник

После обновления с 6.4 на 7.2 не стартует сетевая защита

ghazan

New Member

В окне программы — красный восклицательный знак, перезагрузка не помогает.

В логе сервиса вот такое:
INFO, AdguardSvc, 27, 13.09.2019 18:10:15.397, ApplicationState: Starting network filtering.
INFO, AdguardSvc, 27, 13.09.2019 18:10:15.398, Starting network filtering
INFO, AdguardSvc, 27, 13.09.2019 18:10:15.398, Changing filtering status from «Error» to «Starting»
INFO, AdguardSvc, 27, 13.09.2019 18:10:15.459, Adguard.Core.Certificate.CertificateInstaller | Start generating CA certificate Adguard Personal CA
INFO, AdguardSvc, 27, 13.09.2019 18:10:16.030, Adguard.Core.Certificate.CertificateInstaller | Generating CA certificate Adguard Personal CA has been completed successfully
INFO, AdguardSvc, 27, 13.09.2019 18:10:16.031, Start installing certificate Adguard Personal CA into all CA storages
INFO, AdguardSvc, 27, 13.09.2019 18:10:16.031, Adguard.Core.Api.CoreApi | Start installing certificate Adguard Personal CA via ‘C:Program Files (x86)AdguardAdguard.Core.Tools.exe’ tool
INFO, AdguardSvc, 27, 13.09.2019 18:10:16.031, Adguard.Core.Certificate.CertificateInstaller | Start installing CA certificate Adguard Personal CA into the SYSTEM store
INFO, AdguardSvc, 27, 13.09.2019 18:10:16.031, Adguard.Core.Certificate.CertificateInstaller | Start storing certificate Adguard Personal CA to the C:WINDOWSsystem32configsystemprofile391c4011229141d09b8b0a7edc2fdc1cAdguard Personal CA.cer
INFO, AdguardSvc, 27, 13.09.2019 18:10:16.032, Adguard.Core.Certificate.CertificateInstaller | Storing certificate Adguard Personal CA to the C:WINDOWSsystem32configsystemprofile391c4011229141d09b8b0a7edc2fdc1cAdguard Personal CA.cer has been completed successfully
INFO, AdguardSvc, 27, 13.09.2019 18:10:17.953, Adguard.Core.Certificate.CertificateInstaller | Executing the certificate command /cert_install has been completed successfully with the result:

INFO, AdguardSvc, 27, 13.09.2019 18:10:17.954, Changing filtering status from «Starting» to «Error»
ERROR, AdguardSvc, 27, 13.09.2019 18:10:17.954, Cannot start network filtering: System.ComponentModel.InvalidEnumArgumentException: The executing command /cert_install returns an invalid value
Source: Adguard.Core
Stack trace: at Adguard.Core.Certificate.CertificateInstaller.InvokeCertCommand[TResult](String command, CACertificate caCertificate, CertificateConfiguration certificateConfiguration, ADG_PROXY_CERT_STORE store)
at Adguard.Core.Certificate.CertificateInstaller.Install(CACertificate caCertificate, CertificateConfiguration certificateConfiguration, ADG_PROXY_CERT_STORE store)
at Adguard.Core.Api.CoreApi.InstallCertificate(CACertificate caCertificate, CertificateConfiguration certificateConfiguration, ADG_PROXY_CERT_STORE store)
at Adguard.Service.Filtering.NetworkFilteringService.b0Hp6yXdHqpwVswqfVL(Object , Object , Object , ADG_PROXY_CERT_STORE )
at Adguard.Service.Filtering.NetworkFilteringService.zdy2CJZPSW(CACertificate )
at Adguard.Service.Filtering.NetworkFilteringService.Start()

Т.е. видно, что сервис ищет сертификат в папке C:WINDOWSsystem32configsystemprofile, в то время. как Process Monitor показывает, что файл создается в SysWOW64:

12:16:19,5695159 AdguardSvc.exe 9764 CreateFile C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
12:16:19,5695406 AdguardSvc.exe 9764 QueryNetworkOpenInformationFile C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS CreationTime: 12.09.2019 12:16:17, LastAccessTime: 12.09.2019 12:16:17, LastWriteTime: 12.09.2019 12:16:17, ChangeTime: 12.09.2019 12:16:17, AllocationSize: 01.01.1601 3:00:00, EndOfFile: 01.01.1601 3:00:00, FileAttributes: D
12:16:19,5695513 AdguardSvc.exe 9764 CloseFile C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS
12:16:19,5695905 AdguardSvc.exe 9764 IRP_MJ_CLOSE C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS
12:16:19,5697438 AdguardSvc.exe 9764 CreateFile C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
12:16:19,5697638 AdguardSvc.exe 9764 QueryNetworkOpenInformationFile C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS CreationTime: 12.09.2019 12:16:17, LastAccessTime: 12.09.2019 12:16:17, LastWriteTime: 12.09.2019 12:16:17, ChangeTime: 12.09.2019 12:16:17, AllocationSize: 01.01.1601 3:00:00, EndOfFile: 01.01.1601 3:00:00, FileAttributes: D
12:16:19,5697739 AdguardSvc.exe 9764 CloseFile C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS
12:16:19,5697890 AdguardSvc.exe 9764 IRP_MJ_CLOSE C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS
12:16:19,5699355 AdguardSvc.exe 9764 CreateFile C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
12:16:19,5699548 AdguardSvc.exe 9764 QueryNetworkOpenInformationFile C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS CreationTime: 12.09.2019 12:16:17, LastAccessTime: 12.09.2019 12:16:17, LastWriteTime: 12.09.2019 12:16:17, ChangeTime: 12.09.2019 12:16:17, AllocationSize: 01.01.1601 3:00:00, EndOfFile: 01.01.1601 3:00:00, FileAttributes: D
12:16:19,5699645 AdguardSvc.exe 9764 CloseFile C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS
12:16:19,5699773 AdguardSvc.exe 9764 IRP_MJ_CLOSE C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS
12:16:19,5701240 AdguardSvc.exe 9764 CreateFile C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
12:16:19,5701431 AdguardSvc.exe 9764 QueryNetworkOpenInformationFile C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS CreationTime: 12.09.2019 12:16:17, LastAccessTime: 12.09.2019 12:16:17, LastWriteTime: 12.09.2019 12:16:17, ChangeTime: 12.09.2019 12:16:17, AllocationSize: 01.01.1601 3:00:00, EndOfFile: 01.01.1601 3:00:00, FileAttributes: D
12:16:19,5701526 AdguardSvc.exe 9764 CloseFile C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS
12:16:19,5701652 AdguardSvc.exe 9764 IRP_MJ_CLOSE C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS
12:16:19,5702441 AdguardSvc.exe 9764 CreateFile C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS Desired Access: Read Data/List Directory, Synchronize, Disposition: Open, Options: Directory, Synchronous IO Non-Alert, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
12:16:19,5702738 AdguardSvc.exe 9764 QueryDirectory C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd* SUCCESS Filter: *, 1: .
12:16:19,5703052 AdguardSvc.exe 9764 QueryDirectory C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662fadd SUCCESS 0: . 1: Adguard Personal CA.cer
12:16:19,5704002 AdguardSvc.exe 9764 CreateFile C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662faddAdguard Personal CA.cer SUCCESS Desired Access: Read Attributes, Delete, Disposition: Open, Options: Non-Directory File, Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
12:16:19,5704309 AdguardSvc.exe 9764 QueryAttributeTagFile C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662faddAdguard Personal CA.cer SUCCESS Attributes: A, ReparseTag: 0x0
12:16:19,5704463 AdguardSvc.exe 9764 C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662faddAdguard Personal CA.cer SUCCESS
12:16:19,5704625 AdguardSvc.exe 9764 CloseFile C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662faddAdguard Personal CA.cer SUCCESS
12:16:19,5705245 AdguardSvc.exe 9764 IRP_MJ_CLOSE C:WindowsSysWOW64configsystemprofile3abf4d52ff1a43fc8f2608cbb662faddAdguard Personal CA.cer SUCCESS

Пробовал стирать и ставить начисто — не помогает. Windows 10 Pro 64 бита

Источник

Проблемы с запуском на macOS

Иногда macOS может вызывать нарушение работы модуля AdGuard Network Extension, тем самым делая невозможным использование приложения. В таком случае вам необходимо среди нижеприведённых инструкций выбрать ту, что подходит для вашей версии ОС, и выполнить соответствующие шаги.

Проблемы с запуском на операционных системах macOS 11 и выше

Если у вас возникли проблемы при запуске AdGuard для Mac на операционных системах Big Sur и Monterey, воспользуйтесь этой инструкцией:

  1. Перезагрузите Mac и войдите в режим восстановления.
  2. Отключите SIP (запустите Терминал из меню Утилиты и введите csrutil disable .
  3. Перезагрузите Mac.
  4. Закройте приложение AdGuard, откройте Терминал и введите systemextensionsctl reset .
  5. Перезагрузите Mac и войдите в режим восстановления.
  6. Включите SIP (запустите Терминал из меню Утилиты и введите csrutil enable ).
  7. Запустите приложение AdGuard и включите защиту.

Проблемы с запуском на операционных системах macOS 10

Если у вас возникли проблемы при запуске AdGuard для Mac на операционных системах Sierra, Mojave и Catalina, воспользуйтесь этой инструкцией:

  1. Откройте Терминал и введите команду ls -@lOae /private/var/db/KernelExtensionManagement .
  2. Убедитесь, что флаг restricted отсутствует (как на скриншоте).

  1. Перезагрузите ваш Mac в режиме восстановления.
  2. Откройте Утилиты ->Терминал.
  3. Введите csrutil disable .
  4. Введите пароль администратора.
  5. Перезагрузите ваш Mac.
  6. Откройте Терминал и введите команду sudo chflags restricted /private/var/db/KernelExtensionManagement .
  7. Перезагрузите ваш Mac в режиме восстановления.
  8. Откройте Утилиты ->Терминал -> Введите csrutil enable -> Введите пароль администратора ->
    Перезагрузите ваш Mac.
  9. Включите защиту AdGuard.

Источник

Программа не хочет работать через прокси(

TORREN

New Member

avatar

Administrator

Можете запустить Adguard в режиме отладки и прислать нам получившийся лог?

Принцип примерно такой:
1. Удаляете файл agent.log из папки программы
2. Запускаете ее в режиме отладки (есть иконка в меню пуск для этого)
3. Повторяется ошибка с «Нет связи», присылаете нам файл agent.log для разбора.

Вопрос еще насчет настроек прокси в IE. Как именно выглядят настройки прокси? В каких там полях что прописано?

TORREN

New Member

Attachments

avatar

Administrator

Кхмхм, ошибку вижу, а вот почему она вылезла — пока не вижу.

Нужна еще информация.

Что нужно сделать:

1. Пуск — Выполнить — «cmd»
2. Вводите команду ipconfig /all > C:ipconfig.txt
3. Жмете «Enter»

Файл C:ipconfig.txt нужен для анализа.

TORREN

New Member

Attachments

avatar

Administrator

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

Проблема такая — у вас для доступа в интернет используется только прокси сервер, и нет доступа ни к какому DNS-серверу. DNS нужен чтобы понимать, какому доменному имени сайта какой IP-адрес соответствует. Браузеру для доступа к сайтам это не нужно, а вот нам нужно (ограничения, накладываемой библиотекой, которую мы используем для запросов к страницам).

В будущем мы, возможно, перейдем на использование своей собственной библиотеки для доступа по HTTP. Но на это нужно время.

——
Попиарю пока новую разработку. У вас же на работе UserGate используется. Есть у него такой конкурент — Traffic Inspector.
Мы вместе с ними выпускаем в ближайшее время плагин Adguard для Traffic Inspector. Так что если убедите своих перейти на TI, не нужно будет на свою машину ничего устанавливать.

Источник

Comments

@Baltazar500

AdGuard (v3.6.7 (41)) не фильтрует трафик с хрома (87.0.4280.101) на MIUI 12.0.10, что на базе 10-го андроида по https даже при наличии установленного сертификата. Прокси задан через ключ —proxy-server=»127.0.0.1:8080″ в /data/local/tmp/chrome-command-line с активацией флага #enable-command-line-on-non-rooted-devices. http-сайты фильтруются. https-нет. В инфо сайтов видно их исходные сертификаты, а не сертификат AdGuard. В логе AdGuard’a видны туннелированные https-запросы, т.е. https трафик таки идёт через прокси, но не фильтруется. При всём при этом при активации локального VPN’a https фильтруется на ура. WTF ? Мне не нужна (по ряду причин) фильтрация всей системы через локальный VPN. Мне нужно фильтровать лишь конкретный браузер через прокси, но по непонятным причинам я вместо этого ловлю обломинго :(

@Baltazar500

А вот и ответ, где собака порылась :

2022 03 08_22 49 58

2022 03 08_22 49 24

AdGuard не воспринимает запросы от хрома через прокси, как запросы от хрома, а воспринимает их как запросы от ОС и без премиума отказывается фильтровать. На 5.1 запросы через прокси AdGuard’a того же билда спокойно детектятся как хромовские и фильтруются. Ну и что с этим делать ?

@ngorskikh

@Baltazar500

@ngorskikh, другими словами, на 10-м андроиде без рута и без премиума при попытке использовать прокси — фильтрацию для https через плагины браузеров или иными методами (см. command-line), дабы не пропускать весь трафик через adguard, я и остальные пользователи, что попытаются так сделать «ловят обломинго» образно выражаясь ? Т.е. либо VPN, либо премиум ? Я правильно понимаю :/ ?

@Chinaski1

Статья обновлена 18 января 2021
Ознакомление с этой статьей может потребовать от вас базовых знаний о шифровании, протоколе TLS и устройстве HTTPS.

Для начала, приведем диаграмму, которая показывает, как в целом устроена фильтрация HTTPS в AdGuard:

What is HTTPS filtering

AdGuard копирует свойства TLS-соединения, которые использует ваш браузер:

  • AdGuard использует ту же самую версию TLS.
  • AdGuard использует те же методы шифрования (ciphers), что и ваш браузер.

Так что если вы используете современный и безопасный браузер — это хорошо, ведь известные проблемы TLS в нем уже учтены, и он не будет пытаться использовать небезопасные методы шифрования.

Как ведет себя AdGuard в случае, если есть сомнения в валидности сертификата?
В случае, если есть какие-то сомнения в валидности сертификата, AdGuard полностью прекращает фильтрацию соединений к этому домену, и отдает это на откуп браузеру.

Известные недостатки

Фильтрация HTTPS в AdGuard имеет некоторые недостатки. Практически все мы планируем устранить в ближайших версиях AdGuard.

Ниже перечислены все известные нам проблемы и сроки их устранения.

Проверка оригинального сертификата

Самым важным недостатком HTTPS фильтрации является то, что она «прячет» оригинальный сертификат вебсайта. Вы просто не можете увидеть реальный сертификат — вместо него вы видите тот, который был сгенерирован AdGuard.

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

Certificate Transparency

Благодаря совеременной криптографии бразуеры обычно могут легко обнаружить вредоносные сайты с подделанными сертификатами. Однако, этих механизмов недостаточно для обнаружения вредоносных сайтов, которые используют сертификаты, выданные по ошибке настоящим (но, к примеру, скомпрометированным) центром сертификации. Certificate Transparency призван стать защитой от подобного рода угроз, сделав процедуру выдачи SSL сертификатов открытой и прозрачной для всех.

В нашем случае проблема в том, что браузеры игнорируют заголовок Expect-CT для локальных сертификатов, и проверка на certificate transparency просто не производится при включенном AdGuard. Для того, чтобы получить тот же уровень защиты, мы должны самостоятельно проводить эту проверку на уровне AdGuard.

Что мы хотим сделать:

  • Добавить поддержку Certificate Transparency в библиотеку валидации

Срок реализации:

  • Ожидаемый срок реализации: третий квартал 2021.

Замечания и пожелания?

Если вы хотите что-то добавить, указать нам на ошибки или несоответствия или задать вопрос, пишите пожалуйста на адрес devteam at adguard.com.

Понравилась статья? Поделить с друзьями:
  • Adg 145 whirlpool коды ошибок
  • Adf cover open ошибка принтера oki
  • Ade ошибка рефрижератор элинж с4т
  • Addmonitor km language monitor kyocera ошибка
  • Additional heater ошибка