Semakan alatan percuma untuk menguji sumber web dan banyak lagi v2

Beberapa ketika dahulu saya menulis tentang ini, tetapi sedikit sedikit dan huru-hara. Selepas itu, saya memutuskan untuk mengembangkan senarai alat dalam semakan, menambah struktur pada artikel dan mengambil kira kritikan (banyak terima kasih Lefty untuk mendapatkan nasihat) dan menghantarnya ke pertandingan di SecLab (dan diterbitkan pautan, tetapi untuk semua sebab yang jelas tiada siapa yang melihatnya). Pertandingan telah berakhir, keputusan telah diumumkan dan dengan hati nurani yang bersih saya boleh menerbitkannya (artikel) di Habré.

Alat Pentester Aplikasi Web Percuma

Dalam artikel ini saya akan bercakap tentang alat yang paling popular untuk pentesting (ujian penembusan) aplikasi web menggunakan strategi "kotak hitam".
Untuk melakukan ini, kami akan melihat utiliti yang akan membantu dengan jenis ujian ini. Pertimbangkan kategori produk berikut:

  1. Pengimbas rangkaian
  2. Pengimbas pelanggaran skrip web
  3. Eksploitasi
  4. Automasi suntikan
  5. Penyahpepijat (penghidu, proksi tempatan, dsb.)


Sesetengah produk mempunyai "watak" universal, jadi saya akan mengklasifikasikannya dalam kategori di mana mereka mempunyai aоkeputusan yang lebih baik (pendapat subjektif).

Pengimbas rangkaian.

Tugas utama ialah mencari perkhidmatan rangkaian yang tersedia, memasang versi mereka, menentukan OS, dsb.

NmapSemakan alatan percuma untuk menguji sumber web dan banyak lagi v2
Nmap ("Pemeta Rangkaian") ialah utiliti sumber terbuka dan percuma untuk analisis rangkaian dan pengauditan keselamatan sistem. Lawan konsol yang ganas boleh menggunakan Zenmap, yang merupakan GUI untuk Nmap.
Ini bukan sekadar pengimbas "pintar", ia adalah alat yang boleh diperluaskan yang serius (salah satu daripada "ciri luar biasa" ialah kehadiran skrip untuk menyemak nod untuk kehadiran cacing "Stuxnet"(disebutkan di sini). Contoh penggunaan biasa:

nmap -A -T4 localhost

-A untuk pengesanan versi OS, pengimbasan skrip dan pengesanan
-Tetapan kawalan masa T4 (lebih banyak lebih cepat, dari 0 hingga 5)
localhost - hos sasaran
Sesuatu yang lebih sukar?

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

Ini ialah satu set pilihan daripada profil "imbasan komprehensif perlahan" dalam Zenmap. Ia mengambil masa yang agak lama untuk disiapkan, tetapi akhirnya memberikan maklumat yang lebih terperinci yang boleh diketahui tentang sistem sasaran. Panduan Bantuan dalam bahasa Rusia, jika anda memutuskan untuk pergi lebih mendalam, saya juga mengesyorkan menterjemah artikel itu Panduan Pemula untuk Nmap.
Nmap telah menerima status "Produk Keselamatan Tahun Ini" daripada majalah dan komuniti seperti Jurnal Linux, Dunia Info, LinuxQuestions.Org dan Codetalker Digest.
Satu perkara yang menarik, Nmap boleh dilihat dalam filem "The Matrix Reloaded", "Die Hard 4", "The Bourne Ultimatum", "Hottabych" dan lain.

IP-ToolsSemakan alatan percuma untuk menguji sumber web dan banyak lagi v2
IP-Tools - sejenis set utiliti rangkaian yang berbeza, disertakan dengan GUI, "didedikasikan" kepada pengguna Windows.
Pengimbas port, sumber kongsi (pencetak/folder kongsi), WhoIs/Finger/Lookup, pelanggan telnet dan banyak lagi. Hanya alat yang mudah, pantas dan berfungsi.

Tidak ada gunanya untuk mempertimbangkan produk lain, kerana terdapat banyak utiliti di kawasan ini dan semuanya mempunyai prinsip operasi dan fungsi yang serupa. Namun, nmap kekal sebagai yang paling kerap digunakan.

Pengimbas pelanggaran skrip web

Cuba untuk mencari kelemahan popular (inj SQL, XSS, LFI/RFI, dll.) atau ralat (tidak dipadamkan fail sementara, pengindeksan direktori, dll.)

Pengimbas Kerentanan Web AcunetixSemakan alatan percuma untuk menguji sumber web dan banyak lagi v2
Pengimbas Kerentanan Web Acunetix — daripada pautan anda boleh melihat bahawa ini adalah pengimbas xss, tetapi ini tidak sepenuhnya benar. Versi percuma, tersedia di sini, menyediakan banyak fungsi. Biasanya, orang yang menjalankan pengimbas ini buat kali pertama dan menerima laporan tentang sumber mereka buat kali pertama mengalami sedikit kejutan, dan anda akan faham mengapa sebaik sahaja anda melakukan ini. Ini adalah produk yang sangat berkuasa untuk menganalisis semua jenis kelemahan pada tapak web dan berfungsi bukan sahaja dengan laman web PHP biasa, tetapi juga dalam bahasa lain (walaupun perbezaan dalam bahasa bukan penunjuk). Tiada maksud tertentu dalam menerangkan arahan, kerana pengimbas hanya "mengambil" tindakan pengguna. Sesuatu yang serupa dengan "seterusnya, seterusnya, seterusnya, sedia" dalam pemasangan perisian biasa.

NiktoSemakan alatan percuma untuk menguji sumber web dan banyak lagi v2
Nikto Ini ialah perangkak web Sumber Terbuka (GPL). Menghapuskan kerja manual rutin. Mencari tapak sasaran untuk skrip yang tidak dipadam (beberapa test.php, index_.php, dsb.), alat pentadbiran pangkalan data (/phpmyadmin/, /pma dan seumpamanya), dsb., iaitu, menyemak sumber untuk ralat yang paling biasa biasanya disebabkan oleh faktor manusia.
Selain itu, jika ia menemui beberapa skrip popular, ia menyemaknya untuk eksploitasi yang dikeluarkan (yang terdapat dalam pangkalan data).
Laporan tersedia kaedah "tidak diingini" seperti PUT dan TRACE
Dan sebagainya. Ia sangat mudah jika anda bekerja sebagai juruaudit dan menganalisis tapak web setiap hari.
Daripada minus, saya ingin perhatikan peratusan positif palsu yang tinggi. Contohnya, jika tapak anda sentiasa memberikan ralat utama dan bukannya ralat 404 (bila ia sepatutnya berlaku), maka pengimbas akan mengatakan bahawa tapak anda mengandungi semua skrip dan semua kelemahan daripada pangkalan datanya. Dalam amalan, ini tidak berlaku begitu kerap, tetapi pada hakikatnya, banyak bergantung pada struktur tapak anda.
Penggunaan klasik:

./nikto.pl -host localhost

Jika anda perlu diberi kuasa di tapak, anda boleh menetapkan kuki dalam fail nikto.conf, pembolehubah STATIC-COOKIE.

WiktoSemakan alatan percuma untuk menguji sumber web dan banyak lagi v2
Wikto — Nikto untuk Windows, tetapi dengan beberapa tambahan, seperti logik "kabur" semasa menyemak kod untuk ralat, menggunakan GHDB, mendapatkan pautan dan folder sumber, pemantauan masa nyata permintaan/tindak balas HTTP. Wikto ditulis dalam C# dan memerlukan rangka kerja .NET.

skipfishSemakan alatan percuma untuk menguji sumber web dan banyak lagi v2
skipfish - pengimbas kerentanan web daripada Michal Zalewski (dikenali sebagai lcamtuf). Ditulis dalam C, platform silang (Win memerlukan Cygwin). Secara rekursif (dan untuk masa yang sangat lama, kira-kira 20~40 jam, walaupun kali terakhir ia berfungsi untuk saya ialah 96 jam) ia merangkak seluruh tapak dan menemui pelbagai jenis lubang keselamatan. Ia juga menjana banyak trafik (beberapa GB masuk/keluar). Tetapi semua cara adalah baik, terutamanya jika anda mempunyai masa dan sumber.
Penggunaan Biasa:

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

Dalam folder "laporan" akan ada laporan dalam html, contoh.

w3af Semakan alatan percuma untuk menguji sumber web dan banyak lagi v2
w3af — Rangka Kerja Serangan dan Audit Aplikasi Web, pengimbas kerentanan web sumber terbuka. Ia mempunyai GUI, tetapi anda boleh bekerja dari konsol. Lebih tepat lagi, ia adalah rangka kerja dengan sekumpulan pemalam.
Anda boleh bercakap tentang kelebihannya untuk masa yang lama, lebih baik mencubanya :] Kerja biasa dengannya datang kepada memilih profil, menentukan matlamat dan, sebenarnya, melancarkannya.

Rangka Kerja Keselamatan MantraSemakan alatan percuma untuk menguji sumber web dan banyak lagi v2
Mantra adalah impian yang menjadi kenyataan. Koleksi alat keselamatan maklumat percuma dan terbuka yang terbina dalam pelayar web.
Sangat berguna apabila menguji aplikasi web pada semua peringkat.
Penggunaan bermula pada memasang dan melancarkan penyemak imbas.

Sebenarnya, terdapat banyak utiliti dalam kategori ini dan agak sukar untuk memilih senarai tertentu daripada mereka. Selalunya, setiap pentester sendiri menentukan set alat yang dia perlukan.

Eksploitasi

Untuk eksploitasi kelemahan secara automatik dan lebih mudah, eksploitasi ditulis dalam perisian dan skrip, yang hanya perlu lulus parameter untuk mengeksploitasi lubang keselamatan. Dan terdapat produk yang menghapuskan keperluan untuk mencari eksploitasi secara manual, dan juga menggunakannya dengan cepat. Kategori ini kini akan dibincangkan.

Rangka Metasploit Semakan alatan percuma untuk menguji sumber web dan banyak lagi v2
Rangka Kerja Metasploit® - sejenis raksasa dalam perniagaan kami. Dia boleh berbuat begitu banyak sehingga arahan akan merangkumi beberapa artikel. Kami akan melihat eksploitasi automatik (nmap + metasploit). Intinya ialah ini: Nmap akan menganalisis port yang kami perlukan, memasang perkhidmatan, dan metasploit akan cuba menggunakan eksploit padanya berdasarkan kelas perkhidmatan (ftp, ssh, dll.). Daripada arahan teks, saya akan menyisipkan video, agak popular pada topik autopwn

Atau kita boleh mengautomasikan operasi eksploitasi yang kita perlukan. Cth:

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

Malah, keupayaan rangka kerja ini sangat luas, jadi jika anda memutuskan untuk pergi lebih dalam, pergi ke pautan

ArmitageSemakan alatan percuma untuk menguji sumber web dan banyak lagi v2
Armitage — OVA GUI genre cyberpunk untuk Metasploit. Memvisualisasikan sasaran, mengesyorkan eksploitasi dan menyediakan ciri lanjutan rangka kerja. Secara umum, bagi mereka yang suka segala-galanya kelihatan cantik dan mengagumkan.
Siaran skrin:

Tenang Nessus®Semakan alatan percuma untuk menguji sumber web dan banyak lagi v2
Pengimbas kerentanan Nessus® Tenable - boleh melakukan banyak perkara, tetapi salah satu keupayaan yang kita perlukan daripadanya ialah menentukan perkhidmatan yang mempunyai eksploitasi. Versi percuma produk "rumah sahaja"

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

  • Dimuat turun (untuk sistem anda), dipasang, didaftarkan (kunci dihantar ke e-mel anda).
  • Memulakan pelayan, menambah pengguna kepada Pengurus Pelayan Nessus (butang Urus pengguna)
  • Kami pergi ke alamat
    https://localhost:8834/

    dan dapatkan klien kilat dalam penyemak imbas

  • Imbasan -> Tambah -> isi medan (dengan memilih profil pengimbasan yang sesuai dengan kita) dan klik Imbas

Selepas beberapa lama, laporan imbasan akan muncul dalam tab Laporan
Untuk menyemak kelemahan praktikal perkhidmatan terhadap eksploitasi, anda boleh menggunakan Rangka Kerja Metasploit yang diterangkan di atas atau cuba mencari eksploitasi (contohnya, pada Eksplot-db, ribut paket, eksplot carian dsb.) dan gunakannya secara manual terhadap sistemnya
IMHO: terlalu besar. Saya membawanya sebagai salah seorang peneraju dalam arah industri perisian ini.

Automasi suntikan

Kebanyakan pengimbas detik aplikasi web mencari suntikan, tetapi ia masih hanya pengimbas umum. Dan terdapat utiliti yang secara khusus berurusan dengan mencari dan mengeksploitasi suntikan. Kami akan bercakap tentang mereka sekarang.

sqlmapSemakan alatan percuma untuk menguji sumber web dan banyak lagi v2
sqlmap — utiliti sumber terbuka untuk mencari dan mengeksploitasi suntikan SQL. Menyokong pelayan pangkalan data seperti: MySQL, Oracle, PostgreSQL, Microsoft SQL Server, Microsoft Access, SQLite, Firebird, Sybase, SAP MaxDB.
Penggunaan biasa bermuara kepada baris:

python sqlmap.py -u "http://example.com/index.php?action=news&id=1"
Terdapat manual yang mencukupi, termasuk dalam bahasa Rusia. Perisian ini sangat memudahkan kerja pentester apabila bekerja di kawasan ini.
Saya akan menambah demonstrasi video rasmi:

bsqlbf-v2
bsqlbf-v2 — skrip perl, penguat kasar untuk suntikan Sql "buta". Ia berfungsi dengan nilai integer dalam url dan dengan nilai rentetan.
Pangkalan data disokong:

  • MS-SQL
  • MySQL
  • PostgreSQL
  • Oracle

Contoh penggunaan:

./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 — Pautan dengan parameter
-buta awak — parameter untuk suntikan (secara lalai yang terakhir diambil dari bar alamat)
-sql "pilih table_name daripada imformation_schema.tables had 1 offset 0" — permintaan sewenang-wenang kami kepada pangkalan data
-pangkalan data 1 — pelayan pangkalan data: MSSQL
-jenis 1 — jenis serangan, suntikan "buta", berdasarkan jawapan Benar dan Ralat (contohnya, ralat sintaks)

Penyahpepijat

Alat ini digunakan terutamanya oleh pembangun apabila mereka menghadapi masalah dengan hasil pelaksanaan kod mereka. Tetapi arahan ini juga berguna untuk pentesting, apabila kami boleh menggantikan data yang kami perlukan dengan cepat, menganalisis perkara yang datang sebagai tindak balas kepada parameter input kami (contohnya, semasa pengkaburan), dsb.

Suite Burp
Suite Burp — satu set utiliti yang membantu dengan ujian penembusan. Ia ada di Internet ulasan yang baik dalam bahasa Rusia dari Raz0r (walaupun untuk 2008).
Versi percuma termasuk:

  • Burp Proxy ialah proksi tempatan yang membolehkan anda mengubah suai permintaan yang telah dijana daripada penyemak imbas
  • Burp Spider - labah-labah, mencari fail dan direktori sedia ada
  • Burp Repeater - menghantar permintaan HTTP secara manual
  • Burp Sequencer - menganalisis nilai rawak dalam bentuk
  • Dekoder Burp ialah penyahkod pengekod standard (html, base64, hex, dll.), yang terdapat beribu-ribu, yang boleh ditulis dengan cepat dalam mana-mana bahasa
  • Burp Comparer - Komponen Perbandingan Rentetan

Pada dasarnya, pakej ini menyelesaikan hampir semua masalah yang berkaitan dengan kawasan ini.

FiddlerSemakan alatan percuma untuk menguji sumber web dan banyak lagi v2
Fiddler — Fiddler ialah proksi penyahpepijatan yang merekodkan semua trafik HTTP(S). Membolehkan anda memeriksa trafik ini, menetapkan titik putus dan "bermain" dengan data masuk atau keluar.

Terdapat juga kambing api, raksasa Wireshark dan lain-lain, pilihan terpulang kepada pengguna.

Kesimpulan

Sememangnya, setiap pentester mempunyai senjata sendiri dan set utiliti sendiri, kerana terdapat banyak daripada mereka. Saya cuba menyenaraikan beberapa yang paling mudah dan popular. Tetapi supaya sesiapa sahaja boleh membiasakan diri dengan utiliti lain ke arah ini, saya akan menyediakan pautan di bawah.

Pelbagai bahagian atas/senarai pengimbas dan utiliti

Pengedaran Linux yang sudah termasuk sekumpulan utiliti pentesting yang berbeza

mengemaskini: Dokumentasi BurpSuite dalam bahasa Rusia daripada pasukan “Hack4Sec” (tambah AntonKuzmin)

PS Kami tidak boleh berdiam diri tentang XSpider. Tidak mengambil bahagian dalam semakan, walaupun ia adalah perisian kongsi (saya mendapat tahu apabila saya menghantar artikel ke SecLab, sebenarnya kerana ini (bukan pengetahuan, dan kekurangan versi terkini 7.8) dan tidak memasukkannya ke dalam artikel). Dan secara teori, kajian semula mengenainya telah dirancang (saya mempunyai ujian sukar yang disediakan untuknya), tetapi saya tidak tahu sama ada dunia akan melihatnya.

PPS Beberapa bahan daripada artikel akan digunakan untuk tujuan yang dimaksudkan dalam laporan akan datang di CodeFest 2012 dalam bahagian QA, yang akan mengandungi alat yang tidak disebutkan di sini (percuma, sudah tentu), serta algoritma, dalam susunan apa untuk menggunakan apa, hasil yang diharapkan, konfigurasi yang akan digunakan dan segala macam petunjuk dan helah apabila bekerja (Saya memikirkan laporan hampir setiap hari, saya akan cuba memberitahu anda semua yang terbaik tentang topik topik)
By the way, ada pengajaran pada artikel ini di Buka InfoSec Days (tag pada Habré, laman web), boleh merompak orang Korovan Tengoklah Bahan.

Sumber: www.habr.com

Tambah komen