SSLScan: Pemindai sumber terbuka SSL/TLS Cepat

  • Whatsapp
SSLScan: Pemindai sumber terbuka SSL/TLS Cepat


Tentang SSLScan
   SSLScan menanyakan layanan SSL/TLS, seperti HTTPS, untuk menentukan sandi yang didukung. SSLScan dirancang agar mudah, ramping, dan cepat. Outputnya termasuk cipher yang disukai dari layanan SSL, sertifikat dan dalam format Teks dan XML.

Fitur:
* Sorot cipher SSLv2 dan SSLv3 di output.
* Sorot cipher CBC pada SSLv3 (POODLE).
* Sorot cipher 3DES dan RC4 dalam output.
* Sorot cipher PFS+GCM sebagai output yang bagus.
* Sorot NULL (0 bit), cipher lemah (<40 bit) dan sedang (40 < n <= 56) dalam output.
* Sorot cipher anonim (ADH dan AECDH) di output (ungu).
* Sembunyikan informasi sertifikat secara default (ditampilkan dengan –dapatkan-sertifikat).
* Sembunyikan sandi yang ditolak secara default (ditampilkan dengan –gagal).
* Menambahkan dukungan TLSv1.1 dan TLSv1.2 (digabung dari twwbond/sslscan).
* Dikompilasi jika OpenSSL tidak mendukung cipher SSLv2 (digabung dari digineo/sslscan).
* Mendukung nama host IPv6 (dapat dipaksakan dengan –ipv6).
* Periksa kompresi TLS (CRIME, nonaktifkan dengan –tanpa kompresi).
* Nonaktifkan pemeriksaan cipher suite –no-ciphersuites.
* Nonaktifkan keluaran berwarna –tanpa warna.
* Dihapus tanpa dokumen -p pilihan keluaran.
* Menambahkan cek untuk OpenSSL HeartBleed (CVE-2014-0160, nonaktifkan dengan –tidak berdarah hati).
* Tandai sertifikat yang ditandatangani dengan MD5 atau SHA-1, atau dengan kunci RSA pendek (<2048 bit).
* Mendukung pemindaian server RDP dengan –rdp (pembuat kredit).
* Opsi yang ditambahkan untuk menentukan batas waktu soket.
* Opsi tambahan untuk kompilasi statis (kredit dmke).
* Ditambahkan –tidur pilihan untuk menjeda antara permintaan.
* Nonaktifkan output untuk apa pun selain pemeriksaan yang ditentukan –tidak disukai.
* Tentukan daftar CA yang dapat diterima untuk sertifikat klien –show-client-cas.
* Dukungan build eksperimental di OSX (kredit MikeSchroll).
* Tandai beberapa sertifikat SSL yang ditandatangani sendiri.
* Dukungan Windows eksperimental (kredit jtesta).
* Tampilkan nama kurva EC dan panjang kunci DHE dengan OpenSSL >= 1.0.2 –no-cipher-details.
* Tandai kunci DHE yang lemah dengan OpenSSL >= 1.0.2 –cipher-detail.
* Tandai sertifikat yang kedaluwarsa.
* Tandai cipher TLSv1.0 dalam output sebagai lemah.
* Dukungan OSX eksperimental (hanya bangunan statis).
* Dukungan untuk memindai server PostgreSQL (kredit nuxi).
* Periksa dukungan TLS Fallback SCSV.
* Menambahkan dukungan StartTLS untuk LDAP –starttls-ldap.
* Menambahkan dukungan SNI –nama-sni (kredit Ken).
* Mendukung STARTTLS untuk MySQL (kredit bk2017).


Membangun di Windows
Berkat tambalan oleh jtesta, SSLScan sekarang dapat dikompilasi di Windows. Ini dapat dilakukan secara asli atau dengan kompilasi silang dari Linux. Lihat INSTALL untuk instruksi.

Perhatikan bahwa SSLScan awalnya ditulis untuk Linux, dan belum diuji secara ekstensif pada Windows. Dengan demikian, versi Windows harus dianggap eksperimental.

Bacaan Lainnya

Binari Windows yang dikompilasi silang pra-bangun tersedia di Halaman Rilis GitHub.

Masalah OpenSSL: Dukungan OpenSSL 1.1.0
OpenSSL 1.1.0 memperkenalkan sejumlah perubahan signifikan, termasuk penghapusan fitur lama dan tidak aman seperti SSLv2. Meskipun ini adalah hal yang sangat baik untuk ekosistem SSL secara keseluruhan, ini adalah masalah bagi SSLScan, yang bergantung pada fitur-fitur lama yang tersedia untuk mendeteksinya di sistem klien.
Untuk mengatasi ini, SSLScan dibangun melawan Peter Mosmans‘ fork OpenSSL, yang mem-backport cipher Chacha20 dan Poly1305 ke OpenSSL 1.0.2, sambil tetap mengaktifkan fitur lama yang berbahaya (seperti cipher SSLv2 dan EKSPOR).

 TLSv1.3 dan masa depan SSLScan
Karena OpenSSL membuat pilihan (sangat masuk akal) untuk menghapus dukungan untuk protokol dan cipher lama dan tidak aman, SSLScan mengandalkan garpu OpenSSL oleh Peter Mossmans yang memberikan dukungan untuk cipher lama ini dan cipher yang baru ditambahkan (seperti ChaCha). Namun, fork OpenSSL ini tidak mendukung TLSv1.3. Sepengetahuan saya, tidak ada versi OpenSSL yang mendukung kripto lama (SSLv2, sandi EKSPOR, dll) dan TLSv1.3 – yang berarti tidak mungkin membangun SSLScan dengan dukungan untuk keduanya.

Tujuan utama SSLScan adalah untuk mengidentifikasi kesalahan konfigurasi dan kelemahan keamanan dalam konfigurasi SSL dari sistem target, jadi dukungan untuk cipher dan protokol lama jauh lebih penting daripada untuk protokol (aman) yang lebih baru seperti TLSv1.3 – namun seiring waktu ini akan berubah ketika kerentanan baru ditemukan.

Mendukung kedua SSLv2 dan TLSv1.3 di SSLScan akan memerlukan garpu OpenSSL dengan semua kode baru yang di-backport (yang akan semakin sulit dipertahankan seiring waktu), atau penulisan ulang SSLScan lengkap untuk tidak bergantung pada perpustakaan OpenSSL. Ini bukan proyek yang saya punya waktu yang tersedia untuk saat ini, dan jika saya melakukannya, itu mungkin akan menjadi investasi waktu yang lebih baik untuk bekerja pada salah satu alat pemindaian SSL lainnya, daripada memulai dari awal.

Dengan demikian, SSLScan harus dianggap sebagai warisan. Saya masih akan mempertahankannya sejauh saya punya waktu, tetapi sepertinya tidak akan pernah mendukung TLSv1.3, kecuali jika garpu OpenSSL dibuat oleh orang lain yang mendukung ini sambil mempertahankan kripto tidak aman yang dibutuhkan SSLScan agar berguna.

   Menautkan secara statis build OpenSSL kustom
Dimungkinkan untuk mengabaikan instalasi sistem OpenSSL dan mengirimkan versi Anda sendiri. Meskipun ini menghasilkan biner SSLScan yang lebih banyak sumber daya (ukuran file, konsumsi memori, dll.), ini memungkinkan untuk mengaktifkan cipher SSLv2 dan SSLv3. Dibandingkan dengan metode pengemasan ulang build Debian, build OpenSSL kustom ini tidak akan memengaruhi alat lain pada sistem yang sama, karena mereka akan menggunakan versi yang dikemas oleh pengelola distro.
Untuk mengompilasi versi OpenSSL Anda sendiri, Anda mungkin perlu menginstal dependensi build OpenSSL:
      sudo apt-get install build-essential git zlib1g-dev
      sudo apt-get build-dep openssl

lalu lari: membuat statis

yang akan mengkloning Repositori OpenSSL, dan konfigurasikan/kompilasi/uji OpenSSL sebelum mengkompilasi SSLScan.

   Tolong dicatat: Di luar kotak, OpenSSL tidak dapat dikompilasi dengan dentang tanpa penyesuaian lebih lanjut (yang tidak dilakukan oleh yang disediakan Makefile). Untuk informasi lebih lanjut tentang ini, lihat Memodifikasi Pengaturan Bangun di wiki OpenSSL.
Anda dapat memverifikasi apakah Anda memiliki versi OpenSSL yang ditautkan secara statis, jika ./sslscan –version terlihat sedikit seperti:
      1.xy-…-statis
      OpenSSL 1.0.2-chacha xx XXX xxxx
(perhatikan -statis akhiran dan 1.0.2-chacha versi OpenSSL).

   Membangun di Kali Linux
Kali sekarang dikirimkan dengan versi sslscan yang dibuat secara statis yang mendukung SSLv2.
Paketnya bisa dilihat di Gudang Kali Git Gi.
Jika karena alasan apa pun Anda tidak dapat menginstal paket ini, ikuti petunjuk di atas untuk membangun secara statis terhadap OpenSSL.

   Membangun di Debian
Anda disarankan untuk membuat sslscan secara statis menggunakan petunjuk yang tercantum di atas. Jika ini bukan pilihan dan Anda ingin mengkompilasi OpenSSL sistem Anda dengan dukungan untuk protokol lama seperti SSLv2 dan SSLv3, ikuti petunjuk di bawah ini.

Perhatikan bahwa banyak distro modern (termasuk Debian) dikirimkan dengan versi OpenSSL yang menonaktifkan dukungan untuk cipher SSLv2. Jika sslscan dikompilasi pada salah satu distro ini, itu tidak akan dapat mendeteksi SSLv2.

Masalah ini dapat diatasi dengan membangun kembali OpenSSL dari sumber setelah menghapus patch yang menonaktifkan dukungan SSLv2.

Itubuild_openssl_debian.sh script mengotomatiskan proses ini untuk sistem Debian. Saya t telah diuji pada Debian Squeeze/Wheezy; mungkin bekerja pada distro berbasis Debian lainnya, tetapi belum diuji. Versi OpenSSL yang dibangun akan diinstal menggunakan dpkg.

Jika tidak mungkin untuk membangun kembali OpenSSL, sslscan akan tetap dikompilasi (berkat tambalan dari digineo/sslscan, berdasarkan patch debian). Namun, peringatan akan ditampilkan di output untuk memberi tahu pengguna bahwa sandi SSLv2 tidak akan terdeteksi.


Pos terkait

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *