RainbowCrack — комп'ютерна програма для швидкого злому хешів. Є реалізацією техніки Філіпа Оксліна faster time-memory trade-off. Вона дозволяє створити базу предсгенерированих LanManager хешів, з допомогою якої можна майже миттєво зламати практично будь-який алфавітно-цифровий пароль.
Тип | Злам хешів |
---|---|
Розробники | Zhu Shuanglei |
Стабільний випуск | 1.7 (11 квітня 2017) |
Операційна система | Windows и Linux |
Вебсайт | project-rainbowcrack.com |
Введення
У той час як більшість проектів, пов'язаних з комп'ютерною безпекою, витрачає багато часу для злому пароля шифрувальних систем (простий перебір), RainbowCrack за час, порівнянний з часом злому одного хеша простим перебором, отримує таблиці хешів, за якими з дуже високою ймовірністю можна в тисячі разів швидше зламати будь-який хеш з перевіреного діапазону.
Зазвичай хеші та алгоритм хешування відомі всім, але зворотне перетворення занадто складне. На цьому ґрунтується безпека багатьох систем.
Володіючи відсортованою таблицею хешів і відповідною таблицею паролів, можна отримати систему, що дозволяє з допомогою швидкого бінарного пошуку по всіх таблицях виконати зворотне перетворення хеша в пароль.
Стандартний клієнт підтримує наступні алгоритми: LM, NTLM, MD5, SHA1, MYSQLSHA1, HALFLMCHALL, NTLMCHALL, ORACLE-SYSTEM і MD5-HALF, інші алгоритми можуть бути підключені у вигляді плагінів.
Історія
У 1982 році була створена основна частина проекту RainbowCrack, але у неї було кілька недоліків, пов'язаних з перетинами ланцюжків. Тому проекти, створені у той час, до цих пір є не настільки ефективними. Для виправлення цих недоліків у початку 90-х років творці UNIX-систем внесли зміни в проект, тим самим надавши великий вплив на розвиток методу. Вони ввели динамічну складову в хеш-функцію, котра створює унікальну функцію для кожної окремої UNIX-системи. У той же час Internet-проекти, системи Windows, бази даних, досі продовжують використовувати статичні хеш-функції, для яких за один повний прохід ключового простору можна розшифрувати всі паролі сервісів і цілого класу програм.
У 2003 році частково вирішена проблема перетинів ланцюжків, у зв'язку з чим проект став працювати ефективніше.
В кінці 2004 року в мережу були викладені вихідні коди програми, яка створює таблиці і підбирає паролі за допомогою нової версії алгоритму.
У 2005 році в BitTorrent з'явилися готові пораховані таблиці (близько 120 ГБ) для основного ключового простору паролів LanMan (авторизація Windows).
У тому ж 2005 році було запущено кілька проектів: латвійський passcracking.com, російський passcracking.ru та ін., де всі бажаючі мали можливість використовувати ці таблиці через онлайн-сервіс. Зараз всі ці проекти закриті.
Наприкінці 2005 року був запущений проект rainbowcrack.com. Його можна було поліпшити, збільшуючи розміри ланцюжків, тобто зменшуючи розміри таблиць (чим менше таблиця, тим менше час пошуку по ній) і надавши всім бажаючим доступ до подібного сервісу.
Зараз проект RainbowCrack розширює кількість задіяних серверів.
Основна проблема
Розмір райдужних таблиць занадто великий. Для розв'язання цієї проблеми використовується наступний спосіб: хеші розташовуються в ланцюжки по кілька тисяч комбінацій. Знаючи один ланцюжок, ми можемо одержати наступну комбінацію з попередньої за допомогою функції хешування. В таблиці записуються тільки початок і кінець ланцюжка.
Для знаходження пароля по такій таблиці потрібно застосувати до заданого хешу функцію хешування багато разів (залежить від довжини ланцюжків) і на черговому циклі вийде хеш, який є кінцем одного з ланцюжків в райдужній таблиці. Після цього ми проганяємо цей ланцюжок і заново застосовуємо функцію хешування від початкового до потрібного нам хешу. Після декількох ланцюжків ми знаходимо комбінацію, відповідну заданому хешу — це і є шуканий пароль.
Такі таблиці називають райдужними. Їх перевага полягає в тому, що, по-перше, вони мають менший розмір (в тисячі разів менше звичайних таблиць, що містять ті ж паролі), по-друге, вони дозволяють за кілька хвилин знайти зворотне перетворення будь-якого алгоритму хешування, якщо шуканий пароль вже був в цих таблицях.
Опис алгоритму
Програмне забезпечення RainbowCrack складається з наступних частин:
- rtgen — програма для генерації райдужних таблиць.
- rtsort - програма для сортування райдужних таблиць, породжених rtgen.
- rcrack — програма для пошуку райдужних таблиць, упорядкованих за rtsort.
Процес пошуку таблиць еквівалентний злому хешів. Подробиці використання цих програм будуть описані нижче.
Крок 1. Використання rtgen для генерації райдужних таблиць
Для початку генерації таблиць необхідно визначити наступні параметри:
rtgen hash_algorithm charset plaintext_len_min plaintext_len_max table_index chain_len chain_num part_index
Пояснення цих параметрів
Параметр | Зміст |
---|---|
hash_algorithm | Хеш-алгоритм (LM, NTLM, md5 і т.д.). |
charset | Кодування всіх відкритих текстів у райдужній таблиці. Всі можливі кодування визначені в Charset.txt файлі. |
plaintext_len_min plaintext_len_max | Ці два параметри визначають можливу довжину всіх відкритих текстів у райдужній таблиці. Якщо кодування є числовим, то plaintext_len_min дорівнює 1 і plaintext_len_max дорівнює 5. Тоді текст "12345", швидше за все, буде включений в таблицю, а "123456" - не буде. |
table_index | Table_index пов'язаний з "reduce function", яка використовується в райдужній таблиці. |
chain_len | Chain_len — довжина кожного «Райдужного ланцюга» в таблиці. «Райдужний ланцюг» розміром 16 байт є найменшою одиницею в райдужної таблиці. Райдужна таблиця містить багато райдужних цілей. |
chain_num | Chain_num — число райдужних ланцюжків в таблиці. |
part_index | Part_index — параметр, який визначається, як «startpoint» при генерації кожного райдужного ланцюжка. Він повинен бути числом (або починатися з цифри) в RainbowCrack 1.3 і 1.4. |
Приклад
hash_algorithm | Lm, NTLM або md5 |
charset | alpha-numeric = [ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789] або loweralpha-numeric = [abcdefghijklmnopqrstuvwxyz0123456789] |
plaintext_len_min | 1 |
plaintext_len_max | 7 |
chain_len | 3800 |
chain_num | 33554432 |
key space | Ключовий простір — кількість можливих відкритих текстів для кодування, plaintext_len_min і plaintext_len_max вибрані. |
table size | 3 GB |
chain_num | 33554432 |
success rate | 0,999 Шанс успіху 99,9 %. |
table generation commands | Команди, що використовуються при створенні райдужних таблиць такі: rtgen md5 loweralpha-numeric 1 7 0 3800 33554432 0 rtgen md5 loweralpha-numeric 1 7 1 3800 33554432 0 rtgen md5 loweralpha-numeric 1 7 2 3800 33554432 0 rtgen md5 loweralpha-numeric 1 7 3 3800 33554432 0 rtgen md5 loweralpha-numeric 1 7 4 3800 33554432 0 rtgen md5 loweralpha-numeric 1 7 5 3800 33554432 0 Для створення NTLM або LM-таблиць, необхідно замінити «md5» на «NTLM» або «LM». Для створення alpha-numeric charset необхідно замінити «loweralpha-numeric» на «alpha-numeric». |
У результаті будуть створені наступні файли:
md5_loweralpha-numeric#1-7_0_3800x33554432_0.rt 512 MB md5_loweralpha-numeric#1-7_1_3800x33554432_0.rt 512 MB md5_loweralpha-numeric#1-7_2_3800x33554432_0.rt 512 MB md5_loweralpha-numeric#1-7_3_3800x33554432_0.rt 512 MB md5_loweralpha-numeric#1-7_4_3800x33554432_0.rt 512 MB md5_loweralpha-numeric#1-7_5_3800x33554432_0.rt 512 MB
Крок 2. Використання rtsort для сортування райдужних таблиць
Райдужні таблиці, породжені програмою rtgen, необхідно опрацювати для того, щоб пошук по ним став легше. Програма rtsort використовується для сортування «end point» всіх райдужних ланцюжків в райдужних таблицях.
Використовуються наступні команди:
rtsort md5_loweralpha-numeric#1-7_0_3800x33554432_0.rt rtsort md5_loweralpha-numeric#1-7_1_3800x33554432_0.rt rtsort md5_loweralpha-numeric#1-7_2_3800x33554432_0.rt rtsort md5_loweralpha-numeric#1-7_3_3800x33554432_0.rt rtsort md5_loweralpha-numeric#1-7_4_3800x33554432_0.rt rtsort md5_loweralpha-numeric#1-7_5_3800x33554432_0.rt
Кожна команда виконується кілька хвилин. Програма rtsort записує відсортовані райдужні таблиці у вихідному файлі. Якщо вільний об'єм оперативної пам'яті системи менше розміру відсортованих райдужних таблиць, то для зберігання даних, що залишилися буде виділено місце на жорсткому диску.
Крок 3. Використання програми rcrack для пошуку райдужних таблиць
Переваги
- Велика потужність системи розшифровки паролів.
- Процес розрахунку таблиці може бути продовжений після його некоректного переривання або зависання машини.
- При розрахунках потрібно мало пам'яті (2 МБ).
- Вхідні дані займають мало пам'яті (кілька байт для однієї таблиці).
- В програму, яка дозволяє розшифрувати паролі за отриманими таблицями, можна додавати нові алгоритми хешування. Таким чином, існує можливість створення власного проекту, аналогічного RainbowCrack.
Недоліки
- На даний момент в таблицях ще немає паролів з символів кирилиці.
- У таблицях можуть бути присутні або великі, або тільки малі символи, а паролі виду LanMan (Windows) не розрізняють малі/великі літери.
Результати
На даний момент розмір райдужних таблиць перевищує 900 ГБ. Вони дозволяють із заданого хеша за кілька хвилин з дуже високою ймовірністю (близько 99 %) знайти пароль довжиною не більше 7 символів, що складається з букв, цифр і багатьох спеціальних символів. Процес розшифровки паролів реалізується наступними алгоритмами: LanMan, SHA1, NT, MD2, Cisco PIX, MD4, MD5, MySQL 3.23, RIPEMD-160, MySQL SHA1 (бази даних).
Примітки
- Philippe Oechslin. Making a Faster Cryptanalytic Time-Memory Trade-Off // Lecture Notes in Computer Science. — 2003. — Т. 2729. — С. 617-630. — DOI:10.1007/978-3-540-45146-4_36.
- The Ethical Hacker Network — Tutorial: Rainbow Tables and RainbowCrack [ 2007-05-01 у Wayback Machine.]
- . Архів оригіналу за 28 вересня 2013. Процитовано 13 квітня 2018.
- А.В. Аграновский, И.В. Мамай. . — № 4.1 (26).
- [2] [ 13 вересня 2008 у Wayback Machine.] (вже закритий)
- [3] [ 1 грудня 2021 у Wayback Machine.]
- [5] [ 25 квітня 2022 у Wayback Machine.]
- Проект RainbowCrack :: Распределённые вычисления в Интернете
Дивись також
Посилання
- Офіційний сайт
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
RainbowCrack komp yuterna programa dlya shvidkogo zlomu heshiv Ye realizaciyeyu tehniki Filipa Okslina faster time memory trade off Vona dozvolyaye stvoriti bazu predsgenerirovanih LanManager heshiv z dopomogoyu yakoyi mozhna majzhe mittyevo zlamati praktichno bud yakij alfavitno cifrovij parol RainbowCrackTipZlam heshivRozrobnikiZhu ShuangleiStabilnij vipusk1 7 11 kvitnya 2017 Operacijna sistemaWindows i LinuxVebsajtproject rainbowcrack comVvedennyaU toj chas yak bilshist proektiv pov yazanih z komp yuternoyu bezpekoyu vitrachaye bagato chasu dlya zlomu parolya shifruvalnih sistem prostij perebir RainbowCrack za chas porivnyannij z chasom zlomu odnogo hesha prostim pereborom otrimuye tablici heshiv za yakimi z duzhe visokoyu jmovirnistyu mozhna v tisyachi raziv shvidshe zlamati bud yakij hesh z perevirenogo diapazonu Zazvichaj heshi ta algoritm heshuvannya vidomi vsim ale zvorotne peretvorennya zanadto skladne Na comu gruntuyetsya bezpeka bagatoh sistem Volodiyuchi vidsortovanoyu tabliceyu heshiv i vidpovidnoyu tabliceyu paroliv mozhna otrimati sistemu sho dozvolyaye z dopomogoyu shvidkogo binarnogo poshuku po vsih tablicyah vikonati zvorotne peretvorennya hesha v parol Standartnij kliyent pidtrimuye nastupni algoritmi LM NTLM MD5 SHA1 MYSQLSHA1 HALFLMCHALL NTLMCHALL ORACLE SYSTEM i MD5 HALF inshi algoritmi mozhut buti pidklyucheni u viglyadi plaginiv IstoriyaU 1982 roci bula stvorena osnovna chastina proektu RainbowCrack ale u neyi bulo kilka nedolikiv pov yazanih z peretinami lancyuzhkiv Tomu proekti stvoreni u toj chas do cih pir ye ne nastilki efektivnimi Dlya vipravlennya cih nedolikiv u pochatku 90 h rokiv tvorci UNIX sistem vnesli zmini v proekt tim samim nadavshi velikij vpliv na rozvitok metodu Voni vveli dinamichnu skladovu v hesh funkciyu kotra stvoryuye unikalnu funkciyu dlya kozhnoyi okremoyi UNIX sistemi U toj zhe chas Internet proekti sistemi Windows bazi danih dosi prodovzhuyut vikoristovuvati statichni hesh funkciyi dlya yakih za odin povnij prohid klyuchovogo prostoru mozhna rozshifruvati vsi paroli servisiv i cilogo klasu program U 2003 roci chastkovo virishena problema peretiniv lancyuzhkiv u zv yazku z chim proekt stav pracyuvati efektivnishe V kinci 2004 roku v merezhu buli vikladeni vihidni kodi programi yaka stvoryuye tablici i pidbiraye paroli za dopomogoyu novoyi versiyi algoritmu U 2005 roci v BitTorrent z yavilisya gotovi porahovani tablici blizko 120 GB dlya osnovnogo klyuchovogo prostoru paroliv LanMan avtorizaciya Windows U tomu zh 2005 roci bulo zapusheno kilka proektiv latvijskij passcracking com rosijskij passcracking ru ta in de vsi bazhayuchi mali mozhlivist vikoristovuvati ci tablici cherez onlajn servis Zaraz vsi ci proekti zakriti Naprikinci 2005 roku buv zapushenij proekt rainbowcrack com Jogo mozhna bulo polipshiti zbilshuyuchi rozmiri lancyuzhkiv tobto zmenshuyuchi rozmiri tablic chim menshe tablicya tim menshe chas poshuku po nij i nadavshi vsim bazhayuchim dostup do podibnogo servisu Zaraz proekt RainbowCrack rozshiryuye kilkist zadiyanih serveriv Osnovna problemaRozmir rajduzhnih tablic zanadto velikij Dlya rozv yazannya ciyeyi problemi vikoristovuyetsya nastupnij sposib heshi roztashovuyutsya v lancyuzhki po kilka tisyach kombinacij Znayuchi odin lancyuzhok mi mozhemo oderzhati nastupnu kombinaciyu z poperednoyi za dopomogoyu funkciyi heshuvannya V tablici zapisuyutsya tilki pochatok i kinec lancyuzhka Dlya znahodzhennya parolya po takij tablici potribno zastosuvati do zadanogo heshu funkciyu heshuvannya bagato raziv zalezhit vid dovzhini lancyuzhkiv i na chergovomu cikli vijde hesh yakij ye kincem odnogo z lancyuzhkiv v rajduzhnij tablici Pislya cogo mi proganyayemo cej lancyuzhok i zanovo zastosovuyemo funkciyu heshuvannya vid pochatkovogo do potribnogo nam heshu Pislya dekilkoh lancyuzhkiv mi znahodimo kombinaciyu vidpovidnu zadanomu heshu ce i ye shukanij parol Taki tablici nazivayut rajduzhnimi Yih perevaga polyagaye v tomu sho po pershe voni mayut menshij rozmir v tisyachi raziv menshe zvichajnih tablic sho mistyat ti zh paroli po druge voni dozvolyayut za kilka hvilin znajti zvorotne peretvorennya bud yakogo algoritmu heshuvannya yaksho shukanij parol vzhe buv v cih tablicyah Opis algoritmuProgramne zabezpechennya RainbowCrack skladayetsya z nastupnih chastin rtgen programa dlya generaciyi rajduzhnih tablic rtsort programa dlya sortuvannya rajduzhnih tablic porodzhenih rtgen rcrack programa dlya poshuku rajduzhnih tablic uporyadkovanih za rtsort Proces poshuku tablic ekvivalentnij zlomu heshiv Podrobici vikoristannya cih program budut opisani nizhche Krok 1 Vikoristannya rtgen dlya generaciyi rajduzhnih tablic Dlya pochatku generaciyi tablic neobhidno viznachiti nastupni parametri rtgen hash algorithm charset plaintext len min plaintext len max table index chain len chain num part index Poyasnennya cih parametriv Parametr Zmist hash algorithm Hesh algoritm LM NTLM md5 i t d charset Koduvannya vsih vidkritih tekstiv u rajduzhnij tablici Vsi mozhlivi koduvannya viznacheni v Charset txt fajli plaintext len min plaintext len max Ci dva parametri viznachayut mozhlivu dovzhinu vsih vidkritih tekstiv u rajduzhnij tablici Yaksho koduvannya ye chislovim to plaintext len min dorivnyuye 1 i plaintext len max dorivnyuye 5 Todi tekst 12345 shvidshe za vse bude vklyuchenij v tablicyu a 123456 ne bude table index Table index pov yazanij z reduce function yaka vikoristovuyetsya v rajduzhnij tablici chain len Chain len dovzhina kozhnogo Rajduzhnogo lancyuga v tablici Rajduzhnij lancyug rozmirom 16 bajt ye najmenshoyu odiniceyu v rajduzhnoyi tablici Rajduzhna tablicya mistit bagato rajduzhnih cilej chain num Chain num chislo rajduzhnih lancyuzhkiv v tablici part index Part index parametr yakij viznachayetsya yak startpoint pri generaciyi kozhnogo rajduzhnogo lancyuzhka Vin povinen buti chislom abo pochinatisya z cifri v RainbowCrack 1 3 i 1 4 Priklad hash algorithm Lm NTLM abo md5 charset alpha numeric ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 abo loweralpha numeric abcdefghijklmnopqrstuvwxyz0123456789 plaintext len min 1 plaintext len max 7 chain len 3800 chain num 33554432 key space 36 36 2 36 3 36 4 36 5 36 6 36 7 80603140212 displaystyle 36 36 2 36 3 36 4 36 5 36 6 36 7 80603140212 Klyuchovij prostir kilkist mozhlivih vidkritih tekstiv dlya koduvannya plaintext len min i plaintext len max vibrani table size 3 GB chain num 33554432 success rate 0 999 Shans uspihu 99 9 table generation commands Komandi sho vikoristovuyutsya pri stvorenni rajduzhnih tablic taki rtgen md5 loweralpha numeric 1 7 0 3800 33554432 0 rtgen md5 loweralpha numeric 1 7 1 3800 33554432 0 rtgen md5 loweralpha numeric 1 7 2 3800 33554432 0 rtgen md5 loweralpha numeric 1 7 3 3800 33554432 0 rtgen md5 loweralpha numeric 1 7 4 3800 33554432 0 rtgen md5 loweralpha numeric 1 7 5 3800 33554432 0 Dlya stvorennya NTLM abo LM tablic neobhidno zaminiti md5 na NTLM abo LM Dlya stvorennya alpha numeric charset neobhidno zaminiti loweralpha numeric na alpha numeric U rezultati budut stvoreni nastupni fajli md5 loweralpha numeric 1 7 0 3800x33554432 0 rt 512 MB md5 loweralpha numeric 1 7 1 3800x33554432 0 rt 512 MB md5 loweralpha numeric 1 7 2 3800x33554432 0 rt 512 MB md5 loweralpha numeric 1 7 3 3800x33554432 0 rt 512 MB md5 loweralpha numeric 1 7 4 3800x33554432 0 rt 512 MB md5 loweralpha numeric 1 7 5 3800x33554432 0 rt 512 MB Krok 2 Vikoristannya rtsort dlya sortuvannya rajduzhnih tablic Rajduzhni tablici porodzheni programoyu rtgen neobhidno opracyuvati dlya togo shob poshuk po nim stav legshe Programa rtsort vikoristovuyetsya dlya sortuvannya end point vsih rajduzhnih lancyuzhkiv v rajduzhnih tablicyah Vikoristovuyutsya nastupni komandi rtsort md5 loweralpha numeric 1 7 0 3800x33554432 0 rt rtsort md5 loweralpha numeric 1 7 1 3800x33554432 0 rt rtsort md5 loweralpha numeric 1 7 2 3800x33554432 0 rt rtsort md5 loweralpha numeric 1 7 3 3800x33554432 0 rt rtsort md5 loweralpha numeric 1 7 4 3800x33554432 0 rt rtsort md5 loweralpha numeric 1 7 5 3800x33554432 0 rt Kozhna komanda vikonuyetsya kilka hvilin Programa rtsort zapisuye vidsortovani rajduzhni tablici u vihidnomu fajli Yaksho vilnij ob yem operativnoyi pam yati sistemi menshe rozmiru vidsortovanih rajduzhnih tablic to dlya zberigannya danih sho zalishilisya bude vidileno misce na zhorstkomu disku Krok 3 Vikoristannya programi rcrack dlya poshuku rajduzhnih tablicPerevagiVelika potuzhnist sistemi rozshifrovki paroliv Proces rozrahunku tablici mozhe buti prodovzhenij pislya jogo nekorektnogo pererivannya abo zavisannya mashini Pri rozrahunkah potribno malo pam yati 2 MB Vhidni dani zajmayut malo pam yati kilka bajt dlya odniyeyi tablici V programu yaka dozvolyaye rozshifruvati paroli za otrimanimi tablicyami mozhna dodavati novi algoritmi heshuvannya Takim chinom isnuye mozhlivist stvorennya vlasnogo proektu analogichnogo RainbowCrack NedolikiNa danij moment v tablicyah she nemaye paroliv z simvoliv kirilici U tablicyah mozhut buti prisutni abo veliki abo tilki mali simvoli a paroli vidu LanMan Windows ne rozriznyayut mali veliki literi RezultatiNa danij moment rozmir rajduzhnih tablic perevishuye 900 GB Voni dozvolyayut iz zadanogo hesha za kilka hvilin z duzhe visokoyu jmovirnistyu blizko 99 znajti parol dovzhinoyu ne bilshe 7 simvoliv sho skladayetsya z bukv cifr i bagatoh specialnih simvoliv Proces rozshifrovki paroliv realizuyetsya nastupnimi algoritmami LanMan SHA1 NT MD2 Cisco PIX MD4 MD5 MySQL 3 23 RIPEMD 160 MySQL SHA1 bazi danih PrimitkiPhilippe Oechslin Making a Faster Cryptanalytic Time Memory Trade Off Lecture Notes in Computer Science 2003 T 2729 S 617 630 DOI 10 1007 978 3 540 45146 4 36 The Ethical Hacker Network Tutorial Rainbow Tables and RainbowCrack 2007 05 01 u Wayback Machine Arhiv originalu za 28 veresnya 2013 Procitovano 13 kvitnya 2018 A V Agranovskij I V Mamaj 4 1 26 2 13 veresnya 2008 u Wayback Machine vzhe zakritij 3 1 grudnya 2021 u Wayback Machine 5 25 kvitnya 2022 u Wayback Machine Proekt RainbowCrack Raspredelyonnye vychisleniya v InterneteDivis takozhPovnij perebir Perebir za slovnikom MD5PosilannyaOficijnij sajt