Este artigo descreve um bug no qual a inserção de raiz quando solicitado para desbloquear permite que qualquer usuário desbloqueie as preferências do sistema. Ele adverte que:
Não é necessário fazer isso você mesmo para verificar. Fazer isso cria uma conta “raiz” da qual outras pessoas podem se beneficiar se você não a desabilitar.
O artigo não descreve o que fazer se um engenheiro ansioso reproduzir o problema e agora precisar remover ou desativar a conta raiz.
Como essa conta pode ser desativada ou removida com segurança?
Esta página da Apple descreve como desativar a conta, mas isso não protege contra a falha porque a falha pode apenas reativar a conta. Ele funcionará para restaurar o sistema ao seu estado normal com o root desativado quando o bug de segurança for corrigido.
Atualização 2017-11-29 16:43 UTC
Consulte Sobre o conteúdo de segurança da Atualização de segurança 2017-001 para atualizar o macOS High Sierra para evitar o desvio da autenticação do administrador sem fornecer a senha do administrador.
fonte
Respostas:
Patch disponível, clique aqui ou apenas atualize na máquina
Curiosamente, não há patch para as versões beta e de desenvolvedor do OSX, tanto quanto eu sei. Atualizarei esta resposta assim que souber deles.
Faça o download do patch acima. Deixando o resto do post para a história :-)
O CVE é CVE-2017-13872 e o NIST atualizará a análise em um futuro próximo.
Resposta original, relevante sem patch
Primeiro, não desabilite a conta raiz pela GUI, ter uma conta raiz "desabilitada" é a causa do problema.
Você deve habilitar o usuário root e fornecer uma senha. Isso é importante , pois a vulnerabilidade também está disponível remotamente, via VNC e Apple Remote Desktop (para citar alguns) (outra fonte) .
Existem duas maneiras básicas de fazer isso; GUI e terminal.
Primeiro, GUI
Para habilitar a conta root, vá para "Directory Utility", ou seja, cmd + espaço e pesquisa. Pressione a trava para desbloquear o "modo de administrador" e ative a conta root em edit -> "Enable User Root".
Ele deve solicitar uma senha root, por enquanto, digite sua senha normal (para não esquecê-la). Se ele não solicitar uma senha, use Editar -> "Alterar senha raiz ..." acima.
terminal
Se você é mais uma pessoa terminal, use o abaixo:
Isso basta com um terminal, o problema com a interface gráfica é que precisamos habilitar a conta para definir uma senha, o que não precisamos com o terminal.
Notas
Mesmo se você tiver uma senha definida para a conta raiz do seu computador, ela ficará vulnerável se você desativar a conta raiz. A ação de desativar a conta raiz parece ser a culpada. Por isso, repito, o usuário root deve estar habilitado e ter uma senha se estiver usando a GUI, enquanto via terminal usando apenas 'passwd' está "ok" (embora esse estado seja inacessível apenas pela GUI). Parece que "Desativar usuário raiz" em "Utilitário de diretório" remove a senha da conta raiz, de certa forma fornecendo uma conta raiz sem senha, vulnerável.
Parece que tentar fazer login com "root" em uma janela de login do sistema habilita a conta root se ela estiver desabilitada anteriormente. Ou seja, com uma conta root desabilitada, você precisa inserir o root duas vezes nas janelas de login do sistema para obter acesso root e (de acordo com meu teste) na primeira tentativa, a conta root é ativada (sem senha, se não for definida como via
passwd
), e na segunda tentativa que você passa.Parece que o problema está em aberto desde 13/11/2017 (13 de novembro), quando mencionado no fórum de suporte da Apple .
Por favor, prove que estou errado, eu realmente aprecio estar errado agora.
Atualização assustadora
Depois de ativar a conta raiz sem senha (ou seja, através do painel de preferências do sistema e clicar em "bloquear" e inserir "raiz" com a senha em branco uma, duas ou três vezes (o número de vezes depende do estado inicial)) é possível fazer logon no o computador na tela de login principal usando "root" e uma senha em branco (!). O SSH / Telnet parece não funcionar, mas o Apple Remote Desktop, o Screen Sharing e o VNC são vulneráveis.
Portanto, para administradores de redes, pode ser interessante descartar pacotes temporariamente nas seguintes portas:
Leitura adicional:
Uma tentativa valente de referenciar outras fontes que lidam com o problema. Edite e atualize minha resposta se tiver mais.
fonte
/dev/null
root. Dessa maneira, o acesso à conta raiz ocorre por meio desu
syscalls para usuários com essa permissão.Se você não pode instalar o patch oficial ou não quer confiar que ele funcionou, então
Você não deseja desativar o usuário root apenas no High Sierra.
Para proteger seu Mac, ative o root com uma senha longa e segura.
Não estamos mudando isso no trabalho até que a próxima versão completa chegue ao macOS, que provavelmente seria 10.13.2
A menos que você tome uma atitude, o usuário root é desativado imediatamente e isso é ruim se o seu Mac não estiver corrigido corretamente.
Se desejar, opcionalmente, endureça o shell até que a Apple tenha um patch ou correção oficial.
Aqui está um ótimo script para definir uma senha raiz aleatória e alterar / definir o shell raiz para
/usr/bin/false
que, mesmo que a senha seja adivinhada, o shell raiz não poderá efetuar login:Basicamente, ele faz três coisas principais:
A criação do UserShell é se o shell não estiver definido, e o script completo verifica se há um shell existente e o
-change
executa em vez de-create
nele.Como me protejo da vulnerabilidade raiz no macOS High Sierra?
fonte
Execute uma atualização de software na App Store. A Apple lançou uma atualização de segurança esta manhã.
Sobre o conteúdo de segurança da Atualização de segurança 2017-001
Atualizações de segurança da Apple
fonte
Você precisa fazer login como usuário root e alterar a senha para algo forte. Se ele realmente criar uma nova conta (em vez de ativar a conta raiz já existente), você deverá excluir essa conta primeiro.
fonte
A Apple acaba de lançar uma atualização para corrigir o problema.
Atualização de segurança 2017-001 https://support.apple.com/en-us/HT208315
Além disso, para impedir o acesso não autorizado aos computadores Mac, você deve ativar a conta de usuário root e definir uma senha especificamente para o usuário root.
https://support.apple.com/en-ph/HT204012
Se sua conta de usuário root já estiver ativa, altere a senha apenas para garantir que a vulnerabilidade da senha em branco não esteja definida.
fonte
Não! Não remova a conta root!
Antes de tudo,
root
está presente em todas as versões do macOS, Mac OS X, Mac OS e até versões antigas do sistema operacional. O macOS não criou recentemente esta conta devido a uma vulnerabilidade. Apenas o expôs por acidente.A remoção
root
seria uma péssima idéia e deixe-me dizer o porquê.Isso prejudicaria completamente o macOS, pois não haveria conta com privilégios suficientes para executar serviços críticos (como o WindowServer, que executa a GUI). Existem salvaguardas para impedir a remoção de usuários sem noção
root
, e você não deve tentar ignorá-los.Vamos descobrir quem executa os primeiros processos no sistema, os processos mais importantes (usando o Activity Monitor):
Ei, é o nosso bairro amigável de
root
novo! O primeiro processo (com PID 0) é realmente controlado pelo kernel e provavelmente terá permissões completas, mas seu processo filholaunchd
(responsável por iniciar serviços como a janela de login e o próprio servidor de janelas) é iniciado com os privilégios deroot
. Seroot
não existisse, esse processo nunca teria iniciado ou não teria permissões.Protegendo a conta raiz
Outras respostas forneceram um patch lançado pela Apple que deveria corrigir o problema. No entanto, se você não puder ou não quiser instalá-lo ...
Funciona porque o macOS re-hashes a senha digitada como uma "atualização" porque a conta desabilitada (raiz) foi incorretamente detectada como tendo um hash antigo. Ele ainda diz que está incorreto, mas da próxima vez, os hashes corresponderão (porque o macOS o alterou) e permitirá que você entre.
Para garantir
root
, você precisará usar o Utilitário de Diretório. Existem duas maneiras de acessá-lo:/System/Library/CoreServices/Applications/
e pressione Go (ou pressione Enter) .Em seguida, abra o Directory Utility a partir daí.Depois de abrir o Directory Utility, você terá que
Depois de fazer isso, selecione
Change Root Password
ouEnable Root User
no menu Editar. Eu mostroChange Root Password
que minha conta root já está ativada com uma senha forte.Escolha uma senha e agora a senha em branco não funcionará mais.
Parabéns! Você não está mais vulnerável ao hack da raiz.
fonte
!
(que, como um tipo UNIX, você provavelmente reconhecerá) corretamente.