Пароли в SAP хранятся в таблице USR02
Пароли хранятся в хешированном виде.
Хеш это способ шифрования данных, благодаря алгоритму из произвольного слова и символов формируется шифрованные данные одинаковой длинны, которые невозможно расшифровать.
Атака на хеш заключается в том, что специальная программа подбирает хеш и сранивает с хеш данными из системы, такой подбор может занять очень длительное время, по этому используют подбор "по словарю".
Суть подбора по словарю заключается в том, что 90% людей использует 10% паролей и проще найти того кто использует qwerty чем стараться подбирать огромные диапазоны по случайным символам.
Данные в таблице USR02
В зависимости от настроек безопасности пароли могут храниться как в поле PASSCODE так и в поле PWDSALTEDHASH (подбор по PASSCODE здесь)
В данный статье рассмотрим только подбор по PWDSALTEDHASH хеш в формате x-issha, 1024
Итак, как получить данные ? транзакция se16 - таблица USR02, выгрузить в Excel
Необходимо оставить только PWDSALTEDHASH, сформировать TXT файл в таком формате:
{x-issha, 1024}ZWS4EaKx2mFDB7HZN3tWkycFF1S5JZw9TkFQFEFF2ls=
{x-issha, 1024}n7DIZ/8RAGL1jQf/zOPM3VqtAClTo+WtBv1eICgujWc=
{x-issha, 1024}4wRRLz88kvyv0Crd27xUC8RAhoYkHMlmK0Kb0KR8gUw=
далее сохраняем файл в формат txt например xissha_poisk.txt
Для подбора хешей будет использоваться программа HashCat, скачиваем с официального сайта https://hashcat.net/files/hashcat-5.1.0.7z
Распаковываем в диск C:\HC
Скачиваем словарь, например 1k_password_list.txt https://drive.google.com/open?id=1m5zgJ … oaDJwjA_Qi и сохраняем в C:\HC
В C:\HC создаем файл xissha_users_found.txt там будут сохраняться найденные хеши
Далее в C:\HC создаем файл xissha.cmd если у вас скрыты разрешения имен в проводнике откройте ВИД поставьте галочку - "Расширения имен файлов"
в xissha.cmd вставляем текст
hashcat64 -a 6 -m 10300 -p : --session=all -o "C:\HC\xissha_users_found.txt" --outfile-format=3 --markov-disable --remove "C:\HC\xissha_poisk.txt" "C:\HC\1k_password_list.txt" ?a
pause
данные по синтаксису HashCat можно найти на их сайте - https://hashcat.net/wiki/doku.php?id=hashcat#options
Сохраняем и запускаем xissha.cmd
По завершении работы отобразиться следующая информация, можно увидеть количество подобранных паролей:
В случае если найденных вариантов недостаточно или ни один пароль не подобран, необходимо корректировать маску поиска, маска указывается в конце строки в файле xissha.cmd сейчас это - ?а что соотвествует набору ?l?u?d?s в теории можно создавать более гибки маски указывая в ряд например ?а ?а ?а в таком случае будет к маске из файла добавлять по три случайных символа в перебор.
? | Набор символов
===+=========
l | abcdefghijklmnopqrstuvwxyz
u | ABCDEFGHIJKLMNOPQRSTUVWXYZ
d | 0123456789
h | 0123456789abcdef
H | 0123456789ABCDEF
s | !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
a | ?l?u?d?s
b | 0x00 - 0xff
Далее идет творческая работа, подбор масок что бы не ушла бесконечность времени на перебор, использование других или формирование своего словаря паролей, если вы знаете например требования к паролю, сколько минимум символов, обязательно ли использовать спецсимволы и т.д. то это сильно поможет.
В формировании словаря (например из миллиона слов убрать все короче 8-ми символов) поможет Notepad++ гуглите "Регулярные выражения".