Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Jak szybko można złamać 10-znakowe, losowe hasło zahashowane SHA-256? Zaskakująco szybko…
Mały konkurs został ogłoszony tutaj (b62c6a4a0403f07ab65227529ebcf375b9127057a7c4fd2be4355504a953ae75, 10 znaków, alfabet hasła: A-Z, a-z, 0-9):
Here's a little challenge for any #password crackers out there…
b62c6a4a0403f07ab65227529ebcf375b9127057a7c4fd2be4355504a953ae75
It's 10 characters, A-Z, a-z, 0-9, SHA256 and no salt.
If it's as insecure as some claim, I'd expect it to be broken by this time next month.
— Paul Moore (@Paul_Reviews) October 3, 2020
Nie trzeba było czekać długo na odpowiedź. Czas poświęcony na łamanie to nieco więcej niż 5 dni, a dokładniej: 5d 08:57:24.
Samo hasło z kolei to: JZpq7rz2pA
Wnioski? O obecnych czasach kiedy wydajność kart graficznych mocno rośnie (na karcie RTX 3080, SHA256 można łamać z prędkością niemal 7 gigahashy na sekundę…), lepiej używać haseł składających się z kilku (minimum: 4-5, 15+ liter) słów (paadadzisiajstraszliwyrain). Żeby takie hasło wzmocnić, pamiętajmy o używaniu mniej popularnych słów (można też wymieszać języki, jak w przykładzie powyżej), a całość można również wzmocnić dokładając w środku znak specjalny czy duplikując jakąś literę. Takie hasło będzie zapamiętywalne niemal od razu, w przeciwieństwie do…: JZpq7rz2pA. Oczywiście można używać również managerów haseł (do czego zachęcamy) czy uwierzytelnienia dwuczynnikowego (do czego ponownie zachęcamy).
Jakiego algorytmu używać po stronie serwerowej? Bcrypt czy pbkdf2 (z odpowiednim tzw. work factor).
Jeśli ktoś chciałby dalej zgłębiać tematykę bezpieczeństwa haseł, zerknijcie na nasz materiał filmowy w temacie:
–ms
A co z łamaniem ludzi? Co by o tym wszystkim powiedział Kevin sam w domu?
Moim zdaniem zaskakująco długo. Spodziewałem się wyniku poniżej kilku godzin. Dziesięć znaków to mało, a o hasłach innych niż losowych i przechowywanych w głowie od dawna lepiej zapomnieć.
Zamiast polecać pbkdf2 moglibyście dać argon2
To jest też bdb opcja, choć w praktyce mało używana :/
Nawet jak nie jest używany (jeszcze?) Tak powszechnie, to chyba argon2 na chwilę obecną powinien być rekomendacją #1, czy mi coś umknęło? Albo inaczej, czy widzicie pozą dostępnością (w frameworkach) jakieś inne powody do wyższości pbkdf2?
Raczej tylko to ostatnie.
10 znaków alfanumerycznych to 59 bitów. 4–5 słów to 46–63 bity. Zatem warto wspomnieć, że użycie słów pomaga w zapamiętaniu, a nie wzmacnia samo hasło. Oczywiście może się to przełożyć na użycie lepszego hasła, ale nie można wierzyć, że użycie słów samo w sobie coś magicznie zmieni.
W obydwu przypadkach krytyczny jest proces generowania hasła. Bo te 59/46–63b to przy założeniu, że procedura jest prawidłowa. Inaczej obydwu sytuacjach będzie żart, a nie hasło. W przypadku słów można użyć Diceware, który daje ~13 bitów na słowo. Pod warunkiem użycia dokłanie tego algorytmu, bez samodzielnych prób jego „ulepszenia”.
„Shannon entropy” sprowadza te 59 bitów przy 10 znakach do ledwo 33 bitów
Jaki jestsens takiej operacji ??Wystarczy przeciez,jak w bankach,przerywac zabawe po 3 (naprzyklad)
Jesli mzoemy probowac dowolnie dlugo i czesto,jest oczywiste,ze zlamiemy w koncu kazdy kod.im mamy szybszy sprzet ,tym szybciej bledach.
Bazy z haszami wyciekają co kilka dni. Blokada po kilku próbach nie ma tu nic do rzeczy.
Blokada po kilku próbach nie chroni przed reverse brute force. Jest też świetnym sposobem na zrobienie sobie lub swoim klientom DoS-a, jeżeli przeprowadzający atak są złośliwi.
62 znaki do wyboru, 10 znaków długości, 7 Giga hashy na sekundę
62^10
/(7*10^9)
/60/60/24
i wychodzi 1387d.
Przydałby się artykuł jak łamać klucze do BTC lub podpisy transakcji.
Dokładnie takie same obliczenia wykonałem, i wychodzi mi 1387 dni i 17 godzin. A żeby zejść do 5 dni, potrzeba aż 255 razy większej mocy obliczeniowej…
Jakoś to ten koleś zrobił (nie chwalił się jakim sprzętem). Poza tym może akurat miał „szczęście” ew. użył jakiś swoich rulesów (+ teoretycznie nawet po 5 sekundach mógł złamać ;)
Tak używając konta firmowego gpc/aws i farmy serwerów ;-)
A moje hasło brzmi: lubie_placki_ lubie_placki_ lubie_placki_ lubie_placki_ lubie_placki_ lubie_placki_ lubie_placki_ lubie_placki_ lubie_placki_ lubie_placki.
Mnie byś się przzejadło
A co jeśli sam zrobię hasz sam z prostego słowa i zapisze to jako hasło które potem system zhaszuje i to zapisze może być nawet MD5.
Hashowanie nie zwiększa entropii procesu generowania hasła. W ten sposób jedynie ukrywasz się za security-by-obscurity.
Takie hasła generuj
echo -n lubie_placki5755 | sha256sum | cut -b -57 | sha256sum | cut -b -55
Możesz wyjaśnić, w jaki sposób to cokolwiek zmienia, skoro siła takiego hasła i tak jest ograniczona wybranym ciągiem wejściowym, a dodatkowo jest jeszcze ścinana cut-ami? Czemu jest tam `-n`, który ma zerowy wpływ na wynik (zakładając, że jego obecność nie jest losowana)? Po co jest tam SHA256, skoro nawet MD4 w tym zastosowaniu nie pogorszy wyniku?
Zmienia w taki sposób, że bardzo ciężko będzie złamać przy użyciu łamaczy.
-n jest po to, żeby nie było niepotrzebnych znaków.
Wynik sha256 ma więcej znaków niż wynik md4.
> Zmienia w taki sposób, że bardzo ciężko będzie złamać przy użyciu łamaczy.
Utrudnia złamanie, bo utrudnia złamanie. Petitio principii?
> -n jest po to, żeby nie było niepotrzebnych znaków.
A w jaki sposób te znaki lub ich brak wpływa na ostateczny wynik? W sensie jego użyteczności jako hasła, oczywiście. Dołączenie stałej wartości do każdego elementu zbioru nie wpływa na jego rozmiar tego zbioru wg mojego podręcznika matematyki.
> Wynik sha256 ma więcej znaków niż wynik md4.
Jeszcze więcej znaków da naciśnięcie trzydzieści razy jednego klawisza. Co to ma do rzeczy?
> Utrudnia złamanie, bo utrudnia złamanie. Petitio principii?
Piszesz głupoty.
> A w jaki sposób te znaki lub ich brak wpływa na ostateczny wynik?
Trzeba się raz określić, by nie było nieporozumień. Równie dobrze mogłem wpisać bez -n i pisałbyś: „dlaczego nie masz -n?”
> Co to ma do rzeczy?
Nie zrozumiałeś problemu generowania trudnego hasła z hasła prostego do zapamiętania.
A co jeśli ilość prób na zalogowanie jest 5 a później blokada adresu IP
mowa o łamaniu hasła full offline, więc po udanej akcji, od razu pierwsza próba zadziała
Witam, posiada ktoś pełen benchmark RTX 3080 z hashcata?
Udało się znaleźć na githubie
A nie lepiej dawać hasła poniżej 6 znaków ? Nikt nie będzie sprawdzał takiego hasła z założenia że jest zbyt banalne :p
@johntheripper:oczywiscie ze zostanie złamane w mikrosekundy …od prostych haseł się zaczyna
Myślę, że dawno już nadszedł czas, żeby przestać nazywać karty graficzne graficznymi… ;)
A po co w ogóle trzymać hash’a hasła na bazie? Nie lepiej zaszyfrować symetrycznie hasłem np. nazwę/mail użytkowanika np. z dodaniem losowych salt’ów? Np. hasło podane w formularzu użytkowniaka może szyfrować tekst:
yg7cdg78ewnjc838ucy8hhnc0a;USERNAME;b8b8qwlsanc
Używając AES-256, przy logowaniu sprawdzać, czy hasło podane przez użytkownika odszyfrowuje zapisaany ciąg .*;USERNAME;.* i pasuje z USERNAME (tu oczywiście też można by USERNAME trzymać na bazie jako sha256 z salt+USERNAME i tak samo w ciągu zaszyfrowanym trzymać)?
Czy to nie będzie mocniejsze zabezpieczenie na wypadek przejącia bazy danych niż hash?
A jak mam hasło 36 znaków, w tym @#$__& to ile czasu by zajęło jego złamanie?
96 dopotegi36=230019359300543000719451366059583317129007590117361290008767206885687296 kombinacji zakładając że ktoś ma farmę 1000 sztuk rtx3090 i jest to md5 potrwa to1,4587732E53 dni pod warunkiem że bruteforce i hasło będzie bardzo trudne :D
Da się tego użyć jakoś do łamania hasła excela ?
Odcisk palca powinien być loginem do wszystkich forum i skan tęczówki oka dodatkowo z laptopów z kamerki i przystawki z możliwością zeskanowania palucha plus dodatkowo dwuskładnikowe uwierzytelnianie. ostatnio mi złamał gnój hasło na forum 10 liczbowe i cyfrowe w trzy dni!