Di mana mendapatkan bantuan : Rhino Security Labs Discord, atau Stack Overflow
Tempat mengajukan masalah : https://github.com/RhinoSecurityLabs/pacu/issues
Dikelola oleh : Lab Keamanan Badak
Pacu adalah kerangka kerja eksploitasi AWS sumber terbuka, yang dirancang untuk pengujian keamanan ofensif terhadap lingkungan cloud. Dibuat dan dikelola oleh Rhino Security Labs, Pacu memungkinkan penguji penetrasi mengeksploitasi kelemahan konfigurasi dalam akun AWS, menggunakan modul untuk memperluas fungsinya dengan mudah. Modul saat ini memungkinkan berbagai serangan, termasuk peningkatan hak istimewa pengguna, pintu belakang pengguna IAM, menyerang fungsi Lambda yang rentan, dan banyak lagi.
Pacu adalah program yang cukup ringan, karena hanya memerlukan Python3.7+ dan pip3 untuk menginstal beberapa perpustakaan Python.
> pip3 install -U pip > pip3 install -U pacu > pacu
Untuk instruksi pengguna yang lebih rinci dan mudah digunakan, silakan lihat panduan instalasi Wiki.
$ docker run -it rhinosecuritylabs/pacu:terbaru
$ docker run -it --entrypoint /bin/sh rhinosecuritylabs/pacu:latest
Peringatan: Menjalankan perintah ini akan memasang file konfigurasi AWS lokal Anda ke dalam kontainer Docker saat diluncurkan. Ini berarti bahwa setiap pengguna yang memiliki akses ke kontainer akan memiliki akses ke kredensial AWS komputer host Anda.
$ docker run -it -v ~/.aws:/root/.aws rhinosecuritylabs/pacu:latest
Saat pertama kali Pacu diluncurkan, Anda akan diminta untuk memulai dan memberi nama sesi baru. Sesi ini akan digunakan untuk menyimpan pasangan kunci AWS, serta data apa pun yang diperoleh dari menjalankan berbagai modul. Anda dapat memiliki sejumlah sesi berbeda di Pacu, masing-masing dengan set kunci dan data AWS-nya sendiri, dan melanjutkan sesi kapan saja (meskipun saat ini diperlukan restart untuk beralih antar sesi).
Modul memerlukan kunci AWS, yang memberi Anda akses minimal ke lingkungan AWS dan terdiri dari access key ID dan secret access key. Untuk mengatur kunci sesi Anda, gunakan perintah set_keys
, lalu ikuti petunjuk untuk menyediakan alias kunci (nama panggilan untuk referensi), ID access key AWS, secret access key AWS, dan token sesi AWS (jika Anda menggunakannya ).
Jika Anda mengalami kebuntuan, help
akan memunculkan daftar perintah yang tersedia.
list
akan mencantumkan modul yang tersedia untuk wilayah yang ditetapkan pada sesi saat ini.
help module_name
akan mengembalikan informasi bantuan yang berlaku untuk modul yang ditentukan.
run module_name
akan menjalankan modul yang ditentukan dengan parameter defaultnya.
run module_name --regions eu-west-1,us-west-1
akan menjalankan modul yang ditentukan pada wilayah eu-west-1 dan us-west-1 (untuk modul yang mendukung argumen --regions)
pacu --help
akan menampilkan menu bantuan
pacu --session
mengatur sesi yang akan digunakan untuk perintah yang memerlukannya
pacu --list-modules
akan mencantumkan semua modul yang tersedia (tidak memerlukan sesi)
pacu --pacu-help
akan mencantumkan jendela bantuan pacu (tidak memerlukan sesi)
pacu --module-name
nama modul untuk melakukan suatu tindakan, Anda dapat menjalankan atau mendapatkan informasi tentang modul
pacu --exec
jalankan modul yang disediakan di --module-name
pacu --module-info
mendapatkan informasi tentang modul yang disediakan di --module-name
pacu --data
menanyakan database SQLAlchemy lokal untuk mengambil informasi yang disebutkan
pacu --module-args="
memberikan argumen modul opsional ke modul yang sedang dieksekusi
pacu --set-regions
atur wilayah yang akan digunakan dalam sesi, pisahkan wilayah berdasarkan spasi, atau masukkan all
untuk semua wilayah
pacu --whoami
mendapatkan informasi tentang pengguna saat ini
Pacu menggunakan serangkaian modul plug-in untuk membantu penyerang dalam enumerasi, eskalasi hak istimewa, eksfiltrasi data, eksploitasi layanan, dan manipulasi log dalam lingkungan AWS. Kontribusi atau ide untuk modul baru dipersilakan.
Untuk mengimbangi pengembangan produk AWS yang sedang berlangsung, kami telah merancang Pacu dari awal dengan mempertimbangkan ekstensibilitas. Sintaks dan struktur data yang umum membuat modul mudah dibangun dan diperluas - tidak perlu menentukan wilayah AWS atau melakukan pemeriksaan izin yang berlebihan antar modul. Database SQLite lokal digunakan untuk mengelola dan memanipulasi data yang diambil, meminimalkan panggilan API (dan log terkait). Pelaporan dan audit serangan juga dimasukkan ke dalam kerangka kerja; Pacu membantu proses dokumentasi melalui pencatatan dan ekspor perintah, membantu membangun garis waktu untuk proses pengujian.
Kami selalu senang mendapatkan laporan bug dalam kerangka Pacu itu sendiri, serta pengujian dan umpan balik pada modul yang berbeda, dan secara umum, umpan balik penting untuk membantu menyempurnakan kerangka kerja tersebut. Dukungan apa pun untuk Pacu melalui penggunaan, pengujian, peningkatan, atau sekadar menyebarkan informasi, akan sangat kami hargai.
Jika Anda tertarik untuk berkontribusi langsung pada Pacu Framework itu sendiri, silakan baca pedoman kontribusi kami untuk konvensi kode dan catatan git-flow.
Jika Anda tertarik untuk menulis modul Anda sendiri untuk Pacu, lihat halaman wiki Pengembangan Modul kami. Saat Anda mengembangkan kemampuan baru, silakan hubungi kami -- kami ingin menambahkan modul baru Anda ke dalam koleksi inti yang disertakan dengan Pacu.
Tingkatkan pemformatan antarmuka
Migrasi maju basis data dan pelacakan versi
"Serang Playbook" untuk memudahkan penggunaan rantai eksekusi modul yang kompleks
Keluaran konsol berwarna
Fungsionalitas Modul Dry-Run
Izinkan penggunaan file konfigurasi mandiri
Peningkatan arsitektur plugin
Pacu secara resmi didukung di OSX dan Linux.
Pacu adalah Perangkat Lunak Sumber Terbuka dan didistribusikan dengan Lisensi Klausul BSD-3.
Laporkan kerentanan di Pacu langsung kepada kami melalui email: [email protected] .
Pacu membuat log kesalahan dalam setiap folder sesi, serta log kesalahan global untuk kesalahan di luar sesi yang dibuat di direktori utama. Jika bisa, harap sertakan log ini dengan laporan bug Anda, karena ini akan menyederhanakan proses debugging secara signifikan.
Jika Anda memiliki permintaan fitur, ide, atau bug untuk dilaporkan, silakan kirimkan di sini.
Harap sertakan deskripsi yang memadai untuk mereproduksi bug yang Anda temukan, termasuk penelusuran balik dan langkah-langkah reproduksi, dan periksa laporan bug lainnya sebelum mengajukan laporan bug baru. Jangan kirimkan duplikat.
Untuk panduan dan dokumentasi lengkap, silakan kunjungi wiki Pacu.
Kami ingin mendengar pendapat Anda, apa pun alasannya. Hubungi Rhino Security Labs Discord.
Sejauh pengetahuan kami, kemampuan Pacu mematuhi Kebijakan Penggunaan yang Dapat Diterima AWS, namun sebagai alat yang fleksibel dan modular, kami tidak dapat menjamin hal ini akan berlaku dalam setiap situasi. Anda sepenuhnya bertanggung jawab untuk memastikan bahwa cara Anda menggunakan Pacu mematuhi Kebijakan Penggunaan yang Dapat Diterima AWS.
Bergantung pada layanan AWS yang Anda gunakan dan pengujian yang direncanakan, Anda mungkin perlu meninjau Kebijakan Dukungan Pelanggan AWS untuk Pengujian Penetrasi sebelum benar-benar menjalankan Pacu pada infrastruktur Anda.
Seperti halnya alat pengujian penetrasi lainnya, Anda bertanggung jawab untuk mendapatkan otorisasi yang tepat sebelum menggunakan Pacu di luar lingkungan Anda.
Pacu adalah perangkat lunak yang sama sekali tidak memiliki jaminan apa pun. Dengan menggunakan Pacu, Anda bertanggung jawab penuh atas segala hasil yang dihasilkan.