Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

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

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 भेद्यता परीक्षण के लिए कस्टम पायथन स्टब्स का समर्थन करता है।

321 महीना पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें

USB SPY

Logo

License: GPL v3 pipeline

usb-spy एक USB मास स्टोरेज ट्रैफिक विश्लेषक है जो WiFi या ईथरनेट-सक्षम माइक्रोकंट्रोलर के आस-पास बनाया गया है।

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

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

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

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

डिज़ाइन

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

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

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

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

  • FAT32
  • EXT4

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

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

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

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

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

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

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

समर्थित बोर्ड

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

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

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

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

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

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

root@kitploit:~
git submodule update --init --recursive

फिर waf कॉन्फ़िगर कमांड चलाएँ।

root@kitploit:~
./waf configure

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

root@kitploit:~
./waf build

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

FAT32 img बनाएँ

हम mtools उपयोगिता पैकेज के साथ आसानी से ऐसा कर सकते हैं

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

root@kitploit:~
dd if=/dev/zero of=disk.img bs=1M count=2

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

root@kitploit:~
mformat -i disk.img ::

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

root@kitploit:~
mcopy -i disk.img example.txt ::

फ़ाइलों की सूची बनाएँ

root@kitploit:~
mdir -i disk.img ::

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

root@kitploit:~
mcopy -i disk.img ::/example.txt extracted.txt

usb-spy चलाएँ

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

root@kitploit:~
./usb-spy -v disk.img

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

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

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

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

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

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

root@kitploit:~
./usb-spy -c config/kingston.json disk.img

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

root@kitploit:~
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 इमेज की तरह लागू करें:

root@kitploit:~
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 मॉड्यूल के साथ स्पाई चलाएँ।

root@kitploit:~
./usb-spy --py python/dummy.py disk.img

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

root@kitploit:~
./usb-spy --py python/dummy.py --py-args arg1=2 --py-args arg2=Hello disk.img

आप rawimage उदाहरण से भी शुरुआत कर सकते हैं जो usb-spy बाइनरी में मूल रूप से लागू की गई चीज़ों का एक पूर्ण कार्यान्वयन (~100 लाइनों का कोड) प्रदान करता है।

अस्वीकरण

यह परियोजना "जैसी है" प्रदान की गई है। किसी विशेष उद्देश्य के लिए शुद्धता, सुरक्षा या उपयुक्तता की कोई गारंटी नहीं है।

उपकरणों और फर्मवेयर का उपयोग अपने जोखिम पर करें। लेखक और योगदानकर्ता इस सॉफ्टवेयर या हार्डवेयर के उपयोग से उत्पन्न होने वाली किसी भी क्षति, डेटा हानि या कानूनी परिणामों के लिए जिम्मेदार नहीं हैं।

योगदान

योगदान का स्वागत है! कृपया इन चरणों का पालन करें:

  1. रिपॉजिटरी को फोर्क करें।
  2. अपनी सुविधा या बगफिक्स के लिए एक नई शाखा बनाएँ।
  3. विस्तृत विवरण के साथ एक पुल रिक्वेस्ट सबमिट करें।

लाइसेंस

License: GPL v3

यह परियोजना GNU जनरल पब्लिक लाइसेंस v3.0 के तहत लाइसेंस प्राप्त है। विवरण के लिए LICENSE फ़ाइल देखें।

टूल डाउनलोड करें