Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
USB Spy — USB Mass Storage ट्रैफ़िक को ब्लॉक और फ़ाइल स्तर पर इंटरसेप्ट और विश्लेषण करता है, USB उपकरणों का अनुकरण करता है, और सुरक्षा अनुसंधान, फोरेंसिक्स और TOCTOU भेद्यता परीक्षण के लिए कस्टम पायथन स्टब्स का समर्थन करता है। | Kitploit
उपकरण/GitLabGitLab/christophe.duvernois/usb-spy
भेद्यता विश्लेषणशोषणरिवर्स इंजीनियरिंगफोरेंसिकडिजिटल फोरेंसिकपेनिट्रेशन टेस्टिंगहार्डवेयर सुरक्षारेड टीमिंगफर्मवेयर विश्लेषण
GitLabchristophe.duvernois/usb-spy

USB Spy

USB Mass Storage ट्रैफ़िक को ब्लॉक और फ़ाइल स्तर पर इंटरसेप्ट और विश्लेषण करता है, USB उपकरणों का अनुकरण करता है, और सुरक्षा अनुसंधान, फोरेंसिक्स और TOCTOU भेद्यता परीक्षण के लिए कस्टम पायथन स्टब्स का समर्थन करता है।

32962 महीने पहलेअभी तक समीक्षित नहीं
रिपॉजिटरी देखें

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

यूएसबी स्पाई

Logo

License: GPL v3 pipeline

usb-spy एक यूएसबी मास स्टोरेज ट्रैफिक विश्लेषक है जो WiFi या Ethernet-सक्षम माइक्रोकंट्रोलर के आसपास निर्मित है।

बोर्ड एक डिस्क इमेज (FAT या कोई भी फाइलसिस्टम) को लक्ष्य प्रणाली के लिए एक नकली यूएसबी मास स्टोरेज डिवाइस के रूप में प्रस्तुत करता है, जबकि वास्तविक स्टोरेज डेटा WiFi या Ethernet पर एक दूरस्थ सर्वर द्वारा प्रदान किया जाता है। यह सेटअप usb-spy को लक्ष्य द्वारा किए गए प्रत्येक ब्लॉक एक्सेस को इंटरसेप्ट और विश्लेषण करने की अनुमति देता है।

कच्चे ब्लॉक-स्तरीय ट्रेसिंग से परे, usb-spy फाइलसिस्टम को समझता है और प्रत्येक एक्सेस किए गए ब्लॉक को संबंधित फ़ाइल और निर्देशिका में मैप कर सकता है, जिससे यह तुरंत देखना आसान हो जाता है कि कौन सी फ़ाइल पढ़ी या लिखी जा रही है, केवल कच्चे सेक्टर नंबरों के बजाय।

इसके अतिरिक्त, usb-spy एक JSON कॉन्फ़िगरेशन फ़ाइल के माध्यम से विक्रेता ID, उत्पाद ID, सीरियल नंबर, निर्माता और उत्पाद नाम जैसे डिवाइस गुणों को अनुकूलित करके किसी भी यूएसबी डिवाइस का अनुकरण कर सकता है। यह आपको परीक्षण और विश्लेषण उद्देश्यों के लिए विशिष्ट यूएसबी डिवाइसों की नकल करने की अनुमति देता है।

यह टूल उपयोगकर्ता-लिखित Python स्टब्स के माध्यम से आसानी से विस्तार योग्य है, जिससे आप यूएसबी रीड/राइट इवेंट और ब्लॉक-स्तरीय संचालन को संभालने के लिए कस्टम लॉजिक लागू कर सकते हैं।

Design

फाइलसिस्टम जागरूकता

जब एक समर्थित फाइलसिस्टम का पता चलता है, usb-spy:

  • फाइलसिस्टम मेटाडेटा पार्स करता है
  • ब्लॉक पतों को फ़ाइल पथों में हल करता है
  • प्रत्येक एक्सेस के लिए मानव-पठनीय फ़ाइलनाम और निर्देशिकाएँ प्रदर्शित करता है

वर्तमान में समर्थित फाइलसिस्टम:

  • FAT32
  • EXT4

भविष्य में अतिरिक्त फाइलसिस्टम के लिए समर्थन जोड़ा जाएगा।

यदि फाइलसिस्टम समर्थित नहीं है, तो usb-spy अभी भी उपयोग किया जा सकता है:

  • सभी यूएसबी रीड/राइट संचालन कैप्चर किए जाते हैं
  • एक्सेस कच्चे ब्लॉक स्तर पर प्रदर्शित होते हैं
  • फ़ाइलनाम और निर्देशिका जानकारी उपलब्ध नहीं होती है

यह सुनिश्चित करता है कि usb-spy अज्ञात, कस्टम, या मालिकाना फाइलसिस्टम के साथ भी उपयोगी बना रहे।

विशिष्ट उपयोग के मामले

  • यूएसबी मास स्टोरेज रिवर्स इंजीनियरिंग
  • फर्मवेयर और OS व्यवहार विश्लेषण
  • बूट या रनटाइम के दौरान फ़ाइल एक्सेस पैटर्न को समझना
  • सुरक्षा अनुसंधान और डिजिटल फोरेंसिक
  • Time-of-Check Time-of-Use (TOCTOU) कमजोरियों का पता लगाना और उनका शोषण करना

समर्थित बोर्डों के लिए USB-SPY फर्मवेयर बनाएं

SupportedBoard

प्रत्येक समर्थित बोर्ड के लिए फर्मवेयर निर्माण निर्देश यहाँ वर्णित हैं:

  • RP2040 माइक्रोकंट्रोलर पर आधारित Raspberry Pi Pico बोर्ड
    • Raspberry Pico W
    • W5500-EVB-Pico
    • W6100-EVB-Pico
  • Adafruit Feather M0 (सभी सुविधाएँ समर्थित नहीं हैं)

USB-SPY सर्वर टूल बनाएं

स्रोत कोड src निर्देशिका में है। यह एक FAT इमेज लोड करेगा, इसे TCP पोर्ट के माध्यम से प्रदर्शित करेगा और इमेज पर किए गए हर एक्सेस को लॉग करेगा। फ़ाइलों और निर्देशिकाओं की जानकारी प्रिंट करने के लिए, टूल TheSleuthKit लाइब्रेरी पर निर्भर करता है।

निर्माण करने के लिए, रूट निर्देशिका में निम्नलिखित कमांड चलाएँ

सभी सबमॉड्यूल प्राप्त करें

git submodule update --init --recursive

फिर waf configure कमांड चलाएँ।

./waf configure

यदि आप Python एम्बेडिंग समर्थन के बिना निर्माण करना चाहते हैं, तो इसके साथ कॉन्फ़िगर करें:

./waf configure --disable-python

यह आवश्यक सभी निर्भरताओं की जाँच और निर्माण करेगा, फिर वास्तव में प्रोजेक्ट बनाने के लिए चलाएँ

./waf build

बाइनरी wbuild निर्देशिका में होगी

जब --disable-python के साथ निर्मित किया जाता है, तो --py और --py-args रनटाइम विकल्प उपलब्ध नहीं होते हैं।

FAT32 img बनाएं

हम इसे mtools यूटिलिटी पैकेज के साथ आसानी से कर सकते हैं

2 MB फ़ाइल बनाएं

dd if=/dev/zero of=disk.img bs=1M count=2

उस पर FAT फाइलसिस्टम डालें (FAT32 के लिए -F का उपयोग करें, अन्यथा यह स्वचालित है)

mformat -i disk.img ::

इसमें एक फ़ाइल जोड़ें

mcopy -i disk.img example.txt ::

फ़ाइलें सूचीबद्ध करें

mdir -i disk.img ::

एक फ़ाइल निकालें

mcopy -i disk.img ::/example.txt extracted.txt

usb-spy चलाएँ

नव निर्मित इमेज के साथ स्पाई चलाएँ

./usb-spy -v disk.img

रॉ मोड को बलपूर्वक लागू करने और फाइलसिस्टम स्वतः-पहचान को छोड़ने के लिए:

./usb-spy --raw disk.img

एक्सेस को सीधे वास्तविक ब्लॉक डिवाइस पर प्रॉक्सी करने के लिए:

./usb-spy --proxy /dev/sda

बोर्ड को लक्ष्य USB पोर्ट में प्लग करें।

एक विशिष्ट USB डिवाइस का अनुकरण करें

एक विशिष्ट USB डिवाइस का अनुकरण करने के लिए, पैरामीटर को json कॉन्फ़िग फ़ाइल के माध्यम से ओवरराइड किया जा सकता है:

निम्नलिखित json फ़ाइल एक Kingston DataTraveler USB डिवाइस का अनुकरण करेगी:

{
	"vendor_id": 2385,
	"product_id": 5734,
	"bcd_device": 272,
	"product_rev": "3.0",
	"manufacturer": "Kingston",
	"product_name": "DataTraveler",
	"serial": "509C4BBFACCDE742880C026B",
	"language": 1033
}

इस कॉन्फ़िगरेशन फ़ाइल के साथ स्पाई चलाएँ

./usb-spy -c config/kingston.json disk.img

इस डिवाइस के लिए dmesg आउटपुट:

usb 1-8: New USB device found, idVendor=0951, idProduct=1666, bcdDevice= 1.10
usb 1-8: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-8: Product: DataTraveler
usb 1-8: Manufacturer: Kingston
usb 1-8: SerialNumber: 509C4BBFACCDE742880C026B
usb-storage 1-8:1.0: USB Mass Storage device detected
scsi host6: usb-storage 1-8:1.0
scsi 6:0:0:0: Direct-Access     Kingston DataTraveler     3.0  PQ: 0 ANSI: 2

अपना स्वयं का व्यवहार लागू करें

यदि आप प्रत्येक रीड/राइट इवेंट के लिए अपना स्वयं का लॉजिक लागू करना चाहते हैं, तो आप इसे python में आसानी से कर सकते हैं।

USBImage क्लास को python में इस dummy इमेज की तरह लागू करें:

class USBImage:
    def __init__(self, *args, **kwargs):
        """
        Initialize the USBImage.
        :param args: should contain:
            - filename: The name of the file to manage.
        :param kwargs: Arbitrary arguments passed from the c++ command line including:
            readOnly: Whether the interface is read-only.
            verbose: Whether to enable verbose logging.
            block: Whether to enable block mode.
        """
        pass

    def getBlockNumber(self):
        """Get block number"""
        return 100

    def getBlockSize(self):
        """Get block size"""
        return 512

    def read(self, lba, buffer, size):
        """Read block"""
        print(f"read block={lba} size={size}")
        for i in range(size):
            buffer[i] = (lba + i) % 256  # Simulate reading data
        return size

    def write(self, lba, buffer, size):
        """Write block"""
        print(f"write block={lba} size={size}")
        print(buffer)
        return size

    def flush(self):
        """Flush block"""
        print("flush data")

और अपने python मॉड्यूल के साथ स्पाई चलाएँ।

./usb-spy --py python/dummy.py disk.img

आप कमांड लाइन से अपनी python क्लास में मनमाने तर्क भी पास कर सकते हैं। तर्क kwargs में उपलब्ध हैं।

./usb-spy --py python/dummy.py --py-args arg1=2 --py-args arg2=Hello disk.img
टूल डाउनलोड करें