a pentesterek számára hasznos eszközökről szóló beszámolónkat. Az új cikkünkben a webalkalmazások sebezhetőségének elemzésére szolgáló eszközöket fogjuk tárgyalni.
Már kollégánk készített hasonló körülbelül hét éve. Érdekes megnézni, hogy mely eszközök őrizték meg és erősítették meg pozícióikat, és melyek kerültek a háttérbe, és most ritkán használják őket.

Megjegyezzük, hogy ide tartozik a Burp Suite is, de róla és hasznos plugineiről külön publikáció fog szólni.
Tartalom:
Amass
— egy Go nyelvű eszköz DNS-aldomain keresésére és egy külső hálózat térképének elkészítésére. Az Amass egy OWASP projekt, amelyet azért hoztak létre, hogy bemutassa, egy külső megfigyelő számára hogyan néznek ki a szervezetek az interneten. Az Amass különböző módszerekkel szerzi be az aldomain neveket, és az eszközben rekurszív aldomain keresés és nyilvános források kutatása is használatos.
A kapcsolódó hálózati szegmensek és autonóm rendszámok felfedezésére az Amass az üzemelés során kapott IP-címeket használja. A megtalált információkat hálózati térképek készítésére használják.
Előnyök:
- Az információgyűjtési technikák a következőket tartalmazzák:
* DNS — aldomain nevek keresése szótár alapján, brute force módszer, “intelligens” keresés a megtalált aldomain nevek alapján, visszafelé DNS lekérdezések, és DNS szerverek keresése, ahol zónatranszfer (AXFR) kérés indítható;* Nyilvános források keresése — Ask, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;
* TLS tanúsítvány adatbázisok keresése — Censys, CertDB, CertSpotter, Crtsh, Entrust;
* Keresőmotorok API-jának használata — BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;
* A webarchívumok keresése az interneten: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;
- Integráció a Maltego-val;
- Biztosítja a DNS-aldomain keresés feladatának legteljesebb lefedettségét.
Hátrányok:
- Legyél óvatos az amass.netdomains használatával — ez megpróbál minden IP-címre hivatkozni az azonosított infrastruktúrában, és visszafelé DNS lekérdezésekből és TLS tanúsítványokból domain neveket szerezni. Ez egy 'hangos' technika, ami felfedheti az információgyűjtő tevékenységeidet a vizsgált szervezetnél.
- Magas memóriafogyasztás, akár 2 GB RAM-ot is fogyaszthat különböző beállításokkal, ami nem teszi lehetővé ennek az eszköznek a futtatását egy olcsó VDS-en az felhőben.

Altdns
— egy Python alapú eszköz DNS-aldomain szótárak generálására. Lehetővé teszi, hogy sok variációt generáljunk az aldomainnekről mutációk és permutációk segítségével. Ehhez gyakran előforduló szavakat használ, amelyek aldomainneken találhatók (például: teszt, dev, staging), minden mutációt és permutációt alkalmazva a már ismert aldomain nevekre, amelyeket az Altdns bemeneti paramétereként lehet használni. A kimenet egy olyan aldomain variációk listája, amelyek létezhetnek, és ez a lista tovább használható DNS-bruteforcing során.
Előnyök:
- Jól működik nagy adatállományokkal.
aquatone
— korábban inkább egy másik aldomain kereső eszközként volt ismert, de a szerző lemondott róla a fent említett Amass javára. Jelenleg az aquatone Go nyelvre lett átírva és inkább weboldalak előzetes felderítésére van optimalizálva. Ehhez az aquatone végigjárja a megadott domaineket, és keres rajtuk weboldalakat különböző portokon, majd összegyűjti az összes információt az oldalról és készít róla képernyőképet. Kényelmes a weboldalak gyors előzetes felderítésére, amely után prioritási célpontokat választhatunk ki a támadásokhoz.
Előnyök:
- A kimenet egy fájl- és mappacsoportot hoz létre, amelyek hasznosak más eszközökkel való további munkához:
* HTML-jelentés a gyűjtött képernyőképekkel és hasonlóság alapján csoportosított válaszfejlécekkel;* Fájl az összes URL-lel, ahol weboldalakat találtak;
* Fájl a statisztikákkal és lapadatokkal;
* Mappa fájlokkal, amelyekben a megtalált céloktól érkezett válaszfejlécek találhatók;
* Mappa fájlokkal, amelyek a megtalált céloktól érkezett választesteket tartalmazzák;
* Képernyőképek a megtalált weboldalakról;
- Támogatja az Nmap és Masscan XML-jelentéseivel való együttműködést;
- Headless Chrome/Chromiumot használ a képernyőképek rendereléséhez.
Hátrányok:
- Felhívhatja a behatolásészlelő rendszerek figyelmét, ezért beállítást igényel.
Képernyőkép készült az aquatone egy régi verziójáról (v0.5.0), amely tartalmazta a DNS-aldomain keresést. Régi verziókat találhatunk a .

MassDNS
— egy másik eszköz DNS-aldomain keresésére. Fő különbsége, hogy közvetlen DNS-kéréseket végez sok különböző DNS-feloldóhoz, és ezt jelentős sebességgel teszi.
Előnyök:
- Gyors — képes másodpercenként több mint 350 ezer nevet feloldani.
Hátrányok:
- A MassDNS jelentős terhelést okozhat az használt DNS-értelmezőkön, ami a kiszolgálók letiltásához vagy a szolgáltatódhoz benyújtott panaszokhoz vezethet. Ezen kívül nagy terhelést okoz a vállalat DNS-szerverein is, ha azok rendelkezésre állnak és felelősek azokról a domainekről, amelyeket próbálsz feloldani.
- A jelenlegi resolver lista elavult, azonban ha eltávolítod a nem működő DNS-értelmezőket és hozzáadsz új, ismert resolvereket — akkor minden rendben lesz.

Aquatone v0.5.0 képernyőfelvétel
nsec3map
— egy Python eszköz, amely teljes listát nyújt DNSSEC-kel védett domainekről.
Előnyök:
- Gyorsan felfedezi a hostokat a DNS-zónákban a minimális lekérdezéssel, ha a zónában engedélyezve van a DNSSEC támogatás;
- Készletez egy plugint a John the Ripperhez, amely felhasználható a kapott NSEC3 hash-ek feltörésére.
Hátrányok:
- Sok DNS-hiba helytelenül van kezelve;
- Nincs automatikus párhuzamos feldolgozása az NSEC-ereknek — kézzel kell megosztani a névteret;
- Magas memóriafogyasztás.
Acunetix
— egy webes sebezhetőségi szkenner, amely automatizálja a webalkalmazások biztonsági ellenőrzésének folyamatát. Teszteli az alkalmazást SQL-injekciók, XSS, XXE, SSRF és sok más webes sebezhetőség ellen. Azonban, mint minden más websebezhetőségi szkenner, nem helyettesíti a pentestert, mivel a bonyolult sebezhetőségi láncokat vagy logikai sebezhetőségeket nem tudja észlelni. Viszont nagyon sok különböző sebezhetőséget lefed, beleértve a különböző CVE-ket, amelyekre a pentester talán már elfelejtett, ezért nagyon hasznos a rutinvizsgálatok tehermentesítésében.
Előnyök:
- Alacsony hamis riasztási arány;
- Az eredmények jelentések formájában exportálhatók;
- Számos vizsgálatot végez különböző sebezhetőségekre;
- Több host párhuzamos szkennelése.
Hátrányok:
- Nincs deduplikáló algoritmus (a funkcionálisan azonos Acunetix oldalak más URL-en elérhetők, ezért a fejlesztők dolgoznak azon, hogy ezen javítsanak);
- Külön webkiszolgálóra van szükség a telepítéshez, ami megnehezíti az ügyfél rendszerek VPN-hez való kapcsolódással történő tesztelését és a szkenner használatát a helyi ügyfélhálózat izolált szegmensében;
- Zajlotta a vizsgált szolgáltatást, például túl sok támadó vektorokat küldött a weboldal kapcsolatfelvételi űrlapjára, jelentősen megnehezítve ezzel az üzleti folyamatokat.
- Tulajdonosi és ennek megfelelően nem ingyenes megoldás.

Dirsearch
— Egy Python eszköz, amely webhelyek mappáinak és fájljainak brute force tesztelésére szolgál.
Előnyök:
- Képes megkülönböztetni az igazi „200 OK” oldalakat az „200 OK” oldalaktól, de „az oldal nem található” szöveggel;
- Kényelmes szótárral érkezik, amely jó egyensúlyt teremt a méret és a keresési hatékonyság között. Tartalmazza a sok CMS és technológiai stack jellemző útvonalait;
- Saját szótárformátum, amely lehetővé teszi a fájlok és könyvtárak keresésének jó hatékonyságát és rugalmasságát;
- Kényelmes kimenet — egyszerű szöveg, JSON;
- Képes sebességkorlátozásra — szünetet tartani a kérések között, ami elengedhetetlen minden gyenge szolgáltatás számára.
Hátrányok:
- A kiterjesztéseket stringként kell megadni, ami kényelmetlen, ha egyszerre sok kiterjesztést kell megadni;
- A saját szótár használatához egy kicsit át kell alakítani a Dirsearch szótárainak formátumához a maximális hatékonyság érdekében.

wfuzz
— Python-alapú web fazzer. Talán az egyik legismertebb web fazzer. Az elv egyszerű: a wfuzz lehetővé teszi, hogy bármilyen helyet brute force-teszteljünk a HTTP-kérdésben, így a GET/POST paraméterek, HTTP-fejlécek, beleértve a Cookie-t és egyéb hitelesítési fejléceket is meg lehet célozni. Egyúttal egyszerű könyvtárak és fájlok brute force tesztelésére is alkalmas, amihez jó szótár szükséges. Rugalmas szűrő rendszerrel is rendelkezik, amellyel a webhely válaszait különböző paraméterek alapján szűrhetjük, ami hatékony eredményeket tesz lehetővé.
Előnyök:
- Multifunkcionális — moduláris felépítés, az összeszerelés néhány percet vesz igénybe;
- Kényelmes szűrő- és fázismechanizmus;
- Bármilyen HTTP-módszert brute force-tesz telhetünk, valamint bármilyen helyet a HTTP-kérdésben.
Hátrányok:
- Fejlesztés alatt áll.

ffuf
— Go-alapú web fazzer, amely a wfuzz ’mintájára’ készült, lehetővé teszi fájlok, könyvtárak, URL-útvonalak, GET/POST paraméterek nevei és értékei, HTTP-fejlécek, beleértve a virtuális hosztok brute force teszteléséhez a Host fejlécet. A wfuzz-hoz képest nagyobb sebességgel és néhány új funkcióval rendelkezik, például támogatja a Dirsearch formátumú szótárakat.
Előnyök:
- A szűrők hasonlítanak a wfuzz szűrőire, rugalmasan beállítható brute force teszteléshez;
- Lehetővé teszi HTTP-fejlécek, POST-adatai és az URL különböző részeinek brute force tesztelését, beleértve a GET-paraméterek neveit és értékeit;
- Bármilyen HTTP-módszert megadhatunk.
Hátrányok:
- Fejlesztés alatt áll.

gobuster
— Go nyelvű eszköz felfedezéshez, két működési móddal rendelkezik. Az első a fájlok és könyvtárak bruteforce-olására szolgál a webhelyen, a második pedig a DNS-aldomain-ek iterálására. Az eszköz alapértelmezésben nem támogatja a fájlok és könyvtárak rekurzív iterációját, ami természetesen időt takarít meg, de másrészről minden egyes új végponton a webhelyen külön kell elindítani a bruteforce-t.
Előnyök:
- Magas sebesség mind a DNS-aldomain-ek iterálásához, mind a fájlok és könyvtárak bruteforce-olásához.
Hátrányok:
- A jelenlegi verzió nem támogatja a HTTP-fejlécek beállítását;
- Alapértelmezés szerint csak néhány HTTP-státuszkódot (200,204,301,302,307) tart érvényesnek.

Arjun
— eszköz a rejtett HTTP-paraméterek bruteforce-olására GET/POST paraméterekben, valamint JSON-ban. Az integrált szótár 25 980 szót tartalmaz, amelyeket az Ajrun majdnem 30 másodperc alatt ellenőriz. A lényeg, hogy az Ajrun nem ellenőrzi minden paramétert külön, hanem egyszerre ~1000 paramétert vizsgál meg, és figyeli, hogy megváltozott-e a válasz. Ha a válasz változik, akkor ezt az 1000 paramétert két részre osztja, és ellenőrzi, hogy melyik rész befolyásolja a választ. Így készít egyszerű bináris kereséssel listát a paraméterről vagy néhány rejtett paraméterről, amelyek hatással voltak a válaszra, és ezért létezhetnek.
Előnyök:
- Magas sebesség a bináris keresés révén;
- GET/POST paraméterek, valamint JSON formátumú paraméterek támogatása;
Hasonló elven működik a Burp Suite plug-in — , amely szintén nagyon jól teljesít a rejtett HTTP-paraméterek keresésében. Részletesebben a közelgő Burp és pluginokról szóló cikkben fogunk beszélni.

LinkFinder
— Python script a hivatkozások keresésére JavaScript fájlokban. Hasznos a rejtett vagy elfeledett végpontok/URL-ek keresésében a webalkalmazásban.
Előnyök:
- Gyors;
- Van egy speciális Chrome plug-in, amely a LinkFinder alapjára épül.
.
Hátrányok:
- Kényelmetlen végső kimenet;
- Nem elemzi a JavaScriptet dinamikusan;
- Elég egyszerű hivatkozáskeresési logika — ha a JavaScript valamilyen módon obfuszkálva van, vagy a hivatkozások eredetileg hiányoznak és dinamikusan generálódnak, akkor nem talál semmit.

JSParser
— Python script, amely a és használja a relatív URL-címek elemzésére JavaScript fájlokból. Nagyon hasznos AJAX-kérések felfedezésére és az API-módszerek listájának elkészítésére, amelyekkel az alkalmazás interaktál. Hatékonyan működik a LinkFinder-rel párosítva.
Előnyök:
- Gyors JavaScript fájlok elemzése.

sqlmap
— valószínűleg az egyik legismertebb eszköz a webalkalmazások elemzésére. A Sqlmap automatizálja az SQL-injekciók keresését és kihasználását, több SQL-dialektussal működik, és hatalmas különféle technikákat tartalmaz, a „közvetlen” idézőjelektől kezdve a time-based SQL-injekciók bonyolult vektoraival bezárólag. Ezen kívül számos további kihasználási technikával rendelkezik különböző DBMS-ekhez, ezért nem csupán SQL-injekciók szkennerének hasznos, hanem egy erőteljes eszköz is az már felfedezett SQL-injekciók kihasználására.
Előnyök:
- Különféle technikák és vektorok széles választéka;
- Alacsony hamis pozitív arány;
- Sok lehetőség a pontos beállításra, különböző technikák, cél DB, tamper-scriptek a WAF megkerüléséhez;
- Kimeneti adatok dumpolásának lehetősége;
- Sok különböző kihasználási lehetőség, például bizonyos adatbázisok esetében automatikus fájlok feltöltése/letöltése, parancsok végrehajtásának lehetősége (RCE) és mások;
- Közvetlen kapcsolódás támogatása az adatbázishoz az támadás során megszerzett adatok felhasználásával;
- Szövegfájlt lehet megadni, amely Burp munkaeredményeit tartalmazza – nem szükséges manuálisan létrehozni az összes parancssori attribútumot.
Hátrányok:
- Nehéz testre szabni, például nehéz saját ellenőrzések írása a dokumentáció hiányosságai miatt;
- Megfelelő beállítások hiányában hiányos ellenőrzéseket végez, ami félrevezető lehet.

NoSQLMap
— Python alapú eszköz a NoSQL-injekciók keresésének és kihasználásának automatizálására. Kényelmes használni nemcsak NoSQL adatbázisokban, hanem közvetlenül a NoSQL-t használó webalkalmazások auditálásánál is.
Előnyök:
- A sqlmap-hez hasonlóan lehetővé teszi nemcsak a potenciális sebezhetőség megtalálását, hanem annak kihasználhatóságának ellenőrzését is a MongoDB és CouchDB esetében.
Hátrányok:
- Nem támogatja a NoSQL-t Redis és Cassandra esetében, ezen a területen fejlesztés alatt áll.
oxml_xxe
— eszköz az XXE XML exploiték beágyazására különböző fájltípusokba, amelyekben valamilyen formában XML formátumot használnak.
Előnyök:
- Sok elterjedt formátumot támogat, mint például DOCX, ODT, SVG, XML.
Hátrányok:
- A PDF, JPEG, GIF teljes támogatása nincs még megvalósítva;
- Csak egy fájlt hoz létre. E probléma megoldásához használhatja az eszközt , amely képes sok fájl létrehozására payloadokkal különböző helyeken.
A fent említett segédprogramok kiválóan alkalmasak az XXE tesztelésére XML-tartalmú dokumentumok feltöltésekor. Ne felejtsük el azonban, hogy az XML-formátumok feldolgozóik sok más esetben is előfordulhatnak, például az XML használható adatformátumként a JSON helyett.
Ezért ajánljuk figyelmébe a következő tárolót, amely számos különböző payloadot tartalmaz: .
tplmap
— egy Python eszköz a Server-Side Template Injection sérülékenységek automatikus azonosítására és kihasználására, hasonló beállításokkal és flag-ekkel rendelkezik, mint a sqlmap. Számos különböző technikát és vektort használ, beleértve a vak injekciókat, és tartalmaz kódvégrehajtási és fájlok feltöltési/letöltési technikákat is. Ezen kívül számos különböző templatemotorhoz kínál technikákat, valamint néhány technikát az eval()-szerű kódinjekciók keresésére Pythonban, Rubyban, PHP-ban és JavaScriptben. Sikeres kihasználás esetén interaktív konzolt nyit meg.
Előnyök:
- Különféle technikák és vektorok széles választéka;
- Több sablonrenderelő motort támogat;
- Számos kihasználási technika.
CeWL
— egy Ruby alapú szótárgenerátor, amely egy adott weboldalról egyedi szavakat von ki, és a weboldalon lévő linkeken keresztül egy bizonyos mélységig járja be azokat. Az így létrehozott szótár az egyedi szavakkal később jelszavak brute force-vizsgálatára használható szolgáltatásokban, vagy fájlok és könyvtárak brute force-vizsgálatára ugyanazon a weboldalon, illetve a kapott hash-ek támadására a hashcat vagy John the Ripper segítségével. Hasznos a “célzott” potenciális jelszavak listájának összeállításához.
Előnyök:
- Könnyen használható.
Hátrányok:
- Óvatosan kell bánni a keresési mélységgel, hogy elkerüljük a felesleges domainek eltérítését.
Weakpass
— egy szolgáltatás, amely számos egyedi jelszót tartalmazó szótárt kínál. Rendkívül hasznos különféle jelszót tört feladatokhoz, kezdve a célzott szolgáltatások fiókjai online brute force-vizsgálatával, egészen a kapott hash-ek offline brute force-vizsgálatáig a vagy . Összesen körülbelül 8 milliárd jelszót tartalmaz, 4 és 25 karakter hosszúság között.
Előnyök:
- Tartalmaz specifikus szótárakat és a leggyakrabban előforduló jelszavakat is — egy adott szükséglethez megfelelő szótár kiválasztása lehetséges;
- A szótárak frissítve és új jelszavakkal bővítve vannak;
- A szótárak hatékonyság szerint vannak rendezve. Választható lehetőség a gyors online brute force vagy egy átfogó jelszókeresés egy nagy szótárból, amely a legfrissebb kiszivárgásokból áll;
- Van egy kalkulátor, amely megmutatja a jelszavak brute force idejét az ön hardverén.

Egy külön csoportba szeretnénk sorolni a CMS-ellenőrző eszközöket: WPScan, JoomScan és AEM hacker.
AEM_hacker
— az Adobe Experience Manager (AEM) alkalmazások sérülékenységeinek feltárására szolgáló eszköz.
Előnyök:
- Képes az AEM-alkalmazásokat az URL-listából az inputként megadottak szerint azonosítani;
- Tartalmazza a RCE megszerzésére szolgáló szkripteket JSP-shell feltöltésével vagy SSRF kihasználásával.
JoomScan
— Perl alapú eszköz a Joomla CMS telepítése során fellépő sérülékenységek automatizált felfedezésére.
Előnyök:
- Képes megtalálni a konfigurációs hibákat és az adminisztrátori beállításokkal kapcsolatos problémákat;
- Felsorolja a Joomla verziókat és a hozzájuk kapcsolódó sérülékenységeket, hasonlóan egyes komponensekhez;
- Több mint 1000 exploitot tartalmaz a Joomla komponenseihez;
- Összefoglaló jelentések készítése szöveges és HTML formátumban.

WPScan
— eszköz WordPress oldalak szkennelésére, amely a WordPress motor és néhány bővítmény sérülékenységeit is tartalmazza.
Előnyök:
- Képes nemcsak a biztonságtalan WordPress bővítmények és témák felsorolására, hanem a felhasználók és TimThumb fájlok listájának megszerzésére is;
- Brute force támadásokat végezhet WordPress oldalak ellen.
Hátrányok:
- Megfelelő beállítások hiányában hiányos ellenőrzéseket végez, ami félrevezető lehet.

Összességében különböző emberek különböző eszközöket részesítenek előnyben a munkához: mindegyik eszköznek megvan a maga értéke, és ami az egyik embernek tetszik, az esetleg nem felel meg a másiknak. Ha úgy érzi, hogy figyelmen kívül hagytunk egy jó eszközt, írja meg a megjegyzésekben!
Forrás: habr.com
