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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
Pi-Zero-2W-Bad-USB — अपने Pi Zero 2W को BadUSB बनाने के लिए कॉन्फ़िगर करें। | Kitploit
उपकरण/GitHubGitHub/psycostea/pi-zero-2w-bad-usb
एम्बेडेड सिस्टम सुरक्षाशोषणस्क्रिप्टिंग और स्वचालनहार्डवेयर हैकिंगCTFपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षारेड टीमिंगपेलोड डेवलपमेंट
GitHubpsycostea/pi-zero-2w-bad-usb

Pi-Zero-2W-Bad-USB

अपने Pi Zero 2W को BadUSB बनाने के लिए कॉन्फ़िगर करें।

372354 महीने पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

Raspberry Pi Zero 2 W BadUSB HID टूलकिट

Raspberry Pi Zero 2 W पर निर्मित एक प्रोग्रामेबल BadUSB / HID आक्रमण प्लेटफ़ॉर्म। यह Pi एक USB कम्पोज़िट डिवाइस (कीबोर्ड प्लस एक वैकल्पिक रीड-ओनली मास-स्टोरेज वॉल्यूम) के रूप में एन्यूमरेट होता है और Ducky-Script-शैली के पेलोड उस होस्ट पर निष्पादित करता है जिससे यह जुड़ा होता है। यह अधिकृत रेड-टीम अभियानों, पेनेट्रेशन परीक्षणों और CTF के लिए डिज़ाइन किया गया है।

⚠️ कानूनी सूचना। केवल उन्हीं सिस्टम पर उपयोग करें जिनके आप स्वामी हैं या जिनके परीक्षण की स्पष्ट लिखित अनुमति आपके पास है। अधिकांश क्षेत्राधिकारों में अनधिकृत पहुँच अवैध है, और यह दिखावा करना कि आपको पता नहीं था, काम नहीं आएगा।


विषय-सूची

  1. विशेषताएँ
  2. यह कैसे काम करता है
  3. हार्डवेयर
  4. इंस्टॉल
  5. दैनिक संचालन
  6. पेलोड लिखना
  7. कॉन्फ़िगरेशन संदर्भ
  8. आर्किटेक्चर नोट्स
  9. परीक्षण
  10. समस्या निवारण
  11. रिपॉजिटरी संरचना
  12. श्रेय

विशेषताएँ

  • प्रोग्रामेबल कीस्ट्रोक पेलोड एक Ducky-Script-संगत डायलेक्ट में।
  • विश्वसनीय होस्ट-अटैच डिटेक्शन UDC configured अवस्था के माध्यम से — बूट पर कोई फ़र्ज़ी पेलोड फायर नहीं होता।
  • "Reset between attacks" जो Pi Zero 2 W हार्डवेयर पर वास्तव में काम करता है। अनप्लग करें, दोबारा प्लग करें, फिर से फायर करें — कोई पावर-साइकिल नहीं।
  • कॉन्फ़िगर करने योग्य सुरक्षा उपाय रनअवे लूप्स के विरुद्ध यदि डिवाइस प्लग्ड रह जाए: प्रति-फायर न्यूनतम अंतराल और फायर-प्रति-मिनट दर सीमा, दोनों env-var द्वारा ओवरराइड करने योग्य।
  • वैकल्पिक कम्पोज़िट मास-स्टोरेज गैजेट जो एक फ्लैट इमेज फ़ाइल द्वारा समर्थित है (डिफ़ॉल्ट रूप से रीड-ओनली — आपके लाइव SD कार्ड को एक्सपोज़ करना पुराना, डीबग करने में कठिन FS-भ्रष्टाचार फ़ुट-गन था)।
  • US और UK कीबोर्ड लेआउट LAYOUT के साथ प्रति-पेलोड चयन योग्य।
  • चर, IF / ELSE, WHILE, HOLD / RELEASE, INJECT_MOD, RANDOM_* जनरेटर, STRING_BLOCK / STRINGLN_BLOCK, DEFINE।
  • systemd एकीकरण ExecStop के साथ जो गैजेट को सफाई से टियर-डाउन करता है। कोई बचा हुआ configfs स्टेट नहीं, रीस्टार्ट बिना रीबूट के काम करता है।
  • udev-प्रबंधित अनुमतियाँ /dev/hidg0 के लिए — कोई वर्ल्ड-राइटेबल डिवाइस नोड नहीं।
  • 34-परीक्षण pytest सुइट Ducky पार्सर के लिए, बिना Pi जुड़े किसी भी होस्ट पर चलाने योग्य।
  • प्रत्येक पेलोड रन के बाद ACT LED स्थिति संकेतक।

यह कैसे काम करता है

+----------------+        USB cable        +-------------+
|  Raspberry Pi  | ===================>>>  |  Host PC    |
|  Zero 2 W      |   (Pi emulates HID +    |  (target)   |
|  (this device) |    optional drive)      |             |
+----------------+                         +-------------+
        |
        |  /home/pi/pi-badusb/
        |
        +-- badusb.service ----> monitor_and_run.py
                                   |
                                   |  on `state == configured`:
                                   v
                                 run_payload.py
                                   |
                                   v
                                 /dev/hidg0  (USB HID gadget)
  1. बूट पर, badusb.service systemd यूनिट gadget_setup.sh चलाता है, जो configfs/libcomposite का उपयोग करके एक HID कीबोर्ड फ़ंक्शन और (वैकल्पिक रूप से) /var/badusb/storage.img पर एक फ्लैट इमेज फ़ाइल द्वारा समर्थित मास-स्टोरेज LUN के साथ एक USB गैजेट कम्पोज़ करता है।
  2. यूनिट फिर monitor_and_run.py चलाती है। यह /sys/class/udc/<udc>/state को पोल करती है और configured की प्रतीक्षा करती है — USB-विनिर्देश अवस्था जिसका अर्थ है कि एक होस्ट ने गैजेट को सफलतापूर्वक एन्यूमरेट कर लिया है। (हम /dev/hidg0 के अस्तित्व को संकेत के रूप में नहीं उपयोग करते: वह उसी क्षण सत्य होता है जब गैजेट बूट पर UDC से बाइंड होता है, चाहे कुछ भी प्लग्ड हो।)
  3. जब होस्ट अटैच होता है, लिसनर run_payload.py निष्पादित करता है, जो payload.txt को पार्स करता है और HID रिपोर्टें /dev/hidg0 पर लिखता है।
  4. जब पेलोड समाप्त होता है, लिसनर गैजेट को UDC से सक्रिय रूप से अनबाइंड करता है (Pi Zero 2 W सॉफ़्टवेयर के माध्यम से भौतिक डिस्कनेक्ट का पता नहीं लगा सकता — आर्किटेक्चर नोट्स देखें), एक कूलडाउन के लिए सोता है, और रीबाइंड करता है। फिर डिवाइस अगले configured संक्रमण की प्रतीक्षा करता है।

हार्डवेयर

घटकटिप्पणी
Raspberry Pi Zero 2 W2026-05 हार्डवेयर रिवीज़न पर परीक्षण किया गया। BCM2835 dwc_otg ड्राइवर वाला पुराना Pi Zero W भी सैद्धांतिक रूप से काम करता है, लेकिन यह README dwc2 वाले 2 W को मानता है।
micro-USB से USB-A केबलया एक "USB स्टिक" फॉर्म-फैक्टर एडेप्टर जो Pi को सीधे होस्ट पोर्ट में प्लग करने देता है।
वैकल्पिक: अलग चार्जरयदि आप Pi को गैर-होस्ट स्रोत से पावर देना चाहते हैं ताकि लिसनर किसी टारगेट में प्लग होने से पहले बूट हो सके (अन्यथा होस्ट पोर्ट पावर की आपूर्ति करता है)।

Pi Zero 2 W में दो micro-USB पोर्ट हैं:

  • PWR IN — केवल पावर, dwc2 OTG ब्लॉक को USB डेटा लाइनें एक्सपोज़ नहीं करता।
  • USB — OTG डेटा पोर्ट; यही वह जगह है जहाँ आप टारगेट में प्लग करते हैं।

सॉफ़्टवेयर

आवश्यकताक्यों
Raspberry Pi OS (Debian Bookworm या Trixie, 64-bit Lite अनुशंसित)इंस्टॉल स्क्रिप्ट Bookworm+ पर /boot/firmware/... में लिखती है और पुरानी इमेजों पर /boot/... पर फॉल बैक करती है।
Python 3Pi OS के साथ आता है।
mkfs.vfatपहले रन पर मास-स्टोरेज बैकिंग इमेज को फ़ॉर्मेट करने के लिए। यदि आप मास स्टोरेज अक्षम करते हैं तो छोड़ दें।
सेटअप के लिए रूट एक्सेसsystemd, udev, और /boot/firmware/config.txt को छूता है।

इंस्टॉल

रिपो को Pi में क्लोन या कॉपी करें, फिर इंस्टॉलर चलाएँ:

git clone http://your-gitea/admin/Pi-Zero-2W-Bad-USB.git /home/pi/pi-badusb
cd /home/pi/pi-badusb
sudo ./install.sh
sudo reboot

रीबूट के बाद, सेवा को सक्षम और प्रारंभ करें:

sudo systemctl enable --now badusb.service
journalctl -u badusb -f

install.sh इडेम्पोटेंट है — जब भी आप प्रोजेक्ट फ़ाइलें बदलें, इसे दोबारा चलाएँ। यह:

  • /boot/firmware (Bookworm+) बनाम /boot (पुराना) का पता लगाता है।
  • सुनिश्चित करता है कि config.txt में [all] ब्लॉक के अंतर्गत dtoverlay=dwc2,dr_mode=otg सक्रिय है। Raspberry Pi Imager डिफ़ॉल्ट इस पंक्ति को [cm5] फ़िल्टर के अंदर रखते हैं जो Pi Zero 2 W पर लागू नहीं होता; इंस्टॉलर एक सेंटिनल-चिह्नित ओवरराइड जोड़ता है ताकि दोबारा चलाने पर यह डुप्लिकेट न हो।
  • सुनिश्चित करता है कि modules-load=dwc2 cmdline.txt में है।
  • चेतावनी देता है यदि g_ether अभी भी cmdline.txt में मौजूद है (यह libcomposite से UDC चुरा लेता है और गैजेट मोड को तोड़ देता है)।
  • systemd यूनिट को /etc/systemd/system/badusb.service पर इंस्टॉल करता है।
  • udev नियम को /etc/udev/rules.d/99-badusb-hidg.rules पर इंस्टॉल करता है ताकि /dev/hidg0 plugdev द्वारा ग्रुप-राइटेबल हो।
  • pi उपयोगकर्ता को plugdev में जोड़ता है।
  • मास-स्टोरेज बैकिंग इमेज के लिए /var/badusb/ बनाता है।

दैनिक संचालन

# Start / stop / restart
sudo systemctl start badusb
sudo systemctl stop badusb
sudo systemctl restart badusb              # safe to do while plugged in

# Watch live
journalctl -u badusb -f

# Disable autostart on boot
sudo systemctl disable badusb

# Tune timings (creates an override drop-in)
sudo systemctl edit badusb
# (paste an [Service] block with Environment="BADUSB_REARM_COOLDOWN_S=8" etc)
sudo systemctl restart badusb

सेवा sys-kernel-config.mount और एक UDC की उपस्थिति पर निर्भर करती है, इसलिए गैजेट वास्तव में तैयार होने से पहले यह पेलोड फायर नहीं कर सकती।

पेलोड संपादित करने के लिए रीस्टार्ट की आवश्यकता नहीं होती — payload.txt हर प्लग-इन पर ताज़ा पढ़ा जाता है।


पेलोड लिखना

payload.txt इंस्टॉल निर्देशिका में रहता है। पूर्ण कमांड संदर्भ payload_commands.md में है।

न्यूनतम उदाहरण

REM Open Run dialog and type a greeting via Notepad
LAYOUT US
GUI r
DELAY 1500
STRING notepad
ENTER
DELAY 2500
STRINGLN Hello from the Pi Zero 2 W

चर, शर्तें, लूप्स

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