* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
**`launchd`** é o **primeiro****processo** executado pelo kernel do OX S na inicialização e o último a finalizar no desligamento. Ele deve sempre ter o **PID 1**. Este processo irá **ler e executar** as configurações indicadas nos **plists ASEP** em:
Quando um usuário faz login, os plists localizados em `/Users/$USER/Library/LaunchAgents` e `/Users/$USER/Library/LaunchDemons` são iniciados com as **permissões dos usuários logados**.
A **principal diferença entre agentes e daemons é que os agentes são carregados quando o usuário faz login e os daemons são carregados na inicialização do sistema** (já que existem serviços como ssh que precisam ser executados antes que qualquer usuário acesse o sistema). Além disso, os agentes podem usar a GUI enquanto os daemons precisam ser executados em segundo plano.
Existem casos em que um **agente precisa ser executado antes do login do usuário**, esses são chamados de **PreLoginAgents**. Por exemplo, isso é útil para fornecer tecnologia assistiva no login. Eles também podem ser encontrados em `/Library/LaunchAgents` (veja [**aqui**](https://github.com/HelmutJ/CocoaSampleCode/tree/master/PreLoginAgents) um exemplo).
\{% hint style="info" %\} Novos arquivos de configuração de Daemons ou Agents serão **carregados após a próxima reinicialização ou usando**`launchctl load <target.plist>` Também é possível carregar arquivos .plist sem essa extensão com `launchctl -F <file>` (no entanto, esses arquivos plist não serão carregados automaticamente após a reinicialização).\
Também é possível **descarregar** com `launchctl unload <target.plist>` (o processo apontado por ele será encerrado),
Para **garantir** que não há **nada** (como uma substituição) **impedindo** um **Agente** ou **Daemon****de****ser executado**, execute: `sudo launchctl load -w /System/Library/LaunchDaemos/com.apple.smdb.plist` \{% endhint %\}
Aqui você pode encontrar os trabalhos regulares do **cron**, os trabalhos do **at** (não muito usados) e os trabalhos **periódicos** (principalmente usados para limpar arquivos temporários). Os trabalhos periódicos diários podem ser executados, por exemplo, com: `periodic daily`.
Os scripts periódicos (**`/etc/periodic`**) são executados por causa dos **launch daemons** configurados em `/System/Library/LaunchDaemons/com.apple.periodic*`. Note que se um script for armazenado em `/etc/periodic/` como uma forma de **escalar privilégios**, ele será **executado** como o **proprietário do arquivo**.
Para mais informações sobre [**extensões de kernel, verifique esta seção**](macos-security-and-privilege-escalation/mac-os-architecture#i-o-kit-drivers).
"As tarefas em" são usadas para **agendar tarefas em horários específicos**.\
Essas tarefas diferem do cron no sentido de que **são tarefas únicas** que são **removidas após a execução**. No entanto, elas **sobrevivem a uma reinicialização do sistema** e, portanto, não podem ser descartadas como uma ameaça potencial.
A Apple introduziu um mecanismo de registro chamado **emond**. Parece que nunca foi totalmente desenvolvido e o desenvolvimento pode ter sido **abandonado** pela Apple por outros mecanismos, mas ainda está **disponível**.
Este serviço pouco conhecido pode **não ser muito útil para um administrador de Mac**, mas para um ator de ameaça, uma boa razão seria usá-lo como um mecanismo de **persistência que a maioria dos administradores do macOS provavelmente não saberia** procurar. Detectar o uso malicioso do emond não deve ser difícil, pois o System LaunchDaemon para o serviço procura scripts para serem executados em apenas um lugar:
Depois de colocar um novo diretório em uma dessas duas localizações, **mais dois itens** precisam ser colocados dentro desse diretório. Esses dois itens são um **script rc** e um **plist** que contém algumas configurações. Este plist deve ser chamado de "**StartupParameters.plist**".{% endtab %}
Você pode encontrar serviços que são iniciados automaticamente no macOS em várias localizações. Aqui estão algumas das principais:
## /Library/LaunchAgents e /Library/LaunchDaemons
Essas pastas contêm arquivos .plist que especificam os serviços que devem ser iniciados automaticamente quando um usuário faz login (LaunchAgents) ou quando o sistema é iniciado (LaunchDaemons). Esses arquivos podem ser modificados para iniciar serviços maliciosos.
## /System/Library/LaunchAgents e /System/Library/LaunchDaemons
Essas pastas contêm arquivos .plist que especificam serviços que são iniciados automaticamente pelo sistema. Eles são protegidos pelo SIP (System Integrity Protection) e, portanto, não podem ser modificados por usuários não autorizados.
## ~/Library/LaunchAgents
Esta pasta contém arquivos .plist que especificam serviços que devem ser iniciados automaticamente quando um usuário faz login. Eles são específicos para cada usuário e podem ser modificados para iniciar serviços maliciosos.
## /Library/StartupItems
Esta pasta contém scripts de inicialização que são executados durante o processo de inicialização do sistema. Eles são obsoletos desde o macOS 10.5 e foram substituídos pelos arquivos .plist nas pastas LaunchAgents e LaunchDaemons.
## /Library/Application Support
Algumas aplicações podem instalar arquivos de inicialização nesta pasta para iniciar serviços automaticamente. Esses arquivos podem ser modificados para iniciar serviços maliciosos.
## /etc/rc.common
Este arquivo contém scripts de inicialização que são executados durante o processo de inicialização do sistema. Eles são obsoletos desde o macOS 10.10 e foram substituídos pelos arquivos .plist nas pastas LaunchAgents e LaunchDaemons.
Os perfis de configuração podem forçar um usuário a usar determinadas configurações do navegador, configurações de proxy DNS ou configurações de VPN. Muitos outros payloads são possíveis, o que os torna propensos a abusos.
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).