
مجموعة أدوات خطاف للأنابيب المسماة في Windows
مشروع قائم على Frida لاعتراض اتصالات الأنابيب المسماة في Windows
يهدف هذا المشروع إلى اعتراض اتصالات IPC عن طريق ربط (Hooking) دوال معينة في WinAPI وإعادة توجيهها إلى وكيل HTTP باستخدام websocket.
القراءة من أنبوب مسمّى والكتابة إليه يمكن أن تتم في دوال مختلفة. في هذا القسم، يمثل WriteFile الكتابة إلى أنبوب مسمّى ويمثل ReadFile القراءة من أنبوب مسمّى.
عند الاعتراض، تتبع البيانات التي سيتم كتابتها هذا المخطط.
WriteFile --> frida hook --> python process --> websocket client --> HTTP Proxy --> websocket server --> python process --> frida hook --> WriteFile
على الجانب الآخر، تتبع البيانات التي سيقرؤها البرنامج هذا المخطط.
ReadFile --> frida hook --> python process --> websocket server --> HTTP Proxy --> websocket client --> python process --> frida hook --> ReadFile
سيستلم وكيل HTTP رسالة "to the server" عندما يكون الإجراء كتابة إلى أنبوب مسمّى، ورسالة "to the client" عندما يكون الإجراء قراءة من أنبوب مسمّى.
أضف وكيلاً على المنفذ 8090، يستمع على جميع الواجهات.
قم ببناء سكربت وكيل Frida باستخدام make build، سيكون الوكيل في agent/dist/.
backend/*.py و backend/requirements.txt (الواجهة الخلفية) و agent/dist/agent.js (الوكيل) إلى جهاز Windows.py -m pip install -r requirements.txtpy .\main.py <pid_of_target> .\agent.js --ws-port 9090 --ws-host <ip_of_windows> --http-proxy-port 8090 --http-proxy-host <ip_of_burp> --handle-regexes '.*' --log-level INFOالبيانات المرسلة إلى وكيل HTTP تتبع تنسيقًا محددًا موضحًا في docs/format.md، وتتوفر أدوات للتعامل مع هذا التنسيق المخصص في tools/.
تعديل البيانات الوصفية قد يؤدي إلى عدم قدرة المشروع على التعرف على الرسالة وتوجيهها بشكل صحيح إلى الأنبوب المسمّى الصحيح.
ينتظر سكربت Frida استجابة إلى أجل غير مسمى، لذلك يمكن أن تعلق العملية إلى أجل غير مسمى إذا قررت إسقاط الرسالة.
حقن رسائل جديدة غير مدعوم حاليًا في المشروع.
توفر Frida روابط TypeScript لتطوير الوكيل. بمجرد تثبيت devDependencies، يجب أن يتعرف VSCode على الأنواع تلقائيًا.
تم توفير هدف Makefile باسم make dev-env لتسهيل إعداد بيئة التطوير.