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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Aaia — مُصوِّر ومكتشف الشذوذ لإدارة الهوية والوصول في AWS | Kitploit
أدوات/GitHubGitHub/rams3sh/aaia
أمن البنية التحتية السحابيةتصعيد الامتيازاتالاستطلاعتحليل الثغرات الأمنيةتدقيق التكوينجمع المعلوماتاختبار الاختراقأمن السحابةإدارة الهوية والوصول (IAM)
GitHubrams3sh/aaia

Aaia

مُصوِّر ومكتشف الشذوذ لإدارة الهوية والوصول في AWS

29640منذ 6 أشهرتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

ملاحظة

هذا المستودع ليس قيد التطوير النشط. ومع ذلك، أنا منفتح على قبول PRs. لا يزال Aaia يعمل حيث لم تكن هناك تغييرات كبيرة من حيث واجهات برمجة تطبيقات AWS التي يستخدمها لجمع البيانات.

Aaia

(A)n(a)lysis of (I)dentity and (A)ccess

ملاحظة: تم إنشاء التوسعة بعد أن تم تحديد الاسم :P

ماذا يفعل Aaia؟

يساعد Aaia (يُنطق كما هو موضح هنا ) في تصور AWS IAM والمنظمات (Organizations) بتنسيق رسم بياني بمساعدة Neo4j. يساعد هذا في تحديد القيم الشاذة (outliers) بسهولة. نظرًا لأنه يعتمد على neo4j، يمكن للمرء الاستعلام عن الرسم البياني باستخدام استعلامات cypher للعثور على الحالات الشاذة.

يدعم Aaia أيضًا وحدات (modules) لجلب البيانات برمجيًا من قاعدة بيانات neo4j ومعالجتها بطريقة مخصصة. هذا مفيد بشكل أساسي إذا كان يجب تطبيق أي مقارنة أو منطق معقد والذي قد لا يكون سهلاً من خلال استعلامات cypher.

كان الهدف الأولي من Aaia هو أن يكون أداة لتعداد إمكانيات تصعيد الامتيازات (privelege escalation) وإيجاد الثغرات في AWS IAM. كان مستوحى من اقتباس @JohnLaTwC

"المدافعون يفكرون في قوائم. المهاجمون يفكرون في رسوم بيانية. طالما هذا صحيح، المهاجمون يفوزون."

لماذا الاسم "Aaia"؟

Aaia في اللغة التاميلية تعني الجدة. بشكل عام، Aaia تعرف كل شيء عن العائلة. يمكنها بسهولة ربط من هو قريب بمن؛ وكيف؛ وتعطيك العلاقة في غضون جزء من الثانية. إنها قاعدة بيانات رسوم بيانية حية. :P

نظرًا لأن "Aaia" (هذه الأداة) تفعل نفس الشيء تقريبًا، ومن هنا جاء الاسم.

التثبيت

تثبيت قاعدة بيانات neo4j

1. التثبيت باستخدام Docker (مُوصى به)

i. تثبيت بيئة تشغيل Docker

تحقق من الوثائق الرسمية بخصوص التثبيت هنا.

ii. قم بتشغيل أمر docker التالي

root@kitploit:~
docker run -p 7687:7687 -p 7474:7474 -v `pwd`/neo4j/data:/data -v `pwd`/neo4j/logs:/logs -e NEO4J_AUTH=neo4j/test neo4j:3.5.17

ملاحظة: الأمر أعلاه يحتفظ ببيانات neo4j على قرصك. ومع ذلك، لا تتردد في التعديل حسب احتياجاتك وتغيير بيانات المصادقة وفقًا لتفضيلاتك. يجب تكوين بيانات الاعتماد المقدمة هنا في ملف Aaia.conf أيضًا.

2. التثبيت باستخدام الملف الثنائي

التعليمات هنا

قم بإعداد اسم المستخدم وكلمة المرور وURI اتصال bolt في ملف Aaia.conf. تم تقديم تنسيق مثال في ملف Aaia.conf بالفعل.

ملاحظة: تم اختبار Aaia مع neo4j الإصدار 3.5.17. قد يعمل مع الإصدارات الأقدم. قدمت Neo4j بعض التغييرات الجديدة بعد الإصدار 4.0 والتي تبين أنها غير متوافقة مع قاعدة الشيفرة الحالية لـ Aaia.

تثبيت تبعيات نظام التشغيل

Debian :-

apt-get install awscli jq

Redhat / Fedora / Centos / Amazon Linux :-

yum install awscli jq

ملاحظة:

هذه الحزم ضرورية لسكريبت Aaia_aws_collector.sh. تأكد من وجود هذه الحزم في النظام الأساسي الذي يتم تشغيل سكريبت الجمع منه.

استنساخ هذا المستودع

git clone https://github.com/rams3sh/Aaia

cd Aaia/

إنشاء بيئة افتراضية

python3 -m venv env

تفعيل البيئة الافتراضية

source env/bin/activate

ملاحظة: يعتمد Aaia على مكتبة pyjq والتي ليست مستقرة في Windows حاليًا. وبالتالي، لا يتم دعم Aaia لنظام Windows.

تثبيت الاعتماديات

python -m pip install -r requirements.txt

استخدام Aaia

إعداد الأذونات في AWS

ستتطلب Aaia الأذونات التالية في AWS لسكريبت الجمع لجمع البيانات ذات الصلة من AWS

root@kitploit:~
iam:GenerateCredentialReport
iam:GetCredentialReport
iam:GetAccountAuthorizationDetails
iam:ListUsers
iam:GetUser
iam:ListGroups
iam:ListRoles
iam:GetRole
iam:GetPolicy
iam:GetAccountPasswordPolicy
iam:GetAccountSummary
iam:ListAccountAliases
organizations:ListAccountsForParent
organizations:ListOrganizationalUnitsForParent
organizations:DescribeOrganization
organizations:ListRoots
organizations:ListAccounts
organizations:ListTagsForResource
organizations:ListPolicies
organizations:ListTargetsForPolicy
organizations:DescribePolicy
organizations:ListAWSServiceAccessForOrganization

يمكن حذف الأذونات المتعلقة بـ "Organizations". ومع ذلك، فإن جميع أذونات "IAM" المذكورة أعلاه ضرورية.

تأكد من أن الأذونات متاحة للمستخدم / الدور / أي كيان AWS (principal) الذي سيتم استخدامه لجمع البيانات لسكريبت الجمع.

جمع البيانات من AWS

تأكد من أن لديك بيانات اعتماد AWS مكونة. راجع هذا للمساعدة.

بمجرد إعداد بيانات الاعتماد.

قم بتشغيل:-

root@kitploit:~
./Aaia_aws_collector.sh <profile_name>

تأكد من أن تنسيق مخرجات ملف تعريف aws المستخدم لجمع البيانات مضبوط على json حيث أن Aaia تتوقع أن تكون البيانات المجمعة بتنسيق json.

ملاحظة:-

في حالة وجود متطلبات حيث يجب جمع البيانات من مثيل آخر؛ قم بنسخ ملف "Aaia_aws_collector.sh" إلى المثيل البعيد، وقم بتشغيله وانسخ مجلد "offline_data" الناتج إلى مسار Aaia في المثيل الذي تم إعداد Aaia فيه واستمر في الخطوات التالية. سيكون هذا مفيدًا في حالات الاستشارات أو تدقيق العملاء.

تحميل البيانات المجمعة إلى قاعدة بيانات Neo4j

root@kitploit:~
python Aaia.py -n <profile_name> -a load_data

-n يدعم قيمة "all" والتي تعني تحميل جميع البيانات المجمعة والموجودة داخل مجلد offline_data.

ملاحظة:

يرجى التأكد من عدم وجود ملف تعريف باسم "all" في ملف بيانات الاعتماد حيث قد يتعارض مع الوسيطة. :P

الآن نحن مستعدون لاستخدام Aaia.

تدقيق IAM من خلال وحدة مخصصة

حاليًا، تم تقديم وحدة نموذجية كمثال هيكلي. يمكن اعتبار هذا كمرجع لبناء وحدات مخصصة.

root@kitploit:~
python Aaia.py -n all -m iam_sample_audit

شكر لـ

Aaia متأثر ومستوحى من العديد من المشاريع مفتوحة المصدر الرائعة. تحية كبيرة إلى:-

  • Cloudmapper
  • Cartography
  • BloodHound

Aaia قيد التشغيل

asciicast

لقطات الشاشة

عرض نموذجي لـ IAM لحساب AWS وهمي

صورة للعرض البصري لـ AWS IAM في Neo4j

صورة لنتيجة استعلام AWS IAM البصري

صورة لنتيجة استعلام AWS IAM البصري

المهام المتبقية

  • كتابة وثائق مفصلة لفهم مخطط قاعدة بيانات Neo4j الخاص بـ Aaia
  • كتابة وثائق مفصلة لتطوير وحدات مخصصة لـ Aaia
  • كتابة وحدات مخصصة لتقييم 28 طريقة لتصعيد الامتيازات في AWS التي حددتها RhinoSecurity.
  • تقديم ورقة غش (cheatsheet) من الاستعلامات لتحديد المشكلات البسيطة في AWS IAM
  • توسيع Aaia ليشمل موفري سحابة آخرين
تنزيل الأداة