guscio saltante - bin/bash - guscio con restrizioni di fuga

Jumping Shell: come gli aggressori evadono dalle shell limitate in /bin/bash

Cos'è un guscio ristretto e perché gli attacchi con guscio saltante sono importanti

Le shell limitate vengono utilizzate per controllare quali comandi gli utenti possono eseguire, spesso impedendo azioni come cd, l'avvio di nuove shell o l'esportazione di variabili d'ambiente. In genere vengono distribuiti in CI/CD agenti o creare ambienti per limitare il comportamento degli utenti. Tuttavia, gli aggressori cercano modi per eseguire un jumping shell, un metodo utilizzato per sfuggire agli ambienti shell con restrizioni e ottenere l'accesso a shell senza restrizioni come cestino/bashUna volta dentro it, l'attaccante ha il controllo completo della riga di comando, aggirando tutte le limitazioni dell'ambiente ristretto.

Come funziona Jumping Shell: da Restricted a bin/bash

L'obiettivo di un guscio saltante è quello di sfruttare le debolezze in ambienti ristretti e innescare una fuga dal guscio che porta a cestino/bashLe tecniche più comuni per gli attacchi con shell con restrizioni di fuga includono:

$ ls /bin/bash $ /bin/bash

If cestino/bash è accessibile, questa semplice invocazione lo completa.

Un altro metodo comune:

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

Gli aggressori possono anche sfruttare editor come vi or meno:

vi :set shell=/bin/bash :shell 

Questi metodi illustrano quanto facilmente un guscio che salta può portare a cestino/bash esecuzione, aggirando di fatto le protezioni shell limitate.

I veri rischi di questi attacchi in DevOps

In condiviso CI/CD ambienti, le shell con restrizioni vengono utilizzate per isolare le build e ridurre il rischio. Ma quando un aggressore riesce con una shell di salto e raggiunge cestino/bash, il modello di sicurezza crolla.

I rischi includono:

  • Accesso non autorizzato ai segreti ambientali
  • Escalation dei privilegi tramite accesso illimitato cestino/bash
  • Manomissione della build pipelines o artefatti
  • Implementazione di strumenti persistenti all'interno del pipeline

La fuga ha limitato il guscio a cestino/bash apre la porta al compromesso completo del sistema, spesso la prima mossa in un percorso più ampio Attacco DevSecOps.

Monitoraggio e rilevamento di Jumping Shell e di Escape bin/bash

Per rilevare il comportamento di shell che salta e bloccare i tentativi di shell con restrizioni di fuga, i team di sicurezza devono:

  • Registra tutte le attività della shell, in particolare / bin / bash esecuzione
  • Monitora l'abuso dell'editor e l'uso degli script come vettori di spawn della shell
  • Traccia l'accesso ai file di configurazione della shell come .bashrc or .bash_profilo

Modelli comportamentali come il lancio cestino/bash da un ambiente ristretto dovrebbero essere considerati avvisi ad alta priorità. Rilevarli precocemente può prevenire movimenti laterali più profondi.

Prevenire attacchi e exploit con proiettili con restrizioni di fuga

Per mitigare i rischi di salto del guscio e impedire agli aggressori di lanciare cestino/bash:

  • Indurire i gusci ristretti: rimuovere o bloccare il accesso
  • Utilizzare AppArmor o SELinux per limitare l'esecuzione dei comandi
  • Applicare il privilegio minimo su tutti CI/CD ruoli e corridori
  • Containerizza le build con immagini senza distribuzione prive di shell come cestino/bash
  • Convalida gli ambienti prima e dopo le build per rilevare anomalie

La prevenzione degli scenari di fuga con shell limitate richiede controlli a più livelli, non solo l'affidamento a shell limitate. Non dare per scontato che le shell limitate siano sicure se cestino/bash è addirittura potenzialmente raggiungibile.

Conclusione: le fughe di proiettili sono punti di ingresso

Le shell ristrette sono uno strato di difesa, non una garanzia. Gli attacchi con shell saltanti mirano a un isolamento debole e a una convalida insufficiente. Una volta dentro / bin / bash, gli aggressori possono cambiare direzione, persistere e compromettere l'infrastruttura DevSecOps.

Rilevamento e isolamento sono essenziali. Combinare la registrazione dei comandi, ambienti con restrizioni e una corretta pulizia dei gestori di pacchetti riduce l'esposizione.

Infine, strumenti come Xygeni offrono visibilità su questi rischi. Aiutano a garantire l'integrità del codice, a rilevare comportamenti insoliti della shell e proteggi il tuo pipelineda minacce interne ed esterne, compresi quelli che iniziano con un semplice guscio che salta per / bin / bash o tentativi di sfuggire ad ambienti con shell ristretti.

sca-tools-software-strumenti-di-analisi-della-composizione
Dai priorità, risolvi e proteggi i rischi del tuo software
Crea il tuo account gratuito.
Nessuna carta di credito richiesta.

Proteggi lo sviluppo e la consegna del tuo software

con la suite di prodotti Xygeni