Взлом пароля является неотъемлемой частью пентестирования, и, за некоторыми исключениями, атаки по словарю / правилу являются преобладающим методом получения этих неуловимых значений в виде простого текста. Взломочные установки дали пентестерам и черным шляпам возможность бросать несколько видеокарт с некоторыми хэшами и достигать феноменальных скоростей, например, в начале этого года система с
Время ограничено во время пентеста, и после получения множества хэшей вы быстро захотите взломать столько, сколько сможете. NotSoSecure решил взглянуть на показатели успешности различных правил, которые обычно используются, и
Целевые данные:
В качестве хэш-набора использовался дамп данных Lifeboat. Lifeboat - это сообщество Minecraft, и в январе 2016 года было обнаружено более 7 миллионов данных учетной записи, включая несоленые хеши паролей MD5. Количество хэшей и слабый алгоритм сделали этот дамп основным кандидатом на исследования. Сырые MD5 были извлечены из файла, и после дедупликации hashcat сообщил о чуть более 4,3 миллиона уникальных хэшей.
Словарь и правила:
Популярный словарь rockyou использовался во время тестирования по каждому из следующих правил:
Все, кроме d3adhob0, hob064 ,
Тестирование:
Каждый сеанс начинался со следующей команды, заменяя используемое правило и имена файлов соответственно:
Potfile был отключен, поэтому hashcat не проверял его перед каждым взломом и искажал наши цифры. Режим отладки можно включить только при использовании правил, а файл отладки содержит статистику. Каждый раз, когда правило взламывает хеш, оно записывается в файл. После завершения hashcat файл можно отсортировать, чтобы показать, сколько раз правило было успешным, и, следовательно, выявить наиболее успешные правила в каждом наборе.
Результаты:
Результаты каждого теста можно найти ниже, показывая сгенерированные пароли-кандидаты из каждого набора правил и взломанный итог / процент.
Шанс успеха на спасательной шлюпке
Мы также можем посмотреть на эффективность каждого набора правил, сравнивая успехи с общим количеством протестированных кандидатов. Например, мы можем видеть, что правила d3adhob0 имели четвертый по величине размер кандидата (825 миллиардов), однако взломали только 39,54% паролей. Для сравнения, в правиле InsidePro-PasswordsPro было только 45 миллиардов кандидатов, но оно взломало 47,48% паролей. Последнее правило явно более эффективно!
Существует множество показателей, которые мы здесь не учитываем, поэтому мы не говорим: «никогда не используйте d3adhob0, всегда используйте InsidePro-PasswordsPro ». Это всего лишь наблюдение из этого конкретного теста . Множество других показателей, таких как время, алгоритм, доступные ресурсы, потенциально известные персонажи (где происходят атаки с использованием масок) и т. Д., Необходимо учитывать в зависимости от того, чего вы пытаетесь достичь. Мы выбрали эту настройку, потому что большой набор хэшей, использующий несоленый MD5, обеспечивал лучший баланс скорости / времени.
Распределение эффективности правила можно увидеть ниже.
Эффективность на спасательной шлюпке
Таким образом, хотя правило погружения взломало больше всего, оно было наименее оптимальным с точки зрения средних догадок, прежде чем взламывать хэш. Это не обязательно проблема, если у вас есть роскошь времени, но время было бы значительно больше, если бы эти хэши были, например, SHA-256. Кроме того, наиболее эффективное правило, hob064 , взламывает такое же количество хэшей, что и правило KoreLogicRulesPrependRockYou50000 , однако последнее затрачивает на 30 000 предположений больше между каждым взломом.
Полученные файлы отладки были отсортированы, два примера которых можно увидеть ниже.
Это всего лишь фрагмент, поскольку один из наборов правил содержит более 100 000 правил, а другие содержат несколько десятков тысяч. Пара быстро идентифицированных тенденций паролей в приведенном выше примере показывает, что сообщество Minecraft любит заменять « a » на « 4 » ( правило sa4 ), а также использовать заглавные буквы в первой и строчные в остальных ( правило c )! Полный список переключателей правил hashcat можно найти
Аномалии параллелизма:
После запуска одного из тестов дважды (в данном случае набора правил best64 ) стало очевидно , что результирующая статистика немного отличается. Раздел статистики от обоих запусков показан ниже.
В первом тесте было на 7 попаданий больше, чем во втором. Другие правила также сообщали о немного разных числах как здесь, так и в других наборах правил.
Вероятно, это связано с многопоточностью / высоким параллелизмом, что означало, что разные правила создавали одно и то же текстовое значение до обращения к правилу « : » (особенно если учесть, что мы запускаем профиль -w3 !). Например, допустим, пароль был « L3tme1n », а словарь содержит « l3tme1n ». Если правило « T0 » (переключает регистр первого символа) попадает до правила « : », то « T0 » получает точку, эффективно отбирая ее у « : ». В каждом тесте отличающиеся результаты были отмечены как относительно последовательные.
Одно правило, чтобы управлять ими всеми ...:
Отсюда мы выбрали лучшие 25% исполняющих правил из каждого набора, затем удалили их, объединили и определили, оставив нам собственный набор супер-правил, содержащий 51 998 правил. Время, чтобы поставить это через шаги.
Шанс успеха на спасательной шлюпке
Эффективность на спасательной шлюпке
Хотя это и не самое эффективное средство против всех наших тестов (из-за большого количества кандидатов), пользовательское правило взломало на 2,72% (117 626) больше паролей, чем это сделало погружение . Однако наше пользовательское правило было значительно более эффективным, чем погружение, которое заняло второе место по показателям успеха.
Наше правило также было проверено на наличие пары других утечек данных, которые были опубликованы в Интернете, чтобы увидеть, как оно снова выполняет различные наборы данных, снова сравнивая с правилом погружения .
# Тест 1
Нарушение XSplit, ноябрь 2013 г., 2 983 472 учетных записи, 2 227 270 уникальных хэшей. Несоленый SHA-1.
Уровень успеха на Xsplit
Наше пользовательское правило взломало на 2,38% (53 046) больше правил.
# Тест 2
Нарушение Battlefield Heroes, июнь 2011 года. 548 773 аккаунта, 423 623 уникальных хэша. Несоленый MD5.
Шанс успеха на полях сражений героев
Наше пользовательское правило взломало на 1,13% (4,808) больше правил.
Подведение итогов:
наше супер-правило вышло на первое место во всех наших тестах, а также в других, на которые мы смотрели. Мы сожалеем, что разочаровали фанатов «Властелина колец» («Одно кольцо, чтобы управлять ими всеми!»), Но, несмотря на название нашего правила, вероятно, никогда не будет одного правила, чтобы управлять ими всеми, как другие атаки, основанные на правилах. не существует, если был. Атаки паролем всегда должны выполняться с учетом всех переменных, в частности, доступного времени, аппаратных ресурсов, размера словаря и алгоритма.
Однако эти тесты показали, что, создавая свои собственные пользовательские правила (которые мы настоятельно рекомендуем), вы можете получить гораздо больше секретов простого текста, которые вы, возможно, не видели, если вы просто выполнили стандартную атаку по словарю или одну с единое встроенное правило. Мы, безусловно, с нетерпением ждем возможности использовать наше супер-правило против многих тестируемых дампов хешей в будущем!
Пользовательское правило, которое мы использовали, доступно на github
Источник:
Ссылка скрыта от гостей
против хешей NTLM (это более 500 миллиардов хешей в секунду). ). Бойся паролей Windows ... очень бойся.Время ограничено во время пентеста, и после получения множества хэшей вы быстро захотите взломать столько, сколько сможете. NotSoSecure решил взглянуть на показатели успешности различных правил, которые обычно используются, и
Ссылка скрыта от гостей
вывести пользовательское правило, основанное на этих тестах, которое поможет лучше удовлетворить его тягу к чистому тексту.Целевые данные:
В качестве хэш-набора использовался дамп данных Lifeboat. Lifeboat - это сообщество Minecraft, и в январе 2016 года было обнаружено более 7 миллионов данных учетной записи, включая несоленые хеши паролей MD5. Количество хэшей и слабый алгоритм сделали этот дамп основным кандидатом на исследования. Сырые MD5 были извлечены из файла, и после дедупликации hashcat сообщил о чуть более 4,3 миллиона уникальных хэшей.
Словарь и правила:
Популярный словарь rockyou использовался во время тестирования по каждому из следующих правил:
- best64
- unix-ninja-leetspeak
- InsidePro-HashManager
- InsidePro-PasswordsPro
- toggles5
- T0XICv1
- rockyou-30000
- d3ad0ne
- dive
- generated2
- d3adhob0
- hob064
- KoreLogicRulesPrependRockYou50000
- v2.dive
Все, кроме d3adhob0, hob064 ,
Ссылка скрыта от гостей
и _NSAKEY.v2.dive , включены в hashcat. Хорошее сочетание файлов правил должно позволить нам определить, какие отдельные правила являются наиболее важными, из которых можно создать собственное правило.Тестирование:
Каждый сеанс начинался со следующей команды, заменяя используемое правило и имена файлов соответственно:
Potfile был отключен, поэтому hashcat не проверял его перед каждым взломом и искажал наши цифры. Режим отладки можно включить только при использовании правил, а файл отладки содержит статистику. Каждый раз, когда правило взламывает хеш, оно записывается в файл. После завершения hashcat файл можно отсортировать, чтобы показать, сколько раз правило было успешным, и, следовательно, выявить наиболее успешные правила в каждом наборе.
Результаты:
Результаты каждого теста можно найти ниже, показывая сгенерированные пароли-кандидаты из каждого набора правил и взломанный итог / процент.
правило | Всего кандидатов | Трещины | % Трещины |
---|---|---|---|
погружение | 1.421.219.827.456 | 2843085 | 65,64 |
_NSAKEY.v2.dive | 1.768.370.620.544 | 2784741 | 64,30 |
generated2 | 933992405632 | 2606565 | 60,18 |
d3ad0ne | 489063363712 | 2580399 | 59,58 |
RockYou-30000 | 430298880000 | 2557422 | 59,05 |
T0XICv1 | 171129864576 | 2357989 | 54,44 |
InsidePro-HashManager | 92801125120 | 2247349 | 51,89 |
InsidePro-PasswordsPro | 44751083520 | 2056467 | 47,48 |
d3adhob0 | 825313251840 | 1712581 | 39,54 |
best64 | 1104433792 | 1404449 | 32,43 |
hob064 | 917970944 | 1195032 | 27,59 |
KoreLogicRulesPrependRockYou50000 | 717078740224 | 1137852 | 26,27 |
toggles5 | 70898912128 | 759344 | 17,53 |
unix-Ниндзя-leetspeak | 44048262016 | 621280 | 14,34 |
Мы также можем посмотреть на эффективность каждого набора правил, сравнивая успехи с общим количеством протестированных кандидатов. Например, мы можем видеть, что правила d3adhob0 имели четвертый по величине размер кандидата (825 миллиардов), однако взломали только 39,54% паролей. Для сравнения, в правиле InsidePro-PasswordsPro было только 45 миллиардов кандидатов, но оно взломало 47,48% паролей. Последнее правило явно более эффективно!
Существует множество показателей, которые мы здесь не учитываем, поэтому мы не говорим: «никогда не используйте d3adhob0, всегда используйте InsidePro-PasswordsPro ». Это всего лишь наблюдение из этого конкретного теста . Множество других показателей, таких как время, алгоритм, доступные ресурсы, потенциально известные персонажи (где происходят атаки с использованием масок) и т. Д., Необходимо учитывать в зависимости от того, чего вы пытаетесь достичь. Мы выбрали эту настройку, потому что большой набор хэшей, использующий несоленый MD5, обеспечивал лучший баланс скорости / времени.
Распределение эффективности правила можно увидеть ниже.
Тестовое задание | Всего кандидатов | Трещины | Догадки за трещину |
---|---|---|---|
hob064 | 917970944 | 1195032 | 768 |
best64 | 1104433792 | 1404449 | +786 |
InsidePro-PasswordsPro | 44751083520 | 2056467 | 21761 |
InsidePro-HashManager | 92801125120 | 2247349 | 41294 |
unix-Ниндзя-leetspeak | 44048262016 | 621280 | 70899 |
T0XICv1 | 171129864576 | 2357989 | 72574 |
toggles5 | 70898912128 | 759344 | 93368 |
RockYou-30000 | 430298880000 | 2557422 | 168255 |
d3ad0ne | 489063363712 | 2580399 | 189530 |
generated2 | 933992405632 | 2606565 | 358323 |
d3adhob0 | 825313251840 | 1712581 | 481912 |
KoreLogicRulesPrependRockYou50000 | 717078740224 | 1137852 | 630204 |
_NSAKEY.v2.dive | 1.768.370.620.544 | 2784741 | 635022 |
погружение | 1.421.219.827.456 | 2843085 | 4998867 |
Таким образом, хотя правило погружения взломало больше всего, оно было наименее оптимальным с точки зрения средних догадок, прежде чем взламывать хэш. Это не обязательно проблема, если у вас есть роскошь времени, но время было бы значительно больше, если бы эти хэши были, например, SHA-256. Кроме того, наиболее эффективное правило, hob064 , взламывает такое же количество хэшей, что и правило KoreLogicRulesPrependRockYou50000 , однако последнее затрачивает на 30 000 предположений больше между каждым взломом.
Полученные файлы отладки были отсортированы, два примера которых можно увидеть ниже.
Это всего лишь фрагмент, поскольку один из наборов правил содержит более 100 000 правил, а другие содержат несколько десятков тысяч. Пара быстро идентифицированных тенденций паролей в приведенном выше примере показывает, что сообщество Minecraft любит заменять « a » на « 4 » ( правило sa4 ), а также использовать заглавные буквы в первой и строчные в остальных ( правило c )! Полный список переключателей правил hashcat можно найти
Ссылка скрыта от гостей
.Аномалии параллелизма:
После запуска одного из тестов дважды (в данном случае набора правил best64 ) стало очевидно , что результирующая статистика немного отличается. Раздел статистики от обоих запусков показан ниже.
В первом тесте было на 7 попаданий больше, чем во втором. Другие правила также сообщали о немного разных числах как здесь, так и в других наборах правил.
Вероятно, это связано с многопоточностью / высоким параллелизмом, что означало, что разные правила создавали одно и то же текстовое значение до обращения к правилу « : » (особенно если учесть, что мы запускаем профиль -w3 !). Например, допустим, пароль был « L3tme1n », а словарь содержит « l3tme1n ». Если правило « T0 » (переключает регистр первого символа) попадает до правила « : », то « T0 » получает точку, эффективно отбирая ее у « : ». В каждом тесте отличающиеся результаты были отмечены как относительно последовательные.
Одно правило, чтобы управлять ими всеми ...:
Отсюда мы выбрали лучшие 25% исполняющих правил из каждого набора, затем удалили их, объединили и определили, оставив нам собственный набор супер-правил, содержащий 51 998 правил. Время, чтобы поставить это через шаги.
правило | Всего кандидатов | Трещины | % Трещины |
---|---|---|---|
OneRuleToRuleThemAll | 745808362112 | 2960711 | 68,36 |
погружение | 1.421.219.827.456 | 2843085 | 65,64 |
_NSAKEY.v2.dive | 1.768.370.620.544 | 2784741 | 64,30 |
generated2 | 933992405632 | 2606565 | 60,18 |
Тестовое задание | Всего кандидатов | Трещины | Догадки за трещину |
---|---|---|---|
[...] | [...] | [...] | [...] |
OneRuleToRuleThemAll | 745808362112 | 2960711 | 251902 |
generated2 | 933992405632 | 2606565 | 358323 |
d3adhob0 | 825313251840 | 1712581 | 481912 |
KoreLogicRulesPrependRockYou50000 | 717078740224 | 1137852 | 630204 |
_NSAKEY.v2.dive | 1.768.370.620.544 | 2784741 | 635022 |
погружение | 1.421.219.827.456 | 2843085 | 4998867 |
Хотя это и не самое эффективное средство против всех наших тестов (из-за большого количества кандидатов), пользовательское правило взломало на 2,72% (117 626) больше паролей, чем это сделало погружение . Однако наше пользовательское правило было значительно более эффективным, чем погружение, которое заняло второе место по показателям успеха.
Наше правило также было проверено на наличие пары других утечек данных, которые были опубликованы в Интернете, чтобы увидеть, как оно снова выполняет различные наборы данных, снова сравнивая с правилом погружения .
# Тест 1
Нарушение XSplit, ноябрь 2013 г., 2 983 472 учетных записи, 2 227 270 уникальных хэшей. Несоленый SHA-1.
правило | Всего кандидатов | Трещины | % Трещины |
---|---|---|---|
OneRuleToRuleThemAll | 745808362112 | 1455682 | 65,36 |
погружение | 1.421.219.827.456 | 1402636 | 62,98 |
Наше пользовательское правило взломало на 2,38% (53 046) больше правил.
# Тест 2
Нарушение Battlefield Heroes, июнь 2011 года. 548 773 аккаунта, 423 623 уникальных хэша. Несоленый MD5.
правило | Всего кандидатов | Трещины | % Трещины |
---|---|---|---|
OneRuleToRuleThemAll | 745808362112 | 318958 | 75,29 |
погружение | 1.421.219.827.456 | 314150 | 74,16 |
Наше пользовательское правило взломало на 1,13% (4,808) больше правил.
Подведение итогов:
наше супер-правило вышло на первое место во всех наших тестах, а также в других, на которые мы смотрели. Мы сожалеем, что разочаровали фанатов «Властелина колец» («Одно кольцо, чтобы управлять ими всеми!»), Но, несмотря на название нашего правила, вероятно, никогда не будет одного правила, чтобы управлять ими всеми, как другие атаки, основанные на правилах. не существует, если был. Атаки паролем всегда должны выполняться с учетом всех переменных, в частности, доступного времени, аппаратных ресурсов, размера словаря и алгоритма.
Однако эти тесты показали, что, создавая свои собственные пользовательские правила (которые мы настоятельно рекомендуем), вы можете получить гораздо больше секретов простого текста, которые вы, возможно, не видели, если вы просто выполнили стандартную атаку по словарю или одну с единое встроенное правило. Мы, безусловно, с нетерпением ждем возможности использовать наше супер-правило против многих тестируемых дампов хешей в будущем!
Пользовательское правило, которое мы использовали, доступно на github
Источник:
Ссылка скрыта от гостей