
Fidelis Network and Deception - Escalada de Privilégio por Permissões de Arquivo Inseguras
O exploit foi aprovado para divulgação pública pelo Governo dos Estados Unidos. Agradecimentos especiais aos militares e ligações governamentais encarregados de aprovar a documentação para distribuição ilimitada. Consulte os seguintes números OTR:
Data: 20220516 0123H UTC
Autor do Exploit: Henry Reed, The Aerospace Corporation
Página do Fornecedor: https://fidelissecurity.com/
Versões Afetadas:
Testado em:
CVE: CVE-2022-0997
Descrição do CVE: Permissões de arquivo inadequadas nos componentes CommandPost, Collector e Sensor do Fidelis Network e Deception permitem que um atacante com acesso administrativo local à CLI modifique arquivos de script afetados, o que poderia resultar na execução de comandos arbitrários como root após um login subsequente por um usuário root. A vulnerabilidade está presente nas versões do Fidelis Network e Deception anteriores à 9.4.5. Patches e atualizações estão disponíveis para corrigir esta vulnerabilidade.
Scripts no diretório /etc/profile.d/ são executados no login. O usuário fidelis é o proprietário do script login.sh, o que permite que o usuário fidelis modifique o arquivo arbitrariamente. Após um login subsequente por um usuário root, este script é executado, permitindo que um adversário obtenha execução arbitrária de código como root.
Recomenda-se que os usuários afetados do Fidelis Deception ou Fidelis Network atualizem seu software para corrigir esta vulnerabilidade. Também é recomendado para todos os usuários, independentemente de serem afetados por esta vulnerabilidade, desabilitar o acesso ao shell de seus produtos Fidelis após a configuração inicial.
Se, por algum motivo, nenhuma dessas opções for possível, uma mitigação para o arquivo vulnerável é descrita neste documento. Até onde os testes do autor indicam, parece que os usuários precisarão usar a vulnerabilidade para escalar privilégios antes que possam aplicar as mitigações descritas, portanto, atualizar o Fidelis e desabilitar o SSH é fortemente recomendado.
Testado em:
Permissões de propriedade mal configuradas em /etc/profile.d/login.sh permitem que o usuário fidelis escale privilégios equivalentes ao usuário root em vários produtos Fidelis. Scripts em /etc/profile.d são executados toda vez que um usuário abre um shell. O arquivo é de propriedade do usuário fidelis, permitindo que o usuário fidelis modifique o script arbitrariamente e, quando o usuário root fizer login, execute código arbitrário, como um reverse shell.
$ vim /etc/profile.d/login.sh
A vulnerabilidade foi descoberta inicialmente usando LinPEAS, um script de enumeração de escalação de privilégios Linux:

Observe o texto destacado em vermelho, "Você tem privilégios de escrita sobre /etc/profile.d/login.sh". A saída destacada em vermelho indica alta confiança de que o exploit é funcional.
Cada categoria potencial de exploits divulgada pelo LinPEAS é acompanhada por um link para um guia em nook.hacktricks.xyz explicando como explorar a vulnerabilidade. Após uma leitura rápida, foi decidido que um reverse shell através do Python2 seria a maneira mais fácil de explorar esta vulnerabilidade; no entanto, qualquer outro código também poderia ter sido usado. O novo código começa na declaração if if [[ $(whoami) = root ]]:

Após adicionar o reverse shell ao login.sh, simulamos um login root fazendo login manualmente como esse usuário. Observe que no mundo real, o atacante teria que esperar até que um administrador faça login manualmente como usuário root.

O atacante então obtém um reverse shell root:

Alterar o proprietário do usuário e grupo de /etc/profile.d/login.sh para root:root e permitir apenas permissões de leitura e execução para a categoria "outros" de usuários em /etc/profile.d/login.sh mitigaria esta vulnerabilidade:
