Wapiti - saytı özbaşına zəifliklərə görə yoxlayır

Wapiti - saytı özbaşına zəifliklərə görə yoxlayır
Sonda məqalə haqqında danışdıq Nemesida WAF Pulsuz - veb saytları və API-ləri haker hücumlarından qorumaq üçün pulsuz bir vasitədir və bunda biz məşhur zəiflik skanerini nəzərdən keçirmək qərarına gəldik Elk.

Zəifliklər üçün veb-saytın skan edilməsi zəruri tədbirdir ki, bu da mənbə kodunun təhlili ilə birlikdə onun kompromis təhlükələrinə qarşı təhlükəsizlik səviyyəsini qiymətləndirməyə imkan verir. Xüsusi alətlərdən istifadə edərək veb resursunu skan edə bilərsiniz.

Nikto, W3af (artıq dəstəklənməyən Python 2.7-də yazılmışdır) və ya Arachni (fevraldan bəri dəstəklənmir) pulsuz seqmentdə təqdim olunan ən populyar həllərdir. Əlbəttə ki, başqaları da var, məsələn, Wapiti, biz diqqət yetirməyə qərar verdik.

Wapiti aşağıdakı zəiflik növləri ilə işləyir:

  • faylın genişləndirilməsi (yerli və uzaq, fopen, readfile);
  • enjeksiyonlar (PHP / JSP / ASP / SQL enjeksiyonu və XPath enjeksiyonu);
  • XSS (Cross Site Scripting) (əksləndirici və davamlı);
  • əmrlərin aşkarlanması və icrası (eval(), system(), paststru());
  • CRLF inyeksiyaları (HTTP cavabının bölünməsi, sessiyanın fiksasiyası);
  • XXE (XML xarici obyekt) daxil edilməsi;
  • SSRF (Server Side Request Forgery);
  • məlum potensial təhlükəli faylların istifadəsi (Nikto verilənlər bazası sayəsində);
  • yan keçə bilən zəif .htaccess konfiqurasiyaları;
  • məxfi məlumatları aşkar edən ehtiyat faylların olması (mənbə kodunun açıqlanması);
  • qabıq şoku;
  • açıq yönləndirmələr;
  • həll edilə bilən qeyri-standart HTTP metodları (PUT).

Xüsusiyyətləri:

  • HTTP, HTTPS və SOCKS5 proxy dəstəyi;
  • bir neçə üsuldan istifadə edərək autentifikasiya: Basic, Digest, Kerberos və ya NTLM;
  • tarama sahəsini məhdudlaşdırmaq imkanı (domen, qovluq, səhifə, URL);
  • URL-dəki parametrlərdən birinin avtomatik silinməsi;
  • sonsuz tarama döngələrinə qarşı çoxsaylı ehtiyat tədbirləri (məsələn: ifor, parametr üçün məhdudiyyət dəyərləri);
  • URL-lərin yoxlanılması üçün prioritet təyin etmək imkanı (onlar tarama sahəsində olmasa belə);
  • bəzi URL-ləri skan etməkdən və hücumlardan xaric etmək imkanı (məsələn: URL çıxışı);
  • kukiləri idxal edin (onları wapiti-getcookie alətindən istifadə edərək əldə edin);
  • SSL sertifikatının yoxlanışını aktivləşdirmək/deaktiv etmək imkanı;
  • JavaScript-dən URL-ləri çıxarmaq imkanı (çox sadə JS tərcüməçisi);
  • HTML5 ilə qarşılıqlı əlaqə;
  • tarayıcının davranışını və məhdudiyyətlərini idarə etmək üçün bir neçə variant;
  • tarama prosesinin maksimum vaxtının təyin edilməsi;
  • bəzi xüsusi HTTP başlıqlarını əlavə etmək və ya xüsusi İstifadəçi-Agent qurmaq.

Əlavə xüsusiyyətlər:

  • müxtəlif formatlarda (HTML, XML, JSON, TXT) zəiflik hesabatlarının yaradılması;
  • skan və ya hücumun dayandırılması və davam etdirilməsi (SQLite3 verilənlər bazasından istifadə edərək sessiya mexanizmi);
  • zəiflikləri vurğulamaq üçün terminalda arxa işıqlandırma;
  • müxtəlif səviyyəli giriş;
  • Hücum modullarını aktivləşdirmək/deaktiv etmək üçün sürətli və asan yol.

Quraşdırma

Wapiti-nin cari versiyası 2 yolla quraşdırıla bilər:

  • mənbəni rəsmidən endirin сайта və əvvəllər Python3-ü quraşdıraraq quraşdırma skriptini işə salın;
  • pip3 install wapiti3 əmrindən istifadə edərək.

Bundan sonra Wapiti getməyə hazır olacaq.

Alətlə işləmək

Wapiti-nin işini nümayiş etdirmək üçün biz xüsusi hazırlanmış saytlar.vulns.pentestit.ru (daxili resurs) stendindən istifadə edəcəyik, burada müxtəlif boşluqlar (Injection, XSS, LFI/RFI) və veb proqramların digər çatışmazlıqları var.

Məlumat yalnız məlumat məqsədləri üçün verilir. Qanunu pozmayın!

Skaneri işə salmaq üçün əsas əmr:

# wapiti -u <target> <options>

Eyni zamanda, çox sayda işə salma variantları ilə kifayət qədər ətraflı yardım var, məsələn:

- əhatə dairəsi - tətbiq sahəsi
Tarama URL ilə birlikdə əhatə dairəsi parametrini göstərsəniz, həm tək səhifəni, həm də saytda tapıla bilən bütün səhifələri göstərərək saytın tarama sahəsini tənzimləyə bilərsiniz.

-s и -x — xüsusi URL-ləri əlavə etmək və ya silmək üçün seçimlər. Bu seçimlər tarama prosesi zamanı xüsusi URL əlavə etmək və ya silmək lazım olduqda faydalıdır.

--keç — bu düymə ilə göstərilən parametr skan ediləcək, lakin hücuma məruz qalmayacaq. Tarama zamanı ən yaxşı şəkildə xaric edilən təhlükəli parametrlər olduqda faydalıdır.

--verify-ssl — sertifikat yoxlamasını aktivləşdirin və ya söndürün.
Wapiti skaneri moduldur. Bununla belə, skaner işləyərkən avtomatik qoşulanlar da daxil olmaqla, xüsusi modulları işə salmaq üçün -m keçidindən istifadə etməli və sizə lazım olanları vergüllə ayıraraq siyahıya salmalısınız. Açar istifadə edilmədikdə, bütün modullar standart olaraq işləyəcək. Ən sadə versiyada bu belə görünəcək:

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

Bu istifadə nümunəsi o deməkdir ki, biz hədəfi skan edərkən yalnız SQL, XSS və XXE modullarından istifadə edəcəyik. Bundan əlavə, istədiyiniz üsuldan asılı olaraq modulların işini süzgəcdən keçirə bilərsiniz. Misal üçün -m “xss: get, blindsql: post, xxe: post”. Bu vəziyyətdə modul xss GET metodundan və moduldan istifadə etməklə göndərilən sorğulara tətbiq olunacaq blibdsql - POST sorğularına və s. Yeri gəlmişkən, əgər siyahıya daxil edilmiş bəzi modul skan zamanı lazım deyilsə və ya çox uzun vaxt aparırsa, onda Ctrl+C kombinasiyasına basaraq interaktiv menyuda müvafiq elementi seçərək cari moduldan istifadə edə bilərsiniz.

Wapiti sorğuların açardan istifadə edərək proksi vasitəsilə ötürülməsini dəstəkləyir -p və parametr vasitəsilə hədəf saytda autentifikasiya -a. Siz həmçinin autentifikasiya növünü təyin edə bilərsiniz: Əsas, Həzm, Kerberos и NTLM. Son ikisi əlavə modulların quraşdırılmasını tələb edə bilər. Bundan əlavə, sorğulara istənilən başlıq əlavə edə bilərsiniz (ixtiyari daxil olmaqla İstifadəçi Agent) və daha çox.

Doğrulamadan istifadə etmək üçün alətdən istifadə edə bilərsiniz wapiti-getcookie. Onun köməyi ilə formalaşırıq qoğal, Wapiti skan edərkən istifadə edəcək. formalaşması qoğal əmri ilə edilir:

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

İnteraktiv işləyərkən biz suallara cavab veririk və login, parol və s. kimi zəruri məlumatları göstəririk:

Wapiti - saytı özbaşına zəifliklərə görə yoxlayır

Çıxış JSON formatında bir fayldır. Başqa bir seçim parametr vasitəsilə bütün lazımi məlumatları əlavə etməkdir -d:

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

Nəticə oxşar olacaq:

Wapiti - saytı özbaşına zəifliklərə görə yoxlayır

Skanerin əsas funksionallığını nəzərdən keçirərkən, bizim vəziyyətimizdə veb tətbiqini sınaqdan keçirmək üçün son sorğu belə oldu:

# 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

digər parametrlər arasında:

-f и -o — hesabatın saxlanması üçün format və yol;

-m — bütün modulları birləşdirmək tövsiyə edilmir, çünki test vaxtına və hesabat ölçüsünə təsir edəcək;

-rəng — Wapiti-nin özünə görə kritikliyindən asılı olaraq aşkar edilmiş zəiflikləri vurğulamaq;

-c - fayldan istifadə etməklə qoğal, istifadə edərək yaradılmışdır wapiti-getcookie;

- əhatə dairəsi - hücum üçün hədəf seçmək. Seçim seçimi qovluq Hər bir URL əsasdan başlayaraq taranacaq və hücuma məruz qalacaq. Əsas URL-də slash işarəsi olmalıdır (fayl adı yoxdur);

--flu-session — əvvəlki nəticələrin nəzərə alınmayacağı təkrar skan etməyə imkan verir;

-A - öz İstifadəçi Agent;

-p — lazım gələrsə, proxy server ünvanı.

Hesabat haqqında bir az

Skanlama nəticəsi HTML səhifə formatında, aydın və asan oxunan formada aşkar edilmiş bütün boşluqlar haqqında ətraflı hesabat şəklində təqdim olunur. Hesabatda aşkar edilmiş boşluqların kateqoriyaları və sayı, onların təsviri, sorğular, əmrlər göstəriləcək curl və onları necə bağlamaq barədə məsləhətlər. Naviqasiya asanlığı üçün kateqoriya adlarına keçid əlavə olunacaq, üzərinə klikləməklə daxil ola bilərsiniz:

Wapiti - saytı özbaşına zəifliklərə görə yoxlayır

Hesabatın əhəmiyyətli çatışmazlığı veb tətbiqi xəritəsinin olmamasıdır, onsuz bütün ünvanların və parametrlərin təhlil edilib-edilməməsi aydın olmayacaq. Yanlış pozitivlərin olma ehtimalı da var. Bizim vəziyyətimizdə hesabata "yedek faylları" və "potensial təhlükəli fayllar" daxildir. Onların sayı reallığa uyğun gəlmir, çünki serverdə belə fayllar yox idi:

Wapiti - saytı özbaşına zəifliklərə görə yoxlayır

Bəlkə də səhv işləyən modullar zamanla düzəldiləcəkdir. Hesabatın başqa bir çatışmazlığı aşkar edilmiş zəifliklərin (onların kritikliyindən asılı olaraq) rənglənməməsi və ya ən azı kateqoriyalara bölünməsidir. Aşkar edilmiş zəifliyin kritikliyini dolayı yolla başa düşməyimizin yeganə yolu parametrdən istifadə etməkdir -rəng tarama zamanı və sonra aşkar edilmiş zəifliklər müxtəlif rənglərdə rənglənəcək:

Wapiti - saytı özbaşına zəifliklərə görə yoxlayır

Lakin hesabatın özündə belə rəngləmə təmin edilmir.

Zəifliklər

SQLi

Skaner qismən SQLi axtarışının öhdəsindən gəldi. Doğrulama tələb olunmayan səhifələrdə SQL boşluqlarını axtararkən heç bir problem yaranmır:

Wapiti - saytı özbaşına zəifliklərə görə yoxlayır

Yalnız autentifikasiyadan sonra əlçatan olan səhifələrdə hətta etibarlı istifadə edilməklə belə boşluq tapmaq mümkün olmadı qoğal, çox güman ki, uğurlu autentifikasiyadan sonra onların sessiyası “çıxılacaq” və qoğal qüvvədən düşəcək. Əgər avtorizasiya funksiyası bu prosedurun işlənməsi üçün məsul olan ayrıca bir skript kimi həyata keçirilsəydi, onda -x parametri vasitəsilə onu tamamilə istisna etmək və bununla da onun işə salınmasının qarşısını almaq olardı. Əks halda, onun işlənməsini istisna etmək mümkün olmayacaq. Bu, müəyyən bir modulda deyil, bütövlükdə alətdə problemdir, lakin bu nüansa görə qapalı resurs sahəsində bir neçə inyeksiyanı aşkar etmək mümkün olmadı.

XSS

Skaner verilən tapşırığın öhdəsindən mükəmməl gəldi və bütün hazırlanmış zəiflikləri tapdı:

Wapiti - saytı özbaşına zəifliklərə görə yoxlayır

LFI/RFI

Skaner bütün əsas zəiflikləri tapdı:

Wapiti - saytı özbaşına zəifliklərə görə yoxlayır

Ümumiyyətlə, yanlış pozitivlərə və çatışmayan zəifliklərə baxmayaraq, pulsuz bir vasitə kimi Wapiti olduqca yaxşı performans nəticələri göstərir. Hər halda, skanerin kifayət qədər güclü, çevik və çoxfunksiyalı olduğunu və ən əsası pulsuz olduğunu etiraf etmək lazımdır, buna görə də veb-saytın təhlükəsizlik statusu haqqında əsas məlumatları əldə etmək üçün idarəçilərə və tərtibatçılara kömək etmək üçün istifadə etmək hüququ var. tətbiq.

Sağlam və qorunan qalın!

Mənbə: www.habr.com

Добавить комментарий