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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
slot2 — यूईएफआई GRUB2 बूटकिट जो NVRAM बूट विकल्प के माध्यम से एक प्री-बूट नेटवर्क्ड इम्प्लांट स्थापित करता है, UKI को चेनलोड करता है, dracut पेलोड निष्पादित करता है, और स्टॉक कर्नेल को kexec करता है। | Kitploit
उपकरण/GitHubGitHub/cenobyte-vincit/slot2
स्थायित्व तंत्रडेटा निष्कासनपोस्ट-शोषणक्लाउड सुरक्षाकमांड एंड कंट्रोलरेड टीमिंगपेलोड डेवलपमेंटरिमोट एक्सेस ट्रोजन
GitHubcenobyte-vincit/slot2

slot2

यूईएफआई GRUB2 बूटकिट जो NVRAM बूट विकल्प के माध्यम से एक प्री-बूट नेटवर्क्ड इम्प्लांट स्थापित करता है, UKI को चेनलोड करता है, dracut पेलोड निष्पादित करता है, और स्टॉक कर्नेल को kexec करता है।

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

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

सभी देखें →

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

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

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

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

slot2

slot2: एक दो-चरणीय UEFI GRUB2 बूटकिट जो AWS EC2 UEFI x86_64 पर Amazon Linux 2023 पर एक प्री-OS नेटवर्क्ड इम्प्लांट को बनाए रखता है।

cenobyte [email protected] 2026 द्वारा

https://github.com/cenobyte-vincit/slot2

सारांश

slot2 EC2 पर Amazon Linux 2023 के लिए एक बूटकिट है। AWS EC2 UEFI फ़र्मवेयर इसे सबसे पहले लोड करता है। एक एम्बेडेड इम्प्लांट बूटकिट UKI (Unified Kernel Image: बूटकिट कर्नेल और initrd वाली एक EFI फ़ाइल) में स्टॉक OS के बूट होने से पहले चलता है, नेटवर्क सहित, फिर स्टॉक कर्नेल को शुरू करने के लिए kexec का उपयोग किया जाता है जिसे एक सामान्य बूट उपयोग करता होगा। जो ऑपरेटिंग सिस्टम आता है वह असली, स्टॉक वाला होता है।

पर्सिस्टेंस एक UEFI NVRAM लोड विकल्प और दो फ़ाइलों के माध्यम से होता है, एक बूटकिट ESP फ़ाइल और एक बूटकिट UKI; कोई userspace हेल्पर/रूटकिट सेवा उपयोग/आवश्यक नहीं है, और यह प्रतिस्थापित वेंडर बूटलोडर नहीं है। slot2 में, 98-payload.sh वह इम्प्लांट है जिसका उपयोग प्री-बूट C2/इन्फिल/एक्सफिल और मनमाने डिस्क राइट के लिए किया जाता है ताकि लक्ष्य के फ़ाइलसिस्टम पर RATs या कर्नेल-आधारित रूटकिट जैसे पेलोड डाले जा सकें। इस ट्री में इम्प्लांट एक प्रदर्शन है: यह /root/HELLO.TXT लिखता है और इंटरनेट/नेटवर्क कनेक्शन स्थापित करने के लिए नेटवर्क उठाता है, जो किसी ऑपरेशन में नेटवर्क इन्फिल या एक्सफिल हो सकता है।

बूट चेन

UEFI फ़र्मवेयर स्वयं कोई कर्नेल नहीं चुनता। यह NVRAM लोड विकल्पों के BootOrder को चलाता है, प्रत्येक एक क्रमांकित स्लॉट (Boot0001, Boot0002, ...) है जो ESP पर एक EFI निष्पादन योग्य फ़ाइल की ओर इंगित करता है। EC2 पर, Boot0001 हमेशा मौजूद रहता है: Amazon EBS प्रविष्टि जो स्टॉक \EFI\BOOT\BOOTX64.EFI को शुरू करती है। slot2 Boot0002 जोड़ता है, जो उसी ESP पर दूसरी फ़ाइल की ओर इंगित करता है, और Boot0002 को BootOrder पर सबसे पहले रखता है। फ़र्मवेयर के पास अभी भी Boot0001 फ़ॉलबैक के रूप में है।

वह दूसरी फ़ाइल ऐसी होनी चाहिए जिसे फ़र्मवेयर निष्पादित कर सके, और उसे रूट फ़ाइलसिस्टम पर बूटकिट UKI तक पहुँचना होगा, जिसे फ़र्मवेयर नहीं देख सकता। GRUB का उपयोग किया जाता है क्योंकि यह GPT और XFS पढ़ सकता है, UKI खोज सकता है, और उसे चेनलोड कर सकता है। इमेज एक कस्टम grub2-mkimage है, पैकेज्ड Amazon GRUB नहीं; स्टॉक BOOTX64.EFI वहीं रहता है जहाँ वेंडर ने रखा था। यहाँ GRUB का एकमात्र काम UKI को हैंडऑफ़ करना है।

UKI कर्नेल फिर 98-payload.sh चलाता है, फिर 99-kexec-stock.sh kexec का उपयोग करके स्टॉक कर्नेल और initrd को शुरू करता है जिसे एक सामान्य BLS बूट उपयोग करता होगा।

  EC2 UEFI NVRAM
  ├── Boot0001 -> stock \EFI\BOOT\BOOTX64.EFI     (untouched)
  └── Boot0002 -> bootkit \EFI\BOOT\.BOOTX64.EFI  (created; first on BootOrder)
       |
       v
  ESP (VFAT)  /boot/efi
  └── /EFI/BOOT/
      ├── BOOTX64.EFI          stock (untouched) <- Boot0001
      └── .BOOTX64.EFI         bootkit GRUB2 PE  --chainload--+  <- Boot0002
                                                              |
  root FS (XFS, typical AL2023)                               |
  └── /var/lib/systemd/boot/                                  |
      └── uki.efi  <------------------------------------------+
            |
            |  98-payload.sh, then 99-kexec-stock.sh
            |  resolve stock target under /sysroot/boot/:
            |    loader/entries/*.conf  (BLS + grubenv; AL2023 primary)
            |    grub2/grub.cfg         (legacy fallback)
            |
            +-- kexec ----------------------------------------+
                                                              |
  /boot (stock, untouched)                                    |
  ├── vmlinuz-*  <--------------------------------------------+
  └── initramfs-*.img
            |
            +-- stock initrd -> stage-2 stock userspace

यदि kexec विफल हो जाता है, तो चरण 1 UKI कर्नेल पर जारी रहता है। बॉक्स बूट करने योग्य बना रहता है।

पेलोड

इम्प्लांट 98-payload.sh है, जो बूटकिट UKI के अंदर एक dracut pre-pivot हुक है। यह पोस्ट-बूट यूज़रस्पेस सेवा नहीं है। इस ट्री का कार्यान्वयन एक डेमो है: /sysroot को रीमाउंट रीड-राइट करें, /root/HELLO.TXT लिखें, NICs को अप करें, DHCP, फिर ifconfig.me पर wget (5s बजट)। DHCP लीज़ और रिज़ॉल्वर फ़ाइल initrd (/tmp/udhcpc.*.lease, /etc/resolv.conf) में ही रहते हैं; वे वास्तविक रूट पर नहीं लिखे जाते। नेटवर्क विफलता kexec को ब्लॉक नहीं करती।

चरण 1 में वास्तविक रूट /sysroot पर है (आमतौर पर XFS, rw रीमाउंट किया गया)। /boot यानी /sysroot/boot है। अतिरिक्त EBS वॉल्यूम तब तक माउंट नहीं होते जब तक हुक उन्हें माउंट न करे। स्लिम initrd में busybox udhcpc और wget शिप होते हैं। ip(8) वास्तविक-रूट बाइनरी है, जिसे initrd लोडर के माध्यम से चलाया जाता है।

आवश्यकताएँ

रनटाइम होस्ट

रनटाइम होस्ट लक्ष्य है (वह EC2 इंस्टेंस जो deploy चलाता है और फिर बूटकिट में रीबूट करता है)।

  • Amazon Linux 2023 x86_64
  • वे EC2 इंस्टेंस जो AMI बूट मोड uefi या uefi-preferred के साथ UEFI का समर्थन करते हैं
  • रूट
  • ESP /boot/efi पर माउंटेड (systemd automount ठीक है; deploy इसे ट्रिगर करेगा)
  • libefivar और libefiboot (deploy डायनामिक रूप से लिंक्ड है; दोनों स्टॉक OS के साथ आते हैं)

ARM64 / Graviton का परीक्षण नहीं किया गया है और इसलिए समर्थित नहीं है (अभी तक?)।

बिल्ड होस्ट

Amazon Linux 2023 x86_64।

  • ./install-dependencies.sh के लिए रूट
  • चल रहे कर्नेल का /boot/vmlinuz-$(uname -r) और /boot/initramfs-$(uname -r).img (वे फ़ाइलें UKI में पैक की जाती हैं)
  • cc, make, pkg-config, grub2-mkimage, objcopy, kexec, openssl, xxd

./install-dependencies.sh बूटस्ट्रैप है। यह ऊपर दिए गए dnf पैकेज (साथ ही grub2-efi-x64-modules, systemd-boot-unsigned, efivar-devel, dracut) इंस्टॉल करता है और पिन किए गए busybox udhcpc और wget बाइनरी फ़ेच करता है।

बिल्ड

बिल्ड होस्ट पर:

./install-dependencies.sh
make

बिना आर्ग्युमेंट वाला make uki.efi, BOOTX64.EFI, और deploy लिखता है। यह ESP, /var/lib/systemd/boot, या NVRAM नहीं लिखता। ट्रेलर मैजिक और SOURCE_DATE_EPOCH ARCHITECTURE.md में हैं।

डिप्लॉय

शिप किए गए deploy ELF को टारगेट पर कॉपी करें। कोई कंपाइलर नहीं। uki.efi और BOOTX64.EFI पहले से ही ट्रेलर के अंदर हैं।

scp deploy user@target-host:~/

सह-स्थित AL2023 इंस्टेंस पर प्रतिलिपि वैकल्पिक है; बिल्ड ट्री से ./deploy चलाएँ।

अगले रीबूट पर, फ़र्मवेयर Boot0002 ESP PE लोड करता है, PE UKI को चेनलोड करता है, पेलोड चलता है, फिर kexec स्टॉक BLS कर्नेल शुरू करता है (ARCHITECTURE.md)। यदि deploy प्रिंट करता है EFI variables are not supported on this system, तो यह बूट BIOS है; Requirements देखें।

उपयोग

deploy के लिए root आवश्यक है। बिना किसी आर्ग्युमेंट के यह ट्रेलर ऑफ़सेट और NVRAM डंप करता है और कुछ नहीं लिखता। -y इमेज और NVRAM स्थापित करता है, फिर इस निष्पादन योग्य फ़ाइल को मिटाकर अनलिंक कर देता है। कोई भी अन्य आर्ग्युमेंट उपयोग संदेश प्रिंट करता है।

./deploy          # dump only: trailer offsets and NVRAM; no writes
./deploy -y       # plant, then wipe and unlink this binary
reboot

सफल -y रन पर प्रक्रिया बाहर निकलने के बाद अपनी ही निष्पादन योग्य फ़ाइल (/dev/urandom, truncate, unlink) को मिटाने का शेड्यूल करती है, इसलिए ls deploy विफल होना चाहिए। रखा गया UKI और bootkit GRUB इमेज बने रहते हैं।

-y /var/lib/systemd/boot/uki.efi (root:root, 0500) और /boot/efi/EFI/BOOT/.BOOTX64.EFI (root:root, VFAT पर best-effort 0700) लिखता है, फिर NVRAM Boot0002 बनाता है और उसे BootOrder में सबसे पहले रखता है। स्टॉक BOOTX64.EFI Boot0001 बना रहता है।

सत्यापित करें

बिल्ड होस्ट

make

यह तीनों उत्पाद बनाता है। इसमें कोई इन-ट्री टेस्ट सूट नहीं है। AL2023 इंस्टेंस पर सह-स्थित make जो बाद में ./deploy -y चलाएगा, वह स्वच्छ-रनटाइम प्रमाण नहीं है।

रनटाइम होस्ट

रीबूट के बाद आपको स्टेज-2 स्टॉक यूज़रस्पेस में होना चाहिए: वही कर्नेल, /proc/cmdline, और initrd पथ जो एक सामान्य BLS बूट उपयोग करता होगा।

cat /root/HELLO.TXT
# expect: stage-1 cmdline with BOOTKIT_MARKER, 98-payload.sh banner,
#         pre-OS network breadcrumbs (NIC up, DHCP/udhcpc, default route),
#         wget / external_ip=... / result, then
#         99-kexec-stock: resolve=bls:..., kexec -l ok, kexec -e

grep BOOTKIT_MARKER /proc/cmdline || echo "no marker (stage-2 ok)"
# expect: no marker
टूल डाउनलोड करें