
Подбор паролей методом перебора с использованием AWS Lambda для ротации IP-адресов
Легко запустите распыление паролей с помощью AWS Lambda в нескольких регионах, меняя IP-адреса с каждым запросом.
Предоставлено вам:

usage: credking.py [-h] --plugin PLUGIN [--threads THREADS] --userfile USERFILE --passwordfile PASSWORDFILE --access_key ACCESS_KEY --secret_access_key SECRET_ACCESS_KEY [--useragentfile USERAGENTFILE]
Arguments:
-h, --help show this help message and exit
--plugin PLUGIN spraying plugin
--threads THREADS thread count (default: 1)
--userfile USERFILE username file
--passwordfile PASSWORDFILE password file
--access_key ACCESS_KEY aws access key
--secret_access_key SECRET_ACCESS_KEY aws secret access key
--useragentfile useragent file
Плагин Gmail не требует дополнительных аргументов.
Плагин Okta добавляет новый обязательный аргумент с именем oktadomain.
usage: credking.py <обычные аргументы> --oktadomain org.okta.com
Вы можете установить и запустить автоматически с помощью Python 3 следующей командой:
$ git clone https://github.com/ustayready/CredKing
$ cd CredKing
~/CredKing$ python3 credking.py
Обратите внимание, что требуется Python 3.
Принимаются отчеты об ошибках, запросы новых функций и патчи.
Вы можете создавать новые плагины с помощью:
$ cd plugins
$ mkdir newplugin
$ cd newplugin
$ touch __init__.py
$ touch newplugin.py
Затем обязательно включите функцию обработчика лямбды в ваш newplugin.py:
def lambda_handler(event, context):
return your_function(event['username'], event['password'])
CredKing генерирует zip-файл развертывания, который получают лямбды при их создании. Из-за этого CredKing требует, чтобы предварительные требования были установлены непосредственно в папку newplugin. Вы можете сделать это с помощью:
$ pip install <pre-req> -t .
Аргументы для конкретных плагинов можно задавать без изменений в credking.py, просто передавайте их как --имя_аргумента значение
Если ваш плагин требует специфичных аргументов, вы можете реализовать функцию validate в файле __init__.py вашего каталога плагина, которой будет передан словарь всех необязательных аргументов.
Ниже приведен пример проверки аргументов плагина, используемый плагином okta в его __init__.py.
def validate(args):
if 'oktadomain' in args.keys():
return True,None
else:
error = "Missing oktadomain argument, specify as --oktadomain org.okta.com"
return False,error
Функция okta.py lambda_handler затем обращается к аргументу oktadomain, как показано ниже.
def lambda_handler(event, context):
domain = event['args']['oktadomain']
return okta_authenticate(domain, event['username'], event['password'], event['useragent'])
Вот и всё, наслаждайтесь!