Granskning av gratisverktyg för att testa webbresurser och mer v2

För ett tag sedan skrev jag om detta, men lite magert och kaotiskt. Efteråt bestämde jag mig för att utöka listan över verktyg i recensionen, lägga till struktur i artikeln och ta hänsyn till kritik (stort tack Vänsterhänt för råd) och skickade den till en tävling på SecLab (och publicerades länk, men av alla uppenbara skäl såg ingen henne). Tävlingen är avslutad, resultaten är tillkännagivna och med gott samvete kan jag publicera den (artikeln) på Habré.

Gratis webbapplikation Pentester Tools

I den här artikeln kommer jag att prata om de mest populära verktygen för penetrering (penetrationstester) av webbapplikationer med strategin "svarta lådan".
För att göra detta kommer vi att titta på verktyg som hjälper till med denna typ av testning. Tänk på följande produktkategorier:

  1. Nätverksskannrar
  2. Skanner för webbskriptbrott
  3. Utnyttjande
  4. Automatisering av injektioner
  5. Debuggers (sniffers, lokala proxyservrar, etc.)


Vissa produkter har en universell "karaktär", så jag kommer att klassificera dem i den kategori där de har enоbättre resultat (subjektiv åsikt).

Nätverksskannrar.

Huvuduppgiften är att upptäcka tillgängliga nätverkstjänster, installera deras versioner, bestämma OS, etc.

NmapGranskning av gratisverktyg för att testa webbresurser och mer v2
Nmap ("Network Mapper") är ett gratis och öppen källkodsverktyg för nätverksanalys och systemsäkerhetsrevision. Våldsamma motståndare till konsolen kan använda Zenmap, som är ett GUI för Nmap.
Detta är inte bara en "smart" skanner, det är ett seriöst utbyggbart verktyg (en av de "ovanliga funktionerna" är närvaron av ett skript för att kontrollera en nod för närvaron av en mask "Stuxnet" (nämns här). Typiskt användningsexempel:

nmap -A -T4 localhost

-A för upptäckt av OS-version, skriptskanning och spårning
-T4 tidskontrollinställning (mer är snabbare, från 0 till 5)
localhost - målvärd
Något tuffare?

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

Detta är en uppsättning alternativ från profilen "slow comprehensive scan" i Zenmap. Det tar ganska lång tid att slutföra, men ger i slutändan mer detaljerad information som kan hittas om målsystemet. Hjälpguide på ryska, om du bestämmer dig för att gå djupare rekommenderar jag också att översätta artikeln Nybörjarguide till Nmap.
Nmap har fått statusen "Årets säkerhetsprodukt" från tidningar och gemenskaper som Linux Journal, Info World, LinuxQuestions.Org och Codetalker Digest.
En intressant punkt, Nmap kan ses i filmerna "The Matrix Reloaded", "Die Hard 4", "The Bourne Ultimatum", "Hottabych" och andra.

IP-ToolsGranskning av gratisverktyg för att testa webbresurser och mer v2
IP-Tools - en sorts uppsättning olika nätverksverktyg, kommer med ett GUI, "dedikerat" till Windows-användare.
Portskanner, delade resurser (delade skrivare/mappar), WhoIs/Finger/Lookup, telnet-klient och mycket mer. Bara ett bekvämt, snabbt och funktionellt verktyg.

Det finns ingen speciell mening med att överväga andra produkter, eftersom det finns många verktyg inom detta område och de har alla liknande funktionsprinciper och funktionalitet. Ändå är nmap fortfarande den mest använda.

Skanner för webbskriptbrott

Försöker hitta populära sårbarheter (SQL inj, XSS, LFI/RFI, etc.) eller fel (inte borttagna temporära filer, katalogindexering, etc.)

Acunetix Web Vulnerability ScannerGranskning av gratisverktyg för att testa webbresurser och mer v2
Acunetix Web Vulnerability Scanner — från länken kan du se att detta är en xss-skanner, men det är inte helt sant. Gratisversionen, tillgänglig här, ger en hel del funktioner. Vanligtvis upplever personen som kör den här skannern för första gången och får en rapport om sin resurs för första gången en lätt chock, och du kommer att förstå varför när du väl gör detta. Detta är en mycket kraftfull produkt för att analysera alla typer av sårbarheter på en webbplats och fungerar inte bara med de vanliga PHP-webbplatserna utan även på andra språk (även om skillnaden i språk inte är en indikator). Det finns ingen speciell mening med att beskriva instruktionerna, eftersom skannern helt enkelt "fångar upp" användarens handlingar. Något som liknar "nästa, nästa, nästa, redo" i en typisk programvaruinstallation.

NiktoGranskning av gratisverktyg för att testa webbresurser och mer v2
Nikto Detta är en sökrobot med öppen källkod (GPL). Eliminerar rutinmässigt manuellt arbete. Söker på målsidan efter återställda skript (vissa test.php, index_.php, etc.), databasadministrationsverktyg (/phpmyadmin/, /pma och liknande), etc., det vill säga kontrollerar resursen för de vanligaste felen orsakas vanligtvis av mänskliga faktorer.
Dessutom, om den hittar något populärt skript, kontrollerar det det för släppta exploits (som finns i databasen).
Rapporterar tillgängliga "oönskade" metoder som PUT och TRACE
Och så vidare. Det är väldigt bekvämt om du arbetar som revisor och analyserar webbplatser varje dag.
Av minusen skulle jag vilja notera den höga andelen falska positiva. Till exempel, om din webbplats alltid ger huvudfelet istället för ett 404-fel (när det skulle inträffa), kommer skannern att säga att din webbplats innehåller alla skript och alla sårbarheter från dess databas. I praktiken händer detta inte så ofta, men i själva verket beror mycket på strukturen på din webbplats.
Klassisk användning:

./nikto.pl -host localhost

Om du behöver vara auktoriserad på webbplatsen kan du ställa in en cookie i filen nikto.conf, variabeln STATIC-COOKIE.

WiktoGranskning av gratisverktyg för att testa webbresurser och mer v2
Wikto — Nikto för Windows, men med några tillägg, som "fuzzy" logik vid kontroll av kod för fel, användning av GHDB, erhållande av länkar och resursmappar, realtidsövervakning av HTTP-förfrågningar/svar. Wikto är skrivet i C# och kräver .NET-ramverket.

skipfishGranskning av gratisverktyg för att testa webbresurser och mer v2
skipfish - webbsårbarhetsskanner från Michal Zalewski (känd som lcamtuf). Skrivet i C, plattformsoberoende (Win kräver Cygwin). Rekursivt (och under en mycket lång tid, cirka 20~40 timmar, även om senast det fungerade för mig var 96 timmar) genomsöker den hela webbplatsen och hittar alla möjliga säkerhetshål. Det genererar också mycket trafik (flera GB inkommande/utgående). Men alla medel är bra, speciellt om man har tid och resurser.
Vanlig användning:

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

I mappen "rapporter" kommer det att finnas en rapport i html, exempel.

w3af Granskning av gratisverktyg för att testa webbresurser och mer v2
w3af — Web Application Attack and Audit Framework, webbläsare med öppen källkod. Den har ett GUI, men du kan arbeta från konsolen. Mer exakt är det ett ramverk med ett gäng plugins.
Du kan prata om dess fördelar länge, det är bättre att prova det :] Typiskt arbete med det handlar om att välja en profil, ange ett mål och faktiskt lansera det.

Mantra Security FrameworkGranskning av gratisverktyg för att testa webbresurser och mer v2
Mantra är en dröm som gick i uppfyllelse. En samling gratis och öppna informationssäkerhetsverktyg inbyggda i en webbläsare.
Mycket användbart när du testar webbapplikationer i alla skeden.
Användningen handlar om att installera och starta webbläsaren.

Faktum är att det finns många verktyg i denna kategori och det är ganska svårt att välja en specifik lista från dem. Oftast bestämmer varje pentester själv vilken uppsättning verktyg han behöver.

Utnyttjande

För automatiserat och bekvämare utnyttjande av sårbarheter skrivs exploateringar i mjukvara och skript, som bara behöver skickas parametrar för att kunna utnyttja säkerhetshålet. Och det finns produkter som eliminerar behovet av att manuellt söka efter bedrifter och till och med använda dem i farten. Denna kategori kommer nu att diskuteras.

Metasploit Framework Granskning av gratisverktyg för att testa webbresurser och mer v2
Metasploit®-ramverket – ett slags monster i vår verksamhet. Han kan göra så mycket att instruktionerna kommer att täcka flera artiklar. Vi kommer att titta på automatisk exploatering (nmap + metasploit). Summan av kardemumman är denna: Nmap kommer att analysera porten vi behöver, installera tjänsten och metasploit kommer att försöka tillämpa exploateringar på den baserat på tjänsteklassen (ftp, ssh, etc.). Istället för textinstruktioner kommer jag att infoga en video, ganska populär på ämnet autopwn

Eller så kan vi helt enkelt automatisera driften av den exploatering vi behöver. T.ex:

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

Faktum är att kapaciteten i detta ramverk är mycket omfattande, så om du bestämmer dig för att gå djupare, gå till länk

ArmitageGranskning av gratisverktyg för att testa webbresurser och mer v2
Armitage — OVA av cyberpunkgenren GUI för Metasploit. Visualiserar målet, rekommenderar exploateringar och tillhandahåller avancerade funktioner i ramverket. I allmänhet, för dem som gillar att allt ser vackert och imponerande ut.
Screencast:

Hållbara Nessus®Granskning av gratisverktyg för att testa webbresurser och mer v2
Tenable Nessus® sårbarhetsskanner - kan göra många saker, men en av de möjligheter vi behöver från det är att avgöra vilka tjänster som har utnyttjande. Gratisversion av produkten "endast hemma"

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

  • Nedladdat (för ditt system), installerat, registrerat (nyckeln skickas till din e-post).
  • Startade servern, la till användaren i Nessus Server Manager (knappen Hantera användare)
  • Vi går till adressen
    https://localhost:8834/

    och hämta flash-klienten i webbläsaren

  • Skanningar -> Lägg till -> fyll i fälten (genom att välja den skanningsprofil som passar oss) och klicka på Skanna

Efter en tid visas skanningsrapporten på fliken Rapporter
För att kontrollera den praktiska sårbarheten hos tjänster för utnyttjande kan du använda Metasploit Framework som beskrivs ovan eller försöka hitta en exploatering (till exempel på Explot-db, paketstorm, explot sökning etc.) och använd den manuellt mot dess system
IMHO: för skrymmande. Jag tog honom som en av ledarna i den här riktningen av mjukvaruindustrin.

Automatisering av injektioner

Många av webbapparnas sek-skannrar söker efter injektioner, men de är fortfarande bara allmänna skannrar. Och det finns verktyg som specifikt handlar om att söka efter och utnyttja injektioner. Vi ska prata om dem nu.

sqlmapGranskning av gratisverktyg för att testa webbresurser och mer v2
sqlmap — Verktyg med öppen källkod för att söka och utnyttja SQL-injektioner. Stöder databasservrar som: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
Typisk användning kokar ner till linjen:

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Det finns tillräckligt med manualer, inklusive på ryska. Mjukvaran underlättar avsevärt arbetet för en pentester när han arbetar på detta område.
Jag lägger till en officiell videodemonstration:

bsqlbf-v2
bsqlbf-v2 - ett perl-skript, en brute force för "blinda" SQL-injektioner. Det fungerar både med heltalsvärden i url och med strängvärden.
Databas som stöds:

  • MS-SQL
  • MySQL
  • PostgreSQL
  • Oracle

Exempel på användning:

./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 — Länk till parametrar
-blind u — parameter för injektion (som standard tas den sista från adressfältet)
-sql "välj tabellnamn från imformation_schema.tables limit 1 offset 0" — vår godtyckliga begäran till databasen
-databas 1 — databasserver: MSSQL
-typ 1 — typ av attack, "blind" injektion, baserat på True and Error-svar (till exempel syntaxfel)

Debuggers

Dessa verktyg används främst av utvecklare när de har problem med resultatet av att köra sin kod. Men den här riktningen är också användbar för pentesting, när vi kan ersätta den data vi behöver i farten, analysera vad som kommer som svar på våra ingångsparametrar (till exempel under fuzzing), etc.

Burp Suite
Burp Suite — en uppsättning verktyg som hjälper till med penetrationstester. Det finns på Internet bra recension på ryska från Raz0r (dock för 2008).
Gratisversionen inkluderar:

  • Burp Proxy är en lokal proxy som låter dig ändra redan genererade förfrågningar från webbläsaren
  • Burp Spider - spindel, söker efter befintliga filer och kataloger
  • Burp Repeater - skickar manuellt HTTP-förfrågningar
  • Burp Sequencer - analyserar slumpmässiga värden i formulär
  • Burp Decoder är en standardkodare-avkodare (html, base64, hex, etc.), av vilken det finns tusentals, som snabbt kan skrivas på vilket språk som helst
  • Burp Comparer - String Comparison Component

I princip löser detta paket nästan alla problem relaterade till detta område.

FiddlerGranskning av gratisverktyg för att testa webbresurser och mer v2
Fiddler — Fiddler är en felsökningsproxy som loggar all HTTP(S)-trafik. Låter dig undersöka denna trafik, ställa in brytpunkter och "leka" med inkommande eller utgående data.

Det finns också Brännfår, monster Wireshark och andra, valet är upp till användaren.

Slutsats

Naturligtvis har varje pentester sin egen arsenal och sin egen uppsättning verktyg, eftersom det helt enkelt finns många av dem. Jag försökte lista några av de mest bekväma och populära. Men så att vem som helst kan bekanta sig med andra verktyg i denna riktning, kommer jag att tillhandahålla länkar nedan.

Olika toppar/listor över skannrar och verktyg

Linux-distributioner som redan innehåller en massa olika testverktyg

upd: BurpSuite-dokumentation på ryska från "Hack4Sec"-teamet (tillagt Anton Kuzmin)

PS Vi kan inte hålla tyst om XSpider. Deltar inte i recensionen, även om det är shareware (jag fick reda på det när jag skickade artikeln till SecLab, faktiskt på grund av detta (inte kunskap, och avsaknad av senaste version 7.8) och tog inte med det i artikeln). Och i teorin planerades en översyn av det (jag har svåra tester förberedda för det), men jag vet inte om världen kommer att se det.

PPS En del material från artikeln kommer att användas för sitt avsedda syfte i en kommande rapport kl CodeFest 2012 i QA-sektionen, som kommer att innehålla verktyg som inte nämns här (gratis, naturligtvis), samt algoritmen, i vilken ordning man ska använda vad, vilket resultat man kan förvänta sig, vilka konfigurationer man ska använda och alla möjliga tips och tricks när arbetar (jag tänker på rapporten nästan varje dag, jag ska försöka berätta allt det bästa för dig om ämnet)
Förresten, det fanns en lektion om den här artikeln på Öppna InfoSec Days (tagga på Habré, сайт), Kan råna kor ta en titt Material.

Källa: will.com

Lägg en kommentar