Kdbxpasswordpwned: Jak sprawdzić czy zapisane loginy i hasła w KeePass wyciekły do sieci?

27 lutego, 2019

Po ostatnich kilku mega wyciekach zachodzi jeszcze większa potrzeba kontrolowania loginów i haseł. Zazwyczaj przy wyciekach mamy do czynienia z bazą danych zawierającą m.in. rekordy z hasłami — i jeśli serwis internetowy poważa swoich klientów, to przynajmniej przechowuje hasła w formie „posolonej funkcji skrótu” (np. SHA512 + sól), dzięki czemu zcrackowanie hashy haseł będzie znacznie utrudnione lub nawet niemożliwe. Drupal 7 robi to tak:

"pass" : "$S$Dxl65W9p07LfQU7jvy5CnsyDpMoLujiAgzy123khcg1OJi/P9pKS"

The characters 0-2 are the type ( $S$ is Drupal 7 )

The character 3 is the number of log2 rounds (X) based on the position of the char in this list: './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz' So in our example 'D' would map to 15

The characters 4-11 are the SALT

The rest is a SHA512 hash using 2^X rounds.

The binary result is then converted to a string using base64.

$count = 1 << $count_log2;
$hash = hash($algo, $salt . $password, TRUE);
do { $hash = hash($algo, $hash . $password, TRUE);
} while (--$count);

The whole process can be found in: mydrupalsite\includes\password.inc

Rozsądny użytkownik używa menadżerów haseł np. KeePass. Oprogramowanie ma kilka forków na różne systemy operacyjne i umożliwia szybkie uzupełnianie dowolnego pola np. z loginem i hasłem, ale potrafi też w taki sam sposób logować się do klienta FTP np. FileZilla i wypełnić pola z adresem IP hosta, hasłem, loginem i „kliknąć” w „połącz”.  

Problem powstaje, kiedy trzeba zweryfikować, które hasło z bazy haseł KeePass zostało ujawnione i opublikowane w bazie PWNED w wyniku jakiegoś wycieku. Można zrobić to ręcznie, czyli K A Ż D E  H A S Ł O   K R O K  P O  K R O K U  kopiować i wklejać w to pole:

PWNED

Można to też zrobić automatycznie za pomocą tego skryptu napisanego w Pytonie. A więc instalujemy środowisko Python:

sudo apt install python3.5

Instalujemy instalator pakietów Pythona PIP:

sudo apt install python3-pip

Instalujemy z repozytorium Pythona nasz programik:

pip install kdbxpasswordpwned

Uruchamiamy program, podając jako argument ścieżkę do bazy z rozszerzeniem .kdbx:

Kdbxpasswordpwned -p /home/test/Pulpit/baza.kdbx

KeePass PWNED Kdbxpasswordpwned

Narzędzie przeszukuje zapisane loginy i hasła oraz porównuje je z tymi w bazie na stronie https://haveibeenpwned.com za pomocą API. Jak podaje autor, skrypt jest w pełni bezpieczny i nigdzie nie udostępnia tych danych (oczywiście z wyjątkiem witryny, za pomocą której weryfikuje wyciek). Narzędzie ma otwarty kod, więc każdy może zobaczyć, co się w nim znajduje i jak działa.

Rezultatem działania narzędzia są informacje w konsoli na temat strony internetowej oraz hasła, które zostało użyte do logowania się np. do nexusmods.com/skyrim. Jeżeli takie hasło znajduje się w bazie PWNED, to zostało ono wyświetlone w terminalu.

Natomiast jeśli w bazie KeePass znajdują się ujawnione hasła, to jeszcze nie ma powodów do paniki. Należy upewnić się, że hasła wypisane w konsoli są zarezerwowane dla mało znaczących serwisów, w których nie zapisujemy żadnych istotnych danych. W przeciwnym razie należy zalogować się do wskazanego serwisu i zmienić hasło na unikalne. Warto wykorzystać do tego wbudowany generator haseł w KeePass. Użytkownik we własnym zakresie powinien rozważyć, co zrobić z ujawnionymi informacjami przez narzędzie „kdbxpasswordpwned”.

Skrypt może być uruchomiony w Windows po zainstalowaniu Pythona, na maszynie wirtualnej z dowolną dystrybucją Linuksa albo w Windows 10 w zainstalowanym systemie np. Ubuntu ze sklepu Microsoft Store.

Adrian Ścibor

Adrian Ścibor

W ramach działań związanych z cyberbezpieczeństwem odpowiada w AVLab za przeprowadzanie testów rozwiązań ochronnych przed zagrożeniami. Opracowuje strategie oraz narzędzia, które pomagają w ochronie danych i systemów przed cyberatakami. Współuczestnik międzynarodowej grupy non-profit AMTSO, która zrzesza ekspertów IT.
Adrian Ścibor

Adrian Ścibor

W ramach działań związanych z cyberbezpieczeństwem odpowiada w AVLab za przeprowadzanie testów rozwiązań ochronnych przed zagrożeniami. Opracowuje strategie oraz narzędzia, które pomagają w ochronie danych i systemów przed cyberatakami. Współuczestnik międzynarodowej grupy non-profit AMTSO, która zrzesza ekspertów IT.

PODZIEL SIĘ:

Czy ten artykuł był pomocny?

Średnia ocena: 0 / 5. Liczba głosów: 0

guest
2 komentarzy
najstarszy
najnowszy oceniany
Inline Feedbacks
View all comments

Wyrażam zgodę na przesłanie oferty drogą telefoniczną przez IT Partners security sp. z o.o. z siedzibą Katowicach ul.Padereskiego 35 na podany przeze mnie adres e-mail zgodnie z ustawą z dnia 10 maja 2018 roku o ochronie danych osobowych (Dz. Ustaw z 2018, poz. 1000) oraz zgodnie z Rozporządzeniem Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO).

Wyrażam zgodę na przesłanie oferty drogą mailową przez IT Partners security sp. z o.o. z siedzibą Katowicach ul.Padereskiego 35 na podany przeze mnie adres e-mail zgodnie z ustawą z dnia 10 maja 2018 roku o ochronie danych osobowych (Dz. Ustaw z 2018, poz. 1000) oraz zgodnie z Rozporządzeniem Parlamentu Europejskiego i Rady (UE) 2016/679 z dnia 27 kwietnia 2016 r. w sprawie ochrony osób fizycznych w związku z przetwarzaniem danych osobowych i w sprawie swobodnego przepływu takich danych oraz uchylenia dyrektywy 95/46/WE (RODO).

[ninja_tables id=”27481″]