Wapiti - mariksa situs pikeun kerentanan sorangan

Wapiti - mariksa situs pikeun kerentanan sorangan
Di tempo anu kalangkung artikel urang ngobrol ngeunaan Nemesida WAF Gratis - alat gratis pikeun ngajagi situs wéb sareng API tina serangan hacker, sareng dina ieu kami mutuskeun pikeun marios scanner kerentanan anu populér Elk.

Nyeken situs wéb pikeun kerentanan mangrupikeun ukuran anu diperyogikeun, anu, ditambah ku analisa kode sumber, ngamungkinkeun anjeun pikeun meunteun tingkat kaamananna tina ancaman kompromi. Anjeun tiasa nyeken sumber wéb nganggo alat khusus.

Nikto, W3af (ditulis dina Python 2.7, nu geus euweuh dirojong) atanapi Arachni (henteu dirojong saprak Pébruari) mangrupakeun solusi nu pang populerna dibere dina bagean bébas. Tangtu, aya batur, contona, Wapiti, nu urang mutuskeun pikeun difokuskeun.

Wapiti tiasa dianggo sareng jinis kerentanan ieu:

  • ékspansi file (lokal jeung jauh, fopen, readfile);
  • injections (PHP / JSP / ASP / SQL suntik jeung XPath suntik);
  • XSS (Cross Site Scripting) (reflektif sareng pengkuh);
  • deteksi jeung palaksanaan paréntah (eval (), sistem (), passtru ());
  • CRLF injections (HTTP response splitting, sési fiksasi);
  • XXE (éntitas éksternal XML) embedding;
  • SSRF (Server Sisi Request Forgery);
  • pamakéan file berpotensi bahaya dipikawanoh (hatur nuhun kana database Nikto);
  • konfigurasi .htaccess lemah nu bisa bypassed;
  • ayana file cadangan nu nembongkeun informasi rahasia (panyingkepan kode sumber);
  • Shellshock;
  • alihan muka;
  • métode HTTP non-standar nu bisa direngsekeun (PUT).

fitur:

  • HTTP, HTTPS sareng dukungan proxy SOCKS5;
  • auténtikasi ngagunakeun sababaraha métode: Dasar, Intisari, Kerberos atanapi NTLM;
  • kamampuhan pikeun ngawatesan wewengkon scanning (domain, folder, kaca, URL);
  • panyabutan otomatis salah sahiji parameter dina URL;
  • sababaraha pancegahan ngalawan puteran scan sajajalan (contona: upami, ngawatesan nilai pikeun parameter);
  • kamampuhan pikeun nyetel prioritas pikeun examining URL (sanajan maranéhna teu di wewengkon scanning);
  • kamampuhan pikeun ngaluarkeun sababaraha URL ti scanning jeung serangan (contona: URL kaluar);
  • impor cookies (meunang aranjeunna nganggo alat wapiti-getcookie);
  • kamampuan pikeun ngaktipkeun / nganonaktipkeun verifikasi sertipikat SSL;
  • kamampuhan pikeun nimba URL ti JavaScript (a juru JS basajan pisan);
  • interaksi jeung HTML5;
  • sababaraha pilihan pikeun ngatur kabiasaan Mapay jeung larangan;
  • netepkeun waktos maksimum pikeun prosés scanning;
  • nambahkeun sababaraha headers HTTP custom atawa nyetel custom pamaké-Agen.

Fitur tambahan:

  • nyieun laporan kerentanan dina sagala rupa format (HTML, XML, JSON, TXT);
  • ngareureuhkeun sarta neruskeun scan atawa serangan (mékanisme sési maké database SQLite3);
  • lampu tukang dina terminal pikeun nyorot kerentanan;
  • tingkat béda tina logging;
  • Cara anu gancang sareng gampang pikeun ngaktipkeun / nganonaktipkeun modul serangan.

setting

Versi Wapiti ayeuna tiasa dipasang ku 2 cara:

  • ngundeur sumber ti resmi situs tur ngajalankeun Aksara instalasi, sanggeus saméméhna dipasang Python3;
  • ngagunakeun pip3 install paréntah wapiti3.

Saatos ieu, Wapiti bakal siap angkat.

Gawe sareng alat

Pikeun demonstrate karya Wapiti, urang bakal ngagunakeun husus disiapkeun nangtung sites.vulns.pentestit.ru (sumberdaya internal), ngandung rupa vulnerabilities (Injection, XSS, LFI / RFI) jeung shortcomings séjén tina aplikasi wéb.

Inpormasi disayogikeun pikeun tujuan inpormasi wungkul. Tong ngalanggar hukum!

Paréntah dasar pikeun ngajalankeun scanner:

# wapiti -u <target> <options>

Dina waktos anu sami, aya bantosan anu lengkep sareng sajumlah ageung pilihan peluncuran, contona:

--wengkuan - wewengkon aplikasi
Lamun tangtukeun parameter wengkuan sapanjang kalawan URL ngorondang, anjeun tiasa nyaluyukeun aréa Crawling situs urang ku nangtukeun duanana kaca tunggal jeung sakabéh kaca nu bisa kapanggih dina loka.

-s и -x - pilihan pikeun nambahkeun atawa mupus URL husus. Pilihan ieu mangpaat nalika anjeun kedah nambihan atanapi ngahapus URL khusus salami prosés ngorondang.

--skip - parameter nu ditangtukeun ku konci ieu bakal discan, tapi moal diserang. Mangpaat upami aya parameter bahaya anu paling saé dikaluarkeun nalika nyeken.

--verifikasi-ssl - Aktipkeun atanapi mareuman verifikasi sertipikat.
Scanner Wapiti nyaéta modular. Najan kitu, pikeun ngajalankeun modul husus, kaasup nu disambungkeun otomatis bari scanner dijalankeun, Anjeun kudu make saklar -m tur daptar nu peryogi, dipisahkeun ku koma. Upami koncina henteu dianggo, maka sadaya modul bakal jalan sacara standar. Dina versi pangbasajanna bakal kasampak kawas kieu:

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

Conto pamakean ieu hartosna urang ngan ukur nganggo modul SQL, XSS sareng XXE nalika nyeken udagan. Salaku tambahan, anjeun tiasa nyaring operasi modul gumantung kana metode anu dipikahoyong. Salaku conto -m "xss: meunang, blindsql: pos, xxe: pos". Dina hal ieu, modul xss bakal dilarapkeun ka requests dikirim ngagunakeun métode GET, sarta modul blibdsql - pikeun POST requests, jsb. Ngomong-ngomong, upami sababaraha modul anu kalebet dina daptar henteu diperyogikeun salami scanning atanapi nyandak waktos anu lami, teras ku mencét kombinasi Ctrl + C anjeun tiasa ngalangkungan nganggo modul anu ayeuna ku milih item anu saluyu dina ménu interaktif.

Wapiti ngadukung pamenta ngalangkungan proxy nganggo konci -p jeung auténtikasi dina situs target ngaliwatan parameter -a. Anjeun ogé tiasa netepkeun jinis auténtikasi: Dasar, Ngagali, Kerberos и NTLM. Dua anu terakhir tiasa meryogikeun pamasangan modul tambahan. Salaku tambahan, anjeun tiasa nyelapkeun lulugu naon waé kana pamundut (kalebet sawenang-wenang Agén Pamaké) sareng seueur deui.

Pikeun ngagunakeun auténtikasi anjeun tiasa nganggo alat wapiti-getcookie. Kalayan pitulung na urang ngabentuk cookie, anu bakal dianggo ku Wapiti nalika nyeken. Formasi cookie dipigawé ku paréntah:

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

Nalika damel sacara interaktif, kami ngajawab patarosan sareng nunjukkeun inpormasi anu diperyogikeun sapertos login, kecap akses, jsb.:

Wapiti - mariksa situs pikeun kerentanan sorangan

Kaluaran nyaéta file dina format JSON. Pilihan séjén nyaéta pikeun nambahkeun sagala informasi diperlukeun ngaliwatan parameter -d:

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

Hasilna bakal sami:

Wapiti - mariksa situs pikeun kerentanan sorangan

Nalika nganggap pungsionalitas utama scanner, pamundut ahir pikeun nguji aplikasi wéb dina kasus kami nyaéta:

# 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

dimana diantara parameter séjén:

-f и -o - format sareng jalur pikeun nyimpen laporan;

-m - nyambungkeun sakabéh modul teu dianjurkeun, sabab bakal mangaruhan waktos tés sareng ukuran laporan;

- warna - highlights kapanggih vulnerabilities gumantung kana criticality maranéhanana nurutkeun Wapiti sorangan;

-c - ngagunakeun file kalawan cookie, dihasilkeun ngagunakeun wapiti-getcookie;

--wengkuan - milih target pikeun serangan. Milih hiji pilihan map Unggal URL bakal crawled sarta diserang, dimimitian ku dasar hiji. URL dasar kudu boga garis miring (euweuh ngaran koropakna);

--siram-sesi - ngamungkinkeun pikeun scanning deui, dimana hasil saméméhna moal dianggap;

-A - sorangan Agén Pamaké;

-p — alamat server proxy, lamun perlu.

A saeutik ngeunaan laporan

Hasil scanning ditepikeun dina bentuk laporan lengkep ngeunaan sadaya kerentanan anu kapanggih dina format halaman HTML, dina bentuk anu jelas sareng gampang dibaca. Laporan bakal nunjukkeun kategori sareng jumlah kerentanan anu dipendakan, déskripsi, pamundut, paréntah pikeun curl sareng tip ngeunaan cara nutupana. Pikeun ngagampangkeun navigasi, tautan bakal ditambah kana nami kategori, ngaklik anu anjeun tiasa angkat:

Wapiti - mariksa situs pikeun kerentanan sorangan

Karugian anu signifikan tina laporan nyaéta henteuna peta aplikasi wéb sapertos kitu, tanpa éta moal écés naha sadaya alamat sareng parameter parantos dianalisis. Aya ogé kamungkinan positip palsu. Dina kasus urang, laporan kalebet "file cadangan" sareng "file anu berpotensi bahaya." Jumlahna henteu saluyu sareng kanyataan, sabab henteu aya file sapertos kitu dina server:

Wapiti - mariksa situs pikeun kerentanan sorangan

Panginten modul anu teu leres tiasa dianggo bakal dibenerkeun kana waktosna. Kelemahan anu sanés tina laporan éta nyaéta kurangna ngawarnaan kerentanan anu kapanggih (gumantung kana kritisitasna), atanapi sahenteuna ngabagi kana kategori. Hiji-hijina jalan urang teu langsung bisa ngarti kritisity tina kerentanan kapanggih nyaéta ngagunakeun parameter - warna salila scanning, lajeng vulnerabilities kapanggih bakal warna dina kelir béda:

Wapiti - mariksa situs pikeun kerentanan sorangan

Tapi laporan sorangan teu nyadiakeun ngawarnaan misalna.

Karentanan

SQLi

Scanner sawaréh coped jeung pilarian SQLi. Nalika milarian kerentanan SQL dina halaman dimana auténtikasi henteu diperyogikeun, teu aya masalah anu timbul:

Wapiti - mariksa situs pikeun kerentanan sorangan

Teu mungkin pikeun manggihan kerentanan dina kaca ngan bisa diasupan sanggeus auténtikasi, sanajan ngagunakeun valid cookie, Kusabab paling dipikaresep sanggeus auténtikasi suksés, sési maranéhanana bakal "kaluar" na cookie bakal jadi teu valid. Upami fungsi deauthorization dilaksanakeun salaku skrip anu misah anu tanggung jawab pikeun ngolah prosedur ieu, maka éta bakal tiasa ngaleungitkeun sacara lengkep ngaliwatan parameter -x, sareng ku kituna nyegah tina pemicu. Upami teu kitu, eta moal mungkin ngaluarkeun processing na. Ieu sanés masalah sareng modul khusus, tapi kalayan alat sacara gembleng, tapi kusabab nuansa ieu, sababaraha suntikan henteu tiasa dideteksi di daérah sumberdaya anu ditutup.

XSS

Alat panyeken ngarengsekeun tugas anu dipasihkeun kalayan sampurna sareng mendakan sadaya kerentanan anu disiapkeun:

Wapiti - mariksa situs pikeun kerentanan sorangan

LFI/RFI

Scanner mendakan sadaya kerentanan anu aya:

Wapiti - mariksa situs pikeun kerentanan sorangan

Sacara umum, sanajan positip palsu sareng kerentanan anu leungit, Wapiti, salaku alat gratis, nunjukkeun hasil kinerja anu saé. Dina hal naon waé, éta patut dipikanyaho yén panyeken éta cukup kuat, fleksibel sareng multifungsi, sareng anu paling penting, éta gratis, ku kituna éta ngagaduhan hak pikeun dianggo pikeun ngabantosan pangurus sareng pangembang kéngingkeun inpormasi dasar ngeunaan status kaamanan wéb. aplikasi.

Tetep sehat sarta ditangtayungan!

sumber: www.habr.com

Tambahkeun komentar