skacząca powłoka - bin/bash - ucieczka z ograniczonej powłoki

Jumping Shell: Jak atakujący uciekają z ograniczonych powłok do /bin/bash

Czym jest ograniczona powłoka i dlaczego ataki typu Jumping Shell są ważne

Ograniczone powłoki służą do kontrolowania, jakie polecenia mogą wykonywać użytkownicy, często uniemożliwiając wykonywanie takich działań, jak cd, uruchamianie nowych powłok lub eksportowanie zmiennych środowiskowych. Zazwyczaj są one wdrażane w CI/CD agentów lub środowisk kompilacji w celu ograniczenia zachowań użytkowników. Jednak atakujący szukają sposobów na wykonanie skoku powłoki, metody używanej do ucieczki z ograniczonych środowisk powłoki i uzyskania dostępu do nieograniczonych powłok, takich jak bin/bash. Po wejściu do środka it, atakujący ma pełną kontrolę z poziomu wiersza poleceń, omijając wszelkie ograniczenia ograniczonego środowiska.

Jak działa Jumping Shell: od ograniczonego do bin/bash

Celem skoku powłoki jest wykorzystanie słabości w ograniczonych środowiskach i wywołanie ucieczki powłoki, która prowadzi do bin/bashDo typowych technik ataków z wykorzystaniem pocisków o ograniczonym dostępie należą:

$ ls /bin/bash $ /bin/bash

If bin/bash jest dostępny, to proste wywołanie go dopełnia.

Inna powszechna metoda:

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

Atakujący mogą również wykorzystywać edytory takie jak vi or mniej:

vi :set shell=/bin/bash :shell 

Metody te ilustrują, jak łatwo skacząca skorupa może prowadzić do bin/bash wykonanie, skutecznie omijając ograniczone zabezpieczenia powłoki.

Rzeczywiste ryzyko tych ataków w DevOps

Współdzielone CI/CD W środowiskach ograniczone powłoki służą do izolowania kompilacji i ograniczania ryzyka. Jednak gdy atakujący odniesie sukces dzięki powłoce skokowej i osiągnie bin/bash, model bezpieczeństwa się załamuje.

Ryzyka obejmują:

  • Nieautoryzowany dostęp do tajemnic środowiskowych
  • Eskalacja uprawnień poprzez nieograniczoną bin/bash
  • Manipulowanie kompilacją pipelines lub artefakty
  • Wdrożenie trwałych narzędzi w ramach pipeline

Ograniczona powłoka ucieczki bin/bash otwiera drzwi do całkowitego naruszenia systemu, często będącego pierwszym krokiem w szerszym działaniu Atak DevSecOps.

Monitorowanie i wykrywanie ucieczek Jumping Shell i bin/bash

Aby wykryć zachowania polegające na przeskakiwaniu z powłoki i zablokować próby ucieczki z ograniczonej powłoki, zespoły ds. bezpieczeństwa muszą:

  • Rejestruj całą aktywność powłoki, szczególnie / bin / bash egzekucja
  • Monitoruj nadużycia edytora i użycie skryptów jako wektory generowania powłoki
  • Śledź dostęp do plików konfiguracyjnych powłoki, takich jak .bashrc or .bash_profil

Wzory zachowań, takie jak uruchamianie bin/bash Alarmy pochodzące z ograniczonego środowiska powinny być traktowane jako alarmy o wysokim priorytecie. Wczesne wykrycie może zapobiec głębszemu przemieszczaniu się w poziomie.

Zapobieganie atakom i wykorzystaniu luk w zabezpieczeniach Escape Restricted Shell

Aby ograniczyć ryzyko związane z przeskakiwaniem pocisków i uniemożliwić atakującym ich uruchomienie bin/bash:

  • Utwardzanie ograniczonych skorup: Usuń lub zablokuj dostęp
  • Użyj AppArmor lub SELinux, aby ograniczyć wykonywanie poleceń
  • Wymuś najmniejsze uprawnienia CI/CD role i biegacze
  • Konteneryzacja kompilacji z obrazami distroless, którym brakuje powłok, takich jak bin/bash
  • Sprawdzaj środowiska przed i po kompilacjach, aby wykryć anomalie

Zapobieganie ucieczkom z ograniczonych scenariuszy powłoki wymaga warstwowej kontroli, a nie tylko polegania na ograniczonych powłokach. Nie zakładaj, że ograniczone powłoki są bezpieczne, jeśli bin/bash jest potencjalnie osiągalny.

Wniosek: Ucieczki muszli to punkty wejścia

Ograniczone pociski stanowią warstwę obronną, a nie gwarancję. Ataki typu „skok pociskiem” celują w słabą izolację i słabą walidację. Po wejściu do środka / bin / bash, atakujący mogą zmieniać swoją działalność, uparcie ją nadużywać i naruszać infrastrukturę DevSecOps.

Wykrywanie i izolacja są niezbędne. Połączenie rejestrowania poleceń, ograniczonych środowisk i prawidłowego czyszczenia menedżerów pakietów zmniejsza ryzyko.

Wreszcie narzędzia takie jak Xygeni zapewniają wgląd w te zagrożenia. Pomagają egzekwować integralność kodu, wykrywać nietypowe zachowania powłoki i zabezpiecz swoje pipelineprzed zagrożeniami wewnętrznymi i zewnętrznymi, w tym te, które zaczynają się od prostej muszli do skakania / bin / bash lub próbuje uciec z ograniczonych środowisk powłoki.

sca-tools-oprogramowanie-narzędzia-analizy-kompozycji
Określ priorytety, rozwiąż problemy i zabezpiecz zagrożenia związane z oprogramowaniem
Załóż darmowe konto.
Nie wymagamy karty kredytowej.

Zabezpiecz swoje oprogramowanie i dostarczanie

z pakietem produktów Xygeni