Strona zawiera skrypt wallet drainer
Co to jest
Na Twojej stronie działa zaciemniony JavaScript, który okrada odwiedzających posiadających portfel Web3 — zazwyczaj MetaMask, Phantom, Coinbase Wallet. Atakujący wstrzyknął JS przez zhakowaną wtyczkę, przejętą sesję administratora lub błąd w aplikacji. Skrypt proponuje odwiedzającemu podłączenie portfela, prosi o „rutynowy” podpis i opróżnia jego saldo.
Vulscan wykrywa to na podstawie kombinacji zaciemniania XOR+base64 oraz markerów typu eth_sendTransaction, setApprovalForAll lub wywołań znanych endpointów RPC Polygon/Ethereum.
Dlaczego to problem
To nie jest teoretyczne wykrycie. Jeśli Twoją stronę w ciągu ostatnich kilku godzin odwiedził ktoś z portfelem Web3 i podpisał zaproponowaną transakcję, jego środki prawdopodobnie już do niego nie należą. Drainery są szybkie — pojedyncze minuty od podpisu do opróżnienia.
Szkody wtórne:
- Google Safe Browsing w ciągu kilku godzin oznaczy Twoją stronę. Chrome i Firefox zaczną wyświetlać pełnoekranowe ostrzeżenie.
- Trwale uszkodzone SEO — Google może zdeindeksować stronę.
- Reputacja marki — jeśli ktoś stracił pieniądze, dowiesz się o tym z mediów.
Jak to naprawić — reakcja na incydent
Postępuj w tej kolejności, nie improwizuj.
1. Wyłącz stronę offline (15 minut)
Najszybciej: hosting → tryb konserwacji albo przełączenie DNS na stronę zastępczą. Celem jest zatrzymanie napływu nowych ofiar.
2. Zidentyfikuj i usuń malware
- Znajdź miejsce wstrzyknięcia. Z naszego raportu wiesz, na którym URL pojawił się drainer — otwórz podgląd źródła strony i znajdź znacznik
<script>, którego tam nie powinno być. - Szukaj także w bazie danych. Drainery w WordPressie lubią ukrywać się w
wp_options(opcjeblogname,siteurli opcja homepage), wpost_content, w niestandardowych widżetach. - Szukaj backdoora. Pliki typu
wp-content/uploads/2024/01/.system.phplub nadpisanywp-load.php. Pomoże np. Sucuri scanner (wtyczka open-source).
3. Zmień dane dostępowe
- Hasła wszystkich administratorów WP (oraz wymuszone wylogowanie wszystkich sesji).
- Hasło do bazy danych.
- Klucze FTP / SSH do serwera.
- Hasło administratora hostingu.
- Klucze API w
wp-config.phpi we wtyczkach.
4. Załataj punkt wejścia
Drainer jakoś się tam dostał. Zaktualizuj rdzeń WordPressa, wszystkie wtyczki i motyw do najnowszych wersji — w ten sposób załatasz też znane podatności starych wersji. Usuń wtyczki, których nie używasz, a w pozostałych przejrzyj changelogi i komunikaty bezpieczeństwa autorów.
5. Jeśli nie radzisz sobie sam — odezwij się
Drainer jest poważniejszy niż „defacement”. Jeśli nie masz doświadczenia w reagowaniu na incydenty, zadzwoń do profesjonalisty. Napisz do nas lub do wyspecjalizowanych firm (CSIRT.CZ, GovCERT.CZ, ewentualnie prywatnych firm IR).
6. Po wyczyszczeniu — ponowne skanowanie
Po naprawie uruchom vulscan jeszcze raz. Drainery się ukrywają — za pierwszym razem możesz nie znaleźć ich wszystkich.