Komputery Okna Internet

PHPShell to skrypt php, który umożliwia wykonywanie poleceń powłoki na serwerze WWW. Złośliwy skrypt powłoki php - skąd wyrastają nogi Co to jest powłoka php

Ostatnio na rozległych przestrzeniach Internetu natknąłem się na wzmiankę o „ Powłoka PHP". Kilka lat temu to narzędzie bardzo mi pomogło, a teraz chcę dać swego rodzaju dług swojemu programiście Martinowi Geislerowi (http://mgeisler.net/).

Jaki jest cel „powłoki PHP”? Uważam, że każdy "zaawansowany" programista sieciowy, nie mówiąc już o administratorach, spotkał się i używał SSH. SSH pozwala nam na zdalny dostęp do serwera i wykonywanie na nim poleceń powłoki (cóż, są różne rodzaje poleceń, takie jak przechodzenie przez katalogi w tę iz powrotem, w górę iw dół, przenoszenie, usuwanie i kopiowanie plików, uruchamianie skryptów i wszelkiego rodzaju sprytnych narzędzi ), jakby przewód do monitora z Jednostka systemowa wydłużył się do niesamowitych rozmiarów i dotarł do serwera hosta. Muszę powiedzieć, że możliwe jest tunelowanie przez ssh i grafikę X, obraz pulpitu pokazujący uruchomione aplikacje okienkowe, ale wyraźnie nie jest to dla serwerów internetowych.

Krótko mówiąc, jeśli nie masz SSH na swoim hostingu, to „co jest nie tak w duńskim królestwie”. Minusem jest to, że często SSH jest domyślnie wyłączone w Twojej „świeżej” witrynie, a kłótnia z obsługą ssh zajmuje trochę czasu. Dokładnie to wydarzyło się tamtego odległego zimowego wieczoru. Pilnie potrzebowałem przenieść stronę z jednej maszyny na drugą, w trakcie których pojawiały się problemy i nałogowo sięgałem po skrót do kitu na pulpicie, aby zobaczyć, co jest „wewnątrz” pacjenta. Ups... i obsługa ssh nie jest aktywna. Jak być? Jeśli jesteś wystarczająco biegły w programowaniu tam w jakimś języku, napisanie małego skryptu, który realizuje pożądane zadanie, nie będzie trudne. Otworzyłem google i po przejrzeniu kilku linków znalazłem wzmiankę o PHP Shell. Krótko mówiąc, wyszedłem z domu na czas.

Prawdę mówiąc, miałem szczęście, że miałem dość okrojonych możliwości powłoki, które dostarczył mi PHP Shell – to wciąż imitacja.

W swojej istocie PHP Shell używa funkcja php- proc_open. Ta funkcja uruchamia polecenie i otwiera strumienie I/O w celu wprowadzenia do aplikacji pewnych informacji (imitując ręczne wprowadzanie jak na klawiaturze) i wyprowadzenia wyników pracy (jeśli wiesz, co to są potoki, to mówimy o nich ). W rzeczywistości funkcja proc_open jest ulepszoną i rozszerzoną wersją funkcji exec lub systemowych. Te jednak tylko uruchamiały program i nie dawały możliwości interakcji z nim, trzeba było od razu wejść w parametry wiersz poleceń określ wszystkie dane niezbędne do działania polecenia. proc_open pozwala na tworzenie potoków powiązanych z twoim skryptem php i odpowiednio możesz symulować wprowadzanie danych do programu i odczytywać wyniki jego pracy. Dla kochanków darmowy hosting Od razu Ci powiem:

„NIE, NIE BĘDZIESZ MÓGŁ UZYSKAĆ ​​DOSTĘPU SSH ZA POMOCĄ POWŁOKI PHP”.

Chodzi o to, że w przypadku darmowego lub bardzo taniego hostingu zwyczajowo uruchamia się php w trybie safe_mode. Wiele funkcji jest w nim wyłączonych, w tym proc_open.

"NIE, NIE BĘDZIESZ MÓGŁ OBSŁUGIWAĆ INTERAKTYWNEGO OPROGRAMOWANIA ZA POMOCĄ PHPSHELL."

Sama istota sieci mówi nam, że nie jest możliwe uruchomienie jakiegoś programu na zdalnym serwerze, który nadal działałby i umożliwiałby wprowadzanie i wyprowadzanie danych podczas kilku oddzielnych żądań http.

"NIE, NIE MOŻESZ UZYSKAĆ ​​DOSTĘPU DO WSZYSTKICH PROGRAMÓW, PLIKÓW I FOLDERÓW NA SERWERZE."

Skrypt działa albo w imieniu Apache, a wtedy jego możliwości są ograniczone jedynie tym, że uprawnienia do wykonania konta Apache. Lub opcjonalnie, jeśli suexec jest używany na hostingu (http://en.wikipedia.org/wiki/SuEXEC), wówczas Twoje prawa będą pokrywać się z prawami konto z którego uruchamiany jest skrypt php.

Załóżmy, że to cię nie powstrzyma i pobrałeś i rozpakowałeś archiwum na swoim serwerze do folderu, powiedzmy phpshell. Jeśli w pasku adresu przeglądarki wpiszesz „jakoś-zwana-twoja-strona/phpshell/phpshell.php” to zostaniesz poproszony o przedstawienie się, podanie swojego imienia i hasła – oczywiście nie są to dane uwierzytelniające, które otrzymałeś od swojego hostera

Musisz więc ustawić uprawnienia: kto może uzyskać dostęp do powłoki za pośrednictwem tego narzędzia. Aby to zrobić, znajdź sekcję użytkowników w pliku config.php i dodaj do niej nazwę użytkownika i hasło w następującej formie:

Vasyano = sekret

Jeśli jesteś zdezorientowany faktem, że hasło jest ustawione w postaci zwykłego tekstu, to za pomocą pliku pwhash.php możesz znaleźć zwinięcie hasła md5 i zostanie ono zapisane w pliku config.php

Teraz próbujemy wejść ponownie i dostać się do okna, gdzie w dolnej części okna wpisujemy polecenie, klikamy "start" a następnie wynik jego wykonania wyświetla się na środku okna strony

To wszystko, może phpshell ci jakoś pomoże.

Złośliwy skrypt powłoki WSO PHP wykrył /libraries/simplepie/idn/OpenIDOpenID.php (witryna Joomla! 3). Na ten moment zdefiniowane tylko przez niektóre antywirusy, takie jak JS / SARS.S61, PHP: Decode-DE, Trojan.Html.Agent.vsvbn, PHP.Shell.354, php.cmdshell.unclassed.359.UNOFFICIAL.

Pewnego „ładnego” dnia (jak każdy), jeden z naszych podopiecznych (http://ladynews.biz), w wyniku przeskanowania swojej strony hostingiem antywirusowym, otrzymał taką wiadomość:

Na koncie znaleziono pliki ze złośliwą zawartością. Zdecydowanie zalecamy ograniczenie dostępu do konta FTP tylko z używanych adresów IP, a także korzystanie z ochrony antywirusowej w celu sprawdzenia konta pod kątem wirusów. Zapoznaj się z naszymi wytycznymi dotyczącymi bezpieczeństwa i zapobiegania hakerom, aby zapobiec ponownemu zakażeniu.

Oczywiście proponowano uporanie się z tą hańbą - skanowanie standardowym antywirusem ClamAV, z zestawem domyślnych antywirusowych baz danych, nie dało żadnych dodatkowych rezultatów.

W momencie rozpoczęcia tej historii (23.10.2015) ten skrypt powłoki wirusa był nieobecny w antywirusowych bazach danych większości programów antywirusowych, w tym takich „potworów”, jak Comodo, DrWeb, ESET-NOD32, GData, Kaspersky , McAfee, Microsoft, Symantec, TrendMicro itp., co potwierdził również skaner online VirusTotal 23.10.2015. Tylko kilka programów antywirusowych było w stanie zidentyfikować złośliwy skrypt PHP:

Wynik antywirusowy Data aktualizacji AhnLab-V3 JS / SARS. S61 20151022 Avast PHP: Decode- DE [Trj] 20151023 NANO- trojan antywirusowy. HTML. Agent. vsvbn 20151023

Tego samego dnia ClamAV i Dr.Web zostały powiadomione o wykryciu złośliwego skryptu. ClamAV nadal uparcie milczy, a Dr.Web zareagował na złośliwy pakiet w ciągu 24 godzin:

Twoje żądanie zostało przeanalizowane. Odpowiedni wpis został dodany do bazy wirusów Dr.Web i będzie dostępny podczas następnej aktualizacji.

Zagrożenie: PHP.Shell.354

Dr.Web dotrzymał obietnicy, a skrypt wirusa OpenIDOpenID.php jest teraz zdefiniowany jako PHP.Shell.354, jednak wiele programów antywirusowych, takich jak ClamAV, Comodo, DrWeb, ESET-NOD32, GData, Kaspersky, McAfee, Microsoft, Symantec, TrendMicro, itp. nadal nie mają o tym pojęcia (stan na 25.10.2015).

Ok, usunęliśmy plik, ale na jak długo? Skąd się wziął, możemy się tylko domyślać. Co dalej? Zaczynamy umieszczać wszelkiego rodzaju komponenty Securitycheck i przekręcać zasady w .htaccess, uniemożliwiając dostęp do wszystkiego i wszystkich, ponieważ w przypadku hostingu współdzielonego (czyli hostingu współdzielonego, hostingu współdzielonego) nie mamy żadnych uprawnień. Jak długo te środki zaoszczędzą, nikt nie wie.

A propos, jeśli chodzi o komponenty Securitycheck… Securitycheck to komponent dla Joomla! i całkiem nieźle. A oto pewna zupełna bzdura „Ochrona witryny antywirusowej”, której zdecydowanie odradzam każdemu, oto sprawdzona w praktyce recenzja tej „Ochrony witryny antywirusowej”:

Ten komponent tworzy również plik pack.tar w twoim / tmp, który zawiera twój plik configuration.php i inne znalezione hasła! BYĆ ŚWIADOMYM

Co w tłumaczeniu oznacza: „ten składnik również tworzy utworzyć kopię zapasową całą witrynę w pliku /tmp/pack.tar, który zawiera plik configuration.php z hasłami z bazy danych! BĄDŹ OSTROŻNY – oznacza to, że „Ochrona witryny” nie pachnie tym składnikiem, co powinno również skłonić ofiarę do myślenia o zmianie ścieżek do katalogów /logs, /tmp, /cache i odmowie dostępu do nich.

Klikając ten link, możesz zrozumieć, że problem ma co najmniej ponad rok. Patrząc tutaj, zrozumiemy, że maskowanie skryptu powłoki nie jest wykonywane przez skomplikowany base64_encode / gzdeflate, co oznacza, że ​​gdzieś indziej musi być część, która wywołuje / łączy OpenIDOpenID.php i wykonuje base64_decode / gzinflate. Oznacza to, że OpenIDOpenID.php jest tylko wynikiem (czyli konsekwencją), a nie powodem, dla którego ofiara skarży się, że serwer zaczął wysyłać spam na skalę przemysłową, oraz ręczne usuwanie złośliwe pliki nie pomagają, po czym ofiara nie ma na kogo narzekać poza hostingiem NIC-RU. „Nieszczelny” hosting wirtualny może być bardzo dobry. często ludzie z IMHO pracują tam za pensję, a nie pomysł, ale w niektórych przypadkach problem może być znacznie głębszy.

Na przykład „W pliku Adobe Flash wykryto złośliwy iniektor iFrame”. Myślę, że dla nikogo nie jest tajemnicą, że możesz pisać interfejsy do przesyłania plików do witryny we Flashu i robić wiele innych ciekawych rzeczy w ActionScript. Wirus w plikach .swf ( Adobe Flash), jak pokazała praktyka, mogą pozostać niezauważone przez lata i być czarnymi drzwiami na stronie ( aka tylne drzwi - tylne drzwi), przez które pliki takie jak „OpenIDOpenID.php” są „rzucane”, które można usunąć, aż staną się niebieskie i bezskutecznie.

Co zrobić, jak znaleźć „słabe ogniwo” wśród tysięcy plików? W tym celu należy skorzystać z tzw. analizy heurystycznej, aw niektórych przypadkach skorzystać z antywirusowych baz danych firm trzecich. Należy pamiętać, że analiza heurystyczna, w zależności od jej ustawień, może dać wiele fałszywych alarmów, niż w przypadku korzystania z dodatkowych sygnatur wirusów od zewnętrznych programistów.

Gdzie mogę uzyskać antywirusowe bazy danych innych firm? Na przykład bazy danych z sygnaturami antywirusowymi innych firm dla ClamAV można uzyskać bezpłatnie pod adresem www.securiteinfo.com, malwarepatrol.net, rfxn.com. Jak korzystać z tych dodatkowych antywirusowych baz danych? To będzie zupełnie inna historia. Możemy tylko powiedzieć, że dodatkowe antywirusowe bazy danych dla ClamAV od rfxn.com (projekt LMD (Linux Malware Detect)) mają na celu wyszukiwanie złośliwego oprogramowania w aplikacjach internetowych i dają lepsze wyniki. rfxn.com podaje również, że 78% zagrożeń, których odciski palców znajdują się w ich bazie danych, nie jest wykrywanych przez ponad 30 komercyjnych programów antywirusowych – i najprawdopodobniej są.

A więc... Jak zakończyła się historia ze złośliwym skryptem powłoki PHP OpenIDOpenID.php?

Postanowiono zaopatrzyć się w dodatkowe antywirusowe bazy danych dla ClamAV z malwarepatrol.net i rfxn.com, pobierz kopię zapasową plików witryny i przeskanuj je lokalnie, oto wynik skanowania:

$ clamscan / ladynews.biz / ../ game_rus.swf: MBL_647563.UNOFFICIAL FOUND / ../ farmfrenzy_pp_rus.swf: MBL_647563.UNOFFICIAL FOUND / ../ beachpartycraze_rus.swf: MBL_29346425..UNOFFIC_MBL_2934225..UNOFFICIAL FOUND / loader_rus.swf: MBL_647563.UNOFFICIAL FOUND ----------- PODSUMOWANIE SKANOWANIA ----------- Znane wirusy: 4174348 Wersja silnika: 0.98.7 Skanowane katalogi: 3772 Skanowane pliki: 18283 Zainfekowane pliki: 5 Błędy ogółem: 1 Skanowane dane: 417,76 MB Odczyt danych: 533,51 MB (stosunek 0,78: 1) Czas: 1039,768 s (17 m 19 s)

/libraries/simplepie/idn/OpenIDOpenID.php jak wspomniano powyżej pliki .swf zostały usunięte, ale czy problem został rozwiązany? Na razie trudno powiedzieć - kopiemy dalej...

Z odszyfrowanej wersji pliku /libraries/simplepie/idn/OpenIDOpenID.php(http://pastebin.com/WRLRLG9B), patrząc na stałą @define ("WSO_VERSION", "2.5"); , staje się jasne, że jest to produkt o nazwie WSO. Po przekopaniu sieci dla słowa kluczowego WSO uzyskano następujące wyniki:

Okazuje się, że temat od dawna nie jest nowy, więc wybieramy regexxer w zęby, dalej zbieramy pliki strony i znajdujemy: Błąd otwierania katalogu "/home/user/biblioteki/joomla/cache/controller/cache ": Brak dostępu

Aha, proszę bardzo, s.ka gdzie jeszcze seranulo! Patrzymy na prawa do katalogu, które nie powinny być domyślnie = chmod 111 (aka Run for Owner / Group / All). W ten sposób coś gdzieś siedzi i rozprzestrzenia się poprzez katalogi, ukrywając się nawet przed wirusami za pomocą chmod 111.

Po zainstalowaniu chmod 551 do katalogu i zajrzeniu do środka, znalazł się /libraries/joomla/cache/controller/cache/cache/langs.php, którego kod źródłowy jest dostępny tutaj: http://pastebin.com/JDTWpxjT - katalog / biblioteki / joomla / pamięć podręczna / kontroler / pamięć podręczna kasować.

Świetnie, teraz uporządkowaliśmy chmody dla wszystkich plików i katalogów:

# zbiorcza zmiana praw (chmod) do plików w katalogu / dirname i poniżej find / home / user / public_html -type f -exec chmod 644 () \; # uprawnienia do zbiorczej zmiany (chmod) wł. / dirname i poniżej find / home / user / public_html -type d -exec chmod 755 () \;

Po raz kolejny powtarzamy kontrolę antywirusową z dodatkowymi bazami danych clamscan /ladynews.biz, ale podobno wszystko jest czyste.

Powtarzamy wyszukiwanie plików za pomocą regxxer i próbujemy wyszukać według słowa kluczowe OpenIDOpenID, OpenID czy WSO - i dochodzimy do wniosku, że p.det okazał się znacznie szerszy i głębszy:

  • - nie powinno go tu być, tutaj jest jego źródło: http://pastebin.com/jYEiZY9G
  • /administrator/komponenty/com_finder/controllers/imagelist.php- nie powinno go tu być, tutaj jest jego źródło: http://pastebin.com/0uqDRMgv
  • /administrator/komponenty/com_users/tables/css.php- nie powinno go tu być, tutaj jest jego źródło: http://pastebin.com/8qNtSyma
  • /administrator/templates/hathor/html/com_contact/contact/toolbar.trash.html.php- nie powinno go tu być, tutaj jest jego źródło: http://pastebin.com/CtVuZsiz
  • /components/com_jce/editor/tiny_mce/plugins/link/img/Manager.php- nie powinno go tu być, tutaj jest jego źródło: http://pastebin.com/2NwTNCxx
  • /libraries/joomla/application/web/router/helpsites.php- nie powinno go tu być, oto jego źródło: http://pastebin.com/ANHxyvL9
  • /plugins/system/ytshortcodes/XML.php- nie powinno go tu być, oto jego źródło: http://pastebin.com/GnmSDfc9
  • /templates/index.php - nie powinno go tu być, oto jego źródło: http://pastebin.com/gHbMeF2t

/administrator/komponenty/com_admin/index.php i /templates/index.php były prawdopodobnie skryptami wejściowymi, które wykonywały główny kod za pomocą wysoce przestarzałej funkcji eval(), która również używała:

Cóż, logika maskowania złośliwego kodu jest jasna. Teraz, jeśli szukamy konstrukcji "eval ($", znajdziemy o wiele ciekawsze rzeczy:

  • /administrator/components/com_admin/sql/updates/postgresql/php.php- http://pastebin.com/gRHvXt5u
  • /components/com_kunena/template/blue_eagle/media/iconsets/buttons/bluebird/newsfeed.php -
  • /components/com_mailto/helpers/index.php -
  • /components/com_users/views/login/file.php -
  • /components/com_users/controller.php- zainfekowany i wymaga wymiany!
  • /zawiera/index.php -
  • /libraries/joomla/string/wrapper/section.php -
  • /biblioteki/dziedziczne/dostęp/katalog.php -
  • /libraries/nextend/javascript/jquery/InputFilter.php -
  • /libraries/nextend/smartslider/admin/views/sliders_slider/tpl/config_tinybrowser.php -
  • /libraries/xef/assets/less/admin.frontpage.php -
  • /media/editors/codemirror/mode/rust/Alias.php -
  • /modules/mod_kunenalatest/język/zh-TW/smtp.php -
  • /modules/mod_kunenalogin/język/de-DE/XUL.php -
  • /plugins/content/jw_allvideos/jw_allvideos/includes/js/mediaplayer/skins/bekle/CREDITS.php -
  • /templates/sj_news_ii/html/mod_sj_contact_ajax/toolbar.messages.php -

Nie wszystkie wciąż wirusowe skrypty PHP mają kod zamieszczony na pastebin.com, ponieważ tylko 10 publikacji jest dozwolonych w ciągu 24 godzin. V porządek ogólny usuwanie jest mniej więcej następujące:

Tak, prawie zapomniałem - przed rozpoczęciem usuwania złośliwych skryptów nie zaszkodzi dodać do .htaccess kilka reguł zakazujących bezpośredniego dostępu do dowolnych plików .php w dowolnych katalogach, ale zezwalających na dostęp tylko do plików root / lub /index. php i / administrator / lub /administrator/index.php - zablokuje to złośliwemu napastnikowi dostęp do przychodzących skryptów powłoki ukrytych w różnych katalogach systemowych:

(pub) (/ pub) (reg)

# --- +++ CHROŃ NIEKTÓRE PLIKI I KATALOG +++ ---# RewriteCond% (REQUEST_URI)! ^ / ((Indeks) + \. Php |. * \. (Htm | html | txt | xml) | + |. * / + |. * /. * \. (Css | js | jpg | jpeg | png | gif | ico | eot | svg | ttf | woff | woff2 | html) +)? $ RewriteCond% (REQUEST_URI)! ^ / (administrator) + / (indeks \ .php)? $ RewriteRule ^ (. *) $ - # # --- +++ // CHROŃ NIEKTÓRE PLIKI I KATALOG +++ ---

UPD 28.10.2015: No i co? Czy jesteś już zrelaksowany? Jest za wcześnie...

Teraz poszukajmy w dzikich plikach witryny plików binarnych, które w ogóle nie powinny znajdować się w silniku:

find / mojasciezka / -executable -type f find / mojasciezka / -type f -perm -u + x find / mojasciezka / -type f | xargs plik | grep "\: \ * dane $"

Kto szuka, zawsze znajdzie (binaria):

  • /modules/mod_p30life_expectancy_calc/tmpl/accordian.pack.js
  • /obrazy/historie/audio/34061012-b1be419af0b9.mp3
  • /libraries/xef/sources/folder/navigation.php
  • /libraries/joomla/application/web/application.php
  • /libraries/joomla/document/json/admin.checkin.php
  • /libraries/nextend/assets/css/LICENSES.php
  • /libraries/fof/config/domain/toolbar.categories.html.php
  • /libraries/fof/form/field/client.php
  • /libraries/phputf8/sysinfo_system.php
  • /components/com_mobilejoomla/index.php
  • /components/com_mobilejoomla/sysinfo_system.php
  • /komponenty/index.php
  • /components/com_banners/sysinfo_config.php
  • /components/com_kunena/views/home/admin.checkin.php
  • /components/com_jce/editor/tiny_mce/plugins/source/js/codemirror/toolbar.checkin.php
  • /components/com_jce/editor/tiny_mce/plugins/colorpicker/admin.cache.php

Podsumujmy

Nie można było wiarygodnie ustalić, skąd wyrosły odnóża tej infekcji, czy to wina niedawno znalezionego w silniku krytyczna podatność zezwalanie na wstrzykiwanie SQL i eskalację uprawnień, wyżej wymienione pliki .swf oznaczone jako złośliwe, lub jakąś lukę, która nie została jeszcze wykryta w komponentach lub wtyczkach innych firm, lub nieszczelny wirtualny hosting, czy pytanie pozostaje otwarte?

Obecnie odkryte złośliwe pliki posprzątane, pliki silnika kompletnie wgrane ponownie, zasady w .htaccess to barykady... Kto ma czas i interesuje się poskładaniem i zebraniem tej kupy gówna, możesz ściągnąć archiwum wso-php-shell-in -joomla.zip - wszystkie powyższe są tam spakowane złośliwymi plikami PHP, hasło do archiwum: www.site

RAZEM: Nigdy nie ma zbyt wiele paranoi, a każdy darmowy lub komercyjny program antywirusowy z jego heurystyką i dodatkowymi bazami sygnatur jest daleki od panaceum. Dlatego wszelkie antywirusy są przestarzałymi narzędziami do ochrony aktywnego środowiska wielu użytkowników i aby zapobiec różnym nieznanym zagrożeniom, powinieneś używać metod ochrony paranoidalnej, na przykład: wirtualizacja, SELinux, Bastille Linux, immutable bit, ecryptfs itp.!

  • Zagrożenie: WSO PHP Web Shell
  • Ofiara: ladynews.biz

Większość ataków na zasoby korporacyjne polega na wstrzykiwaniu powłok WWW - kodu, który umożliwia kontrolowanie zainfekowanych maszyn spoza sieci. AntiShell Web Shell Hunter to narzędzie zabezpieczające, które zawiera zestaw mechanizmów do wykrywania powłok internetowych.




Powłoka internetowa to skrypt, który jest ładowany na serwer i służy do zdalnej administracji. Staje się złośliwy tylko wtedy, gdy jest kontrolowany przez atakującego. I w tym przypadku stanowi poważne zagrożenie.

Zainfekowany serwer nie musi być podłączony do Internetu - może znajdować się w wewnętrznej sieci firmy. Następnie powłoka internetowa służy do uzyskiwania dostępu do innych hostów z krytycznymi aplikacjami lub informacjami.

Do pisania powłok internetowych można użyć dowolnego języka obsługiwanego przez docelowy serwer WWW. W praktyce najczęściej używa się PHP i ASP, ponieważ są one najbardziej popularne. Złośliwe programy w powłoce Perl, Ruby, Python i Unix są również szeroko rozpowszechnione.

Powłoki WWW są instalowane w dość standardowy sposób dla złośliwych aplikacji - wykorzystując luki w CMS lub oprogramowanie serwer internetowy. Następnie działają jako tylne drzwi, umożliwiając atakującemu wykonywanie dowolnych poleceń na zdalnym komputerze, w tym wstrzykiwanie oprogramowania ransomware lub przeprowadzanie ataków na inne serwery.

Szczególnym zagrożeniem związanym z powłokami internetowymi jest ich względna prostota. Modyfikacja skryptu, w wyniku której powstaje inny program, to zadanie, z którym poradzi sobie nawet początkujący. Ze względu na tę jakość trudno jest wykryć powłoki sieciowe za pomocą standardowych narzędzi antywirusowych.

Jak inni złośliwe oprogramowanie, powłoki internetowe można rozpoznać po wielu funkcjach zewnętrznych. Jednak znaczna ich część może również dotyczyć akt całkowicie legalnych, dlatego wszelkie podejrzane poszlaki należy rozpatrywać kompleksowo, analizując cały obraz, a nie jego fragmenty.

Możliwymi wskaźnikami obecności powłoki internetowej na serwerze mogą być:

  • okresy nienormalnie wysokiego obciążenia serwera;
  • obecność plików z podejrzaną sygnaturą czasową (na przykład późniejszą niż godzina) Ostatnia aktualizacja NA);
  • Dostępność podejrzane pliki w miejscach dostępnych z Internetu;
  • obecność plików zawierających linki do cmd.exe, eval itp.;
  • obecność podejrzanych autoryzacji z sieci wewnętrznej;
  • obecność plików generujących nietypowy ruch.

Oczywiście analiza „ręczna” w tym przypadku, jeśli to możliwe, wymaga zbyt wielu zasobów ludzkich, więc jej zastosowanie jest pozbawione jakiejkolwiek praktycznej wykonalności. AntiShell Web Shell Hunter firmy Garhi Technology automatyzuje ten proces, twierdząc, że gwarantuje rozpoznanie wszystkich znanych powłok internetowych.

Aplikacja oparta jest na następujących technologiach:

  • szukaj według słów kluczowych. Wszystkie pliki są skanowane w poszukiwaniu słów i poleceń, które mogą być powiązane z atakiem;
  • analiza sygnatur: wyszukaj sygnatury znanych powłok internetowych;
  • analiza najdłuższych linii. Często złośliwy kod jest szyfrowany w taki sposób, aby ominąć wyszukiwanie słów kluczowych. To sprawia, że ​​wiersze kodu są wyjątkowo długie, co czyni je wykrywalnymi;
  • obliczenie entropii Shannona w kod źródłowy... Każdej linii kodu przypisywana jest ocena, na podstawie której można ocenić stopień zagrożenia;
  • wyszukaj złośliwy kod przy użyciu metody indeksu koincydencji.

Rozwiązuje to jeden z głównych problemów wykrywania powłoki WWW, związany z różnorodnością używanych języków i możliwością łatwej modyfikacji. Czynniki te nie wpływają na działanie AntiShell Web Shell Hunter, co czyni go uniwersalnym i może służyć do ochrony dowolnego serwera.

Ponieważ pliki, które nie zostały zmodyfikowane od czasu poprzedniego skanowania, są wykluczone z przetwarzania, AntiShell Web Shell Hunter nie obciąża zbytnio serwera. Ponadto takie podejście skraca czas weryfikacji.

Jednocześnie administratorzy mogą samodzielnie ustawić czas skanowania na podstawie dziennych wahań obciążenia serwera. W razie potrzeby codzienna rutyna zostaje zastąpiona tygodniową lub nawet miesięczną, co pozwala zoptymalizować pracę całego systemu.

Program wykrywa pliki zawierające kod powłoki webowej i udostępnia administratorowi systemu pełna informacja według obiektu: data i godzina utworzenia, nazwa właściciela, prawa itd.

Wszystkie te dane (ale nie same pliki) trafiają również do centrum klienta firmy deweloperskiej, które na ich podstawie może udzielić wsparcia w obsłudze incydentu i zbadaniu jego skutków. Klienci, którzy subskrybują płatną usługę, mogą również korzystać specjalne narzędzie pobrać same zainfekowane pliki do dalszej analizy.

Wiadomości o znalezionych obiektach są wysyłane do administratora systemu przez e-mail... Nie ma potrzeby, aby osobiście monitorował ten proces.

Obecnie AntiShell Web Shell Hunter jest jedynym narzędziem przeznaczonym do wykrywania powłok internetowych. Wiele aplikacji antywirusowych zawiera podobną funkcję, ale tylko jako opcję dodatkową, która domyślnie jest nieaktywna. Z reguły opierają się wyłącznie na analizie sygnatur, więc ich skuteczność jest słaba.

Ponieważ wykorzystanie powłok internetowych do atakowania serwerów staje się coraz bardziej powszechne, warto chronić system za pomocą specjalistycznego rozwiązania. Jak to się mówi, bezpieczeństwa nigdy za wiele.