NFsec Logo

Szybka analiza znaków i symboli z publikacji danych logowania

03/06/2023 w Bezpieczeństwo Brak komentarzy.  (artykuł nr 862, ilość słów: 549)

O

prócz analizy najczęściej używanych haseł z publikacji danych logowania – możemy sprawdzić jakie najczęściej znaki pojawiają się w hasłach. Nawet jeśli użytkownicy umieszczają w swoich hasłach do serwisów mieszankę liter, cyfr i symboli to nadal mogą paść ofiarą często używanych kombinacji. Poniższe wyciągi pokazują popularność poszczególnych znaków, aby zidentyfikować znaki na klawiaturze, po które ludzie sięgają najczęściej podczas tworzenia swoich haseł. Liczby takie jak 0, 1 i 2, a także symbole takie jak kropka, podkreślenie i znak “małpy” (“@”) są nadal powszechne i można je łatwo odgadnąć.

Ponieważ publikacja jest zlepkiem informacji pochodzących z różnych źródeł i szkodliwego oprogramowania na początek postaramy przeprowadzić się standaryzację, w której będziemy chcieli wyłowić hasła z formatu – http(s)://URL login:hasło:

grep -oP '^(?:[^:\n]*\:[^:\n]*){2}$' leak.txt > standard.txt
agresor@darkstar:~$ wc -l standard.txt
27452898 standard.txt
agresor@darkstar:~$ du -m standard.txt
1875    standard.txt

Kolejny krok przewiduje ekstrakcję haseł, czyli znaków po ostatnim dwukropku:

agresor@darkstar:~$ grep -oE '([^:]+$)' standard.txt > passwords.txt
agresor@darkstar:~$ wc -l passwords.txt
27447675 passwords.txt
agresor@darkstar:~$ du -m passwords.txt
327	passwords.txt

Usuwamy duplikaty tych samych haseł:

agresor@darkstar~:$ sort -u passwords.txt > upasswords.txt
agresor@darkstar~:$ wc -l upasswords.txt
10677891 upasswords.txt
agresor@darkstar~:$ du -m upasswords.txt
138	upasswords.txt

Sprawdzamy jakie są najpopularniejsze znaki alfanumeryczne (0-9, A-Z, a-z):

LC_ALL=C
cat upasswords.txt | sed 's/\(.\)/\n\1/g' | grep [[:alnum:]] \
| sort | uniq -c | sort -gr | pr -3
7709822 a	2094214 h	 619108 P
7217207 1	2032570 u	 606776 N
6335127 2	1837222 c	 578274 K
5937598 0	1726806 k	 560299 T
4343205 3	1518883 b	 524823 L
4318388 e	1395092 A	 524313 H
4284953 9	1364518 p	 495379 F
4163748 i	1283672 g	 490078 x
3483116 n	1231145 y	 489546 G
3435288 4	1024422 f	 448712 J
3362410 5	 941984 S	 433291 I
3350520 r	 889828 v	 424157 V
3342684 8	 881253 j	 390030 U
3304932 7	 832776 M	 354676 q
3207365 o	 803122 w	 354255 W
3114625 6	 765033 z	 347199 Y
3066979 s	 686652 R	 331120 Z
2428027 l	 686258 D	 318238 O
2366584 t	 663020 B	 287933 Q
2318858 m	 659849 E	 278910 X
2130325 d	 623135 C

Analogicznie robimy dla znaków:

LC_ALL=C
cat upasswords.txt | sed 's/\(.\)/\n\1/g' | grep [[:punct:]] \
| sort | uniq -c | sort -gr | pr -3
2316086 @	  98330 +	  12776 ~
 529839 .	  79273 ,	  11129 "
 459281 !	  71475 ?	   9608 [
 438206 #	  68633 =	   8300 ]
 296981 *	  39590 )	   7761 >
 283384 $	  35313 (	   7511 \
 257372 /	  34451 ^	   6571 }
 250848 _	  20321 ;	   5594 `
 186981 -	  14875 <	   4902 {
 109968 &	  14208 '	   3290 |
 109967 %

Przejdźmy teraz do długości haseł (Top 10):

for i in `cat upasswords.txt`; do x=$i; echo ${#x} >> lpasswords.txt; done
cat lpasswords.txt | sort | uniq -c | sort -gr | head -10
1740630 11
1733182 9
1424732 10
1191615 12
1002344 13
 703560 16
 618794 14
 548530 7
 452528 15
 320508 8

Bonus:

Hasła użytkowników z tej publikacji, które dotyczyły polskich serwisów lub kont zostały dodane do słownika z artykułu OK Google, złam mi hasło.

Więcej informacji: Ogromny wyciek, pełen - niezmiennie - głupich haseł, Ogromny wyciek czy wydmuszka? Co wiemy o ostatnim incydencie z milionami polskich haseł, Wyciek z wielu serwisów, którego nie było, Publikacja zbioru wykradzionych danych logowania - co zrobić?

Kategorie K a t e g o r i e : Bezpieczeństwo

Tagi T a g i : , , , , , , , , , ,

Komentowanie tego wpisu jest zablokowane.