
Direct Memory Access (DMA) हमला सॉफ्टवेयर
PCILeech PCIe हार्डवेयर उपकरणों का उपयोग करके लक्ष्य सिस्टम मेमोरी को पढ़ने और लिखने के लिए काम करता है। यह PCIe पर DMA का उपयोग करके प्राप्त किया जाता है। लक्ष्य सिस्टम पर किसी ड्राइवर की आवश्यकता नहीं है।
PCILeech बिना हार्डवेयर के भी काम करता है, साथ ही LeechCore लाइब्रेरी द्वारा समर्थित सॉफ्टवेयर मेमोरी अधिग्रहण विधियों की एक विस्तृत श्रृंखला के साथ - जिसमें DumpIt या WinPmem का उपयोग करके रिमोट लाइव मेमोरी कैप्चर करना शामिल है। PCILeech स्थानीय मेमोरी कैप्चर और कई मेमोरी डंप फ़ाइल प्रारूपों का भी समर्थन करता है।
PCILeech कई मेमोरी अधिग्रहण उपकरणों का समर्थन करता है। दोनों हार्डवेयर और सॉफ्टवेयर आधारित। USB3380 आधारित हार्डवेयर केवल 4GB मेमोरी को मूल रूप से पढ़ सकता है, लेकिन यदि पहले लक्ष्य सिस्टम कर्नेल में एक कर्नेल मॉड्यूल (KMD) डाला जाता है तो सभी मेमोरी पढ़ सकता है। FPGA आधारित हार्डवेयर और सॉफ्टवेयर आधारित विधियाँ सभी मेमोरी पढ़ सकती हैं।
PCILeech लक्षित कर्नेल में कर्नेल इम्प्लांट की एक विस्तृत श्रृंखला डालने में सक्षम है - जो "माउंटेड ड्राइव" के माध्यम से लाइव रैम और फ़ाइल सिस्टम तक आसान पहुँच की अनुमति देता है। लॉगऑन पासवर्ड आवश्यकता को हटाना, अहस्ताक्षरित ड्राइवर लोड करना, कोड निष्पादित करना और सिस्टम शेल प्राप्त करना भी संभव है। PCIleech Windows और Linux पर चलता है। समर्थित लक्ष्य सिस्टम वर्तमान में x64 संस्करण हैं: UEFI, Linux, FreeBSD और Windows। इसके लिए मेमोरी तक लेखन पहुँच की आवश्यकता होती है (USB3380 हार्डवेयर, FPGA हार्डवेयर, LiveCloudKd या CVE-2018-1038 "Total Meltdown")।
शुरू करने के लिए रिपॉजिटरी में स्रोतों को क्लोन करें या नवीनतम बाइनरी, मॉड्यूल और कॉन्फ़िगरेशन फ़ाइलें डाउनलोड करें।
PCILeech के लिए PushPin GUI फ्रंटएंड सामान्य RedTeam कार्यों को बहुत आसान बनाता है। ध्यान दें कि PushPin आधिकारिक PCILeech वितरण का हिस्सा नहीं है।







*) macOS High Sierra और इसके बाद के संस्करण समर्थित नहीं हैं।
PCILeech हार्डवेयर आधारित और सॉफ्टवेयर आधारित दोनों मेमोरी अधिग्रहण विधियों का समर्थन करता है। सभी मेमोरी अधिग्रहण LeechCore लाइब्रेरी द्वारा संभाला जाता है।
कृपया नीचे सूचीबद्ध समर्थित हार्डवेयर आधारित मेमोरी अधिग्रहण विधियों का सारांश देखें। सभी हार्डवेयर आधारित मेमोरी अधिग्रहण विधियाँ Windows और Linux दोनों पर समर्थित हैं। FPGA आधारित विधियाँ हालांकि Linux पर थोड़ी कम प्रदर्शन करती हैं और अधिकतम लगभग 90MB/s तक पहुँचती हैं, जबकि Windows पर 150MB/s है।
कृपया नीचे सूचीबद्ध समर्थित सॉफ्टवेयर आधारित मेमोरी अधिग्रहण विधियों का सारांश देखें। कृपया ध्यान दें कि LeechService केवल एक रिमोट LeechCore लाइब्रेरी से नेटवर्क कनेक्शन प्रदान करता है। एक बार कनेक्ट होने के बाद हार्डवेयर और सॉफ्टवेयर आधारित दोनों मेमोरी अधिग्रहण का उपयोग संभव है।
कृपया सुनिश्चित करें कि आपके पास PCILeech का सबसे नया संस्करण है, PCILeech GitHub रिपॉजिटरी पर जाकर: https://github.com/ufrisk/pcileech
नवीनतम रिलीज़ से नवीनतम बाइनरी, मॉड्यूल और कॉन्फ़िगरेशन फ़ाइलें प्राप्त करें। वैकल्पिक रूप से रिपॉजिटरी को क्लोन करें और स्रोत से बनाएँ।
कृपया Windows पर PCILeech चलाने के बारे में जानकारी के लिए PCILeech on Windows गाइड देखें।
यदि USB3380 हार्डवेयर का उपयोग किया जाता है तो Google Android USB ड्राइवर स्थापित करना होगा। Google Android USB ड्राइवर यहाँ से डाउनलोड करें: http://developer.android.com/sdk/win-usb.html#download ड्राइवर को अनज़िप करें।
यदि FPGA का उपयोग FT601 USB3 ऐड-ऑन कार्ड या PCIeScreamer के साथ किया जाता है तो FTDI ड्राइवर स्थापित करने होंगे। FTDI से 64-bit FTD3XX.dll डाउनलोड करें और इसे pcileech.exe के साथ रखें।
Windows में लाइव रैम और लक्ष्य फ़ाइल सिस्टम को ड्राइव के रूप में माउंट करने के लिए Dokany2 फ़ाइल सिस्टम लाइब्रेरी स्थापित होनी चाहिए। कृपया Dokany2 का नवीनतम स्थिर संस्करण यहाँ से डाउनलोड और इंस्टॉल करें: https://github.com/dokan-dev/dokany/releases/latest
कृपया Linux पर PCILeech चलाने के बारे में जानकारी के लिए PCILeech on Linux गाइड देखें।
अधिक उदाहरणों के लिए कृपया प्रोजेक्ट विकी पेज देखें। विकी निर्माण चरण में है और जानकारी अभी भी गायब हो सकती है।
लक्ष्य सिस्टम की लाइव RAM और फ़ाइल सिस्टम माउंट करें, इसके लिए KMD लोड होना आवश्यक है। इस उदाहरण में 0x11abc000 का उपयोग किया गया है।
pcileech.exe mount -kmd 0x11abc000किसी विशिष्ट कर्नेल इम्प्लांट के लिए सहायता दिखाएं, इस मामले में lx64_filepull कर्नेल इम्प्लांट।
pcileech.exe lx64_filepull -helpडंप कमांड के लिए सहायता दिखाएं।
pcileech.exe dump -helpलक्ष्य सिस्टम से सभी मेमोरी डंप करें, बशर्ते कि पते 0x7fffe000 पर एक कर्नेल मॉड्यूल लोड हो।
pcileech.exe dump -kmd 0x7fffe000USB3380 पर अधिक स्थिर USB2 दृष्टिकोण का उपयोग करके सुलभ मेमोरी मैप किए गए उपकरणों सहित 4GB से नीचे की मेमोरी को बलपूर्वक डंप करें।
pcileech.exe dump -force -device usb3380://usb=2PCIe TLP (ट्रांज़ेक्शन लेयर पैकेट) प्राप्त करें और उन्हें स्क्रीन पर प्रिंट करें (सही ढंग से कॉन्फ़िगर किए गए FPGA डेवलपमेंट बोर्ड की आवश्यकता है)।
pcileech.exe tlp -vv -wait 1000लक्ष्य सिस्टम की मेमोरी को पढ़ने योग्य मेमोरी पेज और अधिकतम मेमोरी के लिए जांच/गणना करें। (केवल FPGA हार्डवेयर)।
pcileech.exe probeपतों min और max के बीच सभी मेमोरी डंप करें, असफल पृष्ठों पर न रुकें। 64-बिट मेमोरी तक मूल पहुँच केवल FPGA हार्डवेयर पर समर्थित है।
pcileech.exe dump -min 0x0 -max 0x21e5fffff -forceसभी मेमोरी डंप करें, लक्ष्य सिस्टम रजिस्ट्री से मेमोरी मैप का पता लगाने का प्रयास करें ताकि संभावित अमान्य मेमोरी को डंप करने से बचा जा सके जो लक्ष्य को फ्रीज कर सकती है।
pcileech.exe dump -memmap autoकिसी विशिष्ट उपकरण के उपयोग को बाध्य करें (डिफ़ॉल्ट ऑटो-डिटेक्ट करने के बजाय)। pmem उपकरण ऑटो-डिटेक्ट नहीं होता है।
pcileech.exe pagedisplay -min 0x1000 -device pmemरिमोट LeechAgent से रिमोट मेमोरी डंप करें जो kerberos द्वारा एन्क्रिप्टेड और पारस्परिक रूप से प्रमाणित कनेक्शन का उपयोग करता है।
pcileech.exe dump -device pmem -remote rpc://[email protected]LeechAgent एम्बेडेड Python वातावरण का उपयोग करके एक रिमोट कंप्यूटर पर Python विश्लेषण स्क्रिप्ट find-rwx.py निष्पादित करें।
pcileech.exe agent-execpy -in find-rwx.py -device pmem -remote rpc://[email protected]pid 432 की वर्चुअल प्रक्रिया मेमोरी पैच करें (इस उदाहरण में lsass.exe)।
pcileech.exe patch -pid 432 -sig unlock_win10x64.sigयह सब थोड़ा भारी लग रहा है? या बस एक त्वरित प्रश्न पूछना चाहते हैं? Discord पर PCILeech और MemProcFS DMA समुदाय सर्वर से जुड़ें!
बाइनरी इस रिपॉजिटरी के रिलीज़ अनुभाग में पाई जाती हैं। यदि कोई अपना संस्करण बनाना चाहता है तो ऐसा करना संभव है। कृपया PCILeech बनाने के बारे में अधिक जानकारी के लिए PCILeech on Windows या PCILeech on Linux देखें। PCILeech LeechCore पर और वैकल्पिक रूप से (कुछ अतिरिक्त कार्यक्षमता के लिए) The Memory Process File System पर निर्भर है, जिन्हें दोनों को अलग-अलग बनाया जाना चाहिए।
PCILeech, MemProcFS और LeechCore ओपन सोर्स हैं लेकिन ओपन कंट्रीब्यूशन नहीं हैं। PCILeech, MemProcFS और LeechCore एक अत्यधिक लचीली प्लगइन आर्किटेक्चर प्रदान करते हैं जो प्लगइन के रूप में योगदान की अनुमति देगा। यदि आप कोर प्रोजेक्ट्स में प्लगइन के अलावा कोई योगदान देना चाहते हैं, तो कृपया विकास शुरू करने से पहले मुझसे संपर्क करें।
v1.0-v3.6
v4.0
leechcore.dll/leechcore.so लाइब्रेरी का उपयोग किया जाता है। नए उपकरणों में शामिल हैं:
v4.1
agent-forensic कमांड के साथ रिमोट मेमोरी विश्लेषण के लिए समर्थन।
./pcileech mount /home/user/fusemnt/leechfs -kmd <your_kmd_address>none जोड़ा गया।-bar-ro और -bar-rw जोड़े गए।-psname विकल्प जोड़ा गया।Latest:
-no-kmd-mem विकल्प, जो KMD लोड होने पर KMD मेमोरी एक्सेस को वैकल्पिक रूप से अक्षम करता है (कुछ मामलों में स्थिरता कारणों से उपयोगी हो सकता है)।-kmd WIN11_X64 - विंडोज 11 KMD हस्ताक्षर (WIN10_X64_3 का उपनाम)।| उपकरण | प्रकार | इंटरफ़ेस | गति | 64-बिट मेमोरी एक्सेस | PCIe TLP एक्सेस | परियोजना प्रायोजक |
|---|
| ZDMA | FPGA | Thunderbolt3 | 1000MB/s | हाँ | हाँ | 💖 |
| GBOX | FPGA | OCuLink | 400MB/s | हाँ | हाँ | 💖 |
| LeetDMA | FPGA | USB-C | 190MB/s | हाँ | हाँ | 💖 |
| CaptainDMA M2 | FPGA | USB-C | 190MB/s | हाँ | हाँ | 💖 |
| CaptainDMA M2 100T | FPGA | USB-C | 220MB/s | हाँ | हाँ | 💖 |
| CaptainDMA 4.1th | FPGA | USB-C | 190MB/s | हाँ | हाँ | 💖 |
| CaptainDMA 75T | FPGA | USB-C | 200MB/s | हाँ | हाँ | 💖 |
| CaptainDMA 100T | FPGA | USB-C | 220MB/s | हाँ | हाँ | 💖 |
| AC701/FT601 | FPGA | USB3 | 190MB/s | हाँ | हाँ | |
| USB3380-EVB | USB3380 | USB3 | 150MB/s | नहीं | नहीं | |
| DMA patched HP iLO | BMC | TCP | 1MB/s | हाँ | नहीं |
| उपकरण | प्रकार | अस्थायी | लिखें | Linux समर्थन | प्लगइन |
|---|
| RAW physical memory dump | फ़ाइल | नहीं | नहीं | हाँ | नहीं |
| Full Microsoft Crash Dump | फ़ाइल | नहीं | नहीं | हाँ | नहीं |
| Full ELF Core Dump | फ़ाइल | नहीं | नहीं | हाँ | नहीं |
| VMware | लाइव मेमोरी | हाँ | हाँ | नहीं | नहीं |
| VMware memory save file | फ़ाइल | नहीं | नहीं | हाँ | नहीं |
| TotalMeltdown | CVE-2018-1038 | हाँ | हाँ | नहीं | नहीं |
| DumpIt /LIVEKD | लाइव मेमोरी | हाँ | नहीं | नहीं | नहीं |
| WinPMEM | लाइव मेमोरी | हाँ | नहीं | नहीं | नहीं |
| LiveKd | लाइव मेमोरी | हाँ | नहीं | नहीं | नहीं |
| LiveCloudKd | लाइव मेमोरी | हाँ | हाँ | नहीं | हाँ |
| Hyper-V Saved State | फ़ाइल | नहीं | नहीं | नहीं | हाँ |
| LeechAgent* | दूरस्थ | नहीं | नहीं |