springende shell - bin/bash - ontsnappen aan beperkte shell

Springende shell: hoe aanvallers aan beperkte shells ontsnappen naar /bin/bash

Wat is een beperkte shell en waarom aanvallen met een springende shell belangrijk zijn

Beperkte shells worden gebruikt om te bepalen welke opdrachten gebruikers kunnen uitvoeren, waardoor acties zoals cd, het starten van nieuwe shells of het exporteren van omgevingsvariabelen. Ze worden meestal geïmplementeerd in CI/CD agents of build-omgevingen om gebruikersgedrag te beperken. Aanvallers zoeken echter naar manieren om een ​​jumping shell uit te voeren, een methode die wordt gebruikt om te ontsnappen aan beperkte shell-omgevingen en toegang te krijgen tot onbeperkte shells zoals bak/bashEenmaal binnen itheeft de aanvaller volledige controle over de opdrachtregel en omzeilt hij alle beperkingen van de beperkte omgeving.

Hoe Jumping Shell werkt: van Restricted naar bin/bash

Het doel van een springende shell is om zwakheden in beperkte omgevingen uit te buiten en een shell-ontsnapping te veroorzaken die leidt tot bak/bashVeelgebruikte technieken voor ontsnappingsbeperkte granaataanvallen zijn onder meer:

$ ls /bin/bash $ /bin/bash

If bak/bash toegankelijk is, maakt deze eenvoudige aanroeping het compleet.

Een andere veelgebruikte methode:

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

Aanvallers kunnen ook misbruik maken van editors zoals vi or minder:

vi :set shell=/bin/bash :shell 

Deze methoden illustreren hoe gemakkelijk een springende schelp tot een ramp kan leiden. bak/bash uitvoering, waardoor beperkte shell-beveiligingen effectief worden omzeild.

De echte risico's van deze aanvallen in DevOps

In gedeeld CI/CD In omgevingen worden beperkte shells gebruikt om builds te isoleren en risico's te verminderen. Maar wanneer een aanvaller erin slaagt om een ​​springende shell te gebruiken en bak/bash, stort het veiligheidsmodel in.

Risico's zijn onder meer:

  • Ongeautoriseerde toegang tot milieugeheimen
  • Escalatie van privileges via onbeperkte bak/bash
  • Knoeien met de build pipelines of artefacten
  • Implementatie van persistente tooling binnen de pipeline

De ontsnappingsbeperkte granaat tot bak/bash opent de deur voor een volledig systeemcompromis, vaak de eerste stap in een bredere DevSecOps-aanval.

Monitoring en detectie van springende shell- en bin/bash-escapes

Om het gedrag van 'springende shells' te detecteren en ontsnappingsbeperkte shellpogingen te blokkeren, moeten beveiligingsteams:

  • Registreer alle shell-activiteit, vooral / bin / bash uitvoering
  • Monitor misbruik van editors en scriptgebruik als shell-spawnvectoren
  • Volg de toegang tot shell-configuratiebestanden zoals .bashrc or .bash_profiel

Gedragspatronen zoals het lanceren bak/bash Alarmen uit een beperkte omgeving moeten als waarschuwingen met hoge prioriteit worden beschouwd. Vroegtijdige detectie kan diepere laterale beweging voorkomen.

Het voorkomen van Escape Restricted Shell-aanvallen en -exploits

Om de risico's van het springen van shells te beperken en te voorkomen dat aanvallers bak/bash:

  • Beperkte schelpen verharden: Verwijder of blokkeer de toegang
  • Gebruik AppArmor of SELinux om de uitvoering van opdrachten te beperken
  • Handhaaf de minste privileges voor CI/CD rollen en lopers
  • Containerize builds met distributieloze images zonder shells zoals bak/bash
  • Valideer omgevingen vóór en na builds om anomalieën op te sporen

Het voorkomen van scenario's met beperkte shell-ontsnapping vereist gelaagde controles, niet alleen vertrouwen op beperkte shells. Ga er niet vanuit dat beperkte shells veilig zijn als bak/bash is zelfs potentieel bereikbaar.

Conclusie: Shell-ontsnappingen zijn toegangspunten

Beperkte shells vormen een verdedigingslaag, geen garantie. Aanvallen met een springende shell richten zich op zwakke isolatie en slechte validatie. Eenmaal binnen / bin / bashkunnen aanvallers hun gedrag veranderen, hardnekkig blijven bestaan ​​en de DevSecOps-infrastructuur in gevaar brengen.

Detectie en isolatie zijn essentieel. De combinatie van commandoregistratie, beperkte omgevingen en het correct opschonen van pakketbeheerders vermindert de risico's.

Ten slotte zijn er hulpmiddelen zoals Xygeni bieden inzicht in deze risico's. Ze helpen bij het handhaven van code-integriteit, het detecteren van ongebruikelijk shell-gedrag en beveilig uw pipelines van interne en externe bedreigingen, inclusief die welke beginnen met een eenvoudige springschelp om / bin / bash of pogingen om te ontsnappen aan beperkte shell-omgevingen.

sca-tools-software-compositie-analyse-tools
Prioriteer, herstel en beveilig uw softwarerisico's
Maak nu een gratis account aan.
Geen kredietkaart nodig.

Beveilig uw softwareontwikkeling en -levering

met Xygeni-productsuite