Пароли в SAP хранятся в таблице USR02
Пароли хранятся в хешированном виде.
Хеш это способ шифрования данных, благодаря алгоритму из произвольного слова и символов формируется шифрованные данные одинаковой длинны, которые невозможно расшифровать.
Атака на хеш заключается в том, что специальная программа подбирает хеш и сранивает с хеш данными из системы, такой подбор может занять очень длительное время, по этому используют подбор "по словарю".
Суть подбора по словарю заключается в том, что 90% людей использует 10% паролей и проще найти того кто использует qwerty чем стараться подбирать огромные диапазоны по случайным символам.
Данные в таблице USR02
В зависимости от настроек безопасности пароли могут храниться как в поле PASSCODE так и в поле PWDSALTEDHASH
В данный статье рассмотрим только подбор по PASSCODE
Итак, как получить данные ? транзакция se16 - таблица USR02, выгрузить в Excel
Необходимо оставить только два столбца, BNAME и PASSCODE а далее через например Notepad++ сформировать данные такого формата:
USER1$FCD2A64AE2540065C29EA31365685F47C46C4E50
USER2$3F9AC2E0BA8169D5BE9089B2F82D554899EA9CBA
USER3$8E1448892FED8F22B39DBCA008D53D40C628F2B8
Пользователь, знак $ (разделитель) и хеш.
далее сохраняем файл в формат txt например passcode_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 создаем файл passcode_users_found.txt там будут сохраняться найденные хеши
Далее в C:\HC создаем файл passcode.cmd если у вас скрыты разрешения имен в проводнике откройте ВИД поставьте галочку - "Расширения имен файлов"
в passcode.cmd вставляем текст
hashcat64 -a 6 -m 7800 -p : --session=all -o "C:\HC\passcode_users_found.txt" --outfile-format=3 --markov-disable --remove "C:\HC\passcode_poisk.txt" "C:\HC\1k_password_list.txt" ?a
pause
данные по синтаксису HashCat можно найти на их сайте - https://hashcat.net/wiki/doku.php?id=hashcat#options
Сохраняем и запускаем passcode.cmd
По завершении работы отобразиться следующая информация, можно увидеть количество подобранных паролей:
В случае если найденных вариантов недостаточно или ни один пароль не подобран, необходимо корректировать маску поиска, маска указывается в конце строки в файле passcode.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++ гуглите "Регулярные выражения".