
حزمة بايثون تُستخدم لتنفيذ اختبارات Atomic Red Team (Atomics) عبر بيئات أنظمة تشغيل متعددة.
تُستخدم حزمة Python هذه لتنفيذ اختبارات فريق الأحمر الذري (Atomics) عبر بيئات أنظمة تشغيل متعددة.
يتيح atomic-operator لمحترفي الأمن اختبار قدراتهم في الكشف والدفاع ضد التقنيات المحددة داخل atomic-red-team. باستخدام إطار اختبار مثل atomic-operator، يمكنك تحديد قدراتك الدفاعية وكذلك الفجوات في التغطية الدفاعية.
بالإضافة إلى ذلك، يمكن استخدام atomic-operator في العديد من المواقف الأخرى مثل:
iaas:awsinput_arguments كمدخلات للاختبارات عبر سطر الأوامرatomic-operator هي حزمة Python فقط مستضافة على PyPi وتعمل مع Python 3.6 والإصدارات الأحدث.
إذا كنت تبحث عن إصدار PowerShell، فراجع Invoke-AtomicRedTeam.
pip install atomic-operator
الخطوات التالية ستوجهك خلال إعداد وتشغيل atomic-operator.
يمكنك تثبيت atomic-operator على OS X أو Linux أو Windows. يمكنك أيضًا تثبيته مباشرة من المصدر. للتثبيت، انظر الأوامر أسفل عنوان نظام التشغيل المناسب أدناه.
المكتبات التالية مطلوبة ويتم تثبيتها بواسطة atomic-operator:
pyyaml==5.4.1
fire==0.4.0
requests==2.26.0
attrs==21.2.0
pick==1.2.0
pip install atomic-operator
git clone https://github.com/swimlane/atomic-operator.git
cd atomic-operator
# حل خطأ ModuleNotFoundError: No module named 'setuptools_rust'
brew install rust
pip3 install --upgrade pip
pip3 install setuptools_rust
# العودة إلى برنامجنا المعتاد . . .
pip install -r requirements.txt
python setup.py install
git clone https://github.com/swimlane/atomic-operator.git
cd atomic-operator
pip install -r requirements.txt
python setup.py install
يمكنك تشغيل atomic-operator من سطر الأوامر أو داخل نصوص Python الخاصة بك. لاستخدام atomic-operator في سطر الأوامر، ما عليك سوى إدخال ما يلي في الطرفية:
atomic-operator --help
atomic-operator run -- --help
يرجى ملاحظة أنه لرؤية تفاصيل حول أمر التشغيل، قم بتشغيل
atomic-operator run -- --helpوليسatomic-operator run --help
لاستخدام atomic-operator يجب أن يكون لديك اختبار واحد أو أكثر من atomic-red-team (Atomics) على نظامك المحلي. يوفر لك atomic-operator القدرة على تنزيل مستودع فريق الأحمر الذري. يمكنك القيام بذلك عن طريق تشغيل ما يلي في سطر الأوامر:
atomic-operator get_atomics
# يمكنك تحديد دليل الوجهة باستخدام العلامة --destination
atomic-operator get_atomics --destination "/tmp/some_directory"
لتشغيل اختبار، يجب عليك توفير بعض الخصائص الإضافية (والخيارات إذا رغبت في ذلك). الطريقة الرئيسية لتشغيل الاختبارات تسمى run.
# هذا سيشغل جميع الاختبارات المتوافقة مع نظام التشغيل المحلي لديك
atomic-operator run --atomics-path "/tmp/some_directory/redcanaryco-atomic-red-team-3700624"
يمكنك تحديد اختبارات فردية عند توفير تقنية واحدة أو أكثر. على سبيل المثال، تشغيل ما يلي في سطر الأوامر:
atomic-operator run --techniques T1564.001 --select_tests
سيطالب المستخدم بقائمة اختيار للاختبارات المرتبطة بتلك التقنية. يمكن للمستخدم اختيار اختبار واحد أو أكثر باستخدام مفتاح المسافة لتمييز الاختبار المطلوب:
تحديد الاختبار (الاختبارات) للتقنية T1564.001 (إخفاء القطع الأثرية: الملفات والأدلة المخفية)
* إنشاء ملف مخفي في دليل مخفي (61a782e5-9a19-40b5-8ba4-69a4b9f3d7be)
Mac Hidden file (cddb9098-3b47-4e01-9d3b-6f5f323288a9)
Create Windows System File with Attrib (f70974c8-c094-4574-b542-2c545af95a32)
Create Windows Hidden File with Attrib (dadb792e-4358-4d8d-9207-b771faa0daa5)
Hidden files (3b7015f2-3144-4205-b799-b05580621379)
Hide a Directory (b115ecaf-3b24-4ed2-aefe-2fcb9db913d3)
Show all hidden files (9a1ec7da-b892-449f-ad68-67066d04380c)
ما يلي سيتيح لك توفير وسائط إدخال مخصصة للاختبارات. يمكنك القيام بذلك عن طريق توفير قاموس من المفاتيح والقيم كقاموس لمعامل input_arguments في طريقة التشغيل.
atomic-operator run --techniques T1564.001 --input_arguments '{"project-id": "some_value", "another_key": "another value"}'
# يرجى تضمين علامات الاقتباس المفردة حول قيمة input_arguments.
لتشغيل اختبار عن بُعد، يجب عليك توفير بعض الخصائص الإضافية (والخيارات إذا رغبت في ذلك). الطريقة الرئيسية لتشغيل الاختبارات تسمى run.
# هذا سيشغل جميع الاختبارات المتوافقة مع نظام التشغيل المحلي لديك
atomic-operator run --atomics-path "/tmp/some_directory/redcanaryco-atomic-red-team-3700624" --hosts "10.32.1.0" --username "my_username" --password "my_password"
عند تشغيل الأوامر عن بُعد ضد مضيفات Windows قد تحتاج إلى تكوين PSRemoting. راجع التفاصيل هنا: Windows Remoting
يمكنك رؤية المعاملات الإضافية عن طريق تشغيل الأمر التالي:
atomic-operator run -- --help