Blog 24/7

tylna furtka

TAB. 1Hasłoobie formy
Po angielskubackdoor
Którą formą pisaćobie formy Obie formy są w obiegu. Przy pierwszym wystąpieniu pisz „polski termin (english term)”, dalej sam polski.
Inne formyukryta furtka · ukryte wejście do systemu · ukryte konto (gdy chodzi o zaszyte poświadczenia)
KategoriaZłośliwe oprogramowanie

Tylna furtka (backdoor) to ukryte wejście do systemu, które omija zwykłe uwierzytelnianie. Zostawia ją atakujący, aby wracać bez ponownego włamania, albo umieszcza w kodzie sam producent lub dostawca oprogramowania. MITRE klasyfikuje takie mechanizmy jako ukrytą funkcjonalność: działanie nieudokumentowane, spoza specyfikacji i niedostępne przez interfejs znany użytkownikom i administratorom [1]. Sekurak zalicza do tylnych furtek również webshelle, bo dają zdalny dostęp do powłoki systemowej serwera [4].

Jak działa

Tylna furtka rozwiązuje problem atakującego, który już raz dostał się do systemu. Luka, przez którą wszedł, może zostać załatana, a hasło zmienione. Furtka pozwala mimo to wrócić. Dlatego MITRE ATT&CK opisuje webshelle i zakładanie nowych kont jako techniki utrwalania dostępu [2] [3]. Konto lokalne założone przez atakującego daje mu drugi, uwierzytelniony dostęp, który nie wymaga pozostawiania w systemie narzędzi zdalnego dostępu [3]. MITRE definiuje konta lokalne jako konta skonfigurowane w pojedynczym systemie lub usłudze dla użytkowników, zdalnego wsparcia, usług albo administracji [3]. Konto administratora w panelu WordPressa dobrze pasuje do tego opisu: wygląda jak każde inne i nie wymaga żadnego dodatkowego pliku.

Furtka nie musi być osobnym programem. Może to być kilka linii dopisanych do istniejącego pliku, dodatkowe konto, zmieniona reguła w konfiguracji serwera albo zadanie uruchamiane cyklicznie. Schemat poniżej pokazuje, jak furtka zmienia przebieg kolejnego wejścia.

RYS. 1Powrót przez tylną furtkę

Rodzaje

RodzajKto zostawiaPrzykład
webshellatakujący po włamaniuskrypt PHP wykonujący polecenia [4]
dodatkowe kontoatakujący po włamaniukonto lokalne do powrotu [3]
kod w aktualizacjiprzejęty dostawcawtyczka CAPTCHA w 2017 roku [5]
kod w zależnościatak na łańcuch dostaw (supply chain attack)XZ Utils w 2024 roku [6]
konto serwisoweproducentzaszyte w kodzie hasło [1]

MITRE zauważa, że także nieszkodliwa ukryta funkcjonalność, na przykład skrót programisty w postaci zaszytego konta, powiększa powierzchnię ataku [1]. Granica między furtką serwisową a złośliwą jest więc kwestią intencji, a nie techniki. W klasyfikacji CWE ukryta funkcjonalność ma dwie słabości podrzędne, w tym CWE-506, czyli osadzony złośliwy kod [1]. Wśród przykładów MITRE podaje program do zarządzania zasobami cyfrowymi, którego starsza wersja skryptu PHP zawierała nieujawnioną furtkę pozwalającą na nieuprawniony eksport metadanych [1].

W WordPressie

Po przejęciu strony WordPress atakujący może zostawić kilka furtek naraz, tak aby usunięcie jednej nie odcięło go od strony. Mogą to być webshell w katalogu wtyczki, motywu albo uploads, nieautoryzowane konto administratora oraz kod dopisany do plików ładowanych przy każdym żądaniu. Dokumentacja WordPressa wymienia wśród oznak włamania zakładanie nowych użytkowników bez zgody właściciela [7]. Wskazuje też pliki szczególnie często modyfikowane: .htaccess, index.php, header.php, footer.php i plik funkcji motywu [7].

Furtka może też przyjść z aktualizacją. Sekurak 20 grudnia 2017 roku opisał wtyczkę CAPTCHA z około 300 000 aktywnych instalacji, która po zmianie właściciela dostała złośliwe wersje od 4.3.6 do 4.4.4 [5]. Kod tworzył sesję użytkownika o identyfikatorze 1, czyli domyślnego administratora, ustawiał ciasteczka uwierzytelniające i usuwał się, a uruchomić go mógł każdy bez logowania [5]. Złośliwy kod pobierany był przy aktualizacji z zewnętrznej domeny nowego właściciela, a dotychczasowi autorzy stracili możliwość aktualizowania wtyczki [5]. Wersja 4.4.5 usunęła furtkę, a repozytorium WordPress.org zablokowało dalsze aktualizacje od nowych operatorów [5]. To przykład obejścia uwierzytelniania zaszytego w zaufanym kanale aktualizacji.

Dokumentacja hartowania WordPressa zaleca wtyczki i motywy wyłącznie z repozytorium WordPress.org albo od znanych firm [8]. Pakiety z nieoficjalnych źródeł, takie jak piracka wtyczka (nulled plugin), mogą zawierać furtkę od pierwszej instalacji.

Zagrożenia i skutki

Furtka przedłuża włamanie w czasie. Właściciel, który usunął widoczne skutki, na przykład spam albo przekierowanie, a furtki nie znalazł, może wkrótce znów mieć zainfekowaną stronę. Atakujący z dostępem administratora może instalować złośliwe skrypty zdolne przejąć cały serwer [8], a na hostingu współdzielonym skutki mogą dotknąć sąsiednich stron [7].

Jak wykrywać i usuwać

Webshelle używane jako furtki często mają funkcje pobierania plików i przeglądania zasobów serwera, a do wykonywania poleceń używają wbudowanych funkcji języka, na przykład PHP [4]. Sekurak wymienia kilka metod wykrywania webshelli i furtek [4]:

  • skanery takie jak ClamAV i Maldetect, szukające znanych próbek;
  • wyszukiwanie niebezpiecznych funkcji, na przykład eval, base64_decode, exec i system;
  • porównanie plików z zaufaną kopią;
  • monitorowanie zmian w systemie plików narzędziami typu Tripwire lub AIDE, czyli monitorowanie integralności plików;
  • obserwację anomalii, na przykład nagłego wzrostu obciążenia serwera.

Dokumentacja WordPressa zaleca przy czyszczeniu podmianę katalogów /wp-admin i /wp-includes czystą kopią tej samej wersji, bo instalator w panelu tylko nadpisuje pliki, a włamania często dodają nowe [7]. Po oczyszczeniu trzeba ponownie zmienić hasła do wszystkich punktów dostępu i wygenerować nowe klucze w wp-config.php, co wylogowuje wszystkie sesje [7]; zob. klucze bezpieczeństwa i sole. Wyłączenie edytora plików stałą DISALLOW_FILE_EDIT utrudnia dopisanie furtki z panelu [8].

Historia i przykłady

Najgłośniejszym przykładem furtki w łańcuchu dostaw jest XZ Utils. 29 marca 2024 roku CISA poinformowała o złośliwym kodzie osadzonym w wersjach 5.6.0 i 5.6.1 tej biblioteki kompresji, oznaczonym jako CVE-2024-3094 [6]. Agencja zaleciła powrót do niezmienionej wersji, na przykład 5.4.6 Stable, i poszukiwanie śladów złośliwej aktywności, a o każdym znalezisku poinformowanie CISA [6]. Przypadek pokazuje, że furtka w zależności trafia do wszystkich, którzy ją zainstalują, bez jakiegokolwiek włamania do ich systemów. W świecie WordPressa odpowiednikiem jest przypadek wtyczki CAPTCHA z 2017 roku [5].

TAB. 2

Przypisy

8
  1. [1] CWE-912: Hidden Functionality · MITRE
  2. [2] Server Software Component: Web Shell (T1505.003) · MITRE ATT&CK
  3. [3] Create Account: Local Account (T1136.001) · MITRE ATT&CK
  4. [4] Jak wykrywać backdoory / webshelle w aplikacjach webowych? · Sekurak
  5. [5] Plugin CAPTCHA do WordPressa (300 000 instalacji) z backdoorem · Sekurak
  6. [6] Reported Supply Chain Compromise Affecting XZ Utils Data Compression Library, CVE-2024-3094 · CISA
  7. [7] FAQ My site was hacked · WordPress.org
  8. [8] Hardening WordPress — Advanced Administration Handbook · WordPress.org
TAB. 3

Hasła w tym artykule

11
TAB. 4

Linkują tutaj

72

Wszystkie kategorie → · Hasło w słowniku →

Blog 24/7
05.11CISA i FBI wzywają do zabezpieczenia sterowników chłodzenia po atakach w Europietherecord.media05.11Midnight Blizzard atakowała iPhone'y i Androidy przez zainfekowane strony w Europie i USAsecurityweek.com05.11APT29 kradła dane z iPhone'ów i Androidów przez przejęte i podrobione stronytherecord.media05.11Grupa APT29 przejęła skrypt Plerdy i atakowała niezałatane iPhone'y i Androidythehackernews.com05.11Microsoft wykrył 7,3 mld wiadomości phishingowych w III kwartale 2026microsoft.com05.11DigiCert ujawnia wyciek danych klientów i skanów dokumentów tożsamościbleepingcomputer.com05.11CWPdoor podmienia serwer cwpsrv w Control Web Panel i otwiera tylne wejście do Linuksableepingcomputer.com05.11Brytyjskie NCSC ostrzega, że narzędzia AI zwiększyły liczbę wykrywanych luk zero-daythehackernews.com05.11Skaner RootEvidence sprawdza starą lukę w Cisco IOS i dodaje nagłówki Opt-Outisc.sans.edu05.11Włamanie do portalu grantowego Norad, zagrożone dane 20 614 użytkownikówhelpnetsecurity.com