O projekcie

Klientem tego zgłoszenia był lokalny portal informacyjny z Chełma – strona oparta na WordPressie i bardzo starej wersji popularnego motywu dla serwisów newsowych. Nazwę redakcji i adres strony celowo pomijamy: opisujemy sam przypadek, nie firmę.

Na tę stronę trafiliśmy, szukając kontaktu w sprawie reklamy. Przy okazji przeglądania publicznie dostępnych elementów serwisu zauważyliśmy sygnały wskazujące, że witryna może być słabo zabezpieczona. Ponieważ mówimy o medium, które realnie kształtuje lokalną opinię, postanowiliśmy to sprawdzić – w minimalnym, nieinwazyjnym zakresie koniecznym do potwierdzenia problemu.

Dlaczego bezpieczeństwo opiniotwórczej strony to nie drobiazg

Włamanie na stronę małej firmy to zwykle problem tej firmy. Włamanie na portal informacyjny to problem wszystkich jego czytelników. Osoba, która przejmie taki serwis, może opublikować własny artykuł pod wiarygodną marką znanej redakcji: zbudować fałszywą narrację, rozsiać dezinformację lub propagandę, uderzyć w konkretne osoby czy firmy. Treść wygląda wtedy jak rzetelna informacja, bo pojawia się tam, gdzie ludzie są przyzwyczajeni jej ufać.

Właśnie dlatego potraktowaliśmy te ustalenia poważniej niż zwykły audyt techniczny. Stawką nie były tu wyłącznie dane jednej strony, ale zaufanie do lokalnego źródła informacji.

Co wykryliśmy

Większość problemów wynikała z bardzo starej wersji motywu i braku podstawowych zabezpieczeń WordPressa. Najważniejsze ustalenia:

  • Aktywne XML-RPCkonfiguracja pozwalała na wykonywanie wielu prób logowania w jednym żądaniu, czyli szybki atak siłowy na hasła administratorów.
  • Bardzo stara wersja motywu (2018)bez licznych poprawek bezpieczeństwa wydanych przez producenta przez kolejne lata.
  • Brak ograniczenia prób logowaniażadnej czasowej blokady ani CAPTCHA, co otwiera drogę atakom słownikowym.
  • Potencjalny PHP Object Injectionużycie funkcji unserialize() na danych zewnętrznych, groźne przy przejmowaniu kontroli nad kodem.
  • Wyłączona weryfikacja certyfikatów SSLw części zapytań, co daje ryzyko ataku typu man in the middle i podstawienia fałszywych odpowiedzi.
  • Podatności XSSbrak odpowiedniego escapowania danych wejściowych w kilku komponentach.

Dodatkowo odnotowaliśmy między innymi: brak zabezpieczeń CSRF w części endpointów AJAX, możliwość enumeracji użytkowników, brak polityki Content Security Policy oraz przestarzałe biblioteki pomocnicze.

Co realnie mógł zrobić atakujący

  • przejąć konto administracyjne strony,
  • opublikować własne treści i fałszywe artykuły pod marką redakcji,
  • wgrać złośliwe pliki i wykonać kod PHP na serwerze,
  • zainfekować stronę malware i wykorzystać ją do dalszych ataków,
  • podmienić lub usunąć istniejące publikacje.

Jak działaliśmy

Zależało nam na potwierdzeniu ryzyka, a nie na jego wykorzystaniu. Analiza objęła wyłącznie publicznie dostępne elementy strony, statyczną analizę kodu oraz ograniczoną weryfikację w zakresie minimalnym, koniecznym do potwierdzenia problemów. Nie uzyskaliśmy nieautoryzowanego dostępu do panelu administracyjnego ani do danych użytkowników.

Audyt bezpieczeństwa

Statyczna analiza kodu

Identyfikacja podatności

Raport z oceną ryzyka

Rekomendacje wg priorytetu

Hardening WordPressa

Kompletny raport przekazaliśmy oficjalnym kanałem, bezpośrednio do redakcji. Rekomendacje uporządkowaliśmy według priorytetu: od działań natychmiastowych (wyłączenie XML-RPC, zmiana haseł administratorów), przez pilne (aktualizacja motywu i wtyczek, ochrona przed atakami siłowymi, skan malware), po dalszy hardening i monitoring.

Efekt

Redakcja ma własny zespół techniczny i po naszym zgłoszeniu samodzielnie zaktualizowała stronę oraz zamknęła wskazane luki. Nie pozyskaliśmy jej jako klienta i nie o to nam chodziło. Najważniejsze, że krytyczne podatności zostały usunięte, zanim ktokolwiek zdążył je wykorzystać. Dla nas to sukces: bezpieczniejszy lokalny internet i realny dowód, że warto patrzeć takim stronom na ręce.

Wniosek

Każda strona na WordPressie ze starym motywem i nieaktualnymi wtyczkami jest łatwym celem. W przypadku serwisów opiniotwórczych stawką jest nie tylko sama witryna, ale też zaufanie czytelników i odporność na dezinformację. Regularne audyty bezpieczeństwa, aktualizacje, hardening, ochrona przed atakami siłowymi i backupy to nie koszt, tylko ubezpieczenie reputacji.

Prowadzisz stronę, na której nie możesz sobie pozwolić na włamanie? Zabezpieczymy Twoją stronę