వాపిటి - ఒక సైట్‌ను స్వయంగా దుర్బలత్వాల కోసం తనిఖీ చేస్తోంది

వాపిటి - ఒక సైట్‌ను స్వయంగా దుర్బలత్వాల కోసం తనిఖీ చేస్తోంది
గతం లో వ్యాసం మేము మాట్లాడాము నెమెసిడా WAF ఉచితం - హ్యాకర్ దాడుల నుండి వెబ్‌సైట్‌లు మరియు APIలను రక్షించడానికి ఒక ఉచిత సాధనం, మరియు ఇందులో మేము ప్రముఖ వల్నరబిలిటీ స్కానర్‌ని సమీక్షించాలని నిర్ణయించుకున్నాము వాపిటి.

దుర్బలత్వాల కోసం వెబ్‌సైట్‌ను స్కాన్ చేయడం అనేది అవసరమైన కొలత, ఇది సోర్స్ కోడ్ యొక్క విశ్లేషణతో పాటు, రాజీ బెదిరింపులకు వ్యతిరేకంగా దాని భద్రత స్థాయిని అంచనా వేయడానికి మిమ్మల్ని అనుమతిస్తుంది. మీరు ప్రత్యేక సాధనాలను ఉపయోగించి వెబ్ వనరును స్కాన్ చేయవచ్చు.

నిక్టో, W3af (పైథాన్ 2.7లో వ్రాయబడింది, దీనికి ఇకపై మద్దతు లేదు) లేదా అరాక్ని (ఫిబ్రవరి నుండి ఇకపై మద్దతు లేదు) ఉచిత విభాగంలో అందించబడిన అత్యంత ప్రజాదరణ పొందిన పరిష్కారాలు. వాస్తవానికి, ఇతరులు ఉన్నారు, ఉదాహరణకు, వాపిటి, మేము దృష్టి పెట్టాలని నిర్ణయించుకున్నాము.

Wapiti క్రింది రకాల దుర్బలత్వాలతో పని చేస్తుంది:

  • ఫైల్ విస్తరణ (స్థానిక మరియు రిమోట్, ఫోపెన్, రీడ్‌ఫైల్);
  • ఇంజెక్షన్లు (PHP / JSP / ASP / SQL ఇంజెక్షన్ మరియు XPath ఇంజెక్షన్);
  • XSS (క్రాస్ సైట్ స్క్రిప్టింగ్) (రిఫ్లెక్టివ్ మరియు పెర్సిస్టెంట్);
  • ఆదేశాలను గుర్తించడం మరియు అమలు చేయడం (eval(), system(), passtru());
  • CRLF ఇంజెక్షన్లు (HTTP ప్రతిస్పందన విభజన, సెషన్ స్థిరీకరణ);
  • XXE (XML బాహ్య ఎంటిటీ) పొందుపరచడం;
  • SSRF (సర్వర్ సైడ్ రిక్వెస్ట్ ఫోర్జరీ);
  • తెలిసిన సంభావ్య ప్రమాదకరమైన ఫైల్‌ల ఉపయోగం (నిక్టో డేటాబేస్‌కు ధన్యవాదాలు);
  • బైపాస్ చేయగల బలహీనమైన .htaccess కాన్ఫిగరేషన్‌లు;
  • రహస్య సమాచారాన్ని బహిర్గతం చేసే బ్యాకప్ ఫైళ్ల ఉనికి (సోర్స్ కోడ్ యొక్క బహిర్గతం);
  • షెల్ షాక్;
  • దారిమార్పులను తెరవండి;
  • పరిష్కరించగల ప్రామాణికం కాని HTTP పద్ధతులు (PUT).

ఫీచర్స్:

  • HTTP, HTTPS మరియు SOCKS5 ప్రాక్సీ మద్దతు;
  • అనేక పద్ధతులను ఉపయోగించి ప్రమాణీకరణ: ప్రాథమిక, డైజెస్ట్, కెర్బెరోస్ లేదా NTLM;
  • స్కానింగ్ ప్రాంతాన్ని పరిమితం చేసే సామర్థ్యం (డొమైన్, ఫోల్డర్, పేజీ, URL);
  • URLలోని పారామితులలో ఒకదానిని స్వయంచాలకంగా తీసివేయడం;
  • అంతులేని స్కాన్ లూప్‌లకు వ్యతిరేకంగా బహుళ జాగ్రత్తలు (ఉదాహరణ: ifor, పరామితి కోసం విలువలను పరిమితం చేయడం);
  • URLలను పరిశీలించడానికి ప్రాధాన్యతను సెట్ చేసే సామర్థ్యం (అవి స్కానింగ్ ప్రాంతంలో లేకపోయినా);
  • స్కానింగ్ మరియు దాడుల నుండి కొన్ని URLలను మినహాయించే సామర్థ్యం (ఉదాహరణకు: URL లాగ్అవుట్);
  • కుకీలను దిగుమతి చేయండి (వాపిటి-గెట్‌కూకీ సాధనాన్ని ఉపయోగించి వాటిని పొందండి);
  • SSL సర్టిఫికేట్ ధృవీకరణను సక్రియం చేసే / నిష్క్రియం చేయగల సామర్థ్యం;
  • జావాస్క్రిప్ట్ నుండి URLలను సంగ్రహించే సామర్థ్యం (చాలా సులభమైన JS వ్యాఖ్యాత);
  • HTML5తో పరస్పర చర్య;
  • క్రాలర్ ప్రవర్తన మరియు పరిమితులను నిర్వహించడానికి అనేక ఎంపికలు;
  • స్కానింగ్ ప్రక్రియ కోసం గరిష్ట సమయాన్ని సెట్ చేయడం;
  • కొన్ని అనుకూల HTTP హెడర్‌లను జోడించడం లేదా అనుకూల వినియోగదారు ఏజెంట్‌ని సెటప్ చేయడం.

అదనపు లక్షణాలు:

  • వివిధ ఫార్మాట్లలో (HTML, XML, JSON, TXT) దుర్బలత్వ నివేదికలను సృష్టించడం;
  • స్కాన్ లేదా దాడిని పాజ్ చేయడం మరియు పునఃప్రారంభించడం (SQLite3 డేటాబేస్‌లను ఉపయోగించి సెషన్ మెకానిజం);
  • దుర్బలత్వాలను హైలైట్ చేయడానికి టెర్మినల్‌లో బ్యాక్‌లైటింగ్;
  • లాగింగ్ యొక్క వివిధ స్థాయిలు;
  • దాడి మాడ్యూల్‌లను సక్రియం చేయడానికి/క్రియారహితం చేయడానికి శీఘ్ర మరియు సులభమైన మార్గం.

సెట్టింగ్

Wapiti యొక్క ప్రస్తుత సంస్కరణను 2 మార్గాల్లో ఇన్‌స్టాల్ చేయవచ్చు:

  • అధికారిక నుండి మూలాన్ని డౌన్‌లోడ్ చేయండి వెబ్సైట్ మరియు మునుపు Python3ని ఇన్‌స్టాల్ చేసి, ఇన్‌స్టాలేషన్ స్క్రిప్ట్‌ను అమలు చేయండి;
  • pip3 install 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: పోస్ట్, xxe: పోస్ట్”. ఈ సందర్భంలో, మాడ్యూల్ XSS GET పద్ధతి మరియు మాడ్యూల్ ఉపయోగించి పంపిన అభ్యర్థనలకు వర్తిస్తుంది blibdsql - అభ్యర్థనలను పోస్ట్ చేయడానికి, మొదలైనవి. మార్గం ద్వారా, స్కానింగ్ సమయంలో జాబితాలో చేర్చబడిన కొన్ని మాడ్యూల్ అవసరం లేకుంటే లేదా చాలా సమయం తీసుకుంటే, Ctrl+C కలయికను నొక్కడం ద్వారా మీరు ఇంటరాక్టివ్ మెనులో సంబంధిత అంశాన్ని ఎంచుకోవడం ద్వారా ప్రస్తుత మాడ్యూల్‌ని ఉపయోగించకుండా దాటవేయవచ్చు.

కీని ఉపయోగించి ప్రాక్సీ ద్వారా అభ్యర్థనలను పంపడానికి Wapiti మద్దతు ఇస్తుంది -p మరియు పారామీటర్ ద్వారా లక్ష్య సైట్‌లో ప్రమాణీకరణ -a. మీరు ప్రమాణీకరణ రకాన్ని కూడా పేర్కొనవచ్చు: ప్రాథమిక, డైజెస్ట్, Kerberos и ntlm. చివరి రెండు అదనపు మాడ్యూల్స్ యొక్క సంస్థాపన అవసరం కావచ్చు. అదనంగా, మీరు ఏదైనా హెడర్‌లను అభ్యర్థనలలోకి చొప్పించవచ్చు (ఏకపక్షంతో సహా యూజర్-ఏజెంట్) ఇవే కాకండా ఇంకా.

ప్రమాణీకరణను ఉపయోగించడానికి మీరు సాధనాన్ని ఉపయోగించవచ్చు వాపిటి-గెట్‌కూకీ. దాని సహాయంతో మేము ఏర్పరుస్తాము కుకీ, స్కాన్ చేస్తున్నప్పుడు వాపిటి ఉపయోగించబడుతుంది. నిర్మాణం కుకీ ఆదేశంతో పూర్తయింది:

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

ఇంటరాక్టివ్‌గా పని చేస్తున్నప్పుడు, మేము ప్రశ్నలకు సమాధానమిస్తాము మరియు లాగిన్, పాస్‌వర్డ్ మొదలైన అవసరమైన సమాచారాన్ని సూచిస్తాము:

వాపిటి - ఒక సైట్‌ను స్వయంగా దుర్బలత్వాల కోసం తనిఖీ చేస్తోంది

అవుట్‌పుట్ JSON ఫార్మాట్‌లోని ఫైల్. పారామీటర్ ద్వారా అవసరమైన మొత్తం సమాచారాన్ని జోడించడం మరొక ఎంపిక -d:

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

ఫలితం సమానంగా ఉంటుంది:

వాపిటి - ఒక సైట్‌ను స్వయంగా దుర్బలత్వాల కోసం తనిఖీ చేస్తోంది

స్కానర్ యొక్క ప్రధాన కార్యాచరణను పరిశీలిస్తున్నప్పుడు, మా విషయంలో వెబ్ అప్లికేషన్‌ను పరీక్షించడానికి చివరి అభ్యర్థన:

# 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 - తో ఫైల్‌ని ఉపయోగించడం కుకీ, ఉపయోగించి రూపొందించబడింది వాపిటి-గెట్‌కూకీ;

--పరిధి - దాడికి లక్ష్యాన్ని ఎంచుకోవడం. ఒక ఎంపికను ఎంచుకోవడం ఫోల్డర్ బేస్ వన్‌తో ప్రారంభించి ప్రతి URL క్రాల్ చేయబడుతుంది మరియు దాడి చేయబడుతుంది. బేస్ URL తప్పనిసరిగా ఫార్వర్డ్ స్లాష్‌ని కలిగి ఉండాలి (ఫైల్ పేరు లేదు);

--ఫ్లష్-సెషన్ - పునరావృత స్కానింగ్ కోసం అనుమతిస్తుంది, దీనిలో మునుపటి ఫలితాలు పరిగణనలోకి తీసుకోబడవు;

-A - స్వంతం యూజర్-ఏజెంట్;

-p - అవసరమైతే ప్రాక్సీ సర్వర్ చిరునామా.

నివేదిక గురించి కొంచెం

స్కానింగ్ ఫలితం HTML పేజీ ఆకృతిలో కనుగొనబడిన అన్ని దుర్బలత్వాలపై వివరణాత్మక నివేదిక రూపంలో స్పష్టంగా మరియు సులభంగా చదవగలిగే రూపంలో ప్రదర్శించబడుతుంది. నివేదిక కేటగిరీలు మరియు కనుగొనబడిన దుర్బలత్వాల సంఖ్య, వాటి వివరణలు, అభ్యర్థనలు, ఆదేశాలను సూచిస్తుంది కర్ల్ మరియు వాటిని ఎలా మూసివేయాలనే దానిపై చిట్కాలు. నావిగేషన్ సౌలభ్యం కోసం, వర్గం పేర్లకు లింక్ జోడించబడుతుంది, దానిపై క్లిక్ చేయడం ద్వారా మీరు దానికి వెళ్లవచ్చు:

వాపిటి - ఒక సైట్‌ను స్వయంగా దుర్బలత్వాల కోసం తనిఖీ చేస్తోంది

నివేదిక యొక్క ముఖ్యమైన ప్రతికూలత ఏమిటంటే, వెబ్ అప్లికేషన్ మ్యాప్ లేకపోవడం, ఇది లేకుండా అన్ని చిరునామాలు మరియు పారామీటర్‌లు విశ్లేషించబడ్డాయో లేదో స్పష్టంగా తెలియదు. తప్పుడు పాజిటివ్‌లు వచ్చే అవకాశం కూడా ఉంది. మా విషయంలో, నివేదికలో “బ్యాకప్ ఫైల్‌లు” మరియు “ప్రమాదకరమైన ఫైల్‌లు” ఉన్నాయి. సర్వర్‌లో అటువంటి ఫైల్‌లు లేనందున వాటి సంఖ్య వాస్తవికతకు అనుగుణంగా లేదు:

వాపిటి - ఒక సైట్‌ను స్వయంగా దుర్బలత్వాల కోసం తనిఖీ చేస్తోంది

బహుశా తప్పుగా పని చేసే మాడ్యూల్స్ కాలక్రమేణా పరిష్కరించబడతాయి. నివేదిక యొక్క మరొక లోపం ఏమిటంటే, కనుగొనబడిన దుర్బలత్వాలకు రంగులు వేయకపోవడం (వాటి విమర్శనాత్మకతను బట్టి), లేదా కనీసం వాటిని వర్గాలుగా విభజించడం. కనుగొనబడిన దుర్బలత్వం యొక్క క్లిష్టతను మనం పరోక్షంగా అర్థం చేసుకునే ఏకైక మార్గం పరామితిని ఉపయోగించడం --రంగు స్కానింగ్ సమయంలో, ఆపై కనుగొనబడిన దుర్బలత్వాలు వివిధ రంగులలో రంగులు వేయబడతాయి:

వాపిటి - ఒక సైట్‌ను స్వయంగా దుర్బలత్వాల కోసం తనిఖీ చేస్తోంది

కానీ నివేదిక స్వయంగా అలాంటి రంగులను అందించలేదు.

దుర్బలత్వాలు

SQLi

స్కానర్ SQLi శోధనను పాక్షికంగా ఎదుర్కొంది. ప్రమాణీకరణ అవసరం లేని పేజీలలో SQL దుర్బలత్వాల కోసం శోధిస్తున్నప్పుడు, సమస్యలు తలెత్తవు:

వాపిటి - ఒక సైట్‌ను స్వయంగా దుర్బలత్వాల కోసం తనిఖీ చేస్తోంది

చెల్లుబాటును ఉపయోగించి కూడా ప్రామాణీకరణ తర్వాత మాత్రమే యాక్సెస్ చేయగల పేజీలలో దుర్బలత్వాన్ని కనుగొనడం సాధ్యం కాదు కుకీ, చాలా మటుకు విజయవంతమైన ప్రామాణీకరణ తర్వాత, వారి సెషన్ "లాగ్ అవుట్" చేయబడుతుంది మరియు కుకీ చెల్లదు. ఈ విధానాన్ని ప్రాసెస్ చేయడానికి బాధ్యత వహించే ప్రత్యేక స్క్రిప్ట్‌గా డీఆథరైజేషన్ ఫంక్షన్ అమలు చేయబడితే, -x పరామితి ద్వారా దాన్ని పూర్తిగా మినహాయించడం సాధ్యమవుతుంది మరియు తద్వారా దానిని ట్రిగ్గర్ చేయకుండా నిరోధించవచ్చు. లేకపోతే, దాని ప్రాసెసింగ్‌ను మినహాయించడం సాధ్యం కాదు. ఇది నిర్దిష్ట మాడ్యూల్‌తో సమస్య కాదు, కానీ మొత్తం సాధనంతో, కానీ ఈ స్వల్పభేదం కారణంగా, క్లోజ్డ్ రిసోర్స్ ప్రాంతంలో అనేక ఇంజెక్షన్‌లను గుర్తించడం సాధ్యం కాదు.

XSS

స్కానర్ ఇచ్చిన పనిని సంపూర్ణంగా ఎదుర్కొంది మరియు సిద్ధం చేసిన అన్ని దుర్బలత్వాలను కనుగొంది:

వాపిటి - ఒక సైట్‌ను స్వయంగా దుర్బలత్వాల కోసం తనిఖీ చేస్తోంది

LFI/RFI

స్కానర్ అన్ని అంతర్లీన బలహీనతలను కనుగొంది:

వాపిటి - ఒక సైట్‌ను స్వయంగా దుర్బలత్వాల కోసం తనిఖీ చేస్తోంది

సాధారణంగా, తప్పుడు పాజిటివ్‌లు మరియు తప్పిపోయిన దుర్బలత్వాలు ఉన్నప్పటికీ, వాపిటి, ఉచిత సాధనంగా, మంచి పనితీరు ఫలితాలను చూపుతుంది. ఏది ఏమైనప్పటికీ, స్కానర్ చాలా శక్తివంతమైనది, అనువైనది మరియు మల్టిఫంక్షనల్ అని గుర్తించడం విలువ, మరియు ముఖ్యంగా, ఇది ఉచితం, కాబట్టి వెబ్ యొక్క భద్రతా స్థితి గురించి ప్రాథమిక సమాచారాన్ని పొందడంలో నిర్వాహకులు మరియు డెవలపర్‌లకు సహాయం చేయడంలో దీనిని ఉపయోగించే హక్కు ఉంది. అప్లికేషన్.

ఆరోగ్యంగా మరియు రక్షణగా ఉండండి!

మూలం: www.habr.com

ఒక వ్యాఖ్యను జోడించండి