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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
USBvalve — Expose USB activity on the fly | Kitploit
उपकरण/GitHubGitHub/cecio/usbvalve
Embedded Systems SecurityDynamic Analysis (Sandboxing)ForensicsMalware AnalysisHardware Security
GitHubcecio/usbvalve

USBvalve

Expose USB activity on the fly

रिपॉजिटरी देखें
1.3k434 महीने पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

लोगो, लैंडस्केप, गहरा टेक्स्ट, पारदर्शी पृष्ठभूमि

[!NOTE] USBvalve संस्करण 1.0.0

एप्लिकेशन का पूर्ण पुनर्लेखन किया गया है:

  • Arduino IDE वातावरण से हटकर, अब कोड Pi Pico SDK के लिए लिखा गया है
  • बाहरी लाइब्रेरीज़ पर निर्भरता काफी कम कर दी गई है
  • लो स्पीड डिवाइसों (ATTiny85, EvilCrow, आदि) के लिए USB होस्ट समर्थन अब अधिक मजबूत है
  • हार्डवेयर और कार्यक्षमताएँ लगभग अपरिवर्तित हैं, विवरण के लिए नीचे नोट्स देखें

तुरंत USB गतिविधि उजागर करें

दो मॉडल घड़ी 1.2

मुझे यकीन है कि आपसे भी, मेरी तरह, किसी अज्ञात डिवाइस में अपनी USB ड्राइव लगाने को कहा गया होगा...और फिर वह संदेह:

पर्दे के पीछे मेरी बेचारी डोंगल के साथ क्या हुआ? मेरी फ़ाइलें चुराईं? उन्हें एन्क्रिप्ट किया? या मात्र एक मैलवेयर इंस्टॉल किया? USBvalve के साथ आप इसे सेकंडों में पहचान सकते हैं: बेहद सस्ते, तैयार-उपलब्ध हार्डवेयर पर निर्मित, आप किसी भी USB फाइल सिस्टम गतिविधि का तुरंत परीक्षण कर सकते हैं और समझ सकते हैं कि बहुत देर होने से पहले क्या हो रहा है!

USBvalve के साथ आपको ड्राइव के साथ क्या हो रहा है, इसके बारे में तुरंत प्रतिक्रिया मिल सकती है; स्क्रीन आपको दिखाएगी कि डिवाइस पर बनाया गया फर्जी फाइल सिस्टम एक्सेस किया गया है, पढ़ा गया है या लिखा गया है:

स्व-परीक्षण Readme

और संस्करण 0.8.0 से आप इसे BADUSB डिवाइसों का पता लगाने के लिए USB होस्ट के रूप में भी उपयोग कर सकते हैं:

HID

यह सीरियल पोर्ट पर उपलब्ध BADUSB डिबगर का एक उदाहरण है:

यदि आप वीडियो पसंद करते हैं, तो आप मेरी Insomni'hack प्रस्तुति भी देख सकते हैं

USBvalve Watch

संस्करण 0.15.0 से एक नया Pi Pico Watch संस्करण समर्थित है। नया संस्करण संकलित करने के लिए आपको कोड की शुरुआत में #define PIWATCH लाइन को अनकमेंट करना होगा। हार्डवेयर RP2040-आधारित 1.28-इंच TFT डिस्प्ले और वॉच बोर्ड है। आप कुछ और जानकारी यहाँ पा सकते हैं। यह Waveshare RP2040-LCD-1.28 के साथ भी पूरी तरह संगत है।

रिपॉज़िटरी संरचना

docs: परियोजना के बारे में दस्तावेज़ीकरण, जिसमें एक प्रस्तुति है जहाँ आप सभी सुविधाओं को देख सकते हैं

firmware: Raspberry Pi Pico के लिए पहले से निर्मित फर्मवेयर। आप इन्हें सीधे उपयोग कर सकते हैं और बोर्ड पर फ्लैश कर सकते हैं। हमारे पास कई अलग-अलग संस्करण हैं, 32 या 64 लाइनों वाली OLED के लिए, Pico 1 या Pico2 के लिए, Pi Pico Watch, आदि

PCB: Gerber फ़ाइल यदि आप कस्टम PCB प्रिंट करना चाहते हैं। यह अनिवार्य नहीं है, आप अपना खुद का उपयोग कर सकते हैं या इसे ब्रेडबोर्ड पर बना सकते हैं

src और data: स्रोत, यदि आप स्वयं फर्मवेयर को संशोधित और निर्मित करना चाहते हैं

utils: कुछ उपयोगिताएँ जिन्हें आप कस्टम FS बनाने के लिए उपयोग कर सकते हैं

pictures: इस दस्तावेज़ में उपयोग की गई छवियाँ और संसाधन

STL: आवरण के लिए STL फ़ाइलें। 1.1 और 1.2 फ़ोल्डरों में पूर्ण आवरण हैं (WhistleMaster को धन्यवाद)। 1.2_64 और 1.2_64_simple फ़ोल्डरों में 128x64 स्क्रीन के लिए आवरण हैं (rtmq0227 को धन्यवाद)। यदि आप LCD की सुरक्षा के लिए कुछ हल्का चाहते हैं, तो आप USBvalve_sliding_cover.stl चुन सकते हैं।

USBvalve का निर्माण करें

भागों की सूची

यदि आप अपना खुद का निर्माण करना चाहते हैं, तो आपको चाहिए:

  • एक Raspberry Pi Pico 1 या 2 (या कोई अन्य RP2040-आधारित बोर्ड)
  • एक I2C OLED स्क्रीन 128x64 या 128x32 (SSD1306)
  • (वैकल्पिक) एक USBvalve PCB या ब्रेडबोर्ड
  • (वैकल्पिक) स्क्रीन को बोर्ड से अलग करने के लिए 3D प्रिंटेड स्पेसर (https://www.thingiverse.com/thing:4748043), लेकिन आप इसके बजाय बिजली के टेप का एक टुकड़ा उपयोग कर सकते हैं

BOOTSEL और संस्करण >= 1.0.0 के बारे में नोट्स

0.x.x संस्करणों में, BOOTSEL का उपयोग डिवाइस को रीसेट करने या HID इवेंट्स की संख्या प्रिंट करने के लिए किया जाता था (> 2 सेकंड दबाएँ)। BOOTSEL की पोलिंग BADUSB डिटेक्शन के लिए कुछ समस्याएँ पैदा कर रही थी, इसलिए इसे संस्करण 1.0.0 से हटा दिया गया और निम्नलिखित दो विकल्पों से बदल दिया गया:

  • समान कार्यों के लिए GP0 और GND (पैड 1 और 3, उदाहरण के लिए नीचे चित्र देखें) के बीच एक बटन सोल्डर करें
  • सीरियल मॉनिटर से r (रीसेट) और h (HID इवेंट्स) कमांड का उपयोग करें

PCB में आपको बोर्ड का एक संस्करण 1.3 भी मिलेगा, जिसमें बटन की स्थापना को सुविधाजनक बनाने के लिए पैड 1 और 3 पर कुछ छेद हैं। लेकिन जैसा कि आप देख सकते हैं, आप अपने पुराने संस्करण का भी उपयोग कर सकते हैं।

यदि आप BADUSB फ़ंक्शन का उपयोग नहीं कर रहे हैं या यदि आप डिटेक्शन पर कम कवरेज रखना पसंद करते हैं लेकिन BOOTSEL का उपयोग बनाए रखना चाहते हैं, तो मैं bootsel सक्षम के साथ बनाया गया एक फर्मवेयर भी प्रदान कर रहा हूँ (फ़ोल्डर और रिलीज़ देखें)।

निर्माण निर्देश

Tz1rf के धन्यवाद से हमारे पास दो बेहतरीन वीडियो भी हैं: एक निर्माण प्रक्रिया को चरण-दर-चरण समझाता है, और दूसरा दिखाता है कि फर्मवेयर अपलोड कैसे करें और टूल का उपयोग कैसे करें।

लगभग सारा काम सॉफ्टवेयर द्वारा सीधे बोर्ड पर किया जाता है, इसलिए आपको केवल आउटपुट के लिए OLED के साथ कनेक्शन की व्यवस्था करनी होती है।

फर्मवेयर के संस्करण 0.8.0 से, USBvalve HID डिवाइसों का पता लगा सकता है (BADUSB का पता लगाने के लिए उपयोग किया जाता है)। इसके लिए एक अतिरिक्त USB पोर्ट की आवश्यकता होती है जो होस्ट के रूप में कार्य करे। यदि आप इसमें रुचि नहीं रखते हैं, तो आप पुराने निर्देशों का उपयोग कर सकते हैं docs फ़ोल्डर में और PCB संस्करण 1.1 का उपयोग कर सकते हैं। अन्यथा PCB संस्करण 1.2 के साथ आगे बढ़ें (हमारे पास USB-A या USB-B के लिए संस्करण है, फ़ोल्डर देखें)।

USBvalve PCB के साथ

  • USBH क्षेत्र में एक USB फीमेल पोर्ट सोल्डर करें। यह संस्करण A के लिए है, लेकिन यदि आप चाहें तो USB Micro-B के लिए भी एक संस्करण है
  • Raspberry Pi Pico को सामने की ओर सिल्क स्क्रीन पर रखें
  • आपको सभी PIN सोल्डर करने की आवश्यकता नहीं है। केवल निम्नलिखित:
    • D4 और D5 (बाईं ओर)
    • D14 और D15 (बाईं ओर)
    • GND (दाईं ओर, ऊपर से तीसरा पिन)
    • GND (दाईं ओर, नीचे से तीसरा पिन)
    • 3v3_OUT (दाईं ओर)
    • VBUS (दाईं ओर)
    • नीचे की ओर 3 DEBUG पिन: SWCLK, GND और SWDIO
  • Raspberry को छूने वाले OLED के हिस्सों पर 3D प्रिंटर स्पेसर या टेप का एक टुकड़ा रखें
  • 4 PIN स्थान पर OLED (हेडर के साथ) सोल्डर करें

कुछ OLED में GND और VCC PIN आपस में बदले हुए होते हैं, इसलिए मैंने PCB को दोनों संस्करणों के साथ संगत बनाया है:

उदाहरण के लिए यदि आपके OLED में GND PIN1 पर और VCC PIN2 पर है, जैसे:

आपको PCB के पीछे इन दो पैड्स पर सोल्डर का एक गोला लगाना होगा:

अन्यथा आपको इसका विपरीत करना चाहिए और सोल्डर को दूसरे PADs पर लगाना चाहिए:

USBvalve PCB के बिना

Pico Pi

यदि आप ब्रेडबोर्ड या केवल वायरिंग का उपयोग कर रहे हैं, तो आपको बस यह सुनिश्चित करना है कि OLED स्क्रीन और होस्ट USB पोर्ट से सही PIN कनेक्ट हों।

मैपिंग निम्नलिखित है:

  • PIN6 of Pi --> OLED SDA
  • PIN7 of Pi --> OLED SCL
  • PIN19 of Pi --> D+ of USB Host
  • PIN20 of Pi --> D- of USB Host
  • PIN23 (GND) of Pi --> GND of USB Host
  • PIN38 (GND) of Pi --> OLED GND
  • PIN36 (3V3OUT) of Pi --> OLED VCC
  • PIN40 (VBUS) of Pi --> VCC of USB Host

यदि आप DEBUG फ़ंक्शन का उपयोग करना चाहते हैं, तो आप बोर्ड के नीचे 3 SWD PINs पर एक हेडर भी लगा सकते हैं।

USBpipe PCB के साथ

[!CAUTION] यह PCB अनुभवी इलेक्ट्रॉनिक निर्माताओं के लिए है यदि आपको यकीन नहीं है कि आप इसे संभाल सकते हैं, तो इसका उपयोग न करें!

[!NOTE] R7 और R8 वास्तव में किसी भी चीज़ से कनेक्ट नहीं हैं। इन्हें सर्किट डिबगिंग उद्देश्यों के लिए जोड़ा गया है। इसलिए ये BOM में नहीं दिखते

USBpipe PCB USBpipe

USBpipe इस परियोजना के लिए एक समर्पित PCB है।

आपको आवश्यक सब कुछ ./PCB/USBpipe/ फ़ोल्डर में मिलेगा।

सामने पीछे

फर्मवेयर फ्लैश करें

फर्मवेयर फ्लैश करने के लिए, इन चरणों का पालन करें:

  • Raspberry Pi Pico को USB केबल से कनेक्ट करें, BOOTSEL बटन दबाए रखते हुए (बोर्ड पर बड़ा सफेद बटन)
  • बटन छोड़ दें
  • आपको सिस्टम पर एक नई ड्राइव दिखाई देगी, जिसका नाम RPI-RP2 होगा (Linux वातावरण में आपको इसे मैन्युअल रूप से माउंट करना पड़ सकता है)
  • आपके द्वारा उपयोग किए गए OLED के आधार पर, फ़ोल्डर में उपयुक्त फर्मवेयर फ़ाइल (एक्सटेंशन uf2 के साथ) कॉपी करें
  • माउंटेड फ़ोल्डर गायब होने तक कुछ सेकंड प्रतीक्षा करें

हो गया!

एंटी-डिटेक्शन

मुझे नहीं पता कि ऐसा कभी होगा या नहीं, लेकिन आप USBvalve-जागरूक मैलवेयर द्वारा की गई पहचान से बचने के लिए फर्मवेयर को कस्टमाइज़ करना चाह सकते हैं :-)

मैंने उन अधिकांश वेरिएबल्स को समूहित किया है जिन्हें आप usb_config.h के इस अनुभाग में संशोधित करना चाह सकते हैं (पुनर्निर्माण के लिए नीचे Dockerfile देखें)

root@kitploit:~
// USB anti-detection settings
//
// Set USB IDs strings and numbers, to avoid possible detections.
// Remember that you can cusotmize FAKE_DISK_BLOCK_NUM as well
// for the same reason. Also DISK_LABEL in ramdisk.h can be changed.
//
// You can see here for inspiration: https://the-sz.com/products/usbid/
//
// Example:
//             0x0951 0x16D5    VENDORID_STR: Kingston   PRODUCTID_STR: DataTraveler
//
#define USB_VENDORID       0x0951
#define USB_PRODUCTID      0x16D5
#define USB_DESCRIPTOR     "DataTraveler"
#define USB_MANUF          "Kingston"
#define USB_SERIAL         "123456789A"
#define USB_VENDORID_STR   "Kingston"        // Up to 8 chars
#define USB_PRODUCTID_STR  "DataTraveler"    // Up to 16 chars
#define USB_VERSION_STR    "1.0"             // Up to 4 chars

अपना फर्मवेयर बनाना

जाहिर है, आप अपना खुद का फर्मवेयर भी बना सकते हैं। निर्माण के लिए आपको Raspberry Pi Pico SDK और यह रिपॉज़िटरी चाहिए।

बुनियादी पुनर्संकलन निर्देश:

root@kitploit:~
export PICO_SDK_PATH=</path/to/pico-sdk>

git clone --recursive https://github.com/cecio/USBvalve.git
cd USBvalve
mkdir build && cd build
cmake -DPICO_BOARD=pico ..   # or pico2 for standard build
make -j$(nproc)
# Output: build/src/USBvalve.uf2

यदि आप एक नया फर्जी फाइल सिस्टम फिर से बनाना चाहते हैं, तो आप utils फ़ोल्डर पर एक नज़र डाल सकते हैं, जहाँ मैंने एक नया बनाने के लिए कुछ उपयोगिताएँ रखी हैं।

Dockerfile

यदि आप अपना खुद का फर्मवेयर बनाना चाहते हैं, तो इसे कस्टमाइज़ करने के बाद, मैं एक Dockerfile प्रदान करता हूँ जो एक संपूर्ण बिल्ड वातावरण बनाता है और फर्मवेयर संकलित करता है।

निर्माण के लिए मुख्य USBvalve फ़ोल्डर में निम्नलिखित कमांड दर्ज करें:

root@kitploit:~
# To Build:
#       docker build -t usbvalve-sdk -f Dockerfile.sdk .
#
# To Run (default: pico, SSD1306 OLED 128x32):
#       docker run --rm -v $PWD:/mnt usbvalve-sdk
#
# Options (via environment variables):
#       BOARD=pico|pico2          Board target (default: pico)
#       OLED_HEIGHT=32|64         OLED display height (default: 32)
#       PIWATCH=1                 Use GC9A01 round TFT instead of SSD1306
#       USE_BOOTSEL=1             Enable BOOTSEL button (disrupts Low Speed USB)
#
# Examples:
#       docker run --rm -e BOARD=pico2 -v $PWD:/mnt usbvalve-sdk
#       docker run --rm -e PIWATCH=1 -v $PWD:/mnt usbvalve-sdk
#       docker run --rm -e BOARD=pico2 -e OLED_HEIGHT=64 -v $PWD:/mnt usbvalve-sdk

फर्मवेयर को USBvalve_out फ़ोल्डर में uf2 एक्सटेंशन के साथ रखा जाएगा।

योगदान करें

यदि आपके मन में विचार या सुधार हैं, तो मैं आपको प्रोत्साहित करता हूँ कि एक issue खोलें ताकि हम मिलकर परियोजना को बेहतर बना सकें! धन्यवाद!

सहायता

यदि आपके पास कोई प्रश्न है या सहायता चाहिए, तो आप यहाँ एक Issue खोल सकते हैं या मुझसे Twitter/X पर संपर्क कर सकते हैं @red5heep

सामुदायिक संस्करण

समुदाय ने अन्य बोर्डों के लिए समर्थन या अन्य संशोधनों को लागू करने वाले कुछ फोर्क बनाए हैं। USBvalve के विकास में योगदान देने वाले सभी को धन्यवाद। नीचे एक अनौपचारिक/अधूरी/असमर्थित सूची दी गई है:

  • USBvalve-tbfa-Mod

सुरक्षा चेतावनी

[!WARNING] मुझे USBvalve और USB किलर डिवाइसों के बारे में बहुत सारे प्रश्न मिले हैं। USBvalve इन डिवाइसों के परीक्षण के लिए नहीं बनाया गया है, इसमें किसी भी प्रकार का इन्सुलेशन या सुरक्षा नहीं है, इसलिए यदि आपको संदेह है कि आप ऐसे किसी डिवाइस से निपट रहे हैं, तो इसे किसी और चीज़ से परीक्षण करें, USBvalve से नहीं, अन्यथा आप डिवाइस, स्वयं या अपने आस-पास की वस्तुओं को नुकसान पहुंचा सकते हैं।

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