jumping shell - bin/bash - escape de shell restrito

Jumping Shell: Como os invasores escapam de shells restritos para /bin/bash

O que é um Shell Restrito e por que os ataques com Jumping Shell são importantes

Shells restritos são usados ​​para controlar quais comandos os usuários podem executar, muitas vezes impedindo ações como cd, lançando novos shells ou exportando variáveis ​​de ambiente. Eles normalmente são implantados em CI/CD agentes ou criar ambientes para limitar o comportamento do usuário. No entanto, os invasores procuram maneiras de executar um shell de salto, um método usado para escapar de ambientes de shell restritos e obter acesso a shells irrestritos como bin/bash. Uma vez dentro it, o invasor tem controle total da linha de comando, ignorando todas as limitações do ambiente restrito.

Como funciona o Jumping Shell: de restrito a bin/bash

O objetivo de um projétil saltador é explorar as fraquezas em ambientes restritos e desencadear uma fuga do projétil que leva a bin/bash. Técnicas comuns para ataques de shell com restrição de escape incluem:

$ ls
/bin/bash
$ /bin/bash

If bin/bash é acessível, esta simples invocação o completa.

Outro método comum:

$ echo "/bin/bash" > run.sh
$ sh run.sh

Os invasores também podem explorar editores como vi or menos:

vi
:set shell=/bin/bash
:shell

Esses métodos ilustram o quão facilmente um projétil saltitante pode levar a bin/bash execução, ignorando efetivamente as proteções de shell restritas.

Os riscos reais desses ataques no DevOps

Em compartilhado CI/CD ambientes, shells restritos são usados ​​para isolar compilações e reduzir riscos. Mas quando um invasor obtém sucesso com um shell de salto e atinge bin/bash, o modelo de segurança entra em colapso.

Os riscos incluem:

  • Acesso não autorizado a segredos do ambiente
  • Escalonamento de privilégios por meio de acesso irrestrito bin/bash
  • Adulteração de compilação pipelines ou artefatos
  • Implantação de ferramentas persistentes dentro do pipeline

A fuga restringiu a concha para bin/bash abre a porta para um comprometimento total do sistema, muitas vezes o primeiro passo em uma Ataque DevSecOps.

Monitoramento e detecção de Jumping Shell e escapes bin/bash

Para detectar o comportamento de shell de salto e bloquear tentativas de shell com restrição de escape, as equipes de segurança devem:

  • Registre todas as atividades do shell, especialmente / bin / bash execução
  • Monitore o abuso do editor e o uso do script como vetores de geração de shell
  • Rastrear o acesso aos arquivos de configuração do shell como .bashrc or .bash_profile

Padrões comportamentais como o lançamento bin/bash de um ambiente restrito devem ser considerados alertas de alta prioridade. Detectá-los precocemente pode evitar movimentos laterais mais profundos.

Prevenção de ataques e explorações de shell com restrição de escape

Para mitigar os riscos de shell de salto e evitar que os invasores lancem bin/bash:

  • Endurecer as cascas restritas: Remova ou bloqueie as Acesso
  • Use AppArmor ou SELinux para restringir a execução de comandos
  • Aplicar privilégios mínimos em CI/CD papéis e corredores
  • Contêineres constroem com imagens sem distribuição sem shells como bin/bash
  • Valide ambientes antes e depois das compilações para detectar anomalias

A prevenção de cenários de shells com restrições de escape requer controles em camadas, não apenas a dependência de shells com restrições. Não presuma que shells com restrições são seguros se bin/bash é potencialmente alcançável.

Conclusão: Fugas de projéteis são pontos de entrada

Shells restritos são uma camada de defesa, não uma garantia. Ataques de shells de salto visam isolamento fraco e validação deficiente. Uma vez dentro / bin / bash, os invasores podem mudar de direção, persistir e comprometer a infraestrutura DevSecOps.

Detecção e isolamento são essenciais. A combinação de registro de comandos, ambientes restritos e limpeza adequada dos gerenciadores de pacotes reduz a exposição.

Por fim, ferramentas como Xygeni oferecem visibilidade sobre esses riscos. Eles ajudam a reforçar a integridade do código, detectar comportamento incomum do shell e proteja seu pipelines de ameaças internas e externas, incluindo aqueles que começam com um simples salto de projétil para / bin / bash ou tentativas de escapar de ambientes de shell restritos.

sca-tools-software-composição-análise-ferramentas
Priorize, corrija e proteja seus riscos de software
você recebe uma avaliação gratuita de 7 dias da nossa licença Business Edition e pode aproveitar alguns dos recursos avançados da plataforma SecurityScorecard.
Não é necessário cartão de crédito

Proteja seu desenvolvimento e entrega de software

com o Suíte de Produtos da Xygeni