
Berikan screenshot Anda dengan mata cepat.
Eyeballer dimaksudkan untuk tes penetrasi jaringan lingkup besar di mana Anda perlu menemukan target "menarik" dari serangkaian host berbasis web. Silakan dan gunakan alat screenshotting favorit Anda seperti normal (saksi mata atau gowitness) dan kemudian jalankan mereka melalui bola mata untuk memberi tahu Anda apa yang cenderung mengandung kerentanan, dan apa yang tidak.
Cobalah langsung di: https://eyeballer.bishopfox.com
| Situs yang tampak lama | Halaman login |
|---|---|
![]() | ![]() |
| Webapp | Custom 404's |
|---|---|
![]() | ![]() |
| Domain yang diparkir |
|---|
![]() |
Situs-situs lama bingkai blocky, CSS yang rusak, "Je ne sais quoi" tertentu dari sebuah situs web yang sepertinya dirancang pada awal tahun 2000-an. Anda tahu saat Anda melihatnya. Situs web lama tidak hanya jelek, mereka juga biasanya sangat rentan. Saat Anda ingin meretas sesuatu, situs web ini adalah tambang emas.
Halaman login halaman login sangat berharga untuk pengujian pena, mereka menunjukkan bahwa ada fungsi tambahan yang saat ini tidak Anda dapatkan. Ini juga berarti ada proses tindak lanjut sederhana dari serangan enumerasi kredensial. Anda mungkin berpikir bahwa Anda dapat mengatur heuristik sederhana untuk menemukan halaman login, tetapi dalam praktiknya itu sangat sulit. Situs modern tidak hanya menggunakan tag input sederhana yang bisa kita lakukan.
WebApp ini memberi tahu Anda bahwa ada sekelompok halaman dan fungsionalitas yang lebih besar yang tersedia di sini yang dapat berfungsi sebagai area permukaan untuk diserang. Ini berbeda dengan halaman login sederhana, tanpa fungsionalitas lain. Atau halaman pendaratan IIS default yang tidak memiliki fungsionalitas lain. Label ini harus menunjukkan kepada Anda bahwa ada aplikasi web di sini untuk menyerang.
Custom 404 Situs Modern Senang memiliki 404 halaman Cutesy Custom dengan gambar robot rusak atau anjing yang terlihat sedih. Sayangnya, mereka juga suka mengembalikan kode respons HTTP 200 saat mereka melakukannya. Lebih sering, halaman "404" bahkan tidak mengandung teks "404" di dalamnya. Halaman -halaman ini biasanya tidak menarik, meskipun memiliki banyak hal yang terjadi secara visual, dan bola mata dapat membantu Anda menyaringnya.
Domain yang diparkir domain yang diparkir adalah situs web yang terlihat nyata, tetapi bukan permukaan serangan yang valid. Mereka adalah halaman stand-in, biasanya tanpa fungsionalitas nyata, hampir seluruhnya terdiri dari iklan, dan biasanya tidak dijalankan oleh target kami yang sebenarnya. Itu yang Anda dapatkan ketika domain yang ditentukan salah atau habis. Menemukan halaman -halaman ini dan menghapusnya dari ruang lingkup sangat berharga dari waktu ke waktu.
Unduh paket yang diperlukan di PIP:
sudo pip3 install -r requirements.txt
Atau jika Anda menginginkan dukungan GPU:
sudo pip3 install -r requirements-gpu.txt
Catatan : Menyiapkan GPU untuk digunakan dengan TensorFlow jauh di luar ruang lingkup Readme ini. Ada kompatibilitas perangkat keras untuk dipertimbangkan, driver untuk diinstal ... ada banyak. Jadi Anda hanya harus mencari tahu bagian ini sendiri jika Anda menginginkan GPU. Tetapi setidaknya dari perspektif paket Python, file persyaratan di atas telah Anda bahas.
Bobot pretrained
Untuk bobot pretrained terbaru, lihat rilis di sini di GitHub.
Data Pelatihan Anda dapat menemukan data pelatihan kami di sini:
https://www.kaggle.com/altf42600/pentest-screensots
Ada dua hal yang Anda butuhkan dari data pelatihan:
images/ folder, berisi semua tangkapan layar (diubah ukurannya menjadi 224x224)labels.csv yang memiliki semua labelSalin keduanya ke akar pohon kode bola mata.
Selain itu, Anda dapat menemukan file bobot pretrained yang dapat Anda gunakan di luar kotak tanpa pelatihan.
bishop-fox-pretrained-vN.h5 Di sini ada di GitHub, lihat bagian releases untuk yang terbaru.
Catatan: Untuk hasil terbaik, pastikan Anda menyimpan screenshot situs web Anda dalam rasio aspek 1.6x asli. IE: 1440x900. Eyeballer akan mengurangi gambar secara otomatis ke ukuran yang tepat untuk Anda, tetapi jika itu adalah rasio aspek yang salah maka itu akan menjentikkan dengan cara yang akan mempengaruhi kinerja prediksi.
Untuk mengarah ke beberapa tangkapan layar, jalankan saja mode "prediksi":
eyeballer.py --weights YOUR_WEIGHTS.h5 predict YOUR_FILE.png
Atau untuk seluruh direktori file:
eyeballer.py --weights YOUR_WEIGHTS.h5 predict PATH_TO/YOUR_FILES/
Eyeballer akan meludahkan hasilnya kembali kepada Anda dalam format results.html dapat dibaca manusia (file results.csv .
Kinerja Eyeballer diukur terhadap dataset evaluasi, yang merupakan 20% dari keseluruhan tangkapan layar yang dipilih secara acak. Karena tangkapan layar ini tidak pernah digunakan dalam pelatihan, mereka dapat menjadi cara yang efektif untuk melihat seberapa baik kinerja model. Berikut adalah hasil terbaru:
| Akurasi biner secara keseluruhan | 93,52% |
|---|---|
| Akurasi semua-atau-tidak ada | 76,09% |
Akurasi biner secara keseluruhan mungkin adalah apa yang Anda pikirkan sebagai "akurasi" model. Ini adalah kesempatan, diberi label tunggal, bahwa itu benar.
Akurasi semua atau tidak sama sekali lebih ketat. Untuk ini, kami mempertimbangkan semua label gambar dan menganggapnya gagal jika ada label yang salah. Peringkat akurasi ini adalah peluang bahwa model dengan benar memprediksi semua label untuk setiap gambar yang diberikan.
| Label | Presisi | Mengingat |
|---|---|---|
| Custom 404 | 80,20% | 91,01% |
| Halaman login | 86,41% | 88,47% |
| Webapp | 95,32% | 96,83% |
| Terlihat tua | 91,70% | 62,20% |
| Domain yang diparkir | 70,99% | 66,43% |
Untuk penjelasan terperinci tentang penarikan presisi vs, lihat Wikipedia.
Untuk melatih model baru, jalankan:
eyeballer.py train
Anda akan menginginkan mesin dengan GPU yang baik untuk ini berjalan dalam waktu yang wajar. Namun, pengaturan itu berada di luar ruang lingkup readme ini.
Ini akan menghasilkan file model baru (weights.h5 secara default).
Anda baru saja melatih model baru, keren! Mari kita lihat seberapa baik kinerjanya terhadap beberapa gambar yang belum pernah dilihat sebelumnya, di berbagai metrik:
eyeballer.py --weights YOUR_WEIGHTS.h5 evaluate
Output akan menjelaskan akurasi model dalam penarikan dan presisi untuk masing -masing label program. (Termasuk "tidak ada di atas" sebagai label semu)