Oxirida maqola haqida gaplashdik Nemesida WAF bepul - veb-saytlar va API-larni xakerlik hujumlaridan himoya qilish uchun bepul vosita va bunda biz mashhur zaiflik skanerini ko'rib chiqishga qaror qildik. Vapiti.
Veb-saytni zaifliklar uchun skanerlash zaruriy chora bo'lib, manba kodini tahlil qilish bilan birgalikda uning murosa tahdidlariga qarshi xavfsizlik darajasini baholash imkonini beradi. Siz maxsus vositalar yordamida veb-resursni skanerlashingiz mumkin.
Nikto, W3af (Python 2.7 da yozilgan, endi qo'llab-quvvatlanmaydi) yoki Arachni (fevraldan beri qo'llab-quvvatlanmaydi) bepul segmentda taqdim etilgan eng mashhur echimlardir. Albatta, boshqalar ham bor, masalan, Wapiti, biz ularga e'tibor berishga qaror qildik.
Wapiti quyidagi turdagi zaifliklar bilan ishlaydi:
faylni kengaytirish (mahalliy va masofaviy, fopen, readfile);
in'ektsiya (PHP / JSP / ASP / SQL in'ektsiyasi va XPath in'ektsiyasi);
XSS (Cross Site Scripting) (aks ettiruvchi va doimiy);
buyruqlarni aniqlash va bajarish (eval(), system(), paststru());
JavaScript-dan URL-manzillarni chiqarish qobiliyati (juda oddiy JS tarjimoni);
HTML5 bilan o'zaro aloqa;
skaner harakati va cheklovlarni boshqarishning bir nechta variantlari;
skanerlash jarayonining maksimal vaqtini belgilash;
ba'zi maxsus HTTP sarlavhalarini qo'shish yoki maxsus User-Agentni o'rnatish.
Qo'shimcha imkoniyatlar:
turli formatlarda zaiflik hisobotlarini yaratish (HTML, XML, JSON, TXT);
skanerlash yoki hujumni to'xtatib turish va davom ettirish (SQLite3 ma'lumotlar bazasidan foydalangan holda sessiya mexanizmi);
zaifliklarni ta'kidlash uchun terminalda orqa yoritish;
turli darajadagi jurnallar;
Hujum modullarini faollashtirish/oβchirishning tez va oson usuli.
sozlama
Wapiti-ning joriy versiyasini ikki usulda o'rnatish mumkin:
manbani rasmiydan yuklab oling sayt va avval Python3 ni o'rnatgan holda o'rnatish skriptini ishga tushiring;
pip3 install wapiti3 buyrug'i yordamida.
Shundan so'ng Wapiti borishga tayyor bo'ladi.
Asbob bilan ishlash
Wapiti ishini namoyish qilish uchun biz turli xil zaifliklar (Injection, XSS, LFI/RFI) va veb-ilovalarning boshqa kamchiliklarini o'z ichiga olgan saytlar.vulns.pentestit.ru (ichki resurs) maxsus tayyorlangan stenddan foydalanamiz.
Ma'lumotlar faqat ma'lumot olish uchun taqdim etiladi. Qonunni buzmang!
Skanerni ishga tushirish uchun asosiy buyruq:
# wapiti -u <target> <options>
Shu bilan birga, juda ko'p sonli ishga tushirish variantlari bo'yicha batafsil yordam mavjud, masalan:
--ko'lami - qo'llash sohasi
Agar siz skanerlash URL manzili bilan birga qamrov parametrini belgilasangiz, bitta sahifani va saytda topilishi mumkin bo'lgan barcha sahifalarni belgilash orqali saytning skanerlash maydonini sozlashingiz mumkin.
-s ΠΈ -x β muayyan URL manzillarini qoβshish yoki oβchirish imkoniyatlari. Ushbu parametrlar skanerlash jarayonida ma'lum bir URLni qo'shish yoki o'chirish kerak bo'lganda foydalidir.
--o'tkazib yuborish β ushbu kalit bilan belgilangan parametr skanerlanadi, lekin hujumga uchramaydi. Skanerlash vaqtida eng yaxshi chiqarib tashlanadigan xavfli parametrlar mavjud bo'lsa foydalidir.
--verify-ssl β sertifikatni tekshirishni yoqish yoki oβchirish.
Wapiti skaneri modulli. Shu bilan birga, muayyan modullarni, shu jumladan skaner ishlayotgan vaqtda avtomatik ravishda ulanadigan modullarni ishga tushirish uchun siz -m tugmasidan foydalanishingiz va kerak bo'lganlarni vergul bilan ajratib ko'rsatishingiz kerak. Agar kalit ishlatilmasa, barcha modullar sukut bo'yicha ishlaydi. Eng oddiy versiyada u quyidagicha ko'rinadi:
Ushbu foydalanish misoli maqsadni skanerlashda biz faqat SQL, XSS va XXE modullaridan foydalanishimizni anglatadi. Bundan tashqari, siz modullarning ishlashini kerakli usulga qarab filtrlashingiz mumkin. Masalan -m βxss: get, blindsql: post, xxe: postβ. Bunday holda, modul xss GET usuli va modul yordamida yuborilgan so'rovlarga nisbatan qo'llaniladi blibdsql β POST so'rovlariga va hokazo. Aytgancha, agar ro'yxatga kiritilgan ba'zi modullar skanerlash paytida kerak bo'lmasa yoki juda uzoq vaqt talab qilsa, Ctrl + C kombinatsiyasini bosish orqali siz interaktiv menyuda tegishli elementni tanlab, joriy moduldan foydalanishni o'tkazib yuborishingiz mumkin.
Wapiti kalit yordamida so'rovlarni proksi-server orqali uzatishni qo'llab-quvvatlaydi -p va parametr orqali maqsadli saytda autentifikatsiya -a. Shuningdek, autentifikatsiya turini belgilashingiz mumkin: Asosiy, Digestalar, Kerberos ΠΈ NTLM. Oxirgi ikkitasi qo'shimcha modullarni o'rnatishni talab qilishi mumkin. Bundan tashqari, siz so'rovlarga har qanday sarlavhalarni kiritishingiz mumkin (shu jumladan o'zboshimchalik bilan Foydalanuvchi agenti) va boshqalar.
Autentifikatsiyadan foydalanish uchun siz vositadan foydalanishingiz mumkin wapiti-getcookie. Uning yordami bilan biz shakllanamiz cookie, skanerlashda Wapiti foydalanadi. Shakllanish cookie buyruq bilan bajariladi:
Skanerning asosiy funksionalligini ko'rib chiqayotganda, bizning holatlarimizda veb-ilovani sinab ko'rish bo'yicha yakuniy so'rov:
# 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
boshqa parametrlar qatorida:
-f ΠΈ -o β hisobotni saqlash formati va yoβli;
-m β barcha modullarni ulash tavsiya etilmaydi, chunki sinov vaqti va hisobot hajmiga ta'sir qiladi;
--rang β Vapitining o'ziga ko'ra, ularning tanqidiyligiga qarab topilgan zaifliklarni ajratib ko'rsatish;
-c - bilan fayldan foydalanish cookie, yordamida yaratilgan wapiti-getcookie;
--ko'lami - hujum uchun nishon tanlash. Variantni tanlash Papkasida joylashgan Har bir URL asosiydan boshlab tekshiriladi va hujumga uchraydi. Asosiy URL manzilida qiyshiq chiziq boβlishi kerak (fayl nomi yoβq);
--fush-sessiya β oldingi natijalar hisobga olinmaydigan takroriy skanerlash imkonini beradi;
-A - Shaxsiy Foydalanuvchi agenti;
-p β agar kerak bo'lsa, proksi-server manzili.
Hisobot haqida bir oz
Skanerlash natijasi barcha topilgan zaifliklar bo'yicha batafsil hisobot shaklida HTML sahifa formatida, tushunarli va o'qilishi oson shaklda taqdim etiladi. Hisobotda topilgan zaifliklar toifalari va soni, ularning tavsiflari, so'rovlari, buyruqlari ko'rsatiladi kΔ±vrΔ±m va ularni yopish bo'yicha maslahatlar. Navigatsiya qulayligi uchun toifa nomlariga havola qo'shiladi, ustiga bosish orqali unga o'tishingiz mumkin:
Hisobotning muhim kamchiligi bu veb-ilovalar xaritasining yo'qligi bo'lib, ularsiz barcha manzillar va parametrlar tahlil qilinganmi yoki yo'qmi aniq bo'lmaydi. Noto'g'ri pozitivlar ehtimoli ham mavjud. Bizning holatda, hisobotda "zaxira fayllari" va "potentsial xavfli fayllar" mavjud. Ularning soni haqiqatga to'g'ri kelmaydi, chunki serverda bunday fayllar yo'q edi:
Ehtimol, noto'g'ri ishlaydigan modullar vaqt o'tishi bilan tuzatiladi. Hisobotning yana bir kamchiligi topilgan zaifliklarning ranglanmasligi (ularning tanqidiyligiga qarab) yoki hech bo'lmaganda ularni toifalarga bo'lishdir. Topilgan zaiflikning tanqidiyligini bilvosita tushunishimiz mumkin bo'lgan yagona usul bu parametrdan foydalanishdir --rang skanerlash paytida, keyin topilgan zaifliklar turli xil ranglarda ranglanadi:
Ammo hisobotning o'zi bunday rang berishni ta'minlamaydi.
Zaifliklar
SQLi
Brauzer qisman SQLi qidiruvini engdi. Autentifikatsiya talab qilinmaydigan sahifalarda SQL zaifliklarini qidirishda hech qanday muammo yuzaga kelmaydi:
Faqat autentifikatsiyadan so'ng foydalanish mumkin bo'lgan sahifalarda zaiflikni topish mumkin emas edi, hatto haqiqiy bo'lsa ham cookie, chunki muvaffaqiyatli autentifikatsiyadan so'ng, ularning sessiyasi "chiqish" va cookie bekor boβladi. Agar avtorizatsiya qilish funktsiyasi ushbu protsedurani qayta ishlash uchun mas'ul bo'lgan alohida skript sifatida amalga oshirilgan bo'lsa, uni -x parametri orqali butunlay chiqarib tashlash va shu bilan uni ishga tushirishni oldini olish mumkin edi. Aks holda, uni qayta ishlashni istisno qilish mumkin bo'lmaydi. Bu muayyan modul bilan bog'liq muammo emas, balki umuman asbob bilan bog'liq, ammo bu nuance tufayli yopiq resurs hududida bir nechta in'ektsiyalarni aniqlash mumkin emas edi.
XSS
Skaner berilgan vazifani a'lo darajada bajardi va barcha tayyorlangan zaifliklarni topdi:
LFI/RFI
Skaner barcha asosiy zaifliklarni topdi:
Umuman olganda, noto'g'ri ijobiy va etishmayotgan zaifliklarga qaramay, Wapiti bepul vosita sifatida juda yaxshi ishlash natijalarini ko'rsatadi. Qanday bo'lmasin, shuni tan olish kerakki, skaner juda kuchli, moslashuvchan va ko'p funktsiyali va eng muhimi, u bepul, shuning uchun u ma'murlar va ishlab chiquvchilarga vebning xavfsizlik holati to'g'risida asosiy ma'lumotlarni olishda yordam berishda foydalanish huquqiga ega. ilova.