
إطار عمل C2 بلغة C# يركز على عمليات المرحلة الأولى
إطار عمل C2 بلغة C# يركز على عمليات المرحلة الأولى
يعتمد أطلس على تحقيق موطئ قدم داخل بيئة ثم استخدامه لتهريب أسلحة C# (حاليًا C# فقط) باستخدام غرسة تعتمد على HTTP. ليست آمنة تمامًا من حيث OPSEC في حالتها الحالية... على الإطلاق. تستهدف حاليًا بيئات ويندوز فقط.
ملاحظة: إعدادات الاتصال الافتراضية في الغرسة مضبوطة على الاتصال بـ localhost على المنفذ 8080، يمكن تغيير ذلك هنا
بعد إنشاء ملف exe للعميل و TeamServer والغرسة، ما عليك سوى تشغيل Teamserver.exe لبدء تشغيل TeamServer.
لبدء مستمع جديد، استخدم الأمر StartListener. يأخذ هذا الأمر معلمتين: اسم المستمع والمنفذ الذي سيعمل عليه.
الأمر Listeners يعرض جميع المستمعين، وViewListener يعيد بيانات عن المستمع المحدد، ويمكن استخدام RemoveListener لإزالة مستمع من القائمة.
يمكن سرد الغرسات المتصلة باستخدام الأمر Implants.
الاتصال بغرسة بسيط مثل Connect <ImplantId>. هل رأيت ما فعلته هناك؟...حسنًا، سأذهب. تمامًا كما يستخدم الأمر Connect لتحديد غرسة. يمكن استخدام ViewImplant لعرض مزيد من المعلومات عن الغرسة المحددة. الأمر Disconnect سيلغي تحديد الغرسة المحددة حاليًا كما هو موضح أدناه.
لاستخدام مهمة، يجب أولاً تحديد مهمة باستخدام SetTask. يمكن عرض الخيارات باستخدام TaskOpts وتعيينها باستخدام SetTaskOpt. يتم تنفيذ المهام باستخدام SendTask.
من الممكن عرض ناتج مهمة تم تشغيلها سابقًا باستخدام TaskOut. يمكن استخدام TasksOut لعرض جميع المهام السابقة المتعلقة بالغرسة المحددة.
يتيح أطلس للمشغلين تنفيذ أوامر PowerShell و Cmd باستخدام المهمتين PSShell و CMDShell على التوالي. PSShell يفتح مساحة تشغيل جديدة وينفذ الأمر بحيث حتى إذا كان powershell.exe مدرجًا في القائمة السوداء، يمكن تنفيذ أوامر PowerShell. هذه الطريقة تتجاوز أيضًا وضع اللغة المقيد. CMDShell يفتح عملية cmd.exe ويمرر الأمر إلى العملية. تم عرض تنفيذ أمر PowerShell أعلاه لذا لن يتم عرضه هنا أيضًا. ملاحظة جانبية عن CMDShell، تم تنفيذ العديد من الأوامر الشائعة بما في ذلك (على سبيل المثال لا الحصر) whoami و ipconfig و pwd و cd في وظائف الغرسة لتجنب الحاجة إلى تنفيذ هذه الأوامر عبر عملية cmd.exe.
تحميل التجميعات يتطلب بضع خطوات على عكس شيء مثل CobaltStrike الذي يفعل كل شيء باستخدام execute-assembly. أولاً، يجب على المشغل استخدام أداة ByteConvert (يجب إخبار ByteConvert ما إذا كان الملف محليًا أم بعيدًا) لتحويل ملف مخزن محليًا أو بعيدًا إلى مصفوفة بايت وتخزين ذلك في المتغير assemBytes. بمجرد الانتهاء، يتم استخدام المهمة Load لتحميل التجميعة في عملية الغرسة.
لعرض التجميعات المحملة في عملية الغرسة، يمكن للمشغلين استخدام المهمتين AssemQuery و AssemMethodQuery. الأولى تعيد جميع التجميعات المحملة بينما الثانية تعيد جميع الطرق العامة المتعلقة بتجميعة محملة.
تؤكد لقطة الشاشة أن تجميعة TestAssem قد تم تحميلها بالفعل في عملية الغرسة.
ثم يمكن استخدام AssemMethodQuery لإعادة معلومات عن TestAssem يمكن للمشغل استخدامها لإعادة المعلومات المستخدمة لتنفيذ الطرق العامة.
يقدم أطلس خيار تنفيذ تجميعة من نقطة الدخول الخاصة بها أو من طريقة مكشوفة محددة. يمكن استخدام ExecuteAssem للتنفيذ من نقطة الدخول. هذه المهمة تأخذ فقط اسم التجميعة. ExecuteAssemMethod يسمح بتنفيذ طرق أخرى باستخدام المعلومات التي تم جلبها من AssemMethodQuery.
للحصول على قائمة كاملة بالميزات، قم بزيارة الويكي
افتح ملف .sln وقم ببناء جميع المكونات الثلاثة في وضع الإصدار، ستظهر نوافذ وحدة التحكم وسيتم إنشاء ملفات exe في \bin\debug لكل مكون. يجب أن أعمل على شيء أفضل لهذا.
cpupload/downloadتم تصميم أطلس فقط للأغراض التعليمية/الأخلاقية. أنا لا أقر ولا أتحمل مسؤولية الإجراءات التي يتخذها مستخدمو أطلس.