A może i Ty masz wirusa na stronie internetowej? W jednym z ostatnich wpisów pisaliśmy o tylnej furtce PHP w stronach internetowych czyli WebShellach. Dzisiaj wracamy do tego teamtu i powiemy w jaki sposób łatwo i szybko możemy przeskanować swoją stronę pod kątem takich tylnych php futek. Do tego celu użyjemy darmowego narzędzia Web Shell Detector dostępnego w wersji PHP i Pythonowej. Zakładam, że jeżeli interesuje Cię ten sposób na sprawdzenie bezpieczeństwa swojej strony internetowej za pomocą tego narzędzia to posiadasz elementarną wiedzę na temat używania skryptów PHP, klienta FTP i podstawowej obsługi hostingu.
Wykrywanie i usuwanie WebShelli
Cały problem polega na tym, że walka z crackerami jest walką z wiatrakami. Ciągle pojawiają się nowe metody ataków i luki w oprogramowaniu. Być może już dawno ktoś i Tobie wgrał shella i cieszy się z danych użytkowników na Twojej stronie internetowej. Więc dowiedzmy się jak wykryć i usunąć typowy PHP shell.
- W pierwszym kroku pobierz skrypt Web Shell Detector z oficjalnej strony projektu.
- Wypakuj archiwum za pomocą WinRara i wgraj za pomocą klienta FTP plik shelldetect.php i shelldetect.db do głównego folderu swojego serwera ze stroną WWW.
- Wywołaj w pasku przeglądarki adres skryptu. Jeżeli testujesz lokalnie skrypt za pomocą XAMPP jest to http://localhost/shelldetect.php.
- Skrypt poprosi Cię o login i hasło. Domyślne dane logowania to admin/protect.
- Skrypt rozpocznie automatycznie skanowanie przeszukując rekurencyjnie wszystkie pliki wykonywalne PHP znajdujące się w folderze ze skryptem i jego podkatalogach.
- Po zakończeniu skanowania wystarczy przeanalizować zebrany raport.
Raport zawiera takie informacje jak:
- Full path – pełna ścieżka przeskanowanego pliku,
- Owner – użytkownik,
- Permission – uprawnienia pliku,
- Last accessed – data ostatniego dostępu do pliku,
- Last modified – data ostatniej modyfikacji,
- MD5 hash – unikalną sumę kontrolną md5sum,
- Filesize – rozmiar pliku,
- suspicious functions used – spis podejrzanych funkcji,
- Fingerprint – werdykt.
Najbardziej wartościowymi dla nas informacjami jest oczywiście fingerprint, suspicious functions used i full path. Na samym końcu zostajemy poczęstowani podsumowaniem o przeskanowanych plikach. Może on mieć postać podobnej do poniższej:
Status: 296 suspicious files found and 1 shells found.
Z tego komunikatu możemy wywnioskować, że jeden z 296 podejrzanych plików jest prawdopodobnie niechcianą tylną furtką. Warto zaznaczyć o informacji z początku skryptu o ilości przeskanowanych plików:
File scan done, we have: 4077 files to analize
Pozytywne wyniki Web Shell Detector
Wyniki negatywne
Inne narzędzia do wykrywania WebShelli
Istnieje wiele innych narzędzi do wykrywania tego typu zagrożeń wirusowych na naszej stronie internetowej. Możemy tutaj wymienić takie narzędzia jak:
- maldet,
- rkhunter,
- ClamAV (skonfigurowany na serwerze antywirus),
- NeoPI (Python).
Ciekawym narzędziem jest właśnie to ostatnie. Można wykorzystywać jego możliwości za pomocą konsoli np: z wykorzystaniem zdalnego dostępu SSH.
Podsumowanie o Web Shell Detector
Web Shell Detector jest bardzo ciekawym narzędziem nie bazującym tylko na swojej wbudowanej bazie danych i sumie kontrolnej pliku (md5sum). Bardzo podoba nam się, że to narzędzie wykorzystuje niejako sztuczną inteligencje do analizy heurystycznej plików. Dzięki wykrywaniu wywołań podejrzanych funkcji, użytkownik skryptu może sam zweryfikować czy podejrzany plik jest szkodnikiem czy też nie. Web Shell Detector jest dostępny obecnie w wersji 1.66 i posiada wedle autorów 604 sygnatur zagrożeń.
Chyba nie muszę wspominać, że jeżeli coś wykryłeś warto pozmieniać swoje hasła użytkownika, do bazy danych, FTP i poprosić o to również użytkowników odpowiednim komunikatem. Warto również aktualizować skrypty i poszukać luk, którymi haker cyberprzestępca dostał się do przestrzeni serwera.
Jeśli podoba Ci się ten wpis być może zainteresuje Ciebe jeszcze wpis o google hackingu lub atakach na skrypty php exif. Bądź na bieżąco razem z naszym Facebookiem #HakerEduPL i #Twitterem. Posiadamy również Pinteresta i bardziej prywatny profil na Google+. 😉
Błąd w 3. zdaniu tekstu.
Nie mówi się (i nie pisze) 'tylni’ tylko 'tylny’.
Zapamiętaj!
Reszty tekstu nie sprawdzałem.
nie męcz
Bardzo pomocny artykuł
Bardzo dziękuję.
Pozdrawiam
admin i protect nie działa. Czy login i hasło się zmieniło?