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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
rt_redirectors — دور Ansible لإعداد redirectors لـ C2 الخاصة بالفريق الأحمر | Kitploit
أدوات/GitHubGitHub/tevora-threat/rt_redirectors
أمن البنية التحتية السحابيةالبرمجة النصية والأتمتةاختبار الاختراقDevSecOpsالقيادة والسيطرةالفريق الأحمر
GitHubtevora-threat/rt_redirectors

rt_redirectors

دور Ansible لإعداد redirectors لـ C2 الخاصة بالفريق الأحمر

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

الأكثر شعبية

عرض الكل →

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

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

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

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

دور Ansible يتيح نشر redirector بسرعة على خادم موجود باستخدام قواعد وكيل mod_rewrite،

يدعم Debian وUbuntu، وتم اختباره على Digital Ocean وAzure

انظر threat.tevora.com/automating-redirector-deployment-with-ansible للحصول على مدونة تستعرض الـ redirectors وAnsible وتتعمق في هذا الدور

للبدء، استنسخ هذا المستودع، ثبّت Ansible، وضع هذا المستودع في مجلد roles. انظر نموذج الـ Playbook أدناه للحصول على مثال حول كيفية بناء إعداد مثيل redirector الخاص بك

نموذج Playbook للمثيل provision_redirector_example.yml

root@kitploit:~
- hosts: EnigmaticEmu
  gather_facts: False
  user: root
  pre_tasks:
  - name: Install python for Ansible
    raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)
    changed_when: False
  - setup: # aka gather_facts 
  tasks: 
  - include_role:
      name: redirectors
    vars:
      le_email: '[email protected]'
      hop_dir: hops/empire_hop
      vhosts: [
        {
          servername: 'fakeamazon.com',
          http_port: 80,
          https_port: 443,
          c2filters: [
            {
              rewritefilter: '^/orders/track/?$',
              host: '123.124.125.126'
            }
          ],
          configs: [ 
            'RewriteRule !\.php$ https://www.amazon.com/%{REQUEST_URI} [L,R=302]'
          ]
        },
 {
          servername: 'fakegoogle.com',
          http_port: 80,
          https_port: 443,
          config_files: [
            "redirectors.txt",
            "apache_tweaks.conf"
          ],
        }
      ] 

تفصيل المثال:

  • - hosts: EnigmaticEmu يحدد هذا المضيفين الذين سينفّذ عليهم الـ Playbook. لكي يُنفَّذ هذا الـ Playbook بشكل صحيح، يجب استخدام ملف جرد (inventory) يتضمن اسم المضيف أو عنوان IP الخاص بـ engigmatic emu.

  • gather_facts: False مهمة gather facts الخاصة بـ Ansible تتعطّل على الإصدارات الأحدث من Ubuntu التي لا تحتوي على Python 2 مثبّتًا. نعطّل gather facts حتى نتمكن من تثبيت Python 2 أولًا. هذا مجرد إجراء توافق تمهيدي (compatibility bootstrap).

  • user: root يحدد هذا المستخدم الذي ستسجّل الدخول به إلى الخادم البعيد؛ ينفّذ Ansible جميع إعداداته عبر SSH. غيّره إلى أي مستخدم تريد استخدامه. *إذا كنت بحاجة إلى صلاحيات sudo، قد تحتاج إلى إضافة become: true واستدعاء ansible-playbook مع --ask-become-pass

  • pre_tasks:

    • تقوم هذه الأسطر بتثبيت Python 2 إذا لم يكن موجودًا وتشغيل gather facts tasks: الآن وصلنا إلى الجزء الممتاز، مهام الـ Playbook!
  • - include_role: كما تتوقع، يحدد هذا دورًا لتضمينه، والسطر التالي name: redirectors يحدد تضمين دور redirectors الخاص بنا

  • vars: هنا نقوم بالجزء الأساسي من إعدادنا. يحتوي إعدادنا على ثلاثة متغيرات: le_email وhop_dir وvhosts يُستخدم le_email لتحديد عنوان البريد الإلكتروني الذي نستخدمه لـ lets_encrypt، تأكد من استخدام بريد تملكه تذكّر hop_dir الذي استخدمناه في مهمة النسخ في دورنا؟ هنا يتم تعريفه! يجب أن يكون مجلد hop موجودًا في ./files/ نسبةً إلى موقع ملف الـ Playbook نفسه

قمنا بتنسيق هذا الإعداد غالبًا بصيغة JSON (YAML هي مجموعة شاملة من JSON) لكن يمكنك تنسيقه بالطريقة التي تريدها طالما أنه متوافق مع بعضه.

لاحظ في الإعداد وجود عدة vhosts، ويمكن لكل واحد استخدام طريقة أو أكثر لتحديد كيفية حقنه في قوالب الإعداد.

ننشئ ملف إعداد واحدًا لكل vhost لأن Letsencrypt، وتحديدًا مكوّن certbot-apache، لا يدعم أكثر من vhost واحد في ملف الإعداد. ولهذا سنقوم بتجهيز عدة ملفات إعداد على الخادم.

تشغيل الـ Playbook

لتشغيل الدور، أنشئ ملف الـ Playbook الخاص بك على شكل المثال الذي تناولناه، ثم نفّذ الأمر ansible-playbook -i <your_hosts_file> <your_playbook>. تأكد من أن هذا الدور موجود في مجلد roles في نفس مسار ملف الـ Playbook، وأن ملفات الـ hop و/أو الإعداد موضوعة في المكان الصحيح. يجب أن يبدو هيكل الدليل كما يلي:

root@kitploit:~
├── my_playbook.yml
├── files
│   └── empire_hop
│       └── news
│           └── login.php
└── roles
    ├── redirectors
    │   ├── files
    │   ├── handlers
    │   │   └── main.yaml
    │   ├── meta
    │   ├── tasks
    │   │   ├── apache.yml
    │   │   ├── letsencrypt.yml
    │   │   └── main.yml
    │   ├── templates
    │   │   ├── apache_sslvhost.conf.j2
    │   │   └── apache_vhost.conf.j2
    │   └── vars
تنزيل الأداة
  • hosts: [...] متغير vhosts لدينا هو قائمة من قواميس إعدادات vhost. يتيح لنا هذا إعداد عدة vhosts بنطاقات مختلفة وملفات تعريف C2 لكل خادم. تذكّر أن هذا المتغير عبارة عن قائمة، فسيكون ذلك مهمًا في طريقة قولبة ملفات الإعداد والطرق الأخرى التي نستخدم بها هذه المتغيرات في دور redirectors.

  • servername: 'fakeamazon.com' هذا هو اسم مضيف خادمنا، ويجب أن يكون لديك سجل DNS لهذا الاسم يشير إلى عنوان IP الخاص بالخادم.

  • http_port وhttps_port واضحان بذاتهما إلى حد كبير. اختر المنافذ التي سيستمع عليها http وhttps.

  • لاحظ قبل أن نكمل أن لدينا طرقًا متعددة لتعريف قواعد mod rewrite في الإعداد. يعود هذا غالبًا إلى التجريب، وخطة لدمج هذا الـ Playbook مع واجهة برمجية Python API

  • c2filters: [...] قائمة من قواميس c2filter أي طلب يتطابق URI الخاص به مع rewritefilter سيتم تمرير اتصاله عبر الوكيل إلى host

  • configs[...] قائمة من سلاسل الإعداد كل سلسلة ستُضاف إلى الملف.

  • config_files[...] اسم ملف أو مسار قائمة بأسماء الملفات أو المسارات. سيُضاف محتوى كل ملف إلى Apache مفيد للاستفادة من مخرجات أدوات أتمتة mod_rewrite مثل أداة @Inspired-Secs الرائعة: https://blog.inspired-sec.com/archive/2017/04/17/Mod-Rewrite-Automatic-Setup.html