Wapiti - பாதிப்புகள் உள்ளதா என ஒரு தளத்தை தானே சரிபார்த்தல்

Wapiti - பாதிப்புகள் உள்ளதா என ஒரு தளத்தை தானே சரிபார்த்தல்
கடந்த காலத்தில் கட்டுரை பற்றி பேசினோம் Nemesida WAF இலவசம் - இணையதளங்கள் மற்றும் ஏபிஐகளை ஹேக்கர் தாக்குதல்களில் இருந்து பாதுகாப்பதற்கான இலவச கருவி, இதில் பிரபலமான பாதிப்பு ஸ்கேனரை மதிப்பாய்வு செய்ய முடிவு செய்தோம். வாபிடி.

பாதிப்புகளுக்கு இணையதளத்தை ஸ்கேன் செய்வது அவசியமான நடவடிக்கையாகும், இது மூலக் குறியீட்டின் பகுப்பாய்வுடன் இணைந்து, சமரச அச்சுறுத்தல்களுக்கு எதிராக அதன் பாதுகாப்பின் அளவை மதிப்பிட உங்களை அனுமதிக்கிறது. சிறப்பு கருவிகளைப் பயன்படுத்தி இணைய வளத்தை ஸ்கேன் செய்யலாம்.

Nikto, W3af (Python 2.7 இல் எழுதப்பட்டது, இது இனி ஆதரிக்கப்படாது) அல்லது Arachni (பிப்ரவரி முதல் ஆதரிக்கப்படாது) ஆகியவை இலவச பிரிவில் வழங்கப்பட்ட மிகவும் பிரபலமான தீர்வுகள். நிச்சயமாக, மற்றவர்கள் உள்ளனர், எடுத்துக்காட்டாக, வாபிடி, நாங்கள் கவனம் செலுத்த முடிவு செய்தோம்.

Wapiti பின்வரும் வகையான பாதிப்புகளுடன் செயல்படுகிறது:

  • கோப்பு விரிவாக்கம் (உள்ளூர் மற்றும் தொலைநிலை, fopen, readfile);
  • ஊசி (PHP / JSP / ASP / SQL ஊசி மற்றும் XPath ஊசி);
  • XSS (கிராஸ் சைட் ஸ்கிரிப்டிங்) (பிரதிபலிப்பு மற்றும் தொடர்ந்து);
  • கட்டளைகளைக் கண்டறிதல் மற்றும் செயல்படுத்துதல் (eval(), system(), passtru());
  • CRLF ஊசிகள் (HTTP பதில் பிரித்தல், அமர்வு நிர்ணயம்);
  • XXE (எக்ஸ்எம்எல் வெளிப்புற நிறுவனம்) உட்பொதித்தல்;
  • SSRF (சர்வர் சைட் கோரிக்கை மோசடி);
  • அறியப்பட்ட ஆபத்தான கோப்புகளின் பயன்பாடு (நிக்டோ தரவுத்தளத்திற்கு நன்றி);
  • புறக்கணிக்கக்கூடிய பலவீனமான .htaccess உள்ளமைவுகள்;
  • ரகசிய தகவலை வெளிப்படுத்தும் காப்பு கோப்புகளின் இருப்பு (மூலக் குறியீட்டை வெளிப்படுத்துதல்);
  • ஷெல்ஷாக்;
  • திறந்த வழிமாற்றுகள்;
  • தீர்க்கப்படக்கூடிய தரமற்ற HTTP முறைகள் (PUT).

அம்சங்கள்:

  • HTTP, HTTPS மற்றும் SOCKS5 ப்ராக்ஸி ஆதரவு;
  • பல முறைகளைப் பயன்படுத்தி அங்கீகாரம்: Basic, Digest, Kerberos அல்லது NTLM;
  • ஸ்கேனிங் பகுதியைக் கட்டுப்படுத்தும் திறன் (டொமைன், கோப்புறை, பக்கம், URL);
  • URL இல் உள்ள அளவுருக்களில் ஒன்றை தானாக அகற்றுதல்;
  • முடிவற்ற ஸ்கேன் லூப்களுக்கு எதிராக பல முன்னெச்சரிக்கைகள் (எடுத்துக்காட்டு: ifor, ஒரு அளவுருவிற்கு மதிப்புகளை கட்டுப்படுத்துதல்);
  • URLகளை ஆய்வு செய்வதற்கான முன்னுரிமையை அமைக்கும் திறன் (அவை ஸ்கேனிங் பகுதியில் இல்லாவிட்டாலும்);
  • ஸ்கேனிங் மற்றும் தாக்குதல்களில் இருந்து சில URLகளை விலக்கும் திறன் (உதாரணமாக: URL வெளியேறுதல்);
  • குக்கீகளை இறக்குமதி செய்யுங்கள் (வாபிடி-கெட்குக்கி கருவியைப் பயன்படுத்தி அவற்றைப் பெறுங்கள்);
  • SSL சான்றிதழ் சரிபார்ப்பை செயல்படுத்த/முடக்க திறன்;
  • ஜாவாஸ்கிரிப்டில் இருந்து URLகளை பிரித்தெடுக்கும் திறன் (மிக எளிமையான JS மொழிபெயர்ப்பாளர்);
  • HTML5 உடனான தொடர்பு;
  • கிராலர் நடத்தை மற்றும் கட்டுப்பாடுகளை நிர்வகிப்பதற்கான பல விருப்பங்கள்;
  • ஸ்கேனிங் செயல்முறைக்கு அதிகபட்ச நேரத்தை அமைத்தல்;
  • சில தனிப்பயன் HTTP தலைப்புகளைச் சேர்ப்பது அல்லது தனிப்பயன் பயனர் முகவரை அமைப்பது.

கூடுதல் அம்சங்கள்:

  • பல்வேறு வடிவங்களில் (HTML, XML, JSON, TXT) பாதிப்பு அறிக்கைகளை உருவாக்குதல்;
  • ஸ்கேன் அல்லது தாக்குதலை இடைநிறுத்துதல் மற்றும் மீண்டும் தொடங்குதல் (SQLite3 தரவுத்தளங்களைப் பயன்படுத்தி அமர்வு வழிமுறை);
  • பாதிப்புகளை முன்னிலைப்படுத்த முனையத்தில் பின்னொளியை அமைத்தல்;
  • லாக்கிங் பல்வேறு நிலைகள்;
  • தாக்குதல் தொகுதிகளை செயல்படுத்த/முடக்க ஒரு விரைவான மற்றும் எளிதான வழி.

நிறுவல்

Wapiti இன் தற்போதைய பதிப்பை 2 வழிகளில் நிறுவலாம்:

  • அதிகாரப்பூர்வ மூலத்தைப் பதிவிறக்கவும் தளத்தில் மற்றும் நிறுவல் ஸ்கிரிப்டை இயக்கவும், முன்பு Python3 நிறுவப்பட்டது;
  • pip3 நிறுவல் wapiti3 கட்டளையைப் பயன்படுத்தி.

இதற்குப் பிறகு, வாபிடி செல்ல தயாராக இருக்கும்.

கருவியுடன் வேலை செய்தல்

Wapiti இன் வேலையை நிரூபிக்க, நாங்கள் சிறப்பாக தயாரிக்கப்பட்ட ஸ்டாண்ட் sites.vulns.pentestit.ru (உள் வளம்) பயன்படுத்துவோம், இதில் பல்வேறு பாதிப்புகள் (ஊசி, XSS, LFI/RFI) மற்றும் இணைய பயன்பாடுகளின் பிற குறைபாடுகள் உள்ளன.

தகவல் தகவல் நோக்கங்களுக்காக மட்டுமே வழங்கப்படுகிறது. சட்டத்தை மீறாதே!

ஸ்கேனரைத் தொடங்க அடிப்படை கட்டளை:

# wapiti -u <target> <options>

அதே நேரத்தில், ஏராளமான வெளியீட்டு விருப்பங்களுடன் மிகவும் விரிவான உதவி உள்ளது, எடுத்துக்காட்டாக:

--வாய்ப்பு - பயன்பாட்டு பகுதி
வலைவல URL உடன் ஸ்கோப் அளவுருவைக் குறிப்பிட்டால், ஒரு பக்கத்தையும் தளத்தில் காணக்கூடிய அனைத்துப் பக்கங்களையும் குறிப்பிட்டு தளத்தின் வலைவலப் பகுதியைச் சரிசெய்யலாம்.

-s и -x - குறிப்பிட்ட URLகளைச் சேர்க்க அல்லது அகற்றுவதற்கான விருப்பங்கள். வலைவலச் செயல்பாட்டின் போது குறிப்பிட்ட URLஐச் சேர்க்க அல்லது அகற்ற வேண்டியிருக்கும் போது இந்த விருப்பங்கள் பயனுள்ளதாக இருக்கும்.

--தவிர் — இந்த விசையுடன் குறிப்பிட்ட அளவுரு ஸ்கேன் செய்யப்படும், ஆனால் தாக்கப்படாது. ஸ்கேனிங்கின் போது சிறப்பாக விலக்கப்பட்ட ஆபத்தான அளவுருக்கள் ஏதேனும் இருந்தால் பயனுள்ளதாக இருக்கும்.

--verify-ssl - சான்றிதழ் சரிபார்ப்பை இயக்கவும் அல்லது முடக்கவும்.
வாபிடி ஸ்கேனர் மாடுலர். இருப்பினும், ஸ்கேனர் இயங்கும் போது தானாக இணைக்கப்பட்டவை உட்பட குறிப்பிட்ட தொகுதிகளை துவக்க, நீங்கள் -m சுவிட்சைப் பயன்படுத்த வேண்டும் மற்றும் உங்களுக்குத் தேவையானவற்றைப் பட்டியலிட வேண்டும், காற்புள்ளிகளால் பிரிக்கவும். விசை பயன்படுத்தப்படாவிட்டால், எல்லா தொகுதிகளும் முன்னிருப்பாக வேலை செய்யும். எளிமையான பதிப்பில் இது இப்படி இருக்கும்:

# wapiti -u http://sites.vulns.pentestit.ru/ -m sql,xss,xxe

இந்த பயன்பாட்டு எடுத்துக்காட்டு என்பது இலக்கை ஸ்கேன் செய்யும் போது SQL, XSS மற்றும் XXE தொகுதிகளை மட்டுமே பயன்படுத்துவோம். கூடுதலாக, நீங்கள் விரும்பிய முறையைப் பொறுத்து தொகுதிகளின் செயல்பாட்டை வடிகட்டலாம். உதாரணத்திற்கு -m “xss: get, blindsql: post, xxe: post”. இந்த வழக்கில், தொகுதி xss GET முறை மற்றும் தொகுதியைப் பயன்படுத்தி அனுப்பப்படும் கோரிக்கைகளுக்குப் பொருந்தும் blibdsql - கோரிக்கைகளை இடுகையிட, முதலியன. மூலம், பட்டியலில் சேர்க்கப்பட்டுள்ள சில தொகுதிகள் ஸ்கேன் செய்யும் போது தேவையில்லை அல்லது அதிக நேரம் எடுத்தால், Ctrl + C கலவையை அழுத்துவதன் மூலம் ஊடாடும் மெனுவில் தொடர்புடைய உருப்படியைத் தேர்ந்தெடுப்பதன் மூலம் தற்போதைய தொகுதியைப் பயன்படுத்துவதைத் தவிர்க்கலாம்.

விசையைப் பயன்படுத்தி ப்ராக்ஸி மூலம் கோரிக்கைகளை அனுப்புவதை Wapiti ஆதரிக்கிறது -p மற்றும் அளவுரு மூலம் இலக்கு தளத்தில் அங்கீகாரம் -a. நீங்கள் அங்கீகார வகையையும் குறிப்பிடலாம்: அடிப்படை, டைஜஸ்ட், கெர்பெரோஸ் и ntlm. கடைசி இரண்டு கூடுதல் தொகுதிகள் நிறுவல் தேவைப்படலாம். கூடுதலாக, கோரிக்கைகளில் (தன்னிச்சையானவை உட்பட) எந்த தலைப்புகளையும் நீங்கள் செருகலாம் பயனர் முகவர்) இன்னும் பற்பல.

அங்கீகாரத்தைப் பயன்படுத்த, நீங்கள் கருவியைப் பயன்படுத்தலாம் wapiti-getcookie. அதன் உதவியுடன் நாங்கள் உருவாக்குகிறோம் குக்கீ, ஸ்கேன் செய்யும் போது வாபிடி பயன்படுத்தும். உருவாக்கம் குக்கீ கட்டளையுடன் முடிந்தது:

# wapiti-getcookie -u http://sites.vulns.pentestit.ru/login.php -c cookie.json

ஊடாடும் வகையில் பணிபுரியும் போது, ​​நாங்கள் கேள்விகளுக்கு பதிலளிக்கிறோம் மற்றும் உள்நுழைவு, கடவுச்சொல் போன்ற தேவையான தகவல்களைக் குறிப்பிடுகிறோம்:

Wapiti - பாதிப்புகள் உள்ளதா என ஒரு தளத்தை தானே சரிபார்த்தல்

வெளியீடு JSON வடிவத்தில் ஒரு கோப்பு. மற்றொரு விருப்பம் அளவுரு மூலம் தேவையான அனைத்து தகவல்களையும் சேர்க்க வேண்டும் -d:

# wapiti-getcookie - http://sites.vulns.pentestit.ru/login.php -c cookie.json -d "username=admin&password=admin&enter=submit"

முடிவு ஒத்ததாக இருக்கும்:

Wapiti - பாதிப்புகள் உள்ளதா என ஒரு தளத்தை தானே சரிபார்த்தல்

ஸ்கேனரின் முக்கிய செயல்பாட்டைக் கருத்தில் கொள்ளும்போது, ​​எங்கள் விஷயத்தில் இணைய பயன்பாட்டைச் சோதிப்பதற்கான இறுதி கோரிக்கை:

# wapiti --level 1 -u http://sites.vulns.pentestit.ru/ -f html -o /tmp/vulns.html -m all --color -с cookie.json --scope folder --flush-session -A 'Pentestit Scans' -p http://proxy.office.pentestit.ru:3128

மற்ற அளவுருக்கள் மத்தியில்:

-f и -o - அறிக்கையைச் சேமிப்பதற்கான வடிவம் மற்றும் பாதை;

-m - அனைத்து தொகுதிகளையும் இணைக்க பரிந்துரைக்கப்படவில்லை, ஏனெனில் சோதனை நேரம் மற்றும் அறிக்கை அளவை பாதிக்கும்;

-நிறம் - வாபிடியின் படி அவற்றின் விமர்சனத்தைப் பொறுத்து கண்டறியப்பட்ட பாதிப்புகளை முன்னிலைப்படுத்தவும்;

-c - உடன் ஒரு கோப்பைப் பயன்படுத்துதல் குக்கீ, பயன்படுத்தி உருவாக்கப்பட்டது wapiti-getcookie;

--வாய்ப்பு - தாக்குதலுக்கான இலக்கைத் தேர்ந்தெடுப்பது. ஒரு விருப்பத்தைத் தேர்ந்தெடுப்பது அடைவு ஒவ்வொரு URL களும் க்ரால் செய்யப்பட்டு தாக்கப்படும், அடிப்படை ஒன்றிலிருந்து தொடங்கும். அடிப்படை URL இல் முன்னோக்கி சாய்வு இருக்க வேண்டும் (கோப்பு பெயர் இல்லை);

--ஃப்ளஷ்-அமர்வு - மீண்டும் மீண்டும் ஸ்கேன் செய்ய அனுமதிக்கிறது, இதில் முந்தைய முடிவுகள் கணக்கில் எடுத்துக்கொள்ளப்படாது;

-A - சொந்தம் பயனர் முகவர்;

-p — ப்ராக்ஸி சர்வர் முகவரி, தேவைப்பட்டால்.

அறிக்கை பற்றி கொஞ்சம்

ஸ்கேனிங் முடிவு HTML பக்க வடிவமைப்பில் காணப்படும் அனைத்து பாதிப்புகள் பற்றிய விரிவான அறிக்கையின் வடிவத்தில், தெளிவான மற்றும் எளிதாக படிக்கக்கூடிய வடிவத்தில் வழங்கப்படுகிறது. கண்டறியப்பட்ட பாதிப்புகளின் வகைகள் மற்றும் எண்ணிக்கை, அவற்றின் விளக்கங்கள், கோரிக்கைகள், கட்டளைகள் ஆகியவற்றை அறிக்கை குறிப்பிடும் சுருட்டை மற்றும் அவற்றை எவ்வாறு மூடுவது என்பதற்கான உதவிக்குறிப்புகள். வழிசெலுத்தலின் எளிமைக்காக, வகைப் பெயர்களில் ஒரு இணைப்பு சேர்க்கப்படும், அதைக் கிளிக் செய்வதன் மூலம் நீங்கள் அதற்குச் செல்லலாம்:

Wapiti - பாதிப்புகள் உள்ளதா என ஒரு தளத்தை தானே சரிபார்த்தல்

அறிக்கையின் குறிப்பிடத்தக்க குறைபாடு என்னவென்றால், இணைய பயன்பாட்டு வரைபடம் இல்லாதது, இது இல்லாமல் அனைத்து முகவரிகள் மற்றும் அளவுருக்கள் பகுப்பாய்வு செய்யப்பட்டதா என்பது தெளிவாக இருக்காது. தவறான நேர்மறைகளும் சாத்தியமாகும். எங்கள் விஷயத்தில், அறிக்கையில் "காப்பு கோப்புகள்" மற்றும் "ஆபத்தான கோப்புகள்" ஆகியவை அடங்கும். சேவையகத்தில் அத்தகைய கோப்புகள் எதுவும் இல்லாததால், அவற்றின் எண் யதார்த்தத்துடன் ஒத்துப்போகவில்லை:

Wapiti - பாதிப்புகள் உள்ளதா என ஒரு தளத்தை தானே சரிபார்த்தல்

ஒருவேளை தவறாக வேலை செய்யும் தொகுதிகள் காலப்போக்கில் சரி செய்யப்படும். அறிக்கையின் மற்றொரு குறைபாடு, கண்டறியப்பட்ட பாதிப்புகளின் வண்ணம் இல்லாதது (அவற்றின் விமர்சனத்தைப் பொறுத்து), அல்லது குறைந்தபட்சம் அவற்றை வகைகளாகப் பிரிப்பது. கண்டறியப்பட்ட பாதிப்பின் முக்கியத்துவத்தை நாம் மறைமுகமாக புரிந்து கொள்ள ஒரே வழி அளவுருவைப் பயன்படுத்துவதாகும் -நிறம் ஸ்கேனிங்கின் போது, ​​பின்னர் கண்டறியப்பட்ட பாதிப்புகள் வெவ்வேறு வண்ணங்களில் வண்ணமயமாக்கப்படும்:

Wapiti - பாதிப்புகள் உள்ளதா என ஒரு தளத்தை தானே சரிபார்த்தல்

ஆனால் அறிக்கையே அத்தகைய வண்ணத்தை வழங்கவில்லை.

பாதிப்புகள்

SQLi

ஸ்கேனர் SQLi தேடலை ஓரளவு சமாளித்தது. அங்கீகாரம் தேவைப்படாத பக்கங்களில் SQL பாதிப்புகளைத் தேடும் போது, ​​எந்தச் சிக்கலும் ஏற்படாது:

Wapiti - பாதிப்புகள் உள்ளதா என ஒரு தளத்தை தானே சரிபார்த்தல்

அங்கீகாரத்திற்குப் பிறகு மட்டுமே அணுகக்கூடிய பக்கங்களில் பாதிப்பைக் கண்டறிய முடியவில்லை, சரியானதைப் பயன்படுத்தினாலும் கூட குக்கீ, பெரும்பாலும் வெற்றிகரமான அங்கீகாரத்திற்குப் பிறகு, அவர்களின் அமர்வு "வெளியேறும்" மற்றும் குக்கீ செல்லாததாகிவிடும். இந்த நடைமுறையைச் செயலாக்குவதற்குப் பொறுப்பான ஒரு தனி ஸ்கிரிப்டாக deauthorization செயல்பாடு செயல்படுத்தப்பட்டால், அதை -x அளவுருவின் மூலம் முழுமையாக விலக்கி, அதன் மூலம் அதைத் தூண்டுவதைத் தடுக்க முடியும். இல்லையெனில், அதன் செயலாக்கத்தை விலக்க முடியாது. இது ஒரு குறிப்பிட்ட தொகுதியின் சிக்கல் அல்ல, ஆனால் ஒட்டுமொத்த கருவியுடன், ஆனால் இந்த நுணுக்கத்தின் காரணமாக, ஒரு மூடிய வள பகுதியில் பல ஊசிகளைக் கண்டறிய முடியவில்லை.

XSS என

ஸ்கேனர் கொடுக்கப்பட்ட பணியைச் சரியாகச் சமாளித்து, தயாரிக்கப்பட்ட அனைத்து பாதிப்புகளையும் கண்டறிந்தது:

Wapiti - பாதிப்புகள் உள்ளதா என ஒரு தளத்தை தானே சரிபார்த்தல்

LFI/RFI

ஸ்கேனர் அனைத்து அடிப்படை பாதிப்புகளையும் கண்டறிந்தது:

Wapiti - பாதிப்புகள் உள்ளதா என ஒரு தளத்தை தானே சரிபார்த்தல்

பொதுவாக, தவறான நேர்மறைகள் மற்றும் விடுபட்ட பாதிப்புகள் இருந்தபோதிலும், Wapiti, ஒரு இலவச கருவியாக, நல்ல செயல்திறன் முடிவுகளைக் காட்டுகிறது. எப்படியிருந்தாலும், ஸ்கேனர் மிகவும் சக்திவாய்ந்த, நெகிழ்வான மற்றும் மல்டிஃபங்க்ஸ்னல் என்பதை அங்கீகரிப்பது மதிப்பு, மற்றும் மிக முக்கியமாக, இது இலவசம், எனவே ஒரு வலையின் பாதுகாப்பு நிலை குறித்த அடிப்படை தகவல்களைப் பெற நிர்வாகிகள் மற்றும் டெவலப்பர்களுக்கு உதவுவதற்கு இது பயன்படுத்த உரிமை உண்டு. விண்ணப்பம்.

ஆரோக்கியமாகவும் பாதுகாப்பாகவும் இருங்கள்!

ஆதாரம்: www.habr.com

கருத்தைச் சேர்