Web Design Blog / Bezpieczeństwo:

Hakowanie WordPress

Data publikacji: 5 stycznia 2019

Często zdarza się nam zapomnieć hasła do paneli administracyjnych, tym bardziej jeżeli zarządzamy nie jedną stroną lub usługą, która wymaga tego typu logowania. W tego typu przypadkach korzystamy z opcji resetowania hasła.

Jeżeli jednak mamy w nawyku podawanie przypadkowych adresów e-mail podczas rejestracji (a przypomnijmy, że do takiej przebiega podczas instalacji WordPressa) sposób na utratę dostępu do kokpitu administratora mamy idealny…

Możemy też utracić dostęp do e-maila, który jest skojarzony z kontem administratora. Są ponadto sytuacje w których z jakichś powodów na szybko potrzebujemy chwilowo dostępu do konta administratora a nie chcemy niepokoić obecnych administratorów systemu zarządzania treścią.

Technika #1: Tworzenie nowego konta administratora za pomocą FTP.

W tej technice potrzebujemy dostępu do konta FTP. Jeżeli mamy możliwość edycji plików szablonu bardzo łatwo można wykorzystać funkcję do tworzenia nowego konta. Otwieramy plik functions.php w aktualnie włączonym motywie i wklejamy taki kod.

function admin_account(){
     $user = 'nowy_uzytkownik';
     $pass = 'nowe_haslo';
     $email = 'unikalnyemail@mansfeld.pl';
if ( !username_exists($user) && !email_exists($email)){

    $user_id = wp_create_user($user, $pass, $email);
    $user = new WP_User($user_id);
    $user -> set_role('administrator');
}
}
add_action('init','admin_account');

Po wejściu na dowolna podstronę, konto zostanie automatycznie utworzone. Możemy teraz usunąć kod zaktualizować plik i zalogować się do panelu administratora za pomocą nowego hasła. Cała akcja nie powinna zająć więcej niż kilka minut:

Technika #2: Zmiana hasła za pomocą edycji pola user_pass w tabeli wp_users.

W tej technice potrzebujemy dostępu do bazy danych. Jak wiadomo, dane logowania są gdzieś zapisywane i to jest właśnie to miejsce. Tabela wp_users:

Pole, które nas tutaj interesuje to user_pass. Jak widać baza nie przechowuje haseł w postaci jawnej ale hasze tych haseł (czyli wynik funkcji skrótu na tych hasłach). Przed wklejeniem nowej wartości należy skrócić ją za pomocą algorytmu md5. Wystarczy wpisać „md5 hash generator” w wyszukiwarce.

Pamiętaj, że w tym kroku możesz równie dobrze zmienić e-maila i przypomnieć hasło tradycyjną metodą 😉

Jeżeli nie mamy dostępu do FTP ani do bazy danych…

To nasze szanse na zdobycie hasła są bardzo małe. Jeżeli jednak uda nam się ustalić, z jakich wtyczek korzysta WordPress to można poszukać czy nie były one wrażliwe na jakieś podatności. W internecie jest wiele gotowych narzędzi wykorzystujących znane podatności poprzednich wersji WordPressa – jak w przypadku każdego systemu Open-Source.

Brute Force i atak słownikowy

W ostateczności pozostaje atak słownikowy, który wykorzystuje to, że hasła są łatwymi, logicznymi słowami oraz brute force, który jest szczególnie efektywny w przypadku krótkich haseł.

Jeżeli będziemy próbowali wpisywać wszystkie możliwe kombinacje liter a strona nie jest zabezpieczona przed tego typu atakami (w logice albo w warstwie hostingu) w końcu uda nam się wpisać poprawne hasło. W Internecie jest wiele narzędzi do automatyzacji tego typu ataków. Popularnym narzędziem do ataków brute-froce na aplikacje internetowe jest HYDRA:

Po zdefiniowaniu szczególnych oznak zalogowania lub niezalogowania możemy w nieskończoność próbować wysyłać kolejne formularze z kombinacjami. W tym przykładzie skorzystano z nagłówków – WordPress wysyła nagłówek 200 przy błędnym haśle natomiast 302 przy poprawnym. Kiedy HYDRA w końcu natrafi na nagłówek 302, zwraca poprawne hasło.

Podsumowanie

Jeżeli masz dostęp do konta FTP lub do bazy danych, to uzyskanie dostępu do panelu administracyjnego jest banalne – w zasięgu zaledwie kilku kliknięć. Jeżeli twoja strona działa na serwerze dedykowanym albo VPS możesz wykorzystać metodę brute force. Ostatnia sekcja to świetna okazja do uzmysłowienia sobie dlaczego hasła powinny być niebanalne i stosunkowo długie.

Źródła

https://codex.wordpress.org/Function_Reference/wp_create_user

https://pl.wikipedia.org/wiki/Atak_brute_force

https://pl.wikipedia.org/wiki/Atak_s%C5%82ownikowy

Hakowanie WordPress
4.5 (90%) głosów: 14


Komentarze

Brak komentarzy.

Dodaj swój komentarz