Réges-régen már írtam a , de kicsit szegényesen és zavarosan. Aztán úgy döntöttem, hogy bővítem az eszközök listáját a felülvizsgálat során, hozzáadom a cikk struktúráját, figyelembe veszem a kritikát (nagy köszönet a tanácsokért) és elküldtem a SekLab versenyére (és publikáltam , de mindenki számára érthető okból senki sem látta). A verseny véget ért, az eredményeket kihirdették, és tiszta lelkiismerettel publikálhatom (a cikket) a Habr-on.
Ingyenes webalkalmazás-pentester eszközök
Ebben a cikkben a legnépszerűbb pentesting (behálózási tesztelés) eszközökről beszélek a "fekete doboz" stratégiával kapcsolatban.
Ehhez azokat a segédprogramokat vizsgáljuk, amelyek segítenek ebben a típusú tesztelésben. Az alábbi termékkategóriákat nézzük:
- Hálózati szkennerek
- Web-scriptek hibaszkennerei
- Exploitálás
- Automatizált injekciók
- Debuggerek (sniffer-ek, helyi proxy és hasonlók)
Néhány termék univerzális "jellege" miatt a kategóriájukhoz fogom sorolni őket, amelyben a legnagyobb hatékonyságot érik el (szubjektív vélemény).óHálózati szkennerek.
Fő feladatuk kideríteni a hozzáférhető hálózati szolgáltatásokat, meghatározni azok verzióit, az operációs rendszert, stb.
Nmap ("Hálózati Térképező")
Nmap
Ez nem csupán egy "okos" szkennere, hanem egy komoly, bővíthető eszköz (az "ismeretlen funkciók" közül — létezik egy szkript, amely ellenőrzi a csomópontot a "
" féreg jelenléte érdekében (említve volt). Tipikus példa a használatra: nmap -A -T4 localhost
-A az operációs rendszer verziójának megállapítására, szkript használatával történő szkennelésre és nyomvonalvezetésre
-T4 az időkezelés beállítása (minél magasabb, annál gyorsabb, 0-tól 5-ig)
localhost — célzott hoszt
Valami keményebb?
nmap -sS -sU -T4 -A -v -PE -PP -PS21,22,23,25,80,113,31339 -PA80,113,443,10042 -PO --script all localhost
Ez a Zenmap "lassú részletes szkennelés" profilból származó opciók halmaza. Elég lassan működik, de végül részletesebb információt ad, amit a célzott rendszerről megtudhatunk.
Orosz nyelvű útmutató Beginner’s Guide to Nmap .
Nmap получил статус “Security Product of the Year” такими журналами и сообществами как Linux Journal, Info World, LinuxQuestions.Org и Codetalker Digest.
Érdekes szempont, hogy az Nmap látható a "Mátrix: Újratöltve", a "Die Hard 4", a "Bourne Ultimatum", a "Hottabych" filmekben és .
IP-Tools
— egyféle különféle hálózati segédeszközökből álló csomag, amely GUI-val érkezik, a windows felhasználóknak "szentelve".
Portszkenner, megosztott erőforrások (megosztott nyomtatók/mappák), WhoIs/Finger/Lookup, telnet kliens és sok más. Egyszerűen kényelmes, gyors, funkcionális eszköz.
Nincs különösebb értelme a többi termék megvizsgálásának, mivel sok segédeszköz érhető el ezen a területen, és mindegyik hasonló működési elvvel és funkcióval rendelkezik. Mégis, a leggyakrabban használt marad az nmap.
Web-scriptek hibaszkennerei
Megpróbálnak népszerű sebezhetőségeket (SQL injektálás, XSS, LFI/RFI stb.) vagy hibákat (nem törölt ideiglenes fájlok, könyvtárak indexelése stb.) keresni.
Acunetix Web Vulnerability Scanner
— a linken észlelhető, hogy ez egy XSS szkenner, de ez nem teljesen igaz. A linkről elérhető ingyenes verzió elég nagy funkcióválasztékot kínál. Általában az első alkalommal ezt a szkennert futtató személyt kissé sokkolja az általa generált jelentés, és meg fogja érteni, miért, ha ezt megteszi. Ez egy nagyon hatékony termék a különféle sebezhetőségek weboldalon történő elemzésére, és nemcsak a számunkra megszokott php alapú weboldalakkal, hanem más nyelveken is működik (bármennyire eltér az nyelv, az nem mindig mutat relevanciát). Nincs sok értelme részletesen leírni az utasítást, mivel a szkenner egyszerűen "felveszi" a felhasználói akciókat. Valami hasonló a "tovább, tovább, tovább, kész" tipikus telepítésénél bármely szoftver esetében.
Nikto
ez egy nyílt forráskódú (GPL) webszkenner. Megszabadít a rutinszerű manuális munkától. Keres a céloldalon nem törölt szkripteket (például test.php, index_.php stb.), adatbázis-adminisztrációs eszközöket (phpmyadmin, pma és hasonlók) stb., azaz ellenőrzi az erőforrást a leggyakoribb hibákra, amelyek általában az emberi tényezőből adódnak.
Plusz, ha talál valamilyen népszerű szkriptet, akkor ellenőrzi azt a kiadott exploitekkel (amelyek a bázisban megtalálhatóak).
Jelenti a rendelkezésre álló "nem kívánt" módszereket, mint például a PUT és TRACE
Hasonlóképpen folytatódik. Nagyon kényelmes, ha auditor vagy, és minden nap weboldalakat elemzel.
A hátrányai közül megemlíteném a magas hamis riasztások arányát. Például, ha az Ön weboldala 404-es hiba helyett folyamatosan a főoldalt adja vissza, akkor a szkenner azt fogja jelezni, hogy az Ön weboldalán minden szkript és az összes sérülékenység megtalálható az adatbázisában. A valóságban ez nem túl gyakori, de tény, hogy sok múlik a weboldala szerkezetén.
Hagyományos használat:
.\/nikto.pl -host localhost
Ha szükséges az oldalra való bejelentkezés, a nikto.conf fájlban beállítható a cookie a STATIC-COOKIE változóval.
Wikto
— Nikto Windows-ra, de néhány kiegészítéssel, mint a „homályos” logika a hibaellenőrzés során, a GHDB használata, az erőforrás hivatkozásainak és mappáinak megszerzése, a HTTP kérések/válaszok valós idejű figyelése. A Wikto C#-ban készült és .NET framework-ot igényel.
skipfish
— webes sérülékenység-ellenőrző (ismertebb nevén lcamtuf). C-ben készült, platformfüggetlen (Windows-hoz Cygwin szükséges). Rekurzívan (és nagyon hosszú idő alatt, körülbelül 20~40 órán át, bár legutóbb 96 órát működött) bejárja az egész weboldalt, és különféle biztonsági réseket talál. Rengeteg forgalmat is generál (több gigabájt bejövő/kimenő). De minden eszköz hasznos, főleg, ha van idő és erőforrás.
Tipikus használat:
./skipfish -o /home/reports www.example.com
A „reports” mappában HTML formátumú jelentés található, .
w3af 
— Web Application Attack and Audit Framework, nyílt forráskódú webes sérülékenység-ellenőrző. Van GUI-ja, de lehet konzolból is használni. Pontosabban, ez egy keretrendszer, .
Hosszan lehetne mesélni az előnyeiről, de jobb, ha kipróbálja :]
A tipikus munka vele a profil kiválasztásából, a cél megadásából és a tényleges indításból áll.
Mantra Security Framework
egyetlen álma vált valóra. Szabad és nyílt forráskódú eszközök gyűjteménye, amelyek beépíthetőek a webböngészőbe.
Nagyon hasznosak a webalkalmazások tesztelésében minden szakaszban.
A használat a böngésző telepítésére és elindítására korlátozódik.
Valójában nagyon sok eszköz található ebben a kategóriában, és meglehetősen nehéz kiemelni belőle konkrét listát. Legtöbbször minden pentester maga határozza meg a szükséges eszközök körét.
Exploitálás
A szoftver és a szkriptek sebezhetőségeinek automatizált és könnyebb kihasználása érdekében exploitokat írnak, amelyeknek csak a paramétereket kell átadni ahhoz, hogy kihasználják a biztonsági réseket. Vannak olyan termékek is, amelyek megszabadítanak a manuális exploit kereséstől, ráadásul azokat "valós időben" alkalmazzák. Erről a kategóriáról lesz szó most.
Metasploit Framework 
— egyfajta szörnyeteg a mi területünkön. Annyira sok mindent tud, hogy az útmutató több cikket is kitenne. Megvizsgáljuk az automatikus exploitálást (nmap + metasploit). A lényeg, hogy az Nmap elemezni fogja a szükséges portot, beállítja a szolgáltatást, a metasploit pedig megpróbálja alkalmazni rá az exploitokat a szolgáltatás osztálya (ftp, ssh stb.) alapján. A szöveges útmutató helyett inkább egy népszerű videót illesztek be a témáról, amely az autopwn-ról szól.

Vagy egyszerűen automatizálhatjuk a szükséges exploit munkáját. Például:
msf > használja az auxiliary/admin/cisco/vpn_3000_ftp_bypass-t
msf auxiliary(vpn_3000_ftp_bypass) > állítsa be az RHOST [CÉL IP] értéket
msf auxiliary(vpn_3000_ftp_bypass) > futtatás
Valójában ennek a keretrendszernek a lehetőségei rendkívül széleskörűek, ezért, ha szeretnél mélyebben elmerülni, látogass el a
Armitage
— egy kiberpunk GUI az Metasploit számára. Visualizálja a célt, ajánlja az exploitokat és bővített lehetőségeket biztosít ennek a keretrendszernek. Szóval azok számára ajánlott, akik szeretik, ha minden szép és tűnik.
Képernyőrögzítés:

Tenable Nessus®
— sok mindenre képes, de nekünk az egyik lehetősége kell — meghatározni, hogy mely szolgáltatásokhoz van exploit. Az ingyenes verzió a termék "csak otthoni használatra".
Usage:
- Letöltöttük (a saját rendszerünkhöz), telepítettük, regisztráltunk (a kulcsot e-mailben kapjuk).
- Elindítottuk a szervert, felvettük a felhasználót a Nessus Server Managerbe (Manage users gomb).
- Lépjünk be a következő címen
https://localhost:8834/
és Flash-ügyfél érkezik a böngészőben.
- Scans -> Add -> kitöltjük a mezőket (a megfelelő szkennelési profilt választva) és megnyomjuk a Scan gombot.
Egy idő után a szkennelésről szóló jelentés megjelenik a Jelentések fül alatt.
A szolgáltatások tényleges sebezhetőségének ellenőrzésére használhatjuk a fent említett Metasploit keretrendszert, vagy megpróbálhatunk exploitot találni (például a , , és egyéb) és használni kézzel a saját rendszerünk ellen.
IMHO: túl terjedelmes. Ezt említettem, mint a szoftveripar egyik éllovasát ezen a területen.
Az injekciók automatizálása
Sokféle webalkalmazás-biztonsági szkenner végez injekciók keresését, de ezek mind általános szkennerek. Léteznek olyan eszközök is, amelyek kifejezetten az injekciók keresésével és kihasználásával foglalkoznak. Ezekről lesz szó most.
sqlmap
— nyílt forráskódú eszköz SQL injekciók keresésére és kihasználására. Támogatja a következő adatbázis szervereket: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
A tipikus használat a következő sorra korlátozódik:
python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Sok kézikönyv áll rendelkezésre, beleértve az orosz nyelvűeket is. Ez a szoftver jelentősen megkönnyíti a pentesterek munkáját ezen a területen.
Hozzáteszem, hogy itt van egy hivatalos videódemonstráció:

bsqlbf-v2
— perl script, amely „vak” SQL injekciók bruttózása. Működik egész szám (integer) és sztring (string) értékekkel is az url-ben.
Támogatja a következő adatbázisokat:
- MS-SQL
- MySQL
- PostgreSQL
- Oracle
Példa használatra:
.\/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 — Link paraméterekkel
-blind u — injekciós paraméter (alapértelmezés szerint az utolsó elem kerül beolvasásra az URL-ből)
-sql "select table_name from imformation_schema.tables limit 1 offset 0" — a mi tetszőleges lekérdezésünk az adatbázisban
-database 1 — adatbázis szerver: MSSQL
-type 1 — támadási típus, „vak” injekció, amely a True és Error (például szintaktikai hibák) válaszokra épül
Debuggerek
Ezeket az eszközöket elsősorban a fejlesztők használják, amikor problémák merülnek fel a kódjuk futtatásának eredményeivel. De ez a megközelítés hasznos lehet a pentesting során is, amikor a szükséges adatokat „valós időben” cserélhetjük, elemezhetjük, hogy mi érkezik vissza a belépő paramétereinkre (például fuzzing közben) stb.
Burp Suite
— egy készlet eszköz, amelyek segítenek a behatolási tesztek során. Az interneten található orosz nyelven Raz0r-tól (bár 2008-as).
A ingyenes verzió tartalmazza:
- Burp Proxy — helyi proxy, lehetővé teszi a böngészőtől érkező már kialakított kérések módosítását
- Burp Spider — pók, létező fájlok és könyvtárak keresése
- Burp Repeater — HTTP-kérések kézi küldése
- Burp Sequencer — véletlenszerű értékek elemzése űrlapokban
- Burp Decoder — alapértelmezett kódoló-dekódoló (html, base64, hex stb.), ezekből ezrek vannak, amelyeket gyorsan meg lehet írni bármely nyelven
- Burp Comparer — sorok összehasonlításának összetevője
Elvileg ez a csomag szinte valamennyi, e területtel kapcsolatos feladatot megold.
Fiddler
— A Fiddler egy hibakereső proxy, amely naplózza az összes HTTP(S) forgalmat. Lehetővé teszi a forgalom vizsgálatát, breakpointok beállítását és a bejövő vagy kimenő adatokkal való „játszadozást”.
Van még , szörny és mások, a választás a felhasználón múlik.
Zárás
Természetesen minden pentestelő saját arzenállal és eszközkészlettel rendelkezik, mivel ezekből széles választék áll rendelkezésre. Megpróbáltam bemutatni a legnépszerűbb és legkényelmesebb eszközöket. De hogy bárki, aki kíváncsi, megismerhesse más eszközöket is ezen a területen, alább megadom a linkeket.
Különböző rangsorok / lista a szkennelőkről és eszközökről
- .
Linux disztribúciók, amelyek már számos pentesting eszközt tartalmaznak
upd: oroszul a «Hack4Sec» csapattól (hozzáadta )
P.S. Nem lehet szó nélkül hagyni a XSpider-t. Nem szerepel a felülvizsgálatban, bár feltételesen ingyenes (tudtam meg, amikor a cikket beküldtem a SecLab-ba, lényegében emiatt (nem tudva, és nem birtokolva a legfrissebb 7.8-as verziót) nem kerülhetett be a cikkbe). És elvileg a felülvizsgálata is tervben volt (készítettem nehéz teszteket hozzá), de nem tudom, hogy a világ látja-e majd.
P.P.S. Néhány anyag a cikkből közvetlenül felhasználásra kerül a közelgő előadásomban a 2012 QA szekciójában, ahol itt nem említett eszközök (ingyenesek, természetesen) is bemutatásra kerülnek, valamint elmondom az algoritmust, hogy milyen sorrendben mit használjunk, milyen eredményekre számíthatunk, milyen konfigurációkat alkalmazzunk és mindenféle trükköt és tippet a munkához (majdnem minden nap rágódom az előadáson, igyekszem a legjobbat elmondani a téma körül)
Egyébként ezen cikk kapcsán foglalkozás történt a Open InfoSec Days (, ), lehet karavánokat fosztogatni megnézni .
Forrás: habr.com
