
إطار عمل للقيادة والتحكم (C2) يعمل عبر DNS فقط، مع وكيل لنظام Windows، وتوليد الحمولات، وتنفيذ شل عن بُعد، وحقن شيل كود، ودعم وكيل SOCKS5 للعمليات الخفية.

WAREED هو إطار تحكم وأوامر (C2) يستخدم بروتوكول DNS للاتصالات الآمنة بين الخادم والهدف. صُمم لتقليل التواصل والحد من تبادل البيانات، وهو مصمم ليكون C2 من المرحلة الأولى للبقاء في الأجهزة التي لا تملك وصولاً إلى الإنترنت عبر HTTP/HTTPS، ولكن يُسمح لها باستخدام DNS.
تم التطوير بواسطة: @Fsalabduljabbar

بينما تدعم العديد من أطر التحكم والأوامر (C2) بروتوكول DNS كبروتوكول نقل، إلا أنها مصممة في الغالب لـ HTTP/HTTPS. غالبًا ما يؤدي نقل هذه الأطر إلى DNS إلى عمليات أبطأ وأقل استقرارًا. ونظرًا للتحديات العديدة مع عدم استقرار هذه الأطر في معاملات DNS، اضطررت إلى إنشاء حل مصمم خصيصًا لـ DNS. والنتيجة هي Wareed—إطار C2 يعمل بـ DNS فقط. هذا التركيز المتخصص يؤدي إلى تشغيل أكثر استقرارًا وكفاءة، مما يجعل Wareed أسرع وأكثر موثوقية مقارنة بأطر C2 التقليدية غير المصممة أساسًا لـ DNS. وهذا يجعل Wareed خيارًا مثاليًا للبيئات التي يُسمح فيها بحركة مرور DNS ولكن يُقيَّد فيها HTTP/HTTPS.
تم تطويره باستخدام ثلاث لغات برمجة:
شرح الأسماء:
Hams (همس) تعني "whisper" (الهمس) باللغة العربية
Wareed (وريد) تعني "vein" (الوريد) باللغة العربية
Ather (أثر) تعني "trace" (الأثر) باللغة العربية
الخطوة 1: استنسخ مستودع Wareed:
git clone https://github.com/Faisal-P27/WAREED-DNS-C2.git
الخطوة 2: شغّل سكربت الإعداد:
cd WAREED-DNS-C2
chmod +x Run.sh
sudo ./Run.sh setup
إذا اكتملت عملية الترجمة بنجاح، فسيتم إنشاء ملفين تنفيذيين في نفس الدليل:
كما سيتحقق من حالة ترجمة الوكيل (Agent). وفي حال نجاحها، يؤكد ذلك أن الوكيل جاهز للنشر والتشغيل، وهو أمر بالغ الأهمية لعمل Wareed C2.
{
"magic_value": "cdn",
"domains": ["2.example.net"],
"listener_port": "111",
"sleep": 5,
"jitter": 50,
"lookup_delay": 5,
"default_dns_server": "1.1.1.1"
}
magic_value: يجب أن يساوي طوله 3.
إعداد DNS: لتشغيل Wareed، من الضروري امتلاك اسم نطاق صالح. بعد الحصول على نطاق، يجب إعداد سجلّي DNS للإشارة إلى المُوجّه (Redirector):

إعداد المُوجّه:
سيتعامل المُوجّه مع حركة مرور DNS الواردة على المنفذ 53 ويعيد توجيهها إلى خادم الفريق. لتحقيق ذلك، نفّذ أوامر iptables التالية على جهاز المُوجّه (R1):
iptables -I INPUT -p udp -m udp --dport 53 -j ACCEPT
يقوم هذا الأمر بتكوين جدار الحماية لقبول حزم UDP الواردة على المنفذ 53، وهو المنفذ القياسي لطلبات DNS.
iptables -t nat -A PREROUTING -p udp --dport 53 -j DNAT --to-destination [TeamServer IP]:[teamserver listener port]
استبدل [TeamServer IP] بعنوان IP الفعلي لخادم فريقك و[teamserver listener port] برقم المنفذ الذي يستمع عليه خادم فريقك. يوجّه هذا الأمر كل حركة المرور الواصلة إلى المنفذ 53 إلى عنوان IP والمنفذ المحددين لخادم الفريق.

لتشغيل خادم Wareed Team لأول مرة، تحتاج إلى تحديد ملف الإعداد بالإضافة إلى كلمة مرور العميل والمنفذ الذي سيستمع عليه العميل. استخدم الأمر التالي لتشغيل خادم Wareed Team:
sudo ./WareedServer [Client Password] [Client Port Listener] [Path to configuration file]
لتشغيل عميل Ather بواجهة رسومية، ببساطة
./Ather
عند تشغيل الأمر، ستظهر نافذة جديدة تحتوي على صفحة تسجيل دخول.

بيانات تسجيل الدخول: في صفحة تسجيل الدخول التي تظهر:
النافذة الرئيسية لـ Wareed:

لإنشاء حمولة جديدة باستخدام عميل Ather بواجهة رسومية، اتبع الخطوات التالية:
الانتقال إلى إنشاء الحمولة:
Payload > Generate > Windows. سيؤدي تحديد هذا الخيار إلى فتح نافذة جديدة مخصصة لإنشاء الحمولة.
بعد إنشاء حمولة جديدة، يتم تسجيل جلسة ضيف جديدة تلقائيًا لدى خادم الفريق. تضمن عملية التسجيل هذه أن هذه الجلسة المحددة فقط هي التي يمكنها الاتصال بخادم الفريق. تستخدم معرّفًا فريدًا و'قيمة سحرية' للمصادقة على الجلسة والسماح بها. تضمن هذه الآلية اتصالًا آمنًا وخاضعًا للتحكم بين الحمولة المنشأة حديثًا وخادم الفريق.

بعد تنفيذ الحمولة على جهاز يعمل بنظام Windows، ستبدأ في إنشاء استعلامات DNS للتسجيل لدى خادم الفريق. وتحدث عملية التسجيل هذه في غضون ثوانٍ، وعادةً ما تتضمن إنشاء ما بين 3 إلى 5 استعلامات DNS.
