Herziening van gratis tools voor het pentesten van webbronnen en meer v2

Enige tijd geleden schreef ik erover deze, maar een beetje mager en chaotisch. Daarna besloot ik de lijst met tools in de recensie uit te breiden, structuur aan het artikel toe te voegen en rekening te houden met kritiek (hartelijk dank Lefty voor advies) en stuurde het naar een wedstrijd op SecLab (en gepubliceerd link, maar om alle voor de hand liggende redenen heeft niemand haar gezien). De wedstrijd is voorbij, de uitslag is bekend en met een gerust geweten kan ik het (het artikel) op Habré publiceren.

Gratis webapplicatie Pentester Tools

In dit artikel zal ik het hebben over de meest populaire tools voor pentesting (penetratietests) van webapplicaties met behulp van de ‘black box’-strategie.
Om dit te doen, zullen we kijken naar hulpprogramma's die u kunnen helpen bij dit soort tests. Denk aan de volgende productcategorieën:

  1. Netwerkscanners
  2. Scanners voor inbreuk op webscripts
  3. Exploitatie
  4. Automatisering van injecties
  5. Debuggers (sniffers, lokale proxy's, enz.)


Sommige producten hebben een universeel “karakter”, daarom zal ik ze indelen in de categorie waarin ze een hebbenоbeter resultaat (subjectieve mening).

Netwerkscanners.

De belangrijkste taak is het ontdekken van beschikbare netwerkdiensten, het installeren van hun versies, het bepalen van het besturingssysteem, enz.

NmapHerziening van gratis tools voor het pentesten van webbronnen en meer v2
Nmap ("Netwerktoewijzer") is een gratis en open source hulpprogramma voor netwerkanalyse en systeembeveiligingscontrole. Gewelddadige tegenstanders van de console kunnen Zenmap gebruiken, een GUI voor Nmap.
Dit is niet zomaar een “slimme” scanner, het is een serieuze uitbreidbare tool (een van de “ongebruikelijke kenmerken” is de aanwezigheid van een script om een ​​knooppunt te controleren op de aanwezigheid van een worm "Stuxnet" (genoemd hier). Typisch gebruiksvoorbeeld:

nmap -A -T4 localhost

-A voor detectie van OS-versie, scannen en traceren van scripts
-T4 tijdcontrole-instelling (meer is sneller, van 0 tot 5)
localhost - doelhost
Iets harders?

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

Dit is een reeks opties uit het profiel "langzame uitgebreide scan" in Zenmap. Het duurt behoorlijk lang om het te voltooien, maar het levert uiteindelijk meer gedetailleerde informatie op over het doelsysteem. Helpgids in het Russisch, als je besluit dieper in te gaan, raad ik je ook aan het artikel te vertalen Beginnersgids voor Nmap.
Nmap heeft de status "Beveiligingsproduct van het jaar" ontvangen van tijdschriften en communities zoals Linux Journal, Info World, LinuxQuestions.Org en Codetalker Digest.
Een interessant punt, Nmap is te zien in de films “The Matrix Reloaded”, “Die Hard 4”, “The Bourne Ultimatum”, “Hottabych” en ander.

IP-ToolsHerziening van gratis tools voor het pentesten van webbronnen en meer v2
IP-Tools - een soort reeks verschillende netwerkhulpprogramma's, geleverd met een GUI, "speciaal" voor Windows-gebruikers.
Poortscanner, gedeelde bronnen (gedeelde printers/mappen), WhoIs/Finger/Lookup, telnet-client en nog veel meer. Gewoon een handig, snel, functioneel hulpmiddel.

Het heeft geen zin om andere producten te overwegen, aangezien er veel hulpprogramma's op dit gebied zijn en ze allemaal vergelijkbare werkingsprincipes en functionaliteit hebben. Toch blijft nmap het meest gebruikte.

Scanners voor inbreuk op webscripts

Proberen populaire kwetsbaarheden (SQL inj, XSS, LFI/RFI, etc.) of fouten (niet verwijderde tijdelijke bestanden, directory-indexering, etc.) te vinden

Acunetix Web-kwetsbaarheidsscannerHerziening van gratis tools voor het pentesten van webbronnen en meer v2
Acunetix Web-kwetsbaarheidsscanner — uit de link kun je zien dat dit een xss-scanner is, maar dit is niet helemaal waar. De gratis versie, die hier beschikbaar is, biedt behoorlijk wat functionaliteit. Meestal ervaart de persoon die deze scanner voor het eerst gebruikt en voor het eerst een rapport over zijn hulpmiddel ontvangt, een lichte schok, en u zult begrijpen waarom zodra u dit doet. Dit is een zeer krachtig product voor het analyseren van allerlei kwetsbaarheden op een website en werkt niet alleen met de gebruikelijke PHP-websites, maar ook in andere talen (al is het taalverschil geen indicator). Het heeft geen bijzonder nut om de instructies te beschrijven, aangezien de scanner eenvoudigweg de acties van de gebruiker ‘oppikt’. Iets dat lijkt op "volgende, volgende, volgende, klaar" in een typische software-installatie.

NiktoHerziening van gratis tools voor het pentesten van webbronnen en meer v2
Nikto Dit is een Open Source (GPL) webcrawler. Elimineert routinematig handmatig werk. Zoekt op de doelsite naar niet-verwijderde scripts (sommige test.php, index_.php, etc.), databasebeheertools (/phpmyadmin/, /pma en dergelijke), etc., dat wil zeggen, controleert de bron op de meest voorkomende fouten meestal veroorzaakt door menselijke factoren.
Bovendien, als het een populair script vindt, controleert het het op vrijgegeven exploits (die zich in de database bevinden).
Rapporteert beschikbare "ongewenste" methoden zoals PUT en TRACE
Enzovoort. Het is erg handig als je als auditor werkt en dagelijks websites analyseert.
Van de minnen zou ik het hoge percentage valse positieven willen opmerken. Als uw site bijvoorbeeld altijd de hoofdfout geeft in plaats van een 404-fout (wanneer deze zou moeten optreden), dan zal de scanner zeggen dat uw site alle scripts en alle kwetsbaarheden uit de database bevat. In de praktijk gebeurt dit niet zo vaak, maar veel hangt af van de structuur van uw site.
Klassiek gebruik:

./nikto.pl -host localhost

Als u geautoriseerd moet worden op de site, kunt u een cookie instellen in het bestand nikto.conf, de variabele STATIC-COOKIE.

WikitoHerziening van gratis tools voor het pentesten van webbronnen en meer v2
Wikito — Nikto voor Windows, maar met enkele toevoegingen, zoals “vage” logica bij het controleren van code op fouten, het gebruik van GHDB, het verkrijgen van links en bronmappen, het realtime monitoren van HTTP-verzoeken/antwoorden. Wikto is geschreven in C# en vereist het .NET-framework.

overslaan visHerziening van gratis tools voor het pentesten van webbronnen en meer v2
overslaan vis - webkwetsbaarheidsscanner van Michal Zalewski (bekend als lcamtuf). Geschreven in C, platformonafhankelijk (Win vereist Cygwin). Recursief (en heel lang, zo'n 20 tot 40 uur, hoewel de laatste keer dat het bij mij werkte 96 uur was) doorzoekt het de hele site en vindt allerlei beveiligingslekken. Het genereert ook veel verkeer (meerdere GB inkomend/uitgaand). Maar alle middelen zijn goed, vooral als je tijd en middelen hebt.
Typisch gebruik:

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

In de map “rapporten” staat een rapport in html, voorbeeld.

w3af Herziening van gratis tools voor het pentesten van webbronnen en meer v2
w3af — Web Application Attack and Audit Framework, open-source scanner voor webkwetsbaarheid. Het heeft een GUI, maar je kunt vanaf de console werken. Om precies te zijn, het is een raamwerk met een heleboel plug-ins.
Je kunt lang over de voordelen ervan praten, het is beter om het te proberen:] Typisch werk ermee komt neer op het kiezen van een profiel, het specificeren van een doel en, in feite, het lanceren ervan.

Mantra-beveiligingsframeworkHerziening van gratis tools voor het pentesten van webbronnen en meer v2
Mantra is een droom die werkelijkheid is geworden. Een verzameling gratis en open informatiebeveiligingstools ingebouwd in een webbrowser.
Zeer handig bij het testen van webapplicaties in alle fasen.
Het gebruik komt neer op het installeren en starten van de browser.

In feite zijn er veel hulpprogramma's in deze categorie en het is vrij moeilijk om er een specifieke lijst uit te selecteren. Meestal bepaalt elke pentester zelf de set gereedschappen die hij nodig heeft.

Exploitatie

Voor een geautomatiseerde en gemakkelijkere exploitatie van kwetsbaarheden worden exploits geschreven in software en scripts, die alleen parameters hoeven door te geven om het beveiligingslek te misbruiken. En er zijn producten die de noodzaak elimineren om handmatig naar exploits te zoeken en deze zelfs meteen toe te passen. Deze categorie zal nu worden besproken.

Metasploit Framework Herziening van gratis tools voor het pentesten van webbronnen en meer v2
Het Metasploit®-framework - een soort monster in onze branche. Hij kan zoveel dat de instructies meerdere artikelen beslaan. We zullen kijken naar automatische exploitatie (nmap + metasploit). Het komt hierop neer: Nmap analyseert de poort die we nodig hebben, installeert de service en metasploit zal proberen er exploits op toe te passen op basis van de serviceklasse (ftp, ssh, enz.). In plaats van tekstinstructies zal ik een video invoegen, behoorlijk populair over het onderwerp autopwn

Of we kunnen eenvoudigweg de werking van de exploit die we nodig hebben automatiseren. Bijv.:

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

In feite zijn de mogelijkheden van dit raamwerk zeer uitgebreid, dus als je besluit dieper te gaan, ga dan naar link

ArmitageHerziening van gratis tools voor het pentesten van webbronnen en meer v2
Armitage — OVA van de GUI van het cyberpunkgenre voor Metasploit. Visualiseert het doelwit, beveelt exploits aan en biedt geavanceerde functies van het raamwerk. Over het algemeen voor degenen die willen dat alles er mooi en indrukwekkend uitziet.
Screencast:

Houdbare Nessus®Herziening van gratis tools voor het pentesten van webbronnen en meer v2
Tenable Nessus®-kwetsbaarheidsscanner - kan veel dingen doen, maar een van de mogelijkheden die we ervan nodig hebben, is bepalen welke services exploits bevatten. Gratis versie van het product “alleen thuis”

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

  • Gedownload (voor uw systeem), geïnstalleerd, geregistreerd (de sleutel wordt naar uw e-mail verzonden).
  • De server gestart, de gebruiker toegevoegd aan Nessus Server Manager (knop Gebruikers beheren)
  • We gaan naar het adres
    https://localhost:8834/

    en download de flash-client in de browser

  • Scans -> Toevoegen -> vul de velden in (door het scanprofiel te selecteren dat bij ons past) en klik op Scannen

Na enige tijd verschijnt het scanrapport op het tabblad Rapporten
Om de praktische kwetsbaarheid van services voor exploits te controleren, kunt u het hierboven beschreven Metasploit Framework gebruiken of proberen een exploit te vinden (bijvoorbeeld op Explot-db, pakketstorm, Explosie zoeken etc.) en gebruik het handmatig tegen zijn systeem
IMHO: te omvangrijk. Ik bracht hem als een van de leiders in deze richting van de software-industrie.

Automatisering van injecties

Veel van de sec-scanners van de webapp zoeken naar injecties, maar het zijn nog steeds slechts algemene scanners. En er zijn hulpprogramma's die zich specifiek bezighouden met het zoeken naar en exploiteren van injecties. We zullen er nu over praten.

sqlmapHerziening van gratis tools voor het pentesten van webbronnen en meer v2
sqlmap — open source hulpprogramma voor het zoeken en exploiteren van SQL-injecties. Ondersteunt databaseservers zoals: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
Typisch gebruik komt neer op de regel:

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Er zijn voldoende handleidingen, ook in het Russisch. De software vergemakkelijkt het werk van een pentester aanzienlijk bij het werken op dit gebied.
Ik zal een officiële videodemonstratie toevoegen:

bsqlbf-v2
bsqlbf-v2 — een perl-script, een brute forcer voor “blinde” SQL-injecties. Het werkt zowel met gehele waarden in url als met stringwaarden.
Database ondersteund:

  • MS-SQL
  • MySQL
  • PostgreSQL
  • Oracle

Gebruiksvoorbeeld:

./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 — Koppeling met parameters
-blinde u — parameter voor injectie (standaard wordt de laatste uit de adresbalk gehaald)
-sql "selecteer tabelnaam uit imformation_schema.tables limiet 1 offset 0" — ons willekeurige verzoek aan de database
-databank 1 — databaseserver: MSSQL
-type 1 — type aanval, ‘blinde’ injectie, gebaseerd op True- en Error-reacties (bijvoorbeeld syntaxisfouten).

Debuggers

Deze tools worden voornamelijk door ontwikkelaars gebruikt als ze problemen hebben met de resultaten van het uitvoeren van hun code. Maar deze richting is ook nuttig voor pentesting, wanneer we de gegevens die we nodig hebben direct kunnen vervangen, kunnen analyseren wat er komt als reactie op onze invoerparameters (bijvoorbeeld tijdens fuzzing), enz.

Burp-suite
Burp-suite — een reeks hulpprogramma's die helpen bij penetratietests. Het staat op internet goede recensie in het Russisch van Raz0r (hoewel voor 2008).
De gratis versie bevat:

  • Burp Proxy is een lokale proxy waarmee u reeds gegenereerde verzoeken vanuit de browser kunt wijzigen
  • Burp Spider - spider, zoekt naar bestaande bestanden en mappen
  • Burp Repeater - handmatig HTTP-verzoeken verzenden
  • Burp Sequencer - analyse van willekeurige waarden in formulieren
  • Burp Decoder is een standaard encoder-decoder (html, base64, hex, enz.), waarvan er duizenden zijn, die snel in elke taal kan worden geschreven
  • Burp Comparer - Component voor stringvergelijking

In principe lost dit pakket vrijwel alle problemen op dit gebied op.

vioolspelerHerziening van gratis tools voor het pentesten van webbronnen en meer v2
vioolspeler — Fiddler is een foutopsporingsproxy die al het HTTP(S)-verkeer registreert. Hiermee kunt u dit verkeer onderzoeken, breekpunten instellen en “spelen” met inkomende of uitgaande gegevens.

Er is ook Vuurtschaap, monster Wireshark en anderen, de keuze is aan de gebruiker.

Conclusie

Uiteraard heeft elke pentester zijn eigen arsenaal en zijn eigen reeks hulpprogramma's, aangezien er gewoon veel zijn. Ik heb geprobeerd enkele van de handigste en populairste op te sommen. Maar zodat iedereen zich vertrouwd kan maken met andere hulpprogramma's in deze richting, zal ik hieronder links geven.

Diverse tops/lijsten met scanners en hulpprogramma's

Linux-distributies die al een aantal verschillende pentesting-hulpprogramma's bevatten

update: BurpSuite-documentatie in het Russisch van het team “Hack4Sec” (toegevoegd AntonKuzmin)

PS Over XSpider kunnen we niet zwijgen. Doet niet mee aan de review, ook al is het shareware (ik kwam er achter toen ik het artikel naar SecLab stuurde, eigenlijk hierdoor (geen kennis, en gebrek aan de nieuwste versie 7.8) en heb het niet in het artikel opgenomen). En in theorie was er een herziening ervan gepland (ik heb er moeilijke tests voor voorbereid), maar ik weet niet of de wereld het zal zien.

PPS Een deel van het materiaal uit het artikel zal worden gebruikt voor het beoogde doel in een aankomend rapport op CodeFest 2012 in de QA-sectie, die tools zal bevatten die hier niet worden genoemd (uiteraard gratis), evenals het algoritme, in welke volgorde wat moet worden gebruikt, welk resultaat te verwachten, welke configuraties te gebruiken en allerlei hints en trucs wanneer werken (ik denk bijna elke dag aan het rapport, ik zal proberen je het beste over het onderwerp te vertellen)
Trouwens, er was een les over dit artikel op Open InfoSec-dagen (tag op Habré, сайт), Kan koeien beroven kijk eens Materieel.

Bron: www.habr.com

Voeg een reactie