- Отредактируйте TCC.db, чтобы обойти «Foo.app» хочет получить доступ к элементу управления «Bar.app» »на своей машине
- Яблочный CI
- Введение
- Проблемы и их решение
- Глава 1. Таков путь
- Славься, о великий Bash!
- Глава 2. Big Surrealism
- Глава 3. Fusion
- Глава 4. System Events
- Заключение
- Remove com.apple.tcc permissions abusing virus on Mac
- Uninstall Mac malware escalating its privileges via com.apple.tcc tweaks
- Get rid of unwanted ads and redirects in web browser on Mac
- Get rid of com.apple.tcc abusing virus using Combo Cleaner removal tool
Отредактируйте TCC.db, чтобы обойти «Foo.app» хочет получить доступ к элементу управления «Bar.app» »на своей машине
Я широко использую Apple Events для управления различными приложениями на моей машине. Новые подсказки безопасности, введенные в Мохаве, наносят урон .
В предыдущих версиях macOS, когда приложение получало разрешение на «управление вашим компьютером», оно могло отправлять события Apple любому другому приложению на вашем компьютере. В Мохаве это разрешение должно быть предоставлено вручную один раз для каждого контролируемого приложения.
Как только пользователь предоставляет доступ, его выбор сохраняется в одной из двух баз данных sqlite:
- Обратите внимание, что # 2 виден только пользователю root.
- Обратите внимание, что защита целостности системы отключена.
Можно ли редактировать эти базы данных sqlite напрямую, чтобы автоматически предоставлять разрешения и обходить эти запросы безопасности?
Прямой доступ к базе данных TCC.db больше не поддерживается Apple, даже если вы отключите SIP из-за своей политики защиты пользователей от крупных компаний, которые любят отслеживать все, что вы делаете в Интернете, а также использовали этот скрытый обход, не спрашивая разрешение пользователям. Однако даже в Мохаве есть способ обойти это, но с подвохом: это работает только в том случае, если данный компьютер зарегистрирован в программе MDM . Чтобы узнать больше о программе MDM, зайдите сюда .
Чтобы обойти это для нескольких компьютеров, вы можете использовать скрипт Python, tccprofile.py доступный на GitHub .
Подробное обсуждение того, что вы можете и не можете делать, можно найти здесь .
Насколько я знаю, это единственный способ обойти необходимость запрашивать разрешение пользователя у Мохаве и далее.
Я нашел это для удаления записи.
sudo sqlite3 /Library/Application\ Support/com.apple.TCC/Tcc.db ‘удалить из доступа, где клиент, как %appnamehere% «»
Замените » appnamehere » на имя приложения, которое отображается в списке специальных возможностей (оставьте знаки%).
Источник
Яблочный CI
Введение
Мы — команда Platform в Playrix, у нас большая и сложная билд-ферма, использующая возможности всех платформ и облачных решений и успешно применяющая их на практике. В этой статье я бы хотел поделиться с вами особенностью работы с платформой MacOS.
Проблемы и их решение
Глава 1. Таков путь
Для успешного CI в современных реалиях необходимо использовать все доступные платформы и средства, уметь их масштабировать и автоматизировать. И разные платформы имеют разную степень сложности реализации данного требования. Для Win-платформ достаточно общих знаний и доступно очень много информации в интернете. Также эту платформу, как самую распространенную, поддерживают все облачные провайдеры, включая такие гиганты, как AWS и Azure. Для нее существует очень много решений по автоматизации и настройке. Linux-like, да-да, именно Linux. Так вот, всеми нами любимые «Убунточки» имеют еще больше возможностей по автоматизации всего и вся.
Славься, о великий Bash!
И вроде бы все хорошо в прекрасном мире CI… Но тут появляется еще одна потребность — MacOS, обладающая низкой масштабируемостью, ведь на текущий момент нет хороших облачных решений. Да, есть подвижки в этом направлении у AWS с их мак-инстансами, есть другие решения разной степени успешности.
Кроме низкой масштабируемости эта система обладает сложностями автоматизации. Те, кто пытались использовать MDM-решения, думаю, согласятся с этим утверждением. Но что делать, если работать эффективно надо здесь и сейчас? Верно — нужно искать обходные пути.
Глава 2. Big Surrealism
Команда из Купертино, глядя на то, что постепенно люди научились бороться с логикой их системы и достаточно хорошо все автоматизировать, решает сделать мир «безопасней» и выпускает BigSur. Где меняет логику защиты системы, чем осложняет жизнь разработчикам. Например, выдача системных разрешений на system events и screen recording требует вашего участия. tccutil больше не может управлять этими правами. Тут опытные камрады могут возразить, что есть MDM. Так-то оно так, но разворачивать всю структуру MDM только ради того, чтоб решить пару вопросов с настройкой — дорогое оверкилл решение, обладающее достаточно скромным функционалом в области системного администрирования.
Одновременно с этим все старые системы стали непригодными для современной разработки, ведь XCODE 12.5 + есть только на BigSur. Ну что ж, современные проблемы требуют современного подхода и решений. Как говорится, challenge accepted!
Глава 3. Fusion
Итак, начнем решать некоторые особенности MacOS BigSur, а именно попробуем немного улучшить ситуацию с масштабируемостью. Стоит подумать о виртуализации сборочных мак-агентов — это позволит лучше утилизировать ресурсы хостовой машины, а также сократить время развертывания и подготовки новых агентов.
Единственным легальным способом решить это является связка из оригинального оборудования Apple + VMWARE Fusion в роли гипервизора. В качестве хостов отлично подходят Mac PRO в стоечном исполнении. Да, дорого, иногда очень. А вы ожидали чего-то другого от этого производителя?
Описывать установку гипервизора и установку macos в качестве гостевой системы я не буду. Официальная документация от vmware достаточно проста и подробна. Я опишу некоторые особенности, связанные с использованием MacOS BigSur и необходимостью отключать System Integrity Protection (SIP) (зачем это нужно — я напишу ниже).
Итак. Установка BigSur на Fusion не отличается от установки других MacOS, не будем заострять на этом внимание. Проблемы начинаются, когда вы решите отключить SIP, так как классический вариант с загрузкой в рековери мод не работает. На виртуалке вы в него просто не попадете. Возможно, в будущем эта проблема будет решена, но как поступить сейчас? Решение есть.
Для того, чтобы отключить SIP на MacOS BigSur внутри VMWARE Fusion, надо проделать следующее:
- Грузимся в гостевую систему → sudo nvram Asr-active-config=%7f%00%00%00;
- Выключаем VM, выбираем Restart to Firmware…;
- Грузимся в BIOS — выбираем EFI Internal Shell , грузимся, подтверждаем запуск start.sh;
- Теперь нужно найти EFI раздел. Пробуем команду fs0:, затем vol, если в выводе видим EFI — переходим к следующему шагу, если нет — то пробуем fs1:, fs2:, fs3: и т.д.;
- Сохраняем дамп переменных в файл dmpstore Asr-active-config -s csr.bin;
- Правим получившийся файл HEX редактором hexedit csr.bin;
- Нужно заменить в первой строке 41 на 63, сохраняемся;
- Записываем конфиг в NVRAM dmpstore -l csr.bin;
- Вводим exit и грузимся нормально, система загрузится с отключенным SIP.
После этого остается настроить виртуальный мак-агент, как обычный. Почти 🙂
Чтобы, например, изменить разрешение экрана (предположим, на FullHD) виртуального мака, следует выполнить команду:
Глава 4. System Events
Часто при работе возникает потребность управлять разрешением доступов системы. Например, при написании автотестов или тестировании приложений.
Основные разрешения, которые могут при этом понадобиться, — это Screen Recording и, главное, System Events. До эры BS для установки разрешений можно было использовать утилиту tccutil, но этот способ больше не работает. Однако нас это не должно останавливать.
Установка разрешений в MacOS делится на пользовательскую и системную. Оба вида этих настроек отображаются в одном и том же меню — это System Preferences — Security and Privacy. Настройки пользователя — это те настройки, которые можно менять без ввода пароля, например, System Events. Тогда как для изменения Screen Recording необходим уже ввод пароля, что говорит нам о том, что это системная настройка.
Данные о настройках безопасности хранятся в sql базах TCC.db.
Системная база находится по пути «/Library/Application Support/com.apple.TCC/TCC.db» , для удобства запишем этот путь в переменную SYS_DB_PATH .
Пользовательская база же находится по пути «/Users/[username]/Library/Application Support/com.apple.TCC/TCC.db» , ее мы занесем в USR_DB_PATH.
Вот эти базы мы и будем редактировать, чтобы изменить разрешения безопасности. Это возможно сделать только при отключенном SIP.
Можно легко получить текущие записи в этих базах данных, используя sqlite3. Читаем:
Итак, выдадим права на захват экрана и управление системными событиями для нашего приложения.
Для удобства занесем путь до нашего бинарного файла в переменную, например, так:
Выдача прав на захват экрана будет простой и выглядит так:
TimeStamp можно ставить любой, он ни на что не влияет, но если вы перфекционист, вы всегда можете сгенерировать настоящий штамп командой date +%s.
Для записи прав на System Events порядок действий несколько сложнее:
- Получим requirement string из codesign
Конвертируем результат в бинарный вид
Теперь из бинарного в HEX и отформатируем вывод:
Наконец запишем результат в базу:
Примечание: не бойтесь ошибиться, удалить записи можно
Даже если база данных станет по каким-либо причинам неработоспособной, просто удалите базу целиком и перезагрузитесь. Система вернет ее в значение по умолчанию.
Заключение
С помощью классических средств, таких как виртуализация и bash-скриптинг, можно сильно облегчить себе жизнь при использовании MacOS в CI пайплайне.
Это были только общие примеры. На самом деле CI намного сложнее и интереснее, каждый день нам приносит новый челендж, с которым наша команда успешно справляется. Всем удачной интеграции и котиков. Котиков же все любят 🙂
Источник
Remove com.apple.tcc permissions abusing virus on Mac
Explore the issue where Mac malware mishandles the com.apple.tcc directory to play a privileges escalation trick and thereby take root in the host system.
As a foreword, it’s worth pointing something out: ideally, a Mac user should never really be concerned about the entity called com.apple.tcc; moreover, most people have no idea what it is and what its purpose is. This is understandable, given that this is the name of a folder located within /Library/Application Support path that retains, among other things, an object named TCC.db, which is an SQLite database underlying a number of important system-wide preferences. Specifically, it defines Security & Privacy as well as Accessibility settings on a Mac computer.
An additional wiki facet of the matter is as follows: first introduced with the OS X 10.9 Mavericks release in 2013, TCC stands for Transparency, Consent, and Control. Having evolved all the way to the current macOS 10.15 Catalina, it is Apple’s longstanding implementation of a mechanism for users to grant and restrict permissions to their private data. Originally tasked with managing the scope of third-party applications’ access to sensitive information, this service can also be an instrument for cybercriminals to piggyback on while achieving their malicious objectives.
There are a few strong reasons why com.apple.tcc is a Pandora’s Box malefactors may want to break open. Potentially unwanted applications such as adware and fake system cleaners can cause the most damage if they gain a foothold in a system far beyond regular software activity. For instance, ads fraudulently injected into web pages pull the right strings as long as they are targeted. To be able to display ecommerce information aligned with the victim’s interests and previous Internet searches, the infection has to collect these details behind the scenes – and it will fail to do it without the appropriate privileges. By furtively misconfiguring the contents of TCC.db file inside com.apple.tcc folder, the harmful program can get these elevated permissions in a snap. This attack vector is also a way to bypass System Integrity Protection (SIP), a macOS security feature designed to safeguard system-critical files and paths against unauthorized tweaks.
A virus called macOS Bundlore is one of the notorious threats relying on this exact technique. Propagating by means of shady downloads and spoof Flash Player updates, it silently infiltrates a Mac computer and establishes persistence by circumventing SIP defenses and altering TCC.db database. These shady changes allow the culprit to interfere with browser behavior and download additional malware onto the plagued host. Speaking of the latter impact, the Bundlore nasty connects to a Command and Control (C2) server and downloads an ad-sprinkling app such as MyCouponsmart or MyShopcoupon. When the secondary payload is executed, it goes a well-trodden route of spammy ad delivery. To this end, it harnesses the permissions obtained by Bundlore to embed offensive JavaScript code in Safari, Chrome, or Firefox.
Normally, the com.apple.tcc folder pictogram has a “do not enter” sign in its right-hand bottom corner. It means it’s not accessible by the user, which is a measure to thwart unintended modifications that may cause unpredictable malfunctions and distort the current set of application privileges. However, modern backdoors and Mac viruses such as the above-mentioned Bundlore can get around this access restriction logic. Therefore, if you go to /Library/Application Support and see that the com.apple.tcc folder has no red sign icon, this may be a breadcrumb leading to malware foul play. If this is the case, be sure to apply a security procedure that will help identify the infection and get rid of it.
Uninstall Mac malware escalating its privileges via com.apple.tcc tweaks
The steps listed below will walk you through the removal of the malicious application. Be sure to follow the instructions in the order specified.
- Open up the Utilities folder as shown below
Locate the Activity Monitor icon on the screen and double-click on it
Now go to Apple Menu and pick the System Preferences option
Get rid of unwanted ads and redirects in web browser on Mac
To begin with, settings for the web browser that got hit by this virus should be restored to their default values. The overview of steps for this procedure is as follows:
- Reset Safari
- Open the browser and go to Safari menu. Select Preferences in the drop-down list
Once the Preferences screen appears, hit the Privacy tab at the top. Find the option that says Remove All Website Data and click on it
The system will display a confirmation dialog that also includes a brief description of what the reset does. Specifically, you may be logged out of some services and encounter other changes of website behavior after the procedure. If you’re okay with that, go ahead and click the Remove Now button
In order to selectively clear data generated by certain websites only, not all of them, hit the Details button under the Privacy section of Safari Preferences
- Open Chrome, click the More (⁝) icon in the top right-hand part of the window, and select Settings in the drop-down
- When on the Settings pane, select Advanced
- Scroll down to the Reset settings section. Under the Restore settings to their original defaults option, click the Reset settings button
- Confirm the Chrome reset on a dialog that will pop up. When the procedure is completed, relaunch the browser and check it for malware activity.
- Open Firefox and select Help – Troubleshooting Information
- On the page that opened, click the Reset Firefox button
Get rid of com.apple.tcc abusing virus using Combo Cleaner removal tool
The Mac maintenance and security app called Combo Cleaner is a one-stop tool to detect and remove Adware modifying com.apple.tcc data virus. This technique has substantial benefits over manual cleanup, because the utility gets hourly virus definition updates and can accurately spot even the newest Mac infections.
Furthermore, the automatic solution will find the core files of the malware deep down the system structure, which might otherwise be a challenge to locate. Here’s a walkthrough to sort out the Adware modifying com.apple.tcc data issue using Combo Cleaner:
- Download Combo Cleaner installer. When done, double-click the combocleaner.dmg file and follow the prompts to install the tool onto your Mac.
By downloading any applications recommended on this website you agree to our Terms and Conditions and Privacy Policy. The free scanner checks whether your Mac is infected. To get rid of malware, you need to purchase the Premium version of Combo Cleaner.
- Open the app from your Launchpad and let it run the update of malware signature database to make sure it can identify the latest threats.
- Click the Start Combo Scan button to check your Mac for malicious activity as well as performance issues.
Examine the scan results. If the report says “No Threats”, then you are on the right track with the manual cleaning and can safely proceed to tidy up the web browser that may continue to act up due to the after-effects of the malware attack (see instructions above).
In case Combo Cleaner has detected malicious code, click the Remove Selected Items button and have the utility remove Adware modifying com.apple.tcc data threat along with any other viruses, PUPs (potentially unwanted programs), or junk files that don’t belong on your Mac.
- Once you have made doubly sure that the malicious app is uninstalled, the browser-level troubleshooting might still be on your to-do list. If your preferred browser is affected, resort to the previous section of this tutorial to revert to hassle-free web surfing.
Was this article helpful? Please, rate this.
Источник