Webes eszközök, avagy mivel érdemes kezdeni a pentestert?

Folytatjuk 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 BeLove készített hasonló gyűjtést 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.
Webes eszközök, avagy mivel érdemes kezdeni a pentestert?

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

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.

Webes eszközök, avagy mivel érdemes kezdeni a pentestert?

Altdns

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

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 kiadási oldalon.
Webes eszközök, avagy mivel érdemes kezdeni a pentestert?

MassDNS

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.

Webes eszközök, avagy mivel érdemes kezdeni a pentestert?
Aquatone v0.5.0 képernyőfelvétel

nsec3map

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

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.

Webes eszközök, avagy mivel érdemes kezdeni a pentestert?

Dirsearch

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.

Webes eszközök, avagy mivel érdemes kezdeni a pentestert?

wfuzz

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.

Webes eszközök, avagy mivel érdemes kezdeni a pentestert?

ffuf

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.

Webes eszközök, avagy mivel érdemes kezdeni a pentestert?

gobuster

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.

Webes eszközök, avagy mivel érdemes kezdeni a pentestert?

Arjun

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 — param-miner, 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.
Webes eszközök, avagy mivel érdemes kezdeni a pentestert?

LinkFinder

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.

Webes eszközök, avagy mivel érdemes kezdeni a pentestert?

JSParser

JSParser — Python script, amely a Tornado és JSBeautifier 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.

Webes eszközök, avagy mivel érdemes kezdeni a pentestert?

sqlmap

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.

Webes eszközök, avagy mivel érdemes kezdeni a pentestert?

NoSQLMap

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

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 docem, 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: PayloadsAllTheThings.

tplmap

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

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

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 hashcat vagy John The Ripper. Ö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.

Webes eszközök, avagy mivel érdemes kezdeni a pentestert?

Egy külön csoportba szeretnénk sorolni a CMS-ellenőrző eszközöket: WPScan, JoomScan és AEM hacker.

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

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.

Webes eszközök, avagy mivel érdemes kezdeni a pentestert?

WPScan

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.

Webes eszközök, avagy mivel érdemes kezdeni a pentestert?

Ö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

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster