For noget tid siden skrev jeg om , men lidt sølle og kaotisk. Bagefter besluttede jeg at udvide listen over værktøjer i anmeldelsen, tilføje struktur til artiklen og tage kritik i betragtning (mange tak til råds) og sendte den til en konkurrence på SecLab (og udgivet , men af alle indlysende grunde så ingen hende). Konkurrencen er slut, resultaterne er offentliggjort og med god samvittighed kan jeg publicere den (artiklen) på Habré.
Gratis webapplikation Pentester-værktøjer
I denne artikel vil jeg tale om de mest populære værktøjer til penetrering (penetrationstest) af webapplikationer ved hjælp af "black box"-strategien.
For at gøre dette vil vi se på værktøjer, der vil hjælpe med denne type test. Overvej følgende produktkategorier:
- Netværksscannere
- Web script brudscannere
- Udnyttelse
- Automatisering af injektioner
- Debuggere (sniffere, lokale proxyer osv.)
Nogle produkter har en universel "karakter", så jeg vil klassificere dem i den kategori, hvor de har enоbedre resultat (subjektiv udtalelse).
Netværksscannere.
Hovedopgaven er at opdage tilgængelige netværkstjenester, installere deres versioner, bestemme OS osv.
Nmap
er et gratis og open source-værktøj til netværksanalyse og systemsikkerhedsrevision. Voldelige modstandere af konsollen kan bruge Zenmap, som er en GUI til Nmap.
Dette er ikke bare en "smart" scanner, det er et seriøst udvidelsesværktøj (en af de "usædvanlige funktioner" er tilstedeværelsen af et script til at kontrollere en node for tilstedeværelsen af en orm "" (nævnte ). Typisk brugseksempel:
nmap -A -T4 localhost
-A til OS version detektion, script scanning og sporing
-T4 tidskontrolindstilling (mere er hurtigere, fra 0 til 5)
localhost - målvært
Noget hårdere?
nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all localhost
Dette er et sæt muligheder fra profilen "langsom omfattende scanning" i Zenmap. Det tager ret lang tid at gennemføre, men giver i sidste ende mere detaljerede oplysninger, der kan findes ud af målsystemet. , hvis du beslutter dig for at gå dybere, anbefaler jeg også at oversætte artiklen .
Nmap er blevet tildelt statusen "Årets sikkerhedsprodukt" af magasiner og selskaber som f.eks. Linux Tidsskrift, Infoverden, LinuxQuestions.Org og Codetalker Digest.
Et interessant punkt, Nmap kan ses i filmene "The Matrix Reloaded", "Die Hard 4", "The Bourne Ultimatum", "Hottabych" og .
IP-Tools
- en slags sæt af forskellige netværksværktøjer, kommer med en GUI, "dedikeret" til Windows-brugere.
Portscanner, delte ressourcer (delte printere/mapper), WhoIs/Finger/Lookup, telnet-klient og meget mere. Bare et praktisk, hurtigt, funktionelt værktøj.
Der er ingen særlig mening i at overveje andre produkter, da der er mange hjælpeprogrammer på dette område, og de har alle lignende driftsprincipper og funktionalitet. Alligevel er nmap stadig det mest brugte.
Web script brudscannere
Forsøger at finde populære sårbarheder (SQL inj, XSS, LFI/RFI osv.) eller fejl (ikke slettede midlertidige filer, mappeindeksering osv.)
Acunetix Web Vulnerability Scanner
— fra linket kan du se, at dette er en xss-scanner, men det er ikke helt sandt. Den gratis version, der er tilgængelig her, giver en hel del funktionalitet. Normalt oplever den person, der kører denne scanner for første gang og modtager en rapport om deres ressource for første gang, et lille chok, og du vil forstå hvorfor, når du først gør dette. Dette er et meget kraftfuldt produkt til at analysere alle slags sårbarheder på et websted og fungerer ikke kun med de sædvanlige PHP-websteder, men også på andre sprog (selvom sprogforskellen ikke er en indikator). Der er ingen særlig mening i at beskrive instruktionerne, da scanneren blot "optager" brugerens handlinger. Noget der ligner "næste, næste, næste, klar" i en typisk softwareinstallation.
Nikto
Dette er en Open Source (GPL) webcrawler. Eliminerer rutinemæssigt manuelt arbejde. Søger på målwebstedet for ikke-slettede scripts (nogle test.php, index_.php osv.), databaseadministrationsværktøjer (/phpmyadmin/, /pma og lignende) osv., dvs. kontrollerer ressourcen for de mest almindelige fejl normalt forårsaget af menneskelige faktorer.
Plus, hvis det finder et populært script, tjekker det det for frigivne udnyttelser (som er i databasen).
Rapporterer tilgængelige "uønskede" metoder såsom PUT og TRACE
Og så videre. Det er meget praktisk, hvis du arbejder som revisor og analyserer hjemmesider hver dag.
Af minusserne vil jeg gerne bemærke den høje procentdel af falske positive. For eksempel, hvis dit websted altid giver hovedfejlen i stedet for en 404-fejl (hvornår den skulle forekomme), så vil scanneren sige, at dit websted indeholder alle scripts og alle sårbarheder fra dens database. I praksis sker det ikke så ofte, men som et faktum afhænger meget af strukturen på dit websted.
Klassisk brug:
./nikto.pl -host localhost
Hvis du har brug for at blive autoriseret på siden, kan du sætte en cookie i filen nikto.conf, variabelen STATIC-COOKIE.
Wikto
- Nikto under Windows, men med nogle tilføjelser, såsom fuzzy logic til fejlkontrol, GHDB-brug, hentning af ressourcelinks og mapper og realtidsovervågning af HTTP-anmodninger/svar. Wikto er skrevet i C# og kræver .NET framework.
skipfish
- web sårbarhedsscanner fra (kendt som lcamtuf). Skrevet i C, på tværs af platforme (Win kræver Cygwin). Rekursivt (og i meget lang tid, omkring 20~40 timer, selvom sidste gang det virkede for mig var 96 timer) gennemgår den hele siden og finder alle mulige sikkerhedshuller. Det genererer også en masse trafik (adskillige GB indgående/udgående). Men alle midler er gode, især hvis du har tid og ressourcer.
Typisk brug:
./skipfish -o /home/reports www.example.com
I mappen "rapporter" vil der være en rapport i html, .
w3af 
— Web Application Attack and Audit Framework, open source web sårbarhedsscanner. Den har en GUI, men du kan arbejde fra konsollen. Mere præcist er det en ramme med .
Jeg kunne blive ved med at snakke om fordelene, men det er bedre at prøve det :]
Typisk arbejde med det kommer ned til at vælge en profil, angive et mål og rent faktisk lancere det.
Mantra Security Framework
er en drøm der gik i opfyldelse. En samling af gratis og åbne informationssikkerhedsværktøjer indbygget i en webbrowser.
Meget nyttig, når du tester webapplikationer på alle stadier.
Brugen går ud på at installere og starte browseren.
Faktisk er der mange hjælpeprogrammer i denne kategori, og det er ret svært at vælge en specifik liste fra dem. Oftest bestemmer hver pentester selv det sæt værktøjer, han har brug for.
Udnyttelse
Til automatiseret og mere bekvem udnyttelse af sårbarheder skrives udnyttelser i software og scripts, som kun skal videregives parametre for at udnytte sikkerhedshullet. Og der er produkter, der eliminerer behovet for manuelt at søge efter udnyttelser og endda anvende dem på farten. Denne kategori vil nu blive diskuteret.
Metasploit Framework 
- et slags monster i vores forretning. Han kan så meget, at instruktionerne vil dække flere artikler. Vi vil se på automatisk udnyttelse (nmap + metasploit). Den nederste linje er denne: Nmap vil analysere den port, vi har brug for, installere tjenesten, og metasploit vil forsøge at anvende exploits til den baseret på tjenesteklassen (ftp, ssh, osv.). I stedet for tekstinstruktioner vil jeg indsætte en video, ret populær om emnet autopwn

Eller vi kan simpelthen automatisere driften af den udnyttelse, vi har brug for. F.eks:
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
Faktisk er mulighederne for denne ramme meget omfattende, så hvis du beslutter dig for at gå dybere, gå til
Armitage
— OVA af cyberpunk-genren GUI til Metasploit. Visualiserer målet, anbefaler udnyttelser og giver avancerede funktioner i rammeværket. Generelt for dem, der kan lide, at alt ser smukt og imponerende ud.
Screencast:

Holdbar Nessus®
- kan gøre mange ting, men en af de muligheder, vi har brug for fra det, er at bestemme, hvilke tjenester der har exploits. Gratis version af produktet "kun hjemme"
Использование:
- Downloadet (til dit system), installeret, registreret (nøglen sendes til din e-mail).
- Startede serveren, føjede brugeren til Nessus Server Manager (knap Administrer brugere)
- Vi går til adressen
https://localhost:8834/
og få flash-klienten i browseren
- Scanninger -> Tilføj -> udfyld felterne (ved at vælge den scanningsprofil, der passer til os) og klik på Scan
Efter nogen tid vises scanningsrapporten på fanen Rapporter
For at kontrollere tjenesternes praktiske sårbarhed over for udnyttelser kan du bruge Metasploit Framework beskrevet ovenfor eller prøve at finde en udnyttelse (f.eks. på , , osv.) og brug det manuelt mod dets system
IMHO: for omfangsrig. Jeg bragte ham som en af lederne i denne retning af softwareindustrien.
Automatisering af injektioner
Mange af web-app-sek-scannere søger efter injektioner, men de er stadig bare generelle scannere. Og der er hjælpeprogrammer, der specifikt beskæftiger sig med at søge efter og udnytte injektioner. Vi vil tale om dem nu.
sqlmap
— open source-værktøj til at søge og udnytte SQL-injektioner. Understøtter databaseservere såsom: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
Typisk brug koger ned til linjen:
python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Der er nok manualer, også på russisk. Softwaren letter i høj grad arbejdet for en pentester, når han arbejder på dette område.
Jeg tilføjer en officiel videodemonstration:

bsqlbf-v2
- et perl-script, en brute force for "blinde" SQL-injektioner. Det fungerer både med heltalsværdier i url og med strengværdier.
Database understøttet:
- MS-SQL
- MySQL
- PostgreSQL
- Oracle
Eksempel på anvendelse:
./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 — Sammenhæng med parametre
-blind u — parameter for injektion (som standard er den sidste taget fra adresselinjen)
-sql "vælg tabelnavn fra imformation_schema.tables grænse 1 offset 0" — vores vilkårlige anmodning til databasen
-database 1 — databaseserver: MSSQL
-type 1 — angrebstype, "blind" indsprøjtning, baseret på True and Error-svar (f.eks. syntaksfejl)
Debuggere
Disse værktøjer bruges hovedsageligt af udviklere, når de har problemer med resultaterne af at udføre deres kode. Men denne retning er også nyttig til pentesting, når vi kan erstatte de data, vi har brug for i farten, analysere, hvad der kommer som svar på vores inputparametre (for eksempel under fuzzing) osv.
Burp-suite
— et sæt hjælpeprogrammer, der hjælper med penetrationstest. Det er på internettet på russisk fra Raz0r (dog for 2008).
Den gratis version inkluderer:
- Burp Proxy er en lokal proxy, der giver dig mulighed for at ændre allerede genererede anmodninger fra browseren
- Burp Spider - edderkop, søger efter eksisterende filer og mapper
- Burp Repeater - manuel afsendelse af HTTP-anmodninger
- Burp Sequencer - analyserer tilfældige værdier i formularer
- Burp Decoder er en standard encoder-decoder (html, base64, hex osv.), hvoraf der er tusindvis, som hurtigt kan skrives på ethvert sprog
- Burp Comparer - String Comparison Component
I princippet løser denne pakke næsten alle problemer relateret til dette område.
Fiddler
— Fiddler er en debugging-proxy, der logger al HTTP(S)-trafik. Giver dig mulighed for at undersøge denne trafik, indstille pausepunkter og "lege" med indgående eller udgående data.
Der er også , monster og andre, valget er op til brugeren.
Konklusion
Naturligvis har hver pentester sit eget arsenal og sit eget sæt værktøjer, da der simpelthen er mange af dem. Jeg forsøgte at nævne nogle af de mest bekvemme og populære. Men for at enhver kan sætte sig ind i andre værktøjer i denne retning, vil jeg give links nedenfor.
Forskellige toppe/lister over scannere og hjælpeprogrammer
- .
distributioner Linux, som allerede inkluderer en række forskellige værktøjer til pentestning
UPD: på russisk fra "Hack4Sec"-holdet (tilføjet )
PS Vi kan ikke tie om XSpider. Deltager ikke i anmeldelsen, selvom det er shareware (fandt jeg ud af det, da jeg sendte artiklen til SecLab, faktisk på grund af dette (ikke viden og mangel på den seneste version 7.8) og har ikke inkluderet det i artiklen). Og i teorien var der planlagt en gennemgang af det (jeg har vanskelige tests forberedt til det), men jeg ved ikke, om verden vil se det.
PPS Noget materiale fra artiklen vil blive brugt til dets tilsigtede formål i en kommende rapport kl 2012 i QA-sektionen, som vil indeholde værktøjer, der ikke er nævnt her (gratis, selvfølgelig), samt algoritmen, i hvilken rækkefølge man skal bruge hvad, hvilket resultat man kan forvente, hvilke konfigurationer man skal bruge og alle mulige hints og tricks, når arbejder (jeg tænker på rapporten næsten hver dag, jeg vil prøve at fortælle dig alt det bedste om emnet)
Der var i øvrigt en lektion om denne artikel kl Åbn InfoSec Days (, ), Kan plyndre korovanerne tage et kig .
Kilde: www.habr.com
