Найдена крупнейшая бд украденных паролей: что следует знать

Брут-форс веб-форм роутеров

Нам понадобится несколько инструментов. Первый из них — Burp Suite. По приведённой ссылке есть инструкции, в том числе для настройки работы Burp Suite с веб-браузерами — не будем здесь на этом останавливаться, выполните подготовительные действия самостоятельно.

Итак, открываем в веб-браузере интересующий нас роутер:

и убеждаемся, что Burp Suite действительно видит передаваемые данные:

Теперь отправляем заведомо неправильные данные, например, имя пользователя 11111111 и пароль 22222222:

Переходим к анализу в Burp Suite:

Данные отправляются методом POST, на страницу (корневая папка) отправляется HTTP заголовок с кукиз Cookie: _TESTCOOKIESUPPORT=1, передаётся строка вида:

frashnum=&action=login&Frm_Logintoken=0&Username=11111111&Password=22222222

Смотрим ответ, для начала переключаемся на рендер:

Отлично, в ответе содержится слово Error, поищем его в сырых передаваемых данных:

Анализируем обычный ответ, без ввода пароля:

Там также встречается слово Error, то есть его наличие ни о чём не говорит — такой маркер не подходит для брут-форса. Надеюсь, самые внимательные заметили, что в ответе, пришедшем на аутентификацию, найдено два совпадения с Error, а в обычном ответе, только одно. Смотрим ещё раз ответ после попытки аутентификации:

В этом ответе содержится очень характерная строка:

User information is error, please input again.

Словари DirBuster

DirBuster — это многопотоковое Java приложение, предназначенное для брутфорса имён директорий и файлов веб-приложений и веб-серверов. DirBuster пытается найти скрытые каталоги и файлы.

В Kali Linux словари располагаются в директории /usr/share/wordlists/dirbuster/. В BlackArch словари располагаются в директории /usr/share/dirbuster/.

Описание словарей, поставляемых с программой DirBuster

  • directory-list-2.3-small.txt — (87650 слов) — Директории/файлы которые были найдены как минимум на трёх разных хостах
  • directory-list-2.3-medium.txt — (220546 слов) — Директории/файлы которые были найдены как минимум на двух разных хостах
  • directory-list-2.3-big.txt — (1273819 слов) — Все директории/файлы которые были найдены
  • directory-list-lowercase-2.3-small.txt — (81629 слов) — Версия не чувствительная к регистру для directory-list-2.3-small.txt
  • directory-list-lowercase-2.3-medium.txt — (207629 слов) — Версия не чувствительная к регистру для directory-list-2.3-medium.txt
  • directory-list-lowercase-2.3-big.txt — (1185240 слов) — Версия не чувствительная к регистру для directory-list-2.3-big.txt
  • directory-list-1.0.txt — (141694 слов) — Оригинальный список без изменения порядка
  • apache-user-enum-1.0.txt — (8916 имён пользователей) — Используется для предположения имён пользователей apache на котором включён модуль userdir, основывается на набранных именах пользователей (неупорядоченный)
  • apache-user-enum-2.0.txt — (10341 имён пользователей) — Используется для предположения имён пользователей apache на котором включён модуль userdir, основывается на ~XXXXX найденном во время генерации списка (упорядоченный)

На каких данных основаны рекомендации

Многие механизмы для формирования хороших парольных привычек имеют под собой научную базу. К примеру, сотрудники CMU доказали, что лучше увеличить минимальную длину пароля, чем принудительно использовать символы разных классов. Другие исследовательские группы разработали “паролеметры” для оценки паролей на основе больших данных. Отдельные научные работы посвящены словарям паролей.

Но мало конкретных рекомендаций, как комбинировать все эти механизмы и добиваться оптимальной сложности и удобства пароля. По этой причине в CMU провели 2 эксперимента и оценили, как разные комбинации парольных политик защищают от атак и воспринимаются пользователями.

Участникам экспериментов предлагали создать пароль по заданной парольной политике. Сначала ученые разными методами измерили надежность этих паролей. Затем пользователей попросили вспомнить придуманный пароль, а исследователи оценили легкость его запоминания.  

Как составляли и проверяли политики

Количество и классы символов. В основе всех политик лежали требования к длине пароля и числу классов: это буквы верхнего и нижнего регистра, цифры и специальные символы. Каждую политику исследователи обозначили формулой вида:

Эта политика требует пароль, который содержит три класса символов из четырех.

Все протестированные политики включали длину пароля не менее 8 символов. Получился примерно такой список политик: 1с8, 3c8, 4c8, 1с10, 1с12, 2с12, 3c12, 1с16.

Проверка по словарю. Требования к символам помогают генерировать более сложные пароли. Но некоторые пользователи могут соблюдать требования и все равно придумать слабый пароль. Например, для политик 4c8 и 1c16 можно создать предсказуемые варианты: 1Password! и passwordpassword. Чтобы этого избежать, политики часто комбинируют с поиском по словарям. 

Для словарной проверки нужен список часто используемых, предсказуемых или скомпрометированных паролей, а также сам алгоритм поиска по словарю. Например, можно искать точные совпадения в списке, а можно использовать нечеткий поиск, который найдет совпадения с разницей в регистрах или отдельных символах. Допустим, в словаре есть password. Нечеткий поиск также посчитает “словарными” пароли типа pa$$word или Passw0rd. 

В эксперименте использовались словари Xato и Pwned, а также разные алгоритмы поиска: 

  • поиск полного совпадения со строками словаря без учета регистра – case-insensitive full-string comparison (cifs); 

  • поиск полного совпадения со строками словаря с учетом регистра – case-sensitive full-string comparison (fs); 

  • отделение цифр и специальных символов и последующий регистронезависимый поиск точно таких же строк в словаре (strip-cifs); 

  • регистронезависимый поиск любых 5-символьных совпадений словарных фрагментов с фрагментами пользовательского пароля (ciss).

В сочетании с разными словарями получились такие варианты для проверки: Pwned-fs, Xato-cifs, Xato-strip-cifs, Xato-ciss и так далее. 

Количество попыток перебора. Один из методов оценки надежности пароля – сколько попыток сделает злоумышленник, прежде чем подберет пароль. Для такой проверки используются разные модели, в том числе нейронные сети. Минимальные требования к количеству и частоте попыток зависят от многих факторов, например, используемых средств защиты или характера атаки. В своей работе CMU рассматривают 2 вида атак:

  • при онлайн-атаках хакер может перебирать пароли только при взаимодействии с сервером. Если отрубить доступ, продолжить попытки не получится.

  • при офлайн-атаках хакер может подбирать пароли без обратной связи от сервера, то есть дольше. Это возможно, если у злоумышленников есть краденая база с хэшами паролей.    

Для оценки надежности в CMU использовали модели машинного обучения. С помощью базы данных скомпрометированных паролей нейронную сеть обучили предсказывать, какова вероятность подобрать пароль. Степень надежности определяли по количеству необходимых попыток и записывали формулой:

В этом случае считаем пароль надежным, если нейронка не угадала его за 1 млн попыток.

Гипотезы по совместному использованию методов. Исследователи использовали разные комбинации политик, чтобы ответить на вопросы:

  1. Как проверка по словарю сочетается с политиками вида 1c8 и 3c8?

  2. Как разные варианты проверок по словарю сочетаются с политикой вида 1с8?

  3. Насколько разные политики по длине и классам от 1с8 до 3с12 выполняют требование надежности на уровне NN6?

  4. Насколько проверка по словарю сочетается с проверкой с помощью нейронных сетей?

  5. Насколько успешна проверка надежности на уровне NN8 и NN10 при разных требованиях только к длине пароля?

  6. Как проверка по словарю сочетается с разными требованиями к числу классов символов (от 1с8 до 4с8)?

Получилась такая таблица проверки разных условий: 

Торрент с 427 000 000 паролей MySpace +6

  • 04.07.16 11:20


alizar

#278066

Гиктаймс

20600

Социальные сети и сообщества, Информационная безопасность

Добрые люди выложили в открытый доступ базу паролей MySpace, которая некоторое время ходила по подпольным форумам и продавалась за большие деньги. Теперь она бесплатна и открыта для всех.
База с 427 миллионами паролей — самая большая коллекция паролей за всю историю утечек с разных сайтов, коих было немало в последние годы.Myspace.com.rar (14,2 ГБ)
Пароль на RAR-архив: KLub8pT&iU$8oBY(*$NOiu

Скачать

SHA1:SHA256:Торрент11 июня 2013 года

  • Имён пользователей — 111 341 258
  • Аккаунтов со вторым паролем — 68 493 651 (в некоторых аккаунтах указан только второй пароль и не указан первый)
  • Общее количество паролей — 472 484 128

отмечаютhomelesspaСамые популярные пароли из базы MySpace

Место Пароль Количество
1 homelesspa 855478
2 password1 585503
3 abc123 569825
4 123456 487945
5 myspace1 276915
6 123456a 244641
7 123456789 191016
8 a123456 165132
9 123abc 159700
10 (POSSIBLY INVALID) 158462
11 qwerty1 141110
12 passer2009 130740
13 fuckyou1 125302
14 iloveyou1 123668
15 princess1 114107
16 12345a 111818
17 monkey1 106424
18 football1 101149
19 babygirl1 90685
20 love123 88756
21 a12345 85874
22 iloveyou 85001
23 jordan23 81028
24 hello1 80218
25 jesus1 78075
26 bitch1 78015
27 password 77913
28 iloveyou2 76970
29 michael1 75878
30 soccer1 74926
31 blink182 73145
32 29rsavoy 71551
33 123qwe 70476
34 angel1 70271
35 myspace 69019
36 fuckyou2 68995
37 jessica1 67644
38 number1 65976
39 baseball1 65400
40 asshole1 63078
41 1234567890 62855
42 ashley1 62611
43 anthony1 62295
44 money1 61639
45 asdasd5 60810
46 123456789a 60441
47 superman1 59565
48 sunshine1 57522
49 nicole1 56039
50 password2 55754
51 charlie1 54432
52 shadow1 54398
53 jordan1 54004
54 1234567 51131
55 50cent 50719

Самые популярные почтовые домены из базы аккаунтов MySpace

Место Почтовый домен Количество
1 @yahoo.com 126 053 325
2 @hotmail.com 79 747 231
3 @gmail.com 25 190 557
4 @aol.com 24 115 704
5 @aim.com 5 345 585
6 @live.com 4 728 497
7 @hotmail.co.uk 4 701 850
8 @msn.com 4 378 167
9 @myspace.com 4 257 451
10 @comcast.net 3 275 651
11 @ymail.com 2 866 796
12 @sbcglobal.net 2 793 292
13 @hotmail.fr 2 335 422
14 @web.de 1 486 602
15 @rocketmail.com 1 420 819
16 @yahoo.co.uk 1 384 943
17 @verizon.net 1 255 478
18 @cox.net 1 082 304
19 @mail.ru 1 040 442
20 @hotmail.it 1 018 406
21 @bellsouth.net 961 018
22 @gmx.de 959 852
23 @hotmail.de 852 256
24 @NONE 790 159
25 @yahoo.fr 741 962
26 @att.net 685 951
27 @earthlink.net 652 769
28 @hotmail.es 612 748
29 @yahoo.co.id 604 816
30 @yahoo.com.my 601 114
31 @yahoo.com.br 551 956
32 @charter.net 548 031
33 @yahoo.de 543 823
34 @live.fr 518 523
35 @netscape.net 510 577
36 @live.co.uk 502 121
37 @libero.it 490 151
38 @googlemail.com 430 112
39 @wp.pl 401 928
40 @live.com.mx 397 944
41 @yahoo.es 389 453
42 @yahoo.co.jp 351 781
43 @btinternet.com 349 642
44 @mail.com 343 346
45 @excite.com 335 215
46 @yahoo.com.mx 330 927
47 @qamail.msprod.msp 328 267
48 @peoplepc.com 325 192
49 @music.msprod.msp 324 173
50 @yahoo.ca 320 579
51 @tmail.com 314 187
52 @gmx.net 310 143
53 @netzero.com 308 410
54 @yahoo.it 307 122
55 @optonline.net 306 284

LeakedSourceсказалобъявил50 млн человек

Инструменты и словари для онлайн-подбора паролей

Классическим инструментом для онлайн-подбора паролей является утилита командной строки thc-hydra, а для этичных хакеров и администраторов, любящих комфорт, данный функционал с интуитивно понятным интерфейсом имеется в нашем комплексе «Сканер-ВС»:

Также ключевым фактором успешного подбора пароля является доступность хорошо составленных словарей, а вот с этим бывают проблемы. Словари, поставляемые вместе с современными отечественными средствами анализа защищенности не всегда содержат действительно полезные наборы слов. Например, включают стандартный словарь, распространяемый с одной бесплатной утилитой. Решение, конечно, простое, но не очень эффективное. Разве можно представить себе российского пользователя, выбравшего такие пароли, как: soccer, cutiepie, maganda или mustang. Как много в среднем российском городе счастливых обладателей Ford Mustang? Иногда включают замечательный словарь, основанный в основном на паролях, оставляемых по умолчанию, но совершенно забывают про обычных пользователей и их любимые пароли.

Мы решили исправить эту досадную ситуацию и составили свои списки паролей, которые теперь доступны не только пользователям нашего комплекса тестирования защищенности «Сканер-ВС», но и всем желающим на сайте нашего решения в разделе «Пароли»:

Списки паролей:

  1. TOP-157
  2. TOP-25
  3. Числовые последовательности
  4. Даты
  5. Клавиатурные последовательности
  6. Распространенные мужские имена
  7. Распространенные женские имена

Списки учетных записей:

  1. Пользовательские мужские: первая буква имени + фамилия
  2. Пользовательские мужские: первая буква имени + точка +фамилия
  3. Пользовательские мужские: имя + точка +фамилия
  4. Пользовательские женские: первая буква имени + фамилия
  5. Пользовательские женские: первая буква имени + точка +фамилия
  6. Пользовательские женские: имя + точка +фамилия

Что плохого в последнем обновлении сервиса

Очередной неприятной новостью, которая связана с 1Password, стало недавнее обновление настольного клиента для macOS, Windows и Linux.

Разработчики полностью переписали свое приложение с использованием кроссплатформенного фреймворка Electron. Это значит, что у утилиты больше не будет нативного приложения для той или иной ОС. Вместо этого будет запускаться громоздкий универсальный алгоритм, который плохо учитывает особенности каждой отдельной системы.

На Electron уже работают такие приложения, как Slack, WhatsApp Desktop, Discord и другие. Требовательность к системным ресурсам macOS у этих приложений оставляет желать лучшего.

Так первые пользователи и тестировщики ключевого обновления 1Password 8 на Mac заметили возросшие требования к железу. Утилита “отъедает” больше оперативной памяти, дольше реагирует на команды, а на слабых компьютерах вместе с 1Password на полную мощность запускается и активная система охлаждения.

Пользователи негативно относятся к переходу на Electron, а еще ругают разработчиков за ухудшение интерфейса кроссплатформенного приложения и удаление некоторых удобных возможностей утилиты. На форуме Reddit появляются целые ветки с гневными отзывами и комментариями пользователей, которые долгое время поддерживали продукт регулярной покупкой обновлений.

Больше всего обидно самым старым клиентам 1Password на Mac. Именно с этой платформы начиналось развитие сервиса, а сейчас вместо удобного нативного приложения появится одна из самых глючных и требовательных к железу версий утилиты.

Сомневаюсь, что при указанном выше годовом доходе компании и немалых инвестициях, AgileBits Inc было сложно содержать и развивать отдельные приложения для разных платформ.

Установка и снятие пароля защиты базы данных

Cамоучитель MS Access 2002 в†’ Администрирование баз данных в†’ Установка и снятие пароля защиты базы данных

Чтобы установить пароль для защиты базы данных:

  1. Закройте базу данных. Если база данных совместно используется в сети, убедитесь, что остальные пользователи ее закрыли.
  2. Сделайте резервную копию базы данных и сохраните ее в надежном месте.
  3. В меню Access выберите команду Файл, Открыть (File, Open).
  4. Выделите файл базы данных.
  5. Щелкните по стрелке, расположенной справа от кнопки Открыть (Open). В раскрывающемся списке режимов открытия базы данных выделите элемент Монопольно (Open Exclusive). База данных откроется в режиме монопольного доступа.
  6. Выберите команду Сервис, Защита, Задать пароль базы данных (Tools, Security, Set Database Password).
  7. В появившемся диалоговом окне введите в поле Пароль (Password) пароль для защиты базы данных с учетом регистра символов.
  8. Введите пароль еще раз в поле Подтверждение (Verify).
  9. Нажмите кнопку ОК.

Теперь база данных защищена паролем и всякий раз, когда пользователь будет открывать базу данных, будет отображаться диалоговое окно с требованием ввести пароль. Запомните или сохраните пароль в надежном месте. Если вы забудете пароль, базу данных будет невозможно открыть.

Замечание

Не защищайте базу данных паролем перед ее репликацией, иначе ее нельзя будет синхронизировать с другими репликами.

Если база данных защищена на уровне пользователей, установить пароль для ее открытия может только пользователь, обладающий административными правами. Установка пароля не влияет на систему защиты на уровне пользователя. Эти два способа защиты могут использоваться одновременно. Пароль базы данных сохраняется в базе данных, а не в файле рабочей группы.

Чтобы удалить пароль защиты базы данных:

  1. Откройте базу данных в режиме монопольного доступа.
  2. В диалоговое окно Необходимо ввести пароль (Password Required) ведите пароль.
  3. Выберите команду Сервис, Защита, Удалить пароль базы данных (Tools, Security, Unset Database Password). Появится диалоговое окно Удаление пароля базы данных (Unset Database Password).
  4. Введите текущий пароль базы данных.
  5. Нажмите кнопку ОК.

Лучшие программы для взлома паролей

Недавно мы опубликовали статью о надежности паролей, а также паролях, которые используются многими пользователями. Большинство людей используют слабые пароли. Но как убедится, что ваш пароль сильный? Взлом паролей — это неотъемлемая часть цифровой криминалистики и тестирования информационной безопасности.

В этой статье мы собрали лучшие программы для взлома паролей, которые могут использоваться системными администраторами для проверки надежности их паролей. Все утилиты используют различные алгоритмы и применимы к различным ситуациям. Рассмотрим сначала базовую информацию, которая поможет вам понять с чем мы будем иметь дело.

Сколько же времени займет перебор паролей для ВК?

Напомню, что мы перебираем  221 918 520 426 688 (222 триллиона) вариантов пароля.

Поэтому, чтоб узнать сколько мы будем взламывать пароль ВК перебором  делим количество на скорость, т.е. 

221918520426688 пароля / 7,4 пароля в секунду = 29737081737176сек = 495618028953 мин = 8260300483 часов = 344179187 дней = 942957 лет

Вывод:реальная программа для взлома ВК могла бы подобрать пароль перебором за 94 тысячи лет.

Можно значительно ускорить процесс перебора!
Для этого нужно: 1. Повысить вычислительную мощность. Например, заразить 1.000.000 чужих компов и со всех одновременно брутить ВК (аж смешно) 2. Укоротить брут-словарь до, например, пары тыщ.(по принципу социальной инженерии)

Как сделать брут-словарь?
1. Ручками в программе блокнот  (notepad.exe) 2. Прогой «генератор брута» (ссылка внизу статьи)

Этот брут – словарь наполняем реальными вариантами.

Реальные  – это такие, которые хоть как-то связано с взламываемым человеком:

— телефоны
(его, его родственников, друзей)Пример
— номера с +7с,  8кой, без 8ки – попадается редко

— даты рождения
(его, его родственников, близких)Пример
— (одной и той же даты) 010118, 01012018, 20180101, 180101 – попадается часто

— Имена любимых, близкихПример
— SashaMaria, MariaIvanova, SaNoMaIv – попадается средне

Название сайта (или фамилия) на другой раскладкеПример
, если набрать слово «vkontakte» на русской раскладке, то получится – «млщтефлеу» — такая схема ну очень часто попадается на всех сайтах.

— лоховской список паролей для брута
(список самых распространенных паролей в сети — ссылка в конце статьи)

Долго ли писать словарь?
Ну, не очень – полчаса за глаза хватит. А кто сказал что будет легко?))

Допустим у нас есть созданный брут словарь и рабочая прога для подбора пароля ВК (либо ручной ввод по словарю).

Возникает одна важная проблема – система защиты сервера.

Собственно помеха её заключается в том, что при слишком частых запросах сервер тупо блокирует (временно) ваш IP. Кроме того, если вы работаете с ВК через стандартную форму ввода (HTMLFORM), то после 3 ей неудачной попытки ВК будет просить ввести капчу.

В старой версии ВК можно было просто перейти на мобильную версию – m.vk.com, теперь же мобильной версии как таковой нет – в 2016 году сделали единый адаптивный дизайн.

Программа для поиска паролей

Используя эти знания, была создана DumpsterDiver, которая в значительной степени была вдохновлена программой TruffleHog (также ищет пароли и ключи основываясь на энтропии строк и регулярных выражений, но только в репозиториях git.

DumpsterDiver — это инструмент для поиска чувствительных данных (паролей, хешей, API ключей, ключей ассиметричного шифрования) в файлах различного типа.

Главные особенности:

  • может анализировать любые текстовые файлы
  • использует Shannon Entropy для поиска приватных ключей
  • может искать по логам git
  • распаковывает сжатые архивы (например, zip, tar.gz и т.д.)
  • поддерживает продвинутый поиск на основе простых правил (подробности ниже)
  • ищет пароли, прописанные в исходном коде или обычных файлах
  • полностью настраиваемая, вы можете снизить количество ложных результатов за счёт указания чётких критериев того, что вы ищите
  • может искать по регулярным выражениям, поддерживает подстановочные символы
  • доступна в качестве образа Docker
  • записывает вывод в формат JSON

Как оценивали удобство для пользователей

Теперь перейдем к измерениям удобства. На первом этапе все участники эксперимента должны были придумать пароль в специально разработанном “паролеметре”. Парольная политика выбиралась случайно из всех комбинаций, которые проверяли исследователи. 

  1. Участники эксперимента получали список рекомендаций, вводили пароль и в реальном времени наблюдали, как меняется индикатор сложности пароля. 

  2. Как только минимальные требования были выполнены, “паролеметр” давал рекомендации для усиления пароля:

    Рекомендации меняются по мере того, как мы добавляем другой регистр и цифры. Запись демо с сайта CMU.

    Пока пользователь придумывал пароль, “паролеметр” фиксировал, с какой попытки удалось выполнить требования и сколько времени понадобилось на создание правильного пароля.

  3. Все созданные пароли проверяли с помощью нейронных сетей и предсказывали, сколько попыток потребуется для подбора.

  4. Через 2 дня ученые просили пользователей принять участие во втором этапе и вспомнить созданный пароль. Если пользователи не отвечали через 5 дней, они выбывали из эксперимента. Для остальной выборки фиксировали долю тех, кому удалось вспомнить пароль. Исследователи анализировали все сопутствующее поведение участников: могут ли они воспроизвести пароль по памяти или записывают его, сколько времени и попыток нужно на воспроизведение.

  5. Участников обоих этапов просили заполнить опросник и описать в нем опыт участия в эксперименте: насколько сложно создать пароль, как сильно выбранная парольная политика раздражала пользователя.

Для каждой комбинации условий ученые фиксировали объективные показатели эксперимента: количество участников, долю выбывших на втором этапе, фактическое время создания пароля, фактическое время на воспроизведение пароля, долю успешных попыток подбора пароля. Помимо этого указывались и субъективные ощущения участников из опроса: насколько создание пароля кажется им сложным и раздражающим, насколько легко его вспомнить.

Получилась такая таблица:

Информационная энтропия

  • 404e554d243c1a11d13c96b60129504a31b0abd имеет энтропию 3.57.
  • ChuckNorriscountedtoinfinitytwentytwice имеет энтропию 3.81.
  • 2r9pAuQxUFAstrWhEy4G4WiVx5iJ74Hja5AWgHq9 имеет энтропию 4.67.
wget https://gist.githubusercontent.com/xep624/31e06ff461d05d43505f6c6809eda336/raw/58083dab77bc6a8c2f94351a976124c915ed899a/entropy.py

Пример вычисления информационной энтропии строки BCVjd skd;bNhydfdklkg»lgbn,nbldkjgsd:

python entropy.py 'BCVjd skd;bNhydfdklkg"lgbn,nbldkjgsd'
The entropy of a character in a string 'BCVjd skd;bNhydfdklkg"lgbn,nbldkjgsd' is 3.37953229264824 bits

Ещё один пример:

python entropy.py 'abcdefghijklmnopqastuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
The entropy of a character in a string 'abcdefghijklmnopqastuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' is 5.661978179679557 bits

Если строка удовлетворяет упомянутым ниже условиям, то вы можем с высокой долей вероятности сказать, что мы имеем дело с ключом:

  • Строка содержит только символы из набора Base64 (другими словами, рассматриваем только строки между не Base64 символами, например между “” или ‘’)
  • Длина строки между значениями МИНИМАЛЬНАЯ_ДЛИНА и МАКСИМАЛЬНАЯ_ДЛИНА (например, если МИНИМАЛЬНАЯ_ДЛИНА равна 40, а МАКСИМАЛЬНАЯ_ДЛИНА равна 66 байтам, то мы можем найти AWS Secret key и Azure Shared Key)
  • Информационная энтропия одиночного символа строки выше значения ЭНТРОПИЯ (энтропия всех AWS secret keys выше 4.2, а энтропия Azure Share Key всегда выше 5.8)

Эти условия стали основой для автоматизации процесса поиска ключей в любом текстовом файле.

Списки слов от Metasploit

Названия словарей имеют говорящие названия. В основном эти словари предназначены для брут-форса удалённого входа в различные службы, имеются неплохие универсальные словари с именами пользователей и паролями.

tree /usr/share/wordlists/metasploit
/usr/share/wordlists/metasploit
├── adobe_top100_pass.txt
├── av_hips_executables.txt
├── av-update-urls.txt
├── burnett_top_1024.txt
├── burnett_top_500.txt
├── cms400net_default_userpass.txt
├── common_roots.txt
├── db2_default_pass.txt
├── db2_default_userpass.txt
├── db2_default_user.txt
├── default_pass_for_services_unhash.txt
├── default_userpass_for_services_unhash.txt
├── default_users_for_services_unhash.txt
├── dlink_telnet_backdoor_userpass.txt
├── hci_oracle_passwords.csv
├── http_default_pass.txt
├── http_default_userpass.txt
├── http_default_users.txt
├── http_owa_common.txt
├── idrac_default_pass.txt
├── idrac_default_user.txt
├── ipmi_passwords.txt
├── ipmi_users.txt
├── joomla.txt
├── keyboard-patterns.txt
├── malicious_urls.txt
├── multi_vendor_cctv_dvr_pass.txt
├── multi_vendor_cctv_dvr_users.txt
├── namelist.txt
├── oracle_default_hashes.txt
├── oracle_default_passwords.csv
├── oracle_default_userpass.txt
├── password.lst
├── piata_ssh_userpass.txt
├── postgres_default_pass.txt
├── postgres_default_userpass.txt
├── postgres_default_user.txt
├── root_userpass.txt
├── routers_userpass.txt
├── rpc_names.txt
├── rservices_from_users.txt
├── sap_common.txt
├── sap_default.txt
├── sap_icm_paths.txt
├── scada_default_userpass.txt
├── sensitive_files.txt
├── sensitive_files_win.txt
├── sid.txt
├── snmp_default_pass.txt
├── tftp.txt
├── tomcat_mgr_default_pass.txt
├── tomcat_mgr_default_userpass.txt
├── tomcat_mgr_default_users.txt
├── unix_passwords.txt
├── unix_users.txt
├── vnc_passwords.txt
├── vxworks_collide_20.txt
└── vxworks_common_20.txt

Поиск паролей в исходном коде

Использование энтропии для поиска паролей не очень эффективно, так как это создаёт много ложных сообщений. Поэтому DumpsterDiver использует другой подход для поиска hardcoded (прописанных в файлах исходного кода или настроек) паролей — он проверяет сложность пароля с помощью Passwordmeter. Для настройки этого поиска вы можете использовать следующие опции:

  • —min-pass MIN_PASS — указывает минимальную длину пароля для анализа (по умолчанию это 8). Требует использования флага ‘-s’.
  • —max-pass MAX_PASS — указывает максимальную длину пароля для анализа (по умолчанию это 12). Требует использования флага ‘-s’.
  • —pass-complex {1,2,3,4,5,6,7,8,9} — указывает минимальное значение сложности пароля в диапазоне от 1 (тривиальные пароли) до 9 (очень сложные пароли) (по умолчанию это 8). Требует использования флага ‘-s’.

Например, вы хотите найти сложные пароли (которые содержат заглавные и прописные буквы, специальные символы, цифры и имеют длину от 10 до 15 символов), то вы можете сделать это используя следующую команду:

python3 DumpsterDiver.py -p  --min-pass 10 --max-pass 15 --pass-complex 8

Шифрование и хеширование

Шифрование — это обратимое преобразование текста в случайный набор символов.

Хеширование — это необратимое преобразование текста в случайный набор символов.

Разница между этими двумя действиями в том, можем ли мы из случайного набора символов получить исходную строку по какому-то известному алгоритму.

Приведу пример шифрования. У нас есть сообщение:

Зашифруем сообщение по следующему алгоритму: сдвинем каждую букву на 1 в алфавитном порядке, т.е. а превращается в б, г превращается в д, я превращается в а. Так будет выглядеть зашифрованный текст:

Зашифровали. Теперь для расшифровки нужно выполнить обратную операцию, сдвинуть все буквы на 1 символ назад. К слову, этот алгоритм шифрования называется шифр Цезаря (Википедия).

В отличие от шифрования, хеширование не имеет (вернее, не должно иметь) способа «расхешировать» строку обратно:

Стандартные способы защиты

Защита с использованием пароля пользователя

Совсем не обязательно использовать программы, позволяющие определить пароль БД или пользователя. Часто программисты совсем не заботятся о сокрытии пароля в тексте программы. Запустив программу, работающую с защищённой БД необходимо открыть в шестнадцатеричном редакторе WinHex виртуальную память этого приложения. Проведя поиск Unicode строк ‘User ID=’; ‘Password=’; ‘Database Password=’ или ‘pwd=’ можно найти имя пользователя, его пароль и пароль базы данных.

Можно вовсе проигнорировать наличие защиты. Для этого надо воспользоваться AccessRecovery, которая создаёт новый файл без защиты и переносит в него таблицы, запросы, формы, макросы, отчеты и код модулей.

  • http://www.taurion.ru/access/20/12
  • https://t-tservice.ru/access/kak-sdelat-parol-v-access.html
  • http://word-office.ru/kak-sdelat-parol-v-access.html
  • https://llscompany.ru/access/access-parol-na-bazu.html

Хакеры находят секретные данные в JavaScript-файлах

  • Для отладочных целей.
  • Для целей локальной разработки.
  • В виде комментариев, предназначенных для тех, кто будет поддерживать проект позже.

meggf

▍Что делать?

  • Минифицируйте код. Благодаря этому код обфусцируется. Подобная обработка кода обратима, но благодаря ей можно обойти многие автоматические сканеры, что уменьшает потенциальные возможности атаки.
  • Оставляйте в коде только абсолютный минимум ключей и путей к API. В то время как без некоторых из них обойтись не получится, о большинстве из них сказать того же самого нельзя. Оставляйте в коде только те ключи, которым совершенно необходимо в нём присутствовать.
  • Понизьте разрешения, связанные с ключами, до абсолютного минимума. Если вспомнить пример с сервисом картографической информации, то можно сказать, что ключи должны быть такими, чтобы с их помощью можно было бы делать только то, для чего они предназначены, и чтобы пользоваться ими можно было бы только там, где они должны использоваться. Удостоверьтесь в том, что эти ключи нельзя использовать для атаки на систему.
  • Используйте те же инструменты для автоматического сканирования кода, которые используют хакеры. Включайте их в системы непрерывной интеграции. Особенно это касается средств для поиска строковых паттернов, которые работают очень быстро. Используйте простые инструменты вроде или для поиска строк. Такая проверка кода сродни тестам. Она позволяет убедиться в том, что разработчики не оставляют в коде дыр, которыми может воспользоваться злоумышленник для взлома системы.
  • Внедрите у себя практику код-ревью. Всегда полезно, когда кто-то проверяет ваш код. Все автоматические сканеры мира не способны выявить 100% возможных проблем. Код-ревью — это отличный способ повышения качества и защищённости кода.

Поиск паролей на компьютере

В этой инструкции мы узнаем, как искать пароли и ключи в произвольных файлах, когда они могут быть обнаружены в исходном коде программ или в других случаях, требующих индивидуального подхода. Если же вам необходимо решить более типичную задачу, например, извлечь из компьютера все пароли, введённые в веб-браузер или найти типичные чувствительные файлы, то смотрите статьи:

  • Как узнать введённые на сайты пароли
  • Как узнать, к каким Wi-Fi сетям подключался компьютер и пароли от этих Wi-Fi сетей
  • Извлечение всех паролей (веб-браузеры, почтовые программы и пр.) в Windows и Linux
  • Структура директорий Linux. Важные файлы Linux
  • Аудит безопасности хостинга и других совместно используемых систем на Linux

Конкурсы по хешкрекингу

А где хешкрекер может посоревноваться с другими хешкрекерами в своем умении ломать хеши? Конечно же, на конкурсах! Основные — конкурс Crack Me If You Can, проводимый фирмой KoreLogic в рамках ежегодной конференции DEF CON, и конкурс Hash Runner на ежегодной конференции Positive Hack Days.

Правила этих конкурсов весьма просты — нужно за ограниченное время (как правило, за 48 часов) сломать как можно больше конкурсных хешей и выполнить дополнительных заданий, также связанных с хешами. И так как время сильно ограничено, то на время таких конкурсов хешкрекеры всегда объединяются в команды.

Исторически сложилось так, что с самых первых конкурсов сформировались три основные команды — InsidePro, hashcat и john-users, которые все эти годы стабильно делили меж собой три призовых места в различных комбинациях. Даже по названиям команд уже очевидно, вокруг какого софта или сайта они объединились. В составе каждой из команд есть автор этого софта, и причина этого тоже понятна — на конкурсах всегда встречаются новые или видоизмененные алгоритмы хеширования, и нужно очень быстро модифицировать программу-брутфорсер или добавить в нее новый алгоритм. Тому, кто не имеет возможности быстро (часто за несколько часов или даже минут) перекроить софт под нужные фишки, очень сложно претендовать на приз.

Все отчеты о конкурсах доступны на сайтах команд, а также на сайтах организаторов — например, тут.

Рис. 4. Архивное фото — организаторы конкурса по хешкрекингу на DEFCON 2012

К сожалению, других крупных конкурсов по хешкрекингу нет. Иногда бывают небольшие конкурсы на хешкрекерских форумах, но их размах гораздо меньше. А с другой стороны, многие профессиональные хешкрекеры всегда находятся в «режиме конкурса», так как на форумах периодически размещаются хеши стоимостью в сотни и даже тысячи долларов, поэтому сразу после их опубликования хешкрекеры включаются в борьбу за этот хеш, чтобы обойти других, первому сломать пароль и получить «приз», то есть плату за пароль.

К каким выводам пришли исследователи

  1. Наиболее оптимальная парольная политика, по мнению исследователей, – настройка минимальной длины пароля и одновременная проверка пароля с помощью нейронной сети. Лучше всего в экспериментах себя показала политика вида 1c12+NN10: пароль не менее 12 символов с “угадываемостью” не менее 10 млрд попыток. Это обеспечивает достаточную защиту от офлайн-атак и необходимый уровень удобства. 

  2. Если проверка с помощью нейронных сетей не подходит, то исследователи рекомендуют задавать длину пароля не менее 8 символов и одновременно проверять пароли по словарям. Такая проверка обеспечивает меньшую защиту, но достаточно эффективна против онлайн-атак. При этом, защиту можно усилить, если увеличить минимальную длину пароля. 

  3. Проверка по словарю будет эффективнее, если использовать методы нечеткого поиска. То есть, лучше включать в поиск не только точные совпадения, но и вариации вроде P@$$w0rd. Если же используется точный поиск, стоит запускать проверку по максимально доступному словарю скомпрометированных паролей. 

  4. Пользователи испытывают больше неудобства, если им требуется создать пароль с разными классами символов. Если же пользователю нужно только соблюдать длину не менее 8–-16 символов и пройти проверку “угадываемости” пароля, то парольная политика воспринимается как удобная.