Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
adaptix-serverless-c2 — إضافة نقل C2 بدون خادم لـ AdaptixC2 v1.2 باستخدام AWS Lambda + DynamoDB كبنية تحتية للترحيل. | Kitploit
أدوات/GitHubGitHub/stillbigjosh/adaptix-serverless-c2
أمن البنية التحتية السحابيةأطر اختبار الاختراقأطر الاستغلالآليات الاستمراريةالبرمجة النصية والأتمتةأمن الخوادمما بعد الاستغلالأمن السحابة

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
القيادة والسيطرة
الفريق الأحمر
تطوير الحمولات
GitHubstillbigjosh/adaptix-serverless-c2

adaptix-serverless-c2

إضافة نقل C2 بدون خادم لـ AdaptixC2 v1.2 باستخدام AWS Lambda + DynamoDB كبنية تحتية للترحيل.

عرض المستودع
304102منذ 8 أيامتمت المراجعة من قبل Kitploit
مشاركة

Adaptix Serverless C2

طوبولوجيا Severless C2

إضافة نقل Serverless C2 لـ AdaptixC2 v1.2 باستخدام AWS Lambda + DynamoDB كبنية تحتية للترحيل. تظهر حركة مرور الوكيل كـ HTTPS صادر إلى نقاط نهاية AWS، دون الحاجة إلى منافذ واردة أو عناوين IP عامة على خادم C2.

البنية

Kharon Agent (target)
    |
    | HTTPS GET/POST (outbound only, randomly alternated)
    v
AWS Lambda Function URL (stateless relay)
    |
    | Store inbound / Poll outbound (up to 8s)
    v
DynamoDB (inbound + outbound tables)
    ^
    | Poll every 5 seconds
    |
Listener Plugin (inside AdaptixC2)
    |
    | TsAgent API + TsExtenderData (key persistence)
    v
AdaptixC2 Teamserver + UI

تدفق البيانات:

  1. يرسل وكيل Kharon تسجيل وصول مشفّرًا عبر HTTPS إلى Lambda Function URL
  2. يخزّن Lambda البيانات الخام في جدول DynamoDB inbound
  3. يستعلم Lambda من جدول outbound لمدة تصل إلى 8 ثوانٍ (لسدّ الفجوة غير المتزامنة الخاصة بالتسجيل)
  4. إذا وُجد رد، يعيده Lambda ويضع عليه علامة "تم التسليم"
  5. تستعلم إضافة مستمع AdaptixC2 من جدول DynamoDB inbound بحثًا عن السجلات غير المعالجة
  6. يحلّل المستمع بروتوكول Kharon السلكي (مشفّر بـ LokyCrypt)، ويسجّل الوكيل أو يحدّثه
  7. عندما يصدر المشغّل أوامر، يشفّرها المستمع بصيغة Kharon ويخزّنها في outbound
  8. عند تسجيل الوصول التالي، يعيد Lambda الرد إلى الوكيل

المكوّنات

المكوّنالمسارالغرض
وكيل Kharonagent/غرسة Kharon المضمّنة (شفرة مصدرية C++)
Terraformdeploy/aws/بنية Lambda + DynamoDB + IAM + KMS التحتية
مرحّل Lambdadeploy/aws/lambda/وسيط HTTP إلى DynamoDB عديم الحالة مع استعلام صادر
إضافة المستمعlistener/إضافة AdaptixC2، واستعلام DynamoDB، وجسر بروتوكول Kharon
إعدادات Kharonkharon/تسجيل أوامر AXS وإعدادات موسّعات الوكيل/المستمع
التصحيحاتpatches/تصحيحات شفرة AdaptixC2 المصدرية لدعم BeaconServerless
الملفات التعريفيةprofiles/ملف HTTP التعريفي القابل للتشكيل لعنوان Lambda URL
السكربتاتscripts/التثبيت، والبناء، والنشر، وإلغاء التثبيت

المتطلبات المسبقة

  • حساب AWS مع بيانات اعتماد مُهيّأة (aws configure)
  • Terraform >= 1.5.0
  • Go >= 1.23 (تتطلب إضافة المستمع مطابقة GOEXPERIMENT مع ثنائي الخادم)
  • AdaptixC2 v1.2 مثبّت
  • clang++ مع أهداف mingw: apt install clang lld
  • مُجمّع NASM: apt install nasm
  • objcopy: apt install binutils-mingw-w64-x86-64

إعداد حساب AWS

1. إنشاء مستخدم IAM للنشر

في وحدة تحكم AWS:

  1. انتقل إلى IAM > Users > Create user
  2. سمّه adaptix-deployer
  3. اختر Attach policies directly
  4. أرفق سياسات AWS المُدارة التالية:
    • AmazonDynamoDBFullAccess
    • AWSLambda_FullAccess
    • IAMFullAccess
    • CloudWatchLogsFullAccess
  5. أضف سياسة مضمّنة لـ KMS:
    • انقر Add permissions > Create inline policy > JSON
    • الصق: {"Version":"2012-10-17","Statement":[{"Effect":"Allow","Action":"kms:*","Resource":"*"}]}
    • سمّها KMSFullAccess
  6. أنشئ المستخدم، ثم انتقل إلى Security credentials > Create access key
  7. اختر Command Line Interface (CLI)
  8. احفظ Access Key ID و Secret Access Key

2. تهيئة AWS CLI

aws configure
# AWS Access Key ID: <paste access key>
# AWS Secret Access Key: <paste secret key>
# Default region: us-east-1
# Default output format: json

تحقّق:

aws sts get-caller-identity

التثبيت

الخطوة 1: نشر البنية التحتية على AWS

# Build the Lambda relay binary (cross-compiled for Amazon Linux)
./scripts/build_relay.sh

# Deploy Lambda + DynamoDB + IAM with Terraform
./scripts/deploy_infra.sh

# Note the Lambda Function URL from the output, e.g.:
# lambda_function_url = "https://xxxxx.lambda-url.us-east-1.on.aws"

الخطوة 2: تثبيت الإضافة في AdaptixC2

./scripts/install.sh /path/to/AdaptixC2

سيقوم هذا السكربت بما يلي:

  1. عمل نسخة احتياطية من دليل dist/ الخاص بك (الشهادات، قاعدة البيانات، الملف الشخصي)
  2. تطبيق تصحيحات المصدر لدعم موصل BeaconServerless
  3. اكتشاف أعلام GOEXPERIMENT من ملف السيرفر الثنائي
  4. بناء إضافة المستمع (.so) بالأعلام المطابقة
  5. إعادة بناء سيرفر AdaptixC2 والإضافات
  6. استعادة ملفاتك الاحتياطية (الشهادات، قاعدة البيانات، الملف الشخصي)
  7. تثبيت إضافة المستمع بدون سيرفر + إعدادات إضافة Kharon
  8. إنشاء/تحديث خدمة systemd
  9. إعادة تشغيل AdaptixC2

الخطوة 3: إعداد المستمع في واجهة الرسوميات

  1. سجّل الدخول إلى واجهة الويب الخاصة بـ AdaptixC2
  2. انتقل إلى Listeners وأنشئ مستمعًا جديدًا من نوع BeaconServerless
  3. اضبط Lambda URL على Function URL من الخطوة 1
  4. اضبط Relay API Key (يجب أن يطابق relay_api_key في ملف terraform.tfvars الخاص بك)
  5. اختياريًا اضبط: AWS Region، Poll Interval (الافتراضي 5s)، TTL Hours (الافتراضي 24)
  6. ارفع الملف الشخصي القابل للتعديل من profiles/lambda_default.json
  7. ابدأ المستمع

الخطوة 4: توليد الحمولة وتنفيذها

  1. في واجهة الرسوميات، ولّد وكيل Kharon باختيار مستمع BeaconServerless
  2. اختر الصيغة (Exe، Dll، Svc) والبنية (x64)
  3. نفّذ الحمولة على الهدف
  4. يجب أن يتصل الوكيل خلال ثوانٍ

الإعداد

متغيرات Terraform (deploy/aws/terraform.tfvars)

region        = "us-east-1"
function_name = "adaptix-relay"
relay_api_key = "your-secret-key-here"
tags = {
  Project = "adaptix-serverless"
}

إعدادات المستمع (واجهة AdaptixC2 الرسومية)

الحقلالوصفالقيمة الافتراضية
AWS Regionالمنطقة التي تُنشر فيها البنية التحتيةus-east-1
Lambda URLعنوان URL للدالة من مخرجات Terraform(مطلوب)
Relay API Keyيجب أن يطابق relay_api_key في Terraform(اختياري)
Inbound Tableجدول DynamoDB لتسجيلات دخول الوكلاءadaptix-inbound
Outbound Tableجدول DynamoDB لردود الخادمadaptix-outbound
Poll Intervalعدد مرات فحص DynamoDB (بالثواني)5
TTL Hoursانتهاء صلاحية سجلات DynamoDB24

تفاصيل تقنية رئيسية

بروتوكول Kharon Wire

يستخدم وكيل Kharon بروتوكولًا ثنائيًا مخصصًا فوق HTTP:

  • وكيل جديد (التسجيل): [36-byte UUID][encrypted_checkin_data][16-byte LokyCrypt key]
  • وكيل متصل (GetTask): [36-byte UUID][encrypted_payload] (بدون مفتاح لاحق)
  • وكيل غير متصل (key stomping): عندما تكون الحمولة صغيرة، يتداخل المفتاح ذو 16 بايت عند TotalLen-16 مع منطقة UUID. بالنسبة لحزمة بحجم 44 بايت، يبدأ المفتاح عند الإزاحة 28، مما يطمس بايتات UUID من 28 إلى 35 وجميع البيانات المشفرة.

يكتشف المستمع التنسيقات الثلاثة جميعها ويتعامل معها بشكل صحيح.

حلقة الاستقصاء الصادرة في Lambda

تعني الطبيعة غير المتزامنة لـ Lambda + DynamoDB أن المستمع لم يكن قد عالج سجل الدخول عندما تتحقق Lambda من وجود رد لأول مرة. تستقصي Lambda جدول الصادر لمدة تصل إلى 8 ثوانٍ بعد تخزين سجل دخول، مما يمنح المستمع وقتًا لمعالجة الرد وإضافته إلى قائمة الانتظار. هذا أمر بالغ الأهمية للتسجيل (يجب أن يصل رد Checkin أثناء مرحلة Checkin، وليس في GetTask لاحقًا).

استمرارية المفاتيح

تُحفظ مفاتيح تشفير الوكيل عبر TsExtenderDataSave/TsExtenderDataLoad (مدعومة بـ SQLite). ويستمر هذا عبر إعادة تشغيل الخدمة. عند إعادة التشغيل، يستعيد المستمع المفاتيح من المخزن الدائم عندما يصادف معرّف وكيل معروفًا.

معالجة GET/POST

يتبادل Kharon بشكل عشوائي بين طلبات GET وPOST (HTTP_METHOD_USE_BOTH). تضع طلبات GET البيانات في معامل الاستعلام id (مُشفّر بـ base64 وفقًا للملف التعريفي). وتضع طلبات POST بيانات ثنائية خام في جسم HTTP. تتعامل Lambda مع كليهما بشفافية.

OPSEC

  • جميع حركة الوكيل صادرة عبر HTTPS إلى نقاط نهاية *.lambda-url.*.on.aws
  • لا حاجة إلى منافذ دخول على خادم C2
  • تنتهي صلاحية سجلات DynamoDB تلقائيًا عبر TTL
  • سجلات CloudWatch مشفرة بـ KMS مع احتفاظ لمدة 3 أيام
  • يصادق مرحّل Lambda عبر ترويسة مفتاح API
  • فكّر في استخدام نطاق مخصص مع CloudFront لتضليل النطاق
  • تضيف حلقة الاستقصاء في Lambda زمن استجابة يتراوح بين 0 و8 ثوانٍ

إلغاء التثبيت

# Remove plugin from AdaptixC2
./scripts/uninstall.sh /path/to/AdaptixC2
تنزيل الأداة