
Windows named pipe hooking toolkit
Frida-आधारित प्रोजेक्ट जो Windows नामित पाइप (named pipe) संचार को इंटरसेप्ट करता है
इस प्रोजेक्ट का उद्देश्य विशिष्ट WinAPI फ़ंक्शनों को हुक करके और उन्हें वेबसॉकेट का उपयोग करके HTTP प्रॉक्सी पर अग्रेषित करके IPC संचार को इंटरसेप्ट करना है।
नामित पाइप से पढ़ना और लिखना विभिन्न फ़ंक्शनों में हो सकता है। इस अनुभाग में, 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 पर एक प्रॉक्सी जोड़ें, जो सभी इंटरफेस पर सुन रही हो
make build का उपयोग करके frida agent स्क्रिप्ट बनाएँ, agent agent/dist/ में होगा
backend/*.py और backend/requirements.txt (backend) तथा agent/dist/agent.js (agent) को 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 INFOHTTP प्रॉक्सी को भेजा गया डेटा docs/format.md में परिभाषित एक विशिष्ट प्रारूप का पालन करता है, इस कस्टम प्रारूप में हेरफेर करने के लिए उपकरण tools/ में प्रदान किए गए हैं।
मेटाडेटा को संशोधित करने से प्रोजेक्ट की संदेश को पहचानने और सही नामित पाइप पर सही ढंग से रूट करने की क्षमता समाप्त हो सकती है।
Frida स्क्रिप्ट प्रतिक्रिया के लिए अनिश्चित काल तक प्रतीक्षा करती है, इसलिए यदि आप संदेश को छोड़ देते हैं तो प्रोसेस अनिश्चित काल तक हैंग हो सकती है।
नए संदेशों को इंजेक्ट करना वर्तमान में प्रोजेक्ट द्वारा समर्थित नहीं है।
Frida agent विकसित करने के लिए typescript बाइंडिंग प्रदान करता है। devDependencies स्थापित होने के बाद, VSCode को प्रकारों को स्वचालित रूप से पहचान लेना चाहिए।
आसानी से विकास वातावरण स्थापित करने के लिए एक Makefile लक्ष्य make dev-env प्रदान किया गया है।