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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
iptable_evil — कर्नेल-स्तरीय iptables बैकडोर जो RFC 3514 evil bit सेट होने पर सभी पैकेट्स को स्वीकार करता है, फ़ायरवॉल नियमों को बायपास करते हुए। इसमें Linux के लिए in-tree और out-of-tree बिल्ड शामिल हैं। | Kitploit
उपकरण/GitHubGitHub/flamingspork/iptable_evil
शोषणआईडीएस/आईपीएस से बचनानेटवर्क सुरक्षालर्निंग और शिक्षारेड टीमिंग
GitHubflamingspork/iptable_evil

iptable_evil

कर्नेल-स्तरीय iptables बैकडोर जो RFC 3514 evil bit सेट होने पर सभी पैकेट्स को स्वीकार करता है, फ़ायरवॉल नियमों को बायपास करते हुए। इसमें Linux के लिए in-tree और out-of-tree बिल्ड शामिल हैं।

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

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

सभी देखें →

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

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

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

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

iptable_evil

iptable_evil एक बहुत विशिष्ट बैकडोर है iptables के लिए जो सभी पैकेट्स को अनुमति देता है जिनमें evil bit सेट है, फायरवॉल नियमों की परवाह किए बिना।

प्रारंभिक कार्यान्वयन iptable_evil.c में है, जो iptables में एक टेबल जोड़ता है और इसके लिए एक स्थान डालने हेतु कर्नेल हेडर को संशोधित करने की आवश्यकता होती है। दूसरा कार्यान्वयन ip_tables कोर मॉड्यूल और उसके आश्रितों का एक संशोधित संस्करण है जो सभी Evil पैकेट्स को अनुमति देता है।

मैंने इसे Linux कर्नेल संस्करण 5.8.0-48 पर परीक्षण किया है, लेकिन यह iptables के पूर्ण कार्यान्वयन वाले लगभग किसी भी कर्नेल संस्करण पर लागू होना चाहिए।

Evil Bit की व्याख्या

RFC3514, 1 अप्रैल 2003 को प्रकाशित, IP फ्रैगमेंट ऑफसेट फ़ील्ड के पहले से अप्रयुक्त उच्च-क्रम बिट को एक सुरक्षा फ़्लैग के रूप में परिभाषित करता है। RFC-अनुरूप प्रणालियों के लिए, उस बिट स्थान में 1 का अर्थ है दुर्भावनापूर्ण इरादा और पैकेट को अवरुद्ध कर देगा।

डिफ़ॉल्ट रूप से, यह बिट बंद होता है, लेकिन आपके सॉफ़्टवेयर में इसे चालू किया जा सकता है यदि आप अपने IP पैकेट को पूर्ण रूप से असेंबल कर रहे हैं (जैसा कि कुछ हैकिंग टूल करते हैं), या Linux कर्नेल में इस पैच का उपयोग करके (इस रिपॉज़िटरी में यहाँ मिरर किया गया)।

बैकडोर कैसे काम करता है?

जब Linux कर्नेल द्वारा एक पैकेट प्राप्त होता है, तो इसे iptables द्वारा संसाधित किया जाता है और या तो यूज़रस्पेस को भेजा जाता है, अस्वीकार किया जाता है, या कॉन्फ़िगर किए गए नियमों के आधार पर संशोधित किया जाता है।

विशेष रूप से, प्रत्येक iptables टेबल ip_tables.c में फ़ंक्शन ipt_do_table का उपयोग यह तय करने के लिए करता है कि दिए गए पैकेट को स्वीकार करना है या नहीं। मैंने इसे संशोधित किया है ताकि evil bit सेट वाले किसी भी पैकेट को स्वचालित रूप से स्वीकार कर लिया जाए और आगे की सभी प्रक्रिया को छोड़ दिया जाए।

मैंने एक और टेबल (iptable_evil.c) जोड़ने का प्रयास भी किया जो सभी evil पैकेट को स्वीकार करेगी और दूसरों को प्रसंस्करण के लिए मानक टेबल को सौंप देगी, लेकिन मैं कभी यह पता नहीं लगा सका कि पैकेट को अगली टेबल पर कैसे पास किया जाए और मैंने तय किया कि प्रूफ़ ऑफ़ कॉन्सेप्ट के लिए ipt_do_table बैकडोर पर्याप्त है।

आपने ऐसा क्यों किया?

मुझे अपनी एक कक्षा के लिए कम्प्यूटिंग सुरक्षा में एक अच्छा बड़ा प्रोजेक्ट करना और लिखना था, और यह एक अच्छा विचार लगा। यह शायद उससे अधिक काम है जितनी उसे उम्मीद थी लेकिन ¯\_(ツ)_/¯.

निर्माण

इन-ट्री बिल्ड

evil टेबल को कर्नेल हेडर्स के संशोधन की आवश्यकता होती है, इसलिए इसे स्थापित करने के लिए पूर्ण ट्री बिल्ड के माध्यम से उत्पादित कर्नेल के साथ चलने की आवश्यकता होती है।

  • replace-existing की सामग्री को अपने कर्नेल स्रोत ट्री में कॉपी करें, मौजूदा फ़ाइलों को ओवरराइट करते हुए।
  • iptable_evil.c को linux-X.Y.Z/net/ipv4/netfilter पर कॉपी करें
  • (वैकल्पिक) ip_tables.c को linux-X.Y.Z/net/ipv4/netfilter पर कॉपी करें
  • अपने डिस्ट्रो की प्रक्रिया के अनुसार कर्नेल को कंपाइल करें (एक पैकेज उत्पन्न करना चाहिए)
  • पैकेज फ़ाइल स्थापित करें
  • अपने नए कर्नेल में रीबूट करें
  • iptables -t filter -L
  • iptables -t evil -L (इसका आउटपुट भ्रमित करने वाला होगा, लेकिन यह मॉड्यूल को लोड करेगा)

आउट-ऑफ़-ट्री बिल्ड

यह काफी आसान और तेज़ है, लेकिन evil टेबल का समर्थन नहीं करता और कर्नेल को "tainted" के रूप में चिह्नित करता है। इसके द्वारा उत्पादित ko फ़ाइलों को समान कर्नेल संस्करण वाले दूसरे कंप्यूटर पर कॉपी करना संभव होना चाहिए, लेकिन मैंने इसका परीक्षण नहीं किया है।

  • make चलाएँ
  • rmmod iptable_*
  • rmmod ip_tables
  • insmod ip_tables.ko
  • insmod iptable_filter.ko

परीक्षण/डेमो

इसका परीक्षण करने के लिए, आपको या तो इस पैच के साथ अपने पूरे कर्नेल को पुनर्निर्माण करना होगा या Scapy जैसे टूल का उपयोग करके अपने स्वयं के पैकेट बनाने होंगे। मैंने पहला विकल्प चुना क्योंकि मैं पहले से ही evil टेबल के लिए कर्नेल बना रहा था।

पहले स्क्रीनशॉट में, मैंने iptables में इस VM के सभी ट्रैफ़िक को अवरुद्ध कर दिया है, लेकिन मैं अभी भी SSH पर कनेक्ट करने में सक्षम हूं क्योंकि मेरे पैकेट्स में evil bit सेट है, जैसा कि दूसरे स्क्रीनशॉट में दिखाया गया है। एक SSH कनेक्शन का स्क्रीनशॉट जिसे अवरुद्ध किया जाना चाहिए था Wireshark का स्क्रीनशॉट दिखा रहा है कि आरक्षित बिट सेट है

जब एक VM से (जो evil bit सेट नहीं करता) बैकडोर वाले VM से कनेक्ट किया जाता है, तो SSH कनेक्शन अंततः टाइम आउट हो जाएगा। एक SSH कनेक्शन के टाइम आउट होने का स्क्रीनशॉट Wireshark का स्क्रीनशॉट दिखा रहा है कि आरक्षित बिट सेट नहीं है

बैकडोर और गैर-बैकडोर SSH कनेक्शनों के पैकेट कैप्चर इस रिपो में docs/ फ़ोल्डर में आपके अवलोकन के लिए हैं।

कर्नेल संस्करण

  • 5.8.0-48-generic (Ubuntu 20.04)

आगे की जानकारी और संसाधन

  • RFC 3514 जिसने evil bit का आविष्कार किया: https://tools.ietf.org/html/rfc3514
  • Ben Cox का evil bit का परिचय: https://blog.benjojo.co.uk/post/evil-bit-RFC3514-real-world-usage
  • Ben Cox का iptables_uwu (मुख्यतः शोध करने के लिए चीजों के नाम देने के लिए): https://github.com/benjojo/iptables-uwu
  • एक कुछ पुराना लेकिन बहुत विस्तृत विवरण कि iptables कैसे काम करता है और इसमें लक्ष्य और मॉड्यूल कैसे जोड़ें: https://inai.de/documents/Netfilter_Modules.pdf
  • https://upload.wikimedia.org/wikipedia/commons/3/37/Netfilter-packet-flow.svg
  • Bootlin का Elixir खोज कर्नेल में पहचानकर्ता खोजने के लिए grep की तुलना में काफी आसान है: https://elixir.bootlin.com/linux/v5.8/source/net/ipv4/netfilter/ip_tables.c#L225
  • Ubuntu के दस्तावेज़ बताते हैं कि कर्नेल कैसे बनाएं: https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
टूल डाउनलोड करें