Pagsusuri ng mga libreng tool para sa pagsuri sa mga mapagkukunan sa web at higit pa v2

Ilang oras na ang nakalipas isinulat ko ang tungkol sa Ito, ngunit medyo maliit at magulo. Pagkatapos, nagpasya akong palawakin ang listahan ng mga tool sa pagsusuri, magdagdag ng istraktura sa artikulo, at isaalang-alang ang pagpuna (maraming salamat Lefty para sa payo) at ipinadala ito sa isang kumpetisyon sa SecLab (at nai-publish link, ngunit sa lahat ng malinaw na dahilan walang nakakita sa kanya). Ang kumpetisyon ay tapos na, ang mga resulta ay inihayag at may malinis na budhi ay mai-publish ko ito (ang artikulo) sa Habré.

Libreng Web Application Pentester Tools

Sa artikulong ito ay pag-uusapan ko ang tungkol sa mga pinakasikat na tool para sa pentesting (mga pagsubok sa pagtagos) ng mga web application gamit ang diskarte na "black box".
Para magawa ito, titingnan natin ang mga utility na makakatulong sa ganitong uri ng pagsubok. Isaalang-alang ang mga sumusunod na kategorya ng produkto:

  1. Mga scanner ng network
  2. Mga scanner ng paglabag sa script sa web
  3. Pagsasamantala
  4. Automation ng mga injection
  5. Mga debugger (mga sniffer, lokal na proxy, atbp.)


Ang ilang mga produkto ay may unibersal na "character", kaya't uuriin ko sila sa kategorya kung saan mayroon silang aоmas magandang resulta (subjective opinion).

Mga scanner ng network.

Ang pangunahing gawain ay upang matuklasan ang mga magagamit na serbisyo sa network, i-install ang kanilang mga bersyon, matukoy ang OS, atbp.

nmapPagsusuri ng mga libreng tool para sa pagsuri sa mga mapagkukunan sa web at higit pa v2
Nmap ("Network Mapper") ay isang libre at open source na utility para sa network analysis at system security auditing. Ang mga marahas na kalaban ng console ay maaaring gumamit ng Zenmap, na isang GUI para sa Nmap.
Ito ay hindi lamang isang "matalinong" scanner, ito ay isang seryosong napapalawak na tool (isa sa mga "hindi pangkaraniwang tampok" ay ang pagkakaroon ng isang script para sa pagsuri sa isang node para sa pagkakaroon ng isang worm "Stuxnet"(nabanggit dito). Karaniwang halimbawa ng paggamit:

nmap -A -T4 localhost

-A para sa OS version detection, script scan at tracing
-T4 time control setting (mas marami ang mas mabilis, mula 0 hanggang 5)
localhost - target na host
Isang bagay na mas mahirap?

nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all localhost

Isa itong hanay ng mga opsyon mula sa profile na "mabagal na komprehensibong pag-scan" sa Zenmap. Ito ay tumatagal ng medyo mahabang oras upang makumpleto, ngunit sa huli ay nagbibigay ng mas detalyadong impormasyon na maaaring malaman tungkol sa target na sistema. Gabay sa Tulong sa Russian, kung magpasya kang lumalim, inirerekomenda ko rin na isalin ang artikulo Gabay ng Baguhan sa Nmap.
Nakatanggap ang Nmap ng status na "Security Product of the Year" mula sa mga magazine at komunidad gaya ng Linux Journal, Info World, LinuxQuestions.Org at Codetalker Digest.
Isang kawili-wiling punto, ang Nmap ay makikita sa mga pelikulang "The Matrix Reloaded", "Die Hard 4", "The Bourne Ultimatum", "Hottabych" at iba.

IP-ToolsPagsusuri ng mga libreng tool para sa pagsuri sa mga mapagkukunan sa web at higit pa v2
IP-Tools - isang uri ng hanay ng iba't ibang mga utility sa network, ay may kasamang GUI, "nakatuon" sa mga gumagamit ng Windows.
Port scanner, shared resources (shared printer/folder), WhoIs/Finger/Lookup, telnet client at marami pang iba. Isang maginhawa, mabilis, functional na tool lamang.

Walang partikular na punto sa pagsasaalang-alang sa iba pang mga produkto, dahil maraming mga utility sa lugar na ito at lahat sila ay may magkatulad na mga prinsipyo sa pagpapatakbo at pag-andar. Gayunpaman, ang nmap ay nananatiling pinakamadalas na ginagamit.

Mga scanner ng paglabag sa script sa web

Sinusubukang maghanap ng mga tanyag na kahinaan (SQL inj, XSS, LFI/RFI, atbp.) o mga error (hindi tinanggal ang mga pansamantalang file, pag-index ng direktoryo, atbp.)

Acunetix Web Vulnerability ScannerPagsusuri ng mga libreng tool para sa pagsuri sa mga mapagkukunan sa web at higit pa v2
Acunetix Web Vulnerability Scanner — mula sa link makikita mo na ito ay isang xss scanner, ngunit hindi ito ganap na totoo. Ang libreng bersyon, na magagamit dito, ay nagbibigay ng napakaraming pag-andar. Karaniwan, ang taong nagpapatakbo ng scanner na ito sa unang pagkakataon at nakatanggap ng ulat sa kanilang mapagkukunan sa unang pagkakataon ay nakakaranas ng bahagyang pagkabigla, at mauunawaan mo kung bakit kapag ginawa mo ito. Ito ay isang napakalakas na produkto para sa pagsusuri ng lahat ng uri ng mga kahinaan sa isang website at gumagana hindi lamang sa karaniwang mga website ng PHP, kundi pati na rin sa iba pang mga wika (bagaman ang pagkakaiba sa wika ay hindi isang tagapagpahiwatig). Walang partikular na punto sa paglalarawan ng mga tagubilin, dahil "kinuha" lang ng scanner ang mga aksyon ng user. Isang bagay na katulad ng "susunod, susunod, susunod, handa" sa isang karaniwang pag-install ng software.

NiktoPagsusuri ng mga libreng tool para sa pagsuri sa mga mapagkukunan sa web at higit pa v2
Nikto Ito ay isang Open Source (GPL) web crawler. Tinatanggal ang karaniwang gawaing manwal. Hinahanap ang target na site para sa mga hindi natanggal na script (ilang test.php, index_.php, atbp.), mga tool sa pangangasiwa ng database (/phpmyadmin/, /pma at mga katulad nito), atbp., iyon ay, sinusuri ang mapagkukunan para sa mga pinakakaraniwang error kadalasang sanhi ng mga kadahilanan ng tao.
Dagdag pa, kung makakahanap ito ng ilang sikat na script, sinusuri ito para sa mga inilabas na pagsasamantala (na nasa database).
Mga ulat na magagamit ang "hindi gustong" mga pamamaraan tulad ng PUT at TRACE
At iba pa. Ito ay napaka-maginhawa kung nagtatrabaho ka bilang isang auditor at sinusuri ang mga website araw-araw.
Sa mga minus, nais kong tandaan ang mataas na porsyento ng mga maling positibo. Halimbawa, kung ang iyong site ay palaging nagbibigay ng pangunahing error sa halip na isang 404 na error (kung kailan ito dapat mangyari), pagkatapos ay sasabihin ng scanner na ang iyong site ay naglalaman ng lahat ng mga script at lahat ng mga kahinaan mula sa database nito. Sa pagsasagawa, hindi ito nangyayari nang madalas, ngunit bilang isang katotohanan, marami ang nakasalalay sa istraktura ng iyong site.
Klasikong paggamit:

./nikto.pl -host localhost

Kung kailangan mong pahintulutan sa site, maaari kang magtakda ng cookie sa nikto.conf file, ang variable na STATIC-COOKIE.

WiktoPagsusuri ng mga libreng tool para sa pagsuri sa mga mapagkukunan sa web at higit pa v2
Wikto — Nikto para sa Windows, ngunit may ilang mga karagdagan, tulad ng "malabo" na lohika kapag sinusuri ang code para sa mga error, gamit ang GHDB, pagkuha ng mga link at mga folder ng mapagkukunan, real-time na pagsubaybay sa mga kahilingan/tugon sa HTTP. Ang Wikto ay nakasulat sa C# at nangangailangan ng .NET framework.

skipfishPagsusuri ng mga libreng tool para sa pagsuri sa mga mapagkukunan sa web at higit pa v2
skipfish - scanner ng kahinaan sa web mula sa Michal Zalewski (kilala bilang lcamtuf). Nakasulat sa C, cross-platform (Win ay nangangailangan ng Cygwin). Paulit-ulit (at sa napakahabang panahon, humigit-kumulang 20~40 oras, bagaman ang huling beses na nagtrabaho ito para sa akin ay 96 na oras) gina-crawl nito ang buong site at nahahanap ang lahat ng uri ng mga butas sa seguridad. Ito rin ay bumubuo ng maraming trapiko (ilang GB na papasok/papalabas). Ngunit lahat ng paraan ay mabuti, lalo na kung mayroon kang oras at mapagkukunan.
Karaniwang Paggamit:

./skipfish -o /home/reports www.example.com

Sa folder na "mga ulat" magkakaroon ng ulat sa html, halimbawa.

w3af Pagsusuri ng mga libreng tool para sa pagsuri sa mga mapagkukunan sa web at higit pa v2
w3af — Web Application Attack at Audit Framework, open-source na web vulnerability scanner. Mayroon itong GUI, ngunit maaari kang magtrabaho mula sa console. Mas tiyak, ito ay isang balangkas na may isang grupo ng mga plugin.
Maaari mong pag-usapan ang tungkol sa mga pakinabang nito sa loob ng mahabang panahon, mas mahusay na subukan ito :] Ang karaniwang gawain kasama nito ay bumababa sa pagpili ng isang profile, pagtukoy ng isang layunin at, sa katunayan, paglulunsad nito.

Mantra Security FrameworkPagsusuri ng mga libreng tool para sa pagsuri sa mga mapagkukunan sa web at higit pa v2
Mantra ay isang panaginip na natupad. Isang koleksyon ng libre at bukas na mga tool sa seguridad ng impormasyon na binuo sa isang web browser.
Napaka-kapaki-pakinabang kapag sinusubukan ang mga web application sa lahat ng yugto.
Ang paggamit ay bumababa sa pag-install at paglulunsad ng browser.

Sa katunayan, mayroong maraming mga kagamitan sa kategoryang ito at medyo mahirap pumili ng isang tiyak na listahan mula sa kanila. Kadalasan, tinutukoy mismo ng bawat pentester ang hanay ng mga tool na kailangan niya.

Pagsasamantala

Para sa awtomatiko at mas maginhawang pagsasamantala ng mga kahinaan, ang mga pagsasamantala ay nakasulat sa software at mga script, na kailangan lamang na ipasa ang mga parameter upang mapagsamantalahan ang butas ng seguridad. At may mga produkto na nag-aalis ng pangangailangan na manu-manong maghanap ng mga pagsasamantala, at kahit na ilapat ang mga ito sa mabilisang. Ang kategoryang ito ay tatalakayin ngayon.

Metasploit Framework Pagsusuri ng mga libreng tool para sa pagsuri sa mga mapagkukunan sa web at higit pa v2
Ang Metasploit® Framework - isang uri ng halimaw sa aming negosyo. Marami siyang magagawa na ang mga tagubilin ay sumasaklaw sa ilang artikulo. Titingnan natin ang awtomatikong pagsasamantala (nmap + metasploit). Ang bottom line ay ito: Susuriin ng Nmap ang port na kailangan namin, i-install ang serbisyo, at susubukan ng metasploit na ilapat ang mga pagsasamantala dito batay sa klase ng serbisyo (ftp, ssh, atbp.). Sa halip na mga tagubilin sa teksto, maglalagay ako ng isang video, medyo sikat sa paksang autopwn

O maaari lang nating i-automate ang pagpapatakbo ng pagsasamantalang kailangan natin. Hal:

msf > use auxiliary/admin/cisco/vpn_3000_ftp_bypass
msf auxiliary(vpn_3000_ftp_bypass) > set RHOST [TARGET IP] msf auxiliary(vpn_3000_ftp_bypass) > run

Sa katunayan, ang mga kakayahan ng balangkas na ito ay napakalawak, kaya kung magpasya kang palalimin pa, pumunta sa link

ArmitagePagsusuri ng mga libreng tool para sa pagsuri sa mga mapagkukunan sa web at higit pa v2
Armitage — OVA ng cyberpunk genre GUI para sa Metasploit. Nakikita ang target, nagrerekomenda ng mga pagsasamantala at nagbibigay ng mga advanced na feature ng framework. Sa pangkalahatan, para sa mga gusto ang lahat upang magmukhang maganda at kahanga-hanga.
Screencast:

Matibay na Nessus®Pagsusuri ng mga libreng tool para sa pagsuri sa mga mapagkukunan sa web at higit pa v2
Tenable Nessus® vulnerability scanner - maaaring gumawa ng maraming bagay, ngunit ang isa sa mga kakayahan na kailangan namin mula dito ay ang pagtukoy kung aling mga serbisyo ang may mga pagsasamantala. Libreng bersyon ng produktong "bahay lamang"

Использование:

  • Na-download (para sa iyong system), naka-install, nakarehistro (ang susi ay ipinadala sa iyong email).
  • Sinimulan ang server, idinagdag ang user sa Nessus Server Manager (button na Pamahalaan ang mga user)
  • Pumunta kami sa address
    https://localhost:8834/

    at kunin ang flash client sa browser

  • Mga Pag-scan -> Magdagdag -> punan ang mga patlang (sa pamamagitan ng pagpili sa profile sa pag-scan na nababagay sa amin) at i-click ang I-scan

Pagkaraan ng ilang oras, lalabas ang ulat sa pag-scan sa tab na Mga Ulat
Upang suriin ang praktikal na kahinaan ng mga serbisyo sa pagsasamantala, maaari mong gamitin ang Metasploit Framework na inilarawan sa itaas o subukang maghanap ng pagsasamantala (halimbawa, sa Explot-db, packet bagyo, pagsasamantala sa paghahanap atbp.) at gamitin ito nang manu-mano laban sa sistema nito
IMHO: masyadong bulky. Dinala ko siya bilang isa sa mga pinuno sa direksyong ito ng industriya ng software.

Automation ng mga injection

Marami sa mga web app sec scanner ay naghahanap ng mga injection, ngunit ang mga ito ay mga pangkalahatang scanner pa rin. At may mga utility na partikular na nakikitungo sa paghahanap at pagsasamantala ng mga iniksyon. Pag-uusapan natin sila ngayon.

sqlmapPagsusuri ng mga libreng tool para sa pagsuri sa mga mapagkukunan sa web at higit pa v2
sqlmap — open-source na utility para sa paghahanap at pagsasamantala sa mga SQL injection. Sinusuportahan ang mga database server tulad ng: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
Ang karaniwang paggamit ay umaabot hanggang sa linya:

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Mayroong sapat na mga manwal, kabilang ang sa Russian. Ang software ay lubos na nagpapadali sa gawain ng isang pentester kapag nagtatrabaho sa lugar na ito.
Magdaragdag ako ng opisyal na demonstrasyon ng video:

bsqlbf-v2
bsqlbf-v2 — isang perl script, isang brute forceer para sa "bulag" na Sql injection. Gumagana ito kapwa sa mga halaga ng integer sa url at sa mga halaga ng string.
Sinusuportahan ang database:

  • MS-SQL
  • MySQL
  • PostgreSQL
  • Orakulo

Halimbawa ng paggamit:

./bsqlbf-v2-3.pl -url www.somehost.com/blah.php?u=5 -blind u -sql "select table_name from imformation_schema.tables limit 1 offset 0" -database 1 -type 1

-url www.somehost.com/blah.php?u=5 — Link na may mga parameter
-bulag ka — parameter para sa iniksyon (bilang default ang huli ay kinuha mula sa address bar)
-sql "pumili ng table_name mula sa imformation_schema.tables limit 1 offset 0" — ang aming arbitrary na kahilingan sa database
-database 1 — server ng database: MSSQL
-uri 1 — uri ng pag-atake, "bulag" na iniksyon, batay sa True at Error (halimbawa, mga error sa syntax) na mga tugon

Mga debugger

Ang mga tool na ito ay pangunahing ginagamit ng mga developer kapag mayroon silang mga problema sa mga resulta ng pagpapatupad ng kanilang code. Ngunit ang direksyon na ito ay kapaki-pakinabang din para sa pentesting, kapag maaari naming palitan ang data na kailangan namin sa mabilisang, suriin kung ano ang nanggagaling bilang tugon sa aming mga parameter ng input (halimbawa, sa panahon ng fuzzing), atbp.

Burp Suite
Burp Suite — isang hanay ng mga utility na tumutulong sa mga pagsubok sa pagtagos. Ito ay nasa Internet magandang review sa Russian mula sa Raz0r (bagaman para sa 2008).
Kasama sa libreng bersyon ang:

  • Ang Burp Proxy ay isang lokal na proxy na nagbibigay-daan sa iyong baguhin ang nabuo nang mga kahilingan mula sa browser
  • Burp Spider - gagamba, naghahanap ng mga umiiral nang file at direktoryo
  • Burp Repeater - manu-manong pagpapadala ng mga kahilingan sa HTTP
  • Burp Sequencer - pagsusuri ng mga random na halaga sa mga form
  • Ang Burp Decoder ay isang karaniwang encoder-decoder (html, base64, hex, atbp.), kung saan mayroong libu-libo, na maaaring mabilis na maisulat sa anumang wika
  • Burp Comparer - String Comparison Component

Sa prinsipyo, nalulutas ng package na ito ang halos lahat ng mga problema na nauugnay sa lugar na ito.

FiddlerPagsusuri ng mga libreng tool para sa pagsuri sa mga mapagkukunan sa web at higit pa v2
Fiddler — Ang Fiddler ay isang debugging proxy na nagla-log sa lahat ng HTTP(S) na trapiko. Binibigyang-daan kang suriin ang trapikong ito, magtakda ng mga breakpoint at "maglaro" sa papasok o papalabas na data.

Mayroon ding Firesheep, halimaw Wireshark at iba pa, ang pagpili ay nasa gumagamit.

Konklusyon

Naturally, ang bawat pentester ay may sariling arsenal at sariling hanay ng mga kagamitan, dahil marami lang sa kanila. Sinubukan kong ilista ang ilan sa mga pinaka-maginhawa at sikat. Ngunit upang maging pamilyar ang sinuman sa iba pang mga kagamitan sa direksyong ito, magbibigay ako ng mga link sa ibaba.

Iba't ibang mga tuktok/listahan ng mga scanner at utility

Mga distribusyon ng Linux na kasama na ang isang grupo ng iba't ibang mga kagamitan sa pagtesting

pag-update: BurpSuite Documentation sa Russian mula sa pangkat na “Hack4Sec” (idinagdag AntonKuzmin)

PS Hindi kami maaaring manahimik tungkol sa XSpider. Hindi lumalahok sa pagsusuri, bagama't ito ay shareware (nalaman ko noong ipinadala ko ang artikulo sa SecLab, sa totoo lang dahil dito (hindi kaalaman, at kakulangan ng pinakabagong bersyon 7.8) at hindi ito isinama sa artikulo). At sa teorya, ang isang pagsusuri nito ay binalak (mayroon akong mahihirap na pagsubok na inihanda para dito), ngunit hindi ko alam kung makikita ito ng mundo.

PPS Ang ilang materyal mula sa artikulo ay gagamitin para sa layunin nito sa paparating na ulat sa CodeFest 2012 sa seksyon ng QA, na naglalaman ng mga tool na hindi nabanggit dito (libre, siyempre), pati na rin ang algorithm, sa anong pagkakasunud-sunod gamitin kung ano, anong resulta ang aasahan, kung anong mga pagsasaayos ang gagamitin at lahat ng uri ng mga pahiwatig at trick kapag nagtatrabaho (halos araw-araw kong iniisip ang ulat, susubukan kong sabihin sa iyo ang lahat ng pinakamahusay tungkol sa paksa ng paksa)
Sa pamamagitan ng paraan, mayroong isang aralin sa artikulong ito sa Buksan ang InfoSec Days (tag sa Habré, website), maaari ninakawan ang mga Korovan tingnan mo Kagamitan.

Pinagmulan: www.habr.com

Magdagdag ng komento