
رش كلمات المرور باستخدام AWS Lambda لتدوير IP
قم ببدء هجوم رش كلمات مرور (password spray) بسهولة باستخدام AWS Lambda عبر مناطق متعددة، مع تدوير عناوين IP مع كل طلب.
مقدمة من:

الاستخدام: 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 عرض رسالة المساعدة هذه والخروج
--plugin PLUGIN إضافة الرش
--threads THREADS عدد الخيوط (الافتراضي: 1)
--userfile USERFILE ملف أسماء المستخدمين
--passwordfile PASSWORDFILE ملف كلمات المرور
--access_key ACCESS_KEY مفتاح الوصول AWS
--secret_access_key SECRET_ACCESS_KEY مفتاح الوصول السري AWS
--useragentfile ملف وكيل المستخدم
لا تتطلب إضافة Gmail أي وسائط إضافية.
تضيف إضافة Okta وسيطة جديدة مطلوبة تسمى oktadomain.
الاستخدام: 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
بعد ذلك، تأكد من تضمين دالة معالج lambda في ملف newplugin.py الخاص بك:
def lambda_handler(event, context):
return your_function(event['username'], event['password'])
ينشئ CredKing ملف zip للنشر تستقبله lambdas عند إنشائها. لهذا السبب، يتطلب CredKing تثبيت المتطلبات الأساسية مباشرة في مجلد الإضافة الجديدة. يمكنك تحقيق ذلك عن طريق:
$ pip install <pre-req> -t .
يمكن تحديد وسائط خاصة بالإضافة دون الحاجة إلى تعديل credking.py، فقط قم بتمريرها كـ --argumentname value
إذا كانت إضافتك تتطلب وسائط خاصة بها، يمكنك تنفيذ دالة 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
ثم تقوم دالة lambda_handler في ملف okta.py بالوصول إلى وسيطة oktadomain كما هو موضح أدناه.
def lambda_handler(event, context):
domain = event['args']['oktadomain']
return okta_authenticate(domain, event['username'], event['password'], event['useragent'])
هذا كل شيء، استمتع!