Alat web, atau di mana untuk bermula sebagai pentester?

Kami teruskan bercakap tentang alat yang berguna untuk pentester. Dalam artikel baharu kami akan melihat alat untuk menganalisis keselamatan aplikasi web.

Rakan sekerja kami BeLove Saya sudah melakukan sesuatu seperti ini pemilihan kira-kira tujuh tahun yang lalu. Adalah menarik untuk melihat alat yang telah mengekalkan dan mengukuhkan kedudukan mereka, dan yang mana telah pudar ke latar belakang dan kini jarang digunakan.
Alat web, atau di mana untuk bermula sebagai pentester?

Ambil perhatian bahawa ini juga termasuk Burp Suite, tetapi akan ada penerbitan berasingan mengenainya dan pemalamnya yang berguna.

Kandungan:

Amass

Amass - alat Go untuk mencari dan menghitung subdomain DNS dan memetakan rangkaian luaran. Amass ialah projek OWASP yang direka untuk menunjukkan rupa organisasi di Internet kepada orang luar. Amass memperoleh nama subdomain dalam pelbagai cara; alat ini menggunakan kedua-dua penghitungan rekursif subdomain dan carian sumber terbuka.

Untuk menemui segmen rangkaian yang saling berkaitan dan nombor sistem autonomi, Amass menggunakan alamat IP yang diperoleh semasa operasi. Semua maklumat yang ditemui digunakan untuk membina peta rangkaian.

Kelebihan:

  • Teknik pengumpulan maklumat termasuk:
    * DNS - carian kamus subdomain, subdomain bruteforce, carian pintar menggunakan mutasi berdasarkan subdomain yang ditemui, pertanyaan DNS terbalik dan cari pelayan DNS yang boleh membuat permintaan pemindahan zon (AXFR);

    * Carian sumber terbuka - Tanya, Baidu, Bing, CommonCrawl, DNSDB, DNSDumpster, DNSTable, Dogpile, Exalead, FindSubdomains, Google, IPv4Info, Netcraft, PTRArchive, Riddler, SiteDossier, ThreatCrowd, VirusTotal, Yahoo;

    * Cari pangkalan data sijil TLS - Censys, CertDB, CertSpotter, Crtsh, Entrust;

    * Menggunakan API enjin carian - BinaryEdge, BufferOver, CIRCL, HackerTarget, PassiveTotal, Robtex, SecurityTrails, Shodan, Twitter, Umbrella, URLScan;

    * Cari arkib web Internet: ArchiveIt, ArchiveToday, Arquivo, LoCArchive, OpenUKArchive, UKGovArchive, Wayback;

  • Integrasi dengan Maltego;
  • Menyediakan liputan paling lengkap tentang tugas mencari subdomain DNS.

Cons:

  • Berhati-hati dengan amass.netdomains - ia akan cuba menghubungi setiap alamat IP dalam infrastruktur yang dikenal pasti dan mendapatkan nama domain daripada carian DNS terbalik dan sijil TLS. Ini adalah teknik "berprofil tinggi", ia boleh mendedahkan aktiviti risikan anda dalam organisasi yang sedang disiasat.
  • Penggunaan memori yang tinggi, boleh menggunakan sehingga 2 GB RAM dalam tetapan yang berbeza, yang tidak akan membenarkan anda menjalankan alat ini dalam awan pada VDS yang murah.

Alat web, atau di mana untuk bermula sebagai pentester?

Altdns

Altdns β€” alat Python untuk menyusun kamus untuk menghitung subdomain DNS. Membolehkan anda menjana banyak variasi subdomain menggunakan mutasi dan pilih atur. Untuk ini, perkataan yang sering ditemui dalam subdomain digunakan (contohnya: test, dev, staging), semua mutasi dan pilih atur digunakan pada subdomain yang sudah diketahui, yang boleh diserahkan kepada input Altdns. Output ialah senarai variasi subdomain yang boleh wujud, dan senarai ini kemudiannya boleh digunakan untuk DNS brute force.

Kelebihan:

  • Berfungsi dengan baik dengan set data yang besar.

akuaton

akuaton - sebelum ini lebih dikenali sebagai alat lain untuk mencari subdomain, tetapi pengarang sendiri meninggalkan perkara ini demi Amass yang disebutkan di atas. Kini aquatone telah ditulis semula dalam Go dan lebih menjurus kepada peninjauan awal di tapak web. Untuk melakukan ini, aquatone melalui domain yang ditentukan dan mencari tapak web pada port yang berbeza, selepas itu ia mengumpul semua maklumat tentang tapak dan mengambil tangkapan skrin. Mudah untuk peninjauan awal cepat tapak web, selepas itu anda boleh memilih sasaran keutamaan untuk serangan.

Kelebihan:

  • Output mencipta sekumpulan fail dan folder yang mudah digunakan apabila terus bekerja dengan alat lain:
    * Laporan HTML dengan tangkapan skrin yang dikumpul dan tajuk respons yang dikumpulkan mengikut persamaan;

    * Fail dengan semua URL tempat tapak web ditemui;

    * Fail dengan statistik dan data halaman;

    * Folder dengan fail yang mengandungi pengepala respons daripada sasaran yang ditemui;

    * Folder dengan fail yang mengandungi badan respons daripada sasaran yang ditemui;

    * Tangkapan skrin laman web yang ditemui;

  • Menyokong bekerja dengan laporan XML daripada Nmap dan Masscan;
  • Menggunakan Chrome/Chromium tanpa kepala untuk memaparkan tangkapan skrin.

Cons:

  • Ia mungkin menarik perhatian sistem pengesanan pencerobohan, jadi ia memerlukan konfigurasi.

Tangkapan skrin telah diambil untuk salah satu versi lama aquatone (v0.5.0), yang mana carian subdomain DNS telah dilaksanakan. Versi lama boleh didapati di halaman keluaran.
Alat web, atau di mana untuk bermula sebagai pentester?

MassDNS

MassDNS ialah alat lain untuk mencari subdomain DNS. Perbezaan utamanya ialah ia membuat pertanyaan DNS terus kepada banyak penyelesai DNS yang berbeza dan melakukannya pada kelajuan yang agak tinggi.

Kelebihan:

  • Cepat - mampu menyelesaikan lebih daripada 350 ribu nama sesaat.

Cons:

  • MassDNS boleh menyebabkan beban yang ketara pada penyelesai DNS yang sedang digunakan, yang boleh membawa kepada larangan pada pelayan tersebut atau aduan kepada ISP anda. Di samping itu, ia akan meletakkan beban yang besar pada pelayan DNS syarikat, jika mereka memilikinya dan jika mereka bertanggungjawab untuk domain yang anda cuba selesaikan.
  • Senarai penyelesai kini sudah lapuk, tetapi jika anda memilih penyelesai DNS yang rosak dan menambah penyelesai baharu yang diketahui, semuanya akan baik-baik saja.

Alat web, atau di mana untuk bermula sebagai pentester?
Tangkapan skrin aquatone v0.5.0

nsec3map

nsec3map ialah alat Python untuk mendapatkan senarai lengkap domain yang dilindungi DNSSEC.

Kelebihan:

  • Temui hos dalam zon DNS dengan pantas dengan bilangan pertanyaan minimum jika sokongan DNSSEC didayakan dalam zon;
  • Termasuk pemalam untuk John the Ripper yang boleh digunakan untuk memecahkan cincang NSEC3 yang terhasil.

Cons:

  • Banyak ralat DNS tidak dikendalikan dengan betul;
  • Tiada penyejajaran automatik pemprosesan rekod NSEC - anda perlu membahagikan ruang nama secara manual;
  • Penggunaan memori yang tinggi.

Acunetix

Acunetix β€” pengimbas kerentanan web yang mengautomasikan proses menyemak keselamatan aplikasi web. Menguji aplikasi untuk suntikan SQL, XSS, XXE, SSRF dan banyak kelemahan web lain. Walau bagaimanapun, seperti mana-mana pengimbas lain, pelbagai kelemahan web tidak menggantikan pentester, kerana ia tidak dapat mencari rantaian kelemahan atau kelemahan yang kompleks dalam logik. Tetapi ia merangkumi banyak kelemahan yang berbeza, termasuk pelbagai CVE, yang pentester mungkin terlupa tentangnya, jadi ia sangat mudah untuk membebaskan anda daripada pemeriksaan rutin.

Kelebihan:

  • Tahap positif palsu yang rendah;
  • Keputusan boleh dieksport sebagai laporan;
  • Melakukan sebilangan besar pemeriksaan untuk pelbagai kelemahan;
  • Pengimbasan selari berbilang hos.

Cons:

  • Tiada algoritma penyahduplikasian (Acunetix akan menganggap halaman yang mempunyai fungsi yang sama adalah berbeza, kerana ia membawa kepada URL yang berbeza), tetapi pembangun sedang mengusahakannya;
  • Memerlukan pemasangan pada pelayan web yang berasingan, yang merumitkan ujian sistem klien dengan sambungan VPN dan menggunakan pengimbas dalam segmen terpencil rangkaian pelanggan tempatan;
  • Perkhidmatan yang dikaji mungkin membuat bising, contohnya, dengan menghantar terlalu banyak vektor serangan ke borang hubungan di tapak, dengan itu merumitkan proses perniagaan;
  • Ia adalah proprietari dan, oleh itu, bukan penyelesaian percuma.

Alat web, atau di mana untuk bermula sebagai pentester?

Dirsearch

Dirsearch β€” alat Python untuk direktori dan fail yang memaksa secara kasar di tapak web.

Kelebihan:

  • Boleh membezakan halaman "200 OK" sebenar daripada halaman "200 OK", tetapi dengan teks "halaman tidak dijumpai";
  • Didatangkan dengan kamus berguna yang mempunyai keseimbangan yang baik antara saiz dan kecekapan carian. Mengandungi laluan standard yang biasa kepada banyak tindanan CMS dan teknologi;
  • Format kamusnya sendiri, yang membolehkan anda mencapai kecekapan dan fleksibiliti yang baik dalam menyenaraikan fail dan direktori;
  • Output yang mudah - teks biasa, JSON;
  • Ia boleh melakukan pendikitan - jeda antara permintaan, yang penting untuk sebarang perkhidmatan yang lemah.

Cons:

  • Sambungan mesti diluluskan sebagai rentetan, yang menyusahkan jika anda perlu lulus banyak sambungan sekaligus;
  • Untuk menggunakan kamus anda, ia perlu diubah suai sedikit kepada format kamus Dirsearch untuk kecekapan maksimum.

Alat web, atau di mana untuk bermula sebagai pentester?

wfuzz

wfuzz - Pemabuk aplikasi web Python. Mungkin salah satu fasa web yang paling terkenal. Prinsipnya mudah: wfuzz membolehkan anda memfasakan mana-mana tempat dalam permintaan HTTP, yang memungkinkan untuk memfasakan parameter GET/POST, pengepala HTTP, termasuk Kuki dan pengepala pengesahan lain. Pada masa yang sama, ia juga mudah untuk kuasa kasar direktori dan fail yang mudah, yang mana anda memerlukan kamus yang baik. Ia juga mempunyai sistem penapis yang fleksibel, yang mana anda boleh menapis respons daripada tapak web mengikut parameter yang berbeza, yang membolehkan anda mencapai hasil yang berkesan.

Kelebihan:

  • Pelbagai fungsi - struktur modular, pemasangan mengambil masa beberapa minit;
  • Mekanisme penapisan dan pengaburan yang mudah;
  • Anda boleh fasa mana-mana kaedah HTTP, serta mana-mana tempat dalam permintaan HTTP.

Cons:

  • Di bawah pembangunan.

Alat web, atau di mana untuk bermula sebagai pentester?

ffuf

ffuf β€” pengabur web dalam Go, dicipta dalam "imej dan rupa" wfuzz, membolehkan anda memusnahkan fail, direktori, laluan URL, nama dan nilai parameter GET/POST, pengepala HTTP, termasuk pengepala Hos untuk kekerasan daripada hos maya. wfuzz berbeza daripada saudaranya dalam kelajuan yang lebih tinggi dan beberapa ciri baharu, contohnya, ia menyokong kamus format Dirsearch.

Kelebihan:

  • Penapis adalah serupa dengan penapis wfuzz, ia membolehkan anda mengkonfigurasi kekerasan secara fleksibel;
  • Membolehkan anda mengaburkan nilai pengepala HTTP, data permintaan POST dan pelbagai bahagian URL, termasuk nama dan nilai parameter GET;
  • Anda boleh menentukan sebarang kaedah HTTP.

Cons:

  • Di bawah pembangunan.

Alat web, atau di mana untuk bermula sebagai pentester?

gobuster

gobuster β€” alat Go untuk peninjauan, mempunyai dua mod operasi. Yang pertama digunakan untuk memusnahkan fail dan direktori di tapak web, yang kedua digunakan untuk memusnahkan subdomain DNS. Alat ini pada mulanya tidak menyokong penghitungan rekursif fail dan direktori, yang, sudah tentu, menjimatkan masa, tetapi sebaliknya, kekerasan setiap titik akhir baharu di tapak web mesti dilancarkan secara berasingan.

Kelebihan:

  • Kelajuan tinggi operasi kedua-dua untuk carian brute force subdomain DNS dan untuk brute force fail dan direktori.

Cons:

  • Versi semasa tidak menyokong tetapan pengepala HTTP;
  • Secara lalai, hanya beberapa kod status HTTP (200,204,301,302,307) dianggap sah.

Alat web, atau di mana untuk bermula sebagai pentester?

Arjun

Arjun - alat untuk kekerasan parameter HTTP tersembunyi dalam parameter GET/POST, serta dalam JSON. Kamus terbina dalam mempunyai 25 perkataan, yang Ajrun semak dalam hampir 980 saat. Caranya ialah Ajrun tidak menyemak setiap parameter secara berasingan, tetapi menyemak ~30 parameter pada satu masa dan melihat sama ada jawapan telah berubah. Jika jawapan telah berubah, ia membahagikan 1000 parameter ini kepada dua bahagian dan menyemak bahagian mana yang mempengaruhi jawapan. Oleh itu, menggunakan carian binari mudah, parameter atau beberapa parameter tersembunyi didapati yang mempengaruhi jawapan dan, oleh itu, mungkin wujud.

Kelebihan:

  • Kelajuan tinggi kerana carian binari;
  • Sokongan untuk parameter GET/POST, serta parameter dalam bentuk JSON;

Pemalam untuk Burp Suite berfungsi pada prinsip yang sama - param-miner, yang juga sangat baik dalam mencari parameter HTTP tersembunyi. Kami akan memberitahu anda lebih lanjut mengenainya dalam artikel akan datang tentang Burp dan pemalamnya.
Alat web, atau di mana untuk bermula sebagai pentester?

LinkFinder

LinkFinder β€” skrip Python untuk mencari pautan dalam fail JavaScript. Berguna untuk mencari titik akhir/URL tersembunyi atau terlupa dalam aplikasi web.

Kelebihan:

  • Cepat;
  • Terdapat pemalam khas untuk Chrome berdasarkan LinkFinder.

.

Cons:

  • Kesimpulan akhir yang menyusahkan;
  • Tidak menganalisis JavaScript dari semasa ke semasa;
  • Logik yang agak mudah untuk mencari pautan - jika JavaScript entah bagaimana dikelirukan, atau pautan pada mulanya hilang dan dijana secara dinamik, maka ia tidak akan dapat mencari apa-apa.

Alat web, atau di mana untuk bermula sebagai pentester?

JSParser

JSParser ialah skrip Python yang menggunakan Puting beliung ΠΈ JSBeautifier untuk menghuraikan URL relatif daripada fail JavaScript. Sangat berguna untuk mengesan permintaan AJAX dan menyusun senarai kaedah API yang berinteraksi dengan aplikasi. Berfungsi dengan berkesan bersama dengan LinkFinder.

Kelebihan:

  • Penghuraian pantas fail JavaScript.

Alat web, atau di mana untuk bermula sebagai pentester?

sqlmap

sqlmap mungkin merupakan salah satu alat yang paling terkenal untuk menganalisis aplikasi web. Sqlmap mengautomasikan carian dan pengendalian suntikan SQL, berfungsi dengan beberapa dialek SQL dan mempunyai sejumlah besar teknik berbeza dalam senjatanya, daripada petikan terus ke vektor kompleks untuk suntikan SQL berasaskan masa. Di samping itu, ia mempunyai banyak teknik untuk eksploitasi lanjut untuk pelbagai DBMS, jadi ia berguna bukan sahaja sebagai pengimbas untuk suntikan SQL, tetapi juga sebagai alat yang berkuasa untuk mengeksploitasi suntikan SQL yang telah ditemui.

Kelebihan:

  • Sebilangan besar teknik dan vektor yang berbeza;
  • Bilangan positif palsu yang rendah;
  • Banyak pilihan penalaan halus, pelbagai teknik, pangkalan data sasaran, skrip gangguan untuk memintas WAF;
  • Keupayaan untuk mencipta pembuangan keluaran;
  • Banyak keupayaan operasi yang berbeza, contohnya, untuk sesetengah pangkalan data - memuatkan/memunggah fail secara automatik, mendapatkan keupayaan untuk melaksanakan arahan (RCE) dan lain-lain;
  • Sokongan untuk sambungan terus ke pangkalan data menggunakan data yang diperoleh semasa serangan;
  • Anda boleh menyerahkan fail teks dengan hasil Burp sebagai input - tidak perlu mengarang semua atribut baris arahan secara manual.

Cons:

  • Adalah sukar untuk menyesuaikan, sebagai contoh, untuk menulis beberapa cek anda sendiri kerana dokumentasi yang terhad untuk ini;
  • Tanpa tetapan yang sesuai, ia melakukan set pemeriksaan yang tidak lengkap, yang boleh mengelirukan.

Alat web, atau di mana untuk bermula sebagai pentester?

NoSQLMap

NoSQLMap β€” alat Python untuk mengautomasikan carian dan eksploitasi suntikan NoSQL. Ia mudah digunakan bukan sahaja dalam pangkalan data NoSQL, tetapi juga secara langsung semasa mengaudit aplikasi web yang menggunakan NoSQL.

Kelebihan:

  • Seperti sqlmap, ia bukan sahaja menemui potensi kelemahan, tetapi juga menyemak kemungkinan eksploitasinya untuk MongoDB dan CouchDB.

Cons:

  • Tidak menyokong NoSQL untuk Redis, Cassandra, pembangunan sedang dijalankan ke arah ini.

oxml_xxe

oxml_xxe β€” alat untuk membenamkan eksploitasi XML XXE ke dalam pelbagai jenis fail yang menggunakan format XML dalam beberapa bentuk.

Kelebihan:

  • Menyokong banyak format biasa seperti DOCX, ODT, SVG, XML.

Cons:

  • Sokongan untuk PDF, JPEG, GIF tidak dilaksanakan sepenuhnya;
  • Mencipta hanya satu fail. Untuk menyelesaikan masalah ini, anda boleh menggunakan alat tersebut docem, yang boleh mencipta sejumlah besar fail muatan di tempat yang berbeza.

Utiliti di atas melakukan tugas yang baik untuk menguji XXE apabila memuatkan dokumen yang mengandungi XML. Tetapi ingat juga bahawa pengendali format XML boleh ditemui dalam banyak kes lain, contohnya, XML boleh digunakan sebagai format data dan bukannya JSON.

Oleh itu, kami mengesyorkan agar anda memberi perhatian kepada repositori berikut, yang mengandungi sejumlah besar muatan yang berbeza: PayloadsAllTheThings.

tplmap

tplmap - alat Python untuk mengenal pasti secara automatik dan mengeksploitasi kelemahan Suntikan Templat Sisi Pelayan; ia mempunyai tetapan dan bendera yang serupa dengan sqlmap. Menggunakan beberapa teknik dan vektor yang berbeza, termasuk suntikan buta, dan juga mempunyai teknik untuk melaksanakan kod dan memuatkan/memuat naik fail sewenang-wenangnya. Di samping itu, dia mempunyai teknik persenjataannya untuk sedozen enjin templat yang berbeza dan beberapa teknik untuk mencari suntikan kod seperti eval() dalam Python, Ruby, PHP, JavaScript. Jika berjaya, ia membuka konsol interaktif.

Kelebihan:

  • Sebilangan besar teknik dan vektor yang berbeza;
  • Menyokong banyak enjin rendering template;
  • Banyak teknik operasi.

CeWL

CeWL - penjana kamus dalam Ruby, dicipta untuk mengekstrak perkataan unik dari tapak web tertentu, mengikuti pautan pada tapak ke kedalaman tertentu. Kamus perkataan unik yang disusun kemudiannya boleh digunakan untuk menggunakan kata laluan kekerasan pada perkhidmatan atau fail dan direktori brute force pada tapak web yang sama, atau untuk menyerang cincang yang terhasil menggunakan hashcat atau John the Ripper. Berguna apabila menyusun senarai "sasaran" kata laluan yang berpotensi.

Kelebihan:

  • Mudah untuk digunakan.

Cons:

  • Anda perlu berhati-hati dengan kedalaman carian agar tidak menangkap domain tambahan.

Lulus lemah

Lulus lemah - perkhidmatan yang mengandungi banyak kamus dengan kata laluan unik. Amat berguna untuk pelbagai tugas yang berkaitan dengan pemecahan kata laluan, bermula daripada kekerasan akaun dalam talian yang mudah pada perkhidmatan sasaran, kepada kekerasan luar talian terhadap cincang yang diterima menggunakan hashcat atau John The Ripper. Ia mengandungi kira-kira 8 bilion kata laluan dengan panjang antara 4 hingga 25 aksara.

Kelebihan:

  • Mengandungi kedua-dua kamus dan kamus khusus dengan kata laluan yang paling biasa - anda boleh memilih kamus khusus untuk keperluan anda sendiri;
  • Kamus dikemas kini dan diisi semula dengan kata laluan baharu;
  • Kamus disusun mengikut kecekapan. Anda boleh memilih pilihan untuk kedua-dua kekerasan dalam talian pantas dan pemilihan kata laluan terperinci daripada kamus yang banyak dengan kebocoran terkini;
  • Terdapat kalkulator yang menunjukkan masa yang diperlukan untuk memusnahkan kata laluan pada peralatan anda.

Alat web, atau di mana untuk bermula sebagai pentester?

Kami ingin memasukkan alat untuk semakan CMS dalam kumpulan berasingan: WPScan, JoomScan dan penggodam AEM.

AEM_hacker

penggodam AEM ialah alat untuk mengenal pasti kelemahan dalam aplikasi Adobe Experience Manager (AEM).

Kelebihan:

  • Boleh mengenal pasti aplikasi AEM daripada senarai URL yang diserahkan kepada inputnya;
  • Mengandungi skrip untuk mendapatkan RCE dengan memuatkan shell JSP atau mengeksploitasi SSRF.

JoomScan

JoomScan β€” alat Perl untuk mengautomasikan pengesanan kelemahan apabila menggunakan Joomla CMS.

Kelebihan:

  • Dapat mencari kelemahan konfigurasi dan masalah dengan tetapan pentadbiran;
  • Menyenaraikan versi Joomla dan kelemahan yang berkaitan, begitu juga untuk komponen individu;
  • Mengandungi lebih daripada 1000 eksploitasi untuk komponen Joomla;
  • Output laporan akhir dalam format teks dan HTML.

Alat web, atau di mana untuk bermula sebagai pentester?

WPScan

WPScan - alat untuk mengimbas tapak WordPress, ia mempunyai kelemahan dalam senjatanya untuk enjin WordPress itu sendiri dan untuk beberapa pemalam.

Kelebihan:

  • Mampu menyenaraikan bukan sahaja pemalam dan tema WordPress yang tidak selamat, tetapi juga mendapatkan senarai pengguna dan fail TimThumb;
  • Boleh melakukan serangan kekerasan di laman WordPress.

Cons:

  • Tanpa tetapan yang sesuai, ia melakukan set pemeriksaan yang tidak lengkap, yang boleh mengelirukan.

Alat web, atau di mana untuk bermula sebagai pentester?

Secara umum, orang yang berbeza lebih suka alat yang berbeza untuk bekerja: semuanya bagus dengan cara mereka sendiri, dan perkara yang disukai oleh seseorang mungkin tidak sesuai dengan orang lain sama sekali. Jika anda berpendapat bahawa kami telah mengabaikan beberapa utiliti yang baik secara tidak adil, tulis mengenainya dalam ulasan!

Sumber: www.habr.com

Tambah komen