Atakujący uwielbiają Linuxa i kontenery. A dla firm, które trzymają tam aplikacje krytyczne dla biznesu, jedna skuteczna infekcja może oznaczać wyciek danych, lateral movement albo początek prawdziwego koszmaru.
Czym jest web shell i jak działa?
Web shell to w dużym uproszczeniu mały kawałek kodu, który otwiera backdoor w serwerze. Wygląda niepozornie, a potrafi wszystko, od odczytu plików, przez wykonywanie procesów, po tworzenie tuneli sieciowych.
Najczęściej spotkasz je w PHP, ale nie tylko - Python, Ruby, ASP.NET, Java… praktycznie każda technologia webowa może być bronią. Linux? Jest idealnym celem, bo jego modułowość i otwarta architektura pozwalają intruzowi operować niemal bez ograniczeń, szczególnie w serwerach WWW i kontenerach.
Ciekawostka dla fanów Linuxa: wiele web shelli działa w pamięci (in-memory), co oznacza, że po uruchomieniu plik może zniknąć z dysku i wtedy klasyczne skanery plików nie mają szans.
Nie zapominajmy też o obfuscacji. Atakujący potrafią zmienić nazwy funkcji, zakodować treść w base64, użyć eval w PHP albo create_function, żeby kod „sam się odsłonił” dopiero w momencie wykonania.
CrowdStrike Falcon czy działa na Linuxie?
Oczywićcie, że tak! CrowdStrike Falcon® w ostatnich miesiącach zyskał nawet nowe funkcje dla sensorów Linux. Szczególnie w wykrywaniu PHP web shelli. Zarówno tych starych i tych sprytnie ukrytych. Do tego dochodzi funkcja “On write script file visibility”, która w ciągu trzech miesięcy pozwoliła zespołowi CrowdStrike wykryć… 492 web shelle. Tak, prawie pięćset – i to tylko w krótkim okresie.
On Write Script File Visibility działa inaczej niż stare skanery: widzi skrypty w momencie, gdy są zapisywane, zna kontekst, zawartość i aktywność skryptu. Dzięki temu nawet nowo powstałe, nieznane web shelle nie mają szans.
Wyobraź sobie sytuację: atakujący korzysta z popularnego tunelującego web shella Suo5. Falcon wie dokładnie, co zostało uruchomione: tunelowanie, ale bez dostępu do wykonywania procesów na serwerze. To daje zespołowi bezpieczeństwa pełniejszy obraz, a nie tylko migawkę po fakcie.
PHP i jego ciemne zakamarki
Niektóre web shelle w PHP wykorzystują polecenie eval, czyli w locie wykonują kod przesyłany przez klienta. Obfuscacja, base64, create_function - kojarzycie? To klasyczne triki.
Funkcja “Enhance PHP visibility” rejestruje każde polecenie bashowego eval i daje zespołom security wgląd w kod, zanim zacznie robić spustoszenie.
Jak Crowdstrike wykrywa web shelle?
Kiedy web shell zostanie wykryty w konsoli Falcon, funkcja “Investigate event” pozwala od razu zagłębić się w kontekst zdarzenia, powiązane procesy, historię zmian w plikach – bez ręcznego deobfuskowania. Wszystko, co potrzebne, by zrozumieć, co dokładnie robił haker.
Przykładowe zapytania w Falcon SIEM pozwalają wyłapać najczęstsze funkcje używane przez web shelle do wykonywania procesów – system, shell_exec, eval i powiązać je z konkretnymi plikami i procesami. Przydatne, prawda?
Rzeczywistość kontra raporty
Raporty i liczby wyglądają (nie)fajnie, cóż Wam mogę powiedzieć. Setki wykrytych web shelli, miliony monitorowanych zdarzeń. Plot twist, bo wydawało mi się, że web shell to trochę "haking-dinozaur" ???? A jednak..., ale wiesz, co jest prawdziwym problemem? Wciąż mnie martwi ilość firm, gdzie wciąż istnieją serwery, gdzie nikt nie zauważył, że mająosobę trzecią w swojej infrastrukturze. Pootwierane porty, prehistoryczne wersje systemowe - wierzcie na słowo, to wciąż norma. "Aktualizacje? Na co to komu ???? "