Di lingkungan Azure Active Directory, Anda dapat menentukan apakah Autentikasi Multifaktor (MFA) pengguna dinonaktifkan tanpa memerlukan hak istimewa apa pun. Hal ini dapat dilakukan dengan menganalisis tanggal pembuatan akun dan tanggal terakhir perubahan kata sandi.
Jika tanggal dan waktu pembuatan akun cocok dengan tanggal dan waktu perubahan kata sandi terakhirnya, hal ini mungkin menunjukkan bahwa tidak ada interaksi manusia yang terjadi sejak akun dibuat, dan pengguna belum dapat mengaktifkan Otentikasi Multi-Faktor (MFA) atau mengubah kata sandinya. kata sandi. Dan ada 'anomali' lainnya seperti tanggal perubahan password lebih tua dari tanggal pembuatan. Hal ini juga menunjukkan bahwa Otentikasi Multi-Faktor (MFA) tidak dapat diaktifkan karena Pengguna belum dibuat!
Pembaruan pada 16-10-2023:
Pembaruan pada 18-02-2024:
Informasi ini dapat berguna untuk mengidentifikasi potensi risiko keamanan yang dirancang untuk digunakan oleh tim merah dan biru.
File database roadrecon atau file JSON yang telah diekstraksi dengan bantuan opsi --code-javascript diperlukan untuk alat ini. Alat Roadrecon dikembangkan oleh dirkjanm dan dapat diunduh di github https://github.com/dirkjanm/ROADtools atau pip install roadrecon
.
Cara menggunakan lihat:
python3 azurepwchecker.py
usage: azurepwchecker.py [-h] [--roadrecon-dump] [--roadrecon-dump-mfa] [-d DB] [-m] [-l] [-ll] [-lll] [-la] [-lo]
[-ji JSON_INPUT] [-c]
Azure AD Password Checker - This is a parser for generated JSON file or the roadrecon database file designed for use by both red and blue teams.
Database can be created when using --code-javascript option to extract 'merged_users.json' file with be created to later input this file with --json-input argument.
And roadrecon generated roadrecon.db file can be used! roadrecon is developed by https://github.com/dirkjanm credits to him!
options:
-h, --help show this help message and exit
-d DB, --db DB Specify the path to the 'roadrecon.db' database file, default is this location
-m, --mfa-list User Accounts without MFA (No privileged user required)! This argument helps identify user
accounts that have not enabled Multi-Factor Authentication (MFA). If an account's creation
date and time match its last password change date and time, it may indicate that no human
interaction has occurred since the account was created, and the user has not been able to
enable MFA or change their password. And there are other 'anomalies' such as the password
change date being older than the creation date. This suggests also that Multi-Factor
Authentication (MFA) couldn't be enabled because the User wasn't created yet! :-]
-mo OUTFILE, --outfile OUTFILE
Output users with MFA anomalies to file
-l, --pw-month User accounts that had their passwords changed last month
-ll, --pw-year User accounts that had their passwords changed last year
-lll, --pw-older User accounts that haven't changed their passwords in a long time, oldest first
-la, --admin User accounts that are members of 'Admin' named groups, including 'Global Reader'
-lo, --out-of-hours User password change that occurred outside of office hours, specifically between 5:00 PM
(17:00) and 8:00 AM (08:00) on weekdays, as well as on Saturdays and Sundays
-ji JSON_INPUT, --json-input JSON_INPUT
Provide the JSON file imported from your web browser's console using JavaScript. For
'createdDateTime' and 'lastPasswordChange' details, ensure you download the JSON output using
the '--code-javascript' option.
-c, --code-javascript
Perform extraction even if 'azurepwchecker.py' or 'roadrecon' is unavailable. This script
enables extraction through the JavaScript console of a web browser. To proceed, ensure you
have a valid account to log in at https://portal.azure.com/#view/Microsoft_AAD_UsersAndTenants
/UserManagementMenuBlade/~/AllUsers or an active session on a computer. Copy and paste the
provided JavaScript code into the browser's console. Once the session is validated and you
have the necessary permissions, a JSON file named 'merged_users.json' will be generated. You
can then import it using the following command as example: 'azurepwchecker.py --json-input
merged_users.json -m'
-v, --version show program's version number and exit
run roadrecon first:
(Run the following command to install the tool "pip install roadrecon)"
--roadrecon-dump "roadrecon dump" command or do it with roadrecon
--roadrecon-dump-mfa "roadrecon dump --mfa" command (requires privileged access) or do it with roadrecon
azurepwchecker.py --code-javascript
atau js di folder:Ikuti langkah-langkah ini untuk mengambil daftar pengguna beserta informasi akun mereka menggunakan skrip yang disediakan.
Masuk ke Portal Azure
Akses Manajemen Pengguna
Buka Alat Pengembang
F12
di browser web Anda untuk membuka alat pengembang.Jalankan Skrip
Ambil UsersList dan UserInfo
Unduh Informasi Pengguna yang Digabung
merged_users.json
akan dibuat jika semuanya berjalan lancar.Jalankan di Pemeriksa Kata Sandi Azure Active Directory
azurepwchecker.py --json-input merged_users.json
Lihat contoh:
Lihat pendahuluan:
Pembaruan 16-10-2023:
Cara menggunakan argumen --code-javascript
untuk menghasilkan daftar pengguna di Portal Microsoft Azure, yang kemudian dapat diimpor menggunakan perintah azurepwchecker.py --json-input merged_users.json
:
Pembaruan 13-02-2024:
Saya mengunggah versi GraphRunner yang telah diedit dari @dafthack dan memberikan kredit kepadanya. Dalam versi modifikasi ini, saya telah menambahkan fitur baru yang memungkinkan Anda membaca file HAR langsung dari perangkat "korban". Fungsi baru ini membantu dalam memeriksa dan memeriksa Token Akses untuk mengakses izin atau cakupan yang berbeda. Selain itu, jika Token Akses telah kedaluwarsa, versi ini memungkinkan penggunaan Token Penyegaran untuk membuat Token Akses baru. Proses ini sensitif terhadap waktu, namun menghilangkan kebutuhan akan nama pengguna dan kata sandi, jika Anda sudah masuk ke lingkungan Office365, karena hanya memerlukan token sesi yang ditemukan di file HAR.
Harap dipahami bahwa kodenya mungkin tampak sedikit tidak teratur. Keahlian saya terutama bukan pada JavaScript, jadi fokus utama saya adalah menambahkan fitur baru daripada mengatur kode.
Unduh file HAR Anda dapat menggunakan Alat Pengembangan yang tersedia di browser web. Untuk sebagian besar browser, cukup tekan F12 untuk membuka Alat Pengembangan, lalu navigasikan ke tab 'Jaringan' untuk menyimpan file HAR, setelah menyegarkan halaman web: video
Unggah file HAR Anda melalui antarmuka yang disediakan. Setelah diunggah, Anda dapat menavigasi berbagai Token Akses untuk menganalisis detail sesi, termasuk cakupannya dan banyak lagi. Token yang ditampilkan dengan warna merah menunjukkan bahwa token tersebut telah kedaluwarsa. GraphRunner juga mendukung penggunaan Refresh Tokens untuk menghasilkan Access Token baru yang valid bila diperlukan: video
Menambahkan fitur untuk memungkinkan pengunduhan data pengguna lengkap dalam file JSON, mendeteksi anomali MFA di akun, dan mengunduh daftar anomali berikut: video