Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Halaman ini mencantumkan grafik yang ada di kluster bantuan kami di https://help.kusto.windows.net dalam database Sampel dan memperlihatkan cara mengkuerinya menggunakan Bahasa Kueri Kusto (KQL). Contoh-contoh ini menunjukkan kueri model grafik bawaan tanpa memerlukan langkah-langkah pembuatan atau penyiapan apa pun.
Grafik pendidikan sederhana untuk dasar-dasar pembelajaran
Penggunaan: graph("Simple")
Tujuan: Operasi grafik dasar dan pola kueri grafik dasar pembelajaran.
Deskripsi: Grafik pendidikan kecil yang berisi orang, perusahaan, dan kota dengan berbagai hubungan. Sempurna untuk mempelajari traversal grafik dan memahami pola dasar. Himpunan data ringkas ini mencakup 11 simpul (5 orang, 3 perusahaan, dan 3 kota) yang terhubung melalui 20 hubungan, sehingga ideal untuk memahami dasar-dasar grafik tanpa kompleksitas himpunan data yang lebih besar. Grafik menunjukkan skenario dunia nyata umum seperti hubungan pekerjaan, lokasi geografis, koneksi sosial, dan preferensi pribadi.
Kasus Penggunaan:
- Mempelajari dasar-dasar kueri grafik
- Menguji algoritma grafik
- Memahami pola hubungan
- Contoh pendidikan untuk konsep grafik
Hubungan Skema:
Skema dan Hitungan:
Jenis Node:
-
Person- Individu orang (5 node) -
Company- Organisasi bisnis (3 simpul) -
City- Lokasi geografis (3 simpul)
-
Tipe Hubungan:
-
works_at- Hubungan ketenagakerjaan (5 tepi) -
located_at- Penetapan lokasi geografis (8 tepi) -
knows- Koneksi sosial antara orang (4 tepi) -
likes- Preferensi dan minat pribadi (3 tepi)
-
Contoh Instans Grafik:
Contoh ini menunjukkan hubungan grafik dasar dalam jaringan kecil yang mudah dipahami yang menunjukkan bagaimana orang terhubung ke perusahaan dan kota melalui berbagai jenis hubungan.
Contoh Kueri:
Temukan semua karyawan perusahaan tertentu:
graph("Simple")
| graph-match (person)-[works_at]->(company)
where company.name == "TechCorp"
project employee_name = person.name, employee_age = person.properties.age
| employee_name | employee_age |
|---|---|
| Alice | Dua puluh lima |
| Bob | 30 |
| Emma | 26 |
Temukan kolega (orang yang bekerja di perusahaan yang sama):
graph("Simple")
| graph-match (person1)-->(company)<--(person2)
where person1.id != person2.id and labels(company) has "Company"
project colleague1 = person1.name, colleague2 = person2.name, company = company.name
| take 1
| kolega1 | kolega2 | firma |
|---|---|---|
| Alice | Bob | TechCorp |
LDBC SNB interaktif
Penggunaan: graph("LDBC_SNB_Interactive")
Tujuan: Traversal jejaring sosial dan eksplorasi teman-teman.
Nota
Himpunan data ini disediakan di bawah Apache License 2.0. Himpunan data Tolok Ukur Jejaring Sosial LDBC dibuat oleh Linked Data Benchmark Council (LDBC).
Deskripsi: Himpunan data beban kerja Social Network Benchmark Interactive Linked Data Benchmark Council (LDBC) mewakili pemodelan jaringan sosial komprehensif platform media sosial dunia nyata. Tolok ukur ini menangkap kompleksitas jejaring sosial modern dengan lebih dari 327.000 simpul dan beberapa jenis hubungan, termasuk data geografis hierarkis, struktur organisasi multi-tingkat, dan interaksi konten yang kaya. Himpunan data ini memodelkan ekosistem media sosial yang realistis dengan orang-orang yang membuat postingan dan komentar, berpartisipasi dalam forum, bekerja di organisasi, dan tinggal di lokasi geografis di seluruh hierarki terperinci dari benua hingga kota.
Kasus Penggunaan:
- Analisis jaringan sosial dan sistem rekomendasi
- Algoritma deteksi komunitas
- Pengaruhi studi penyebaran
- Rekomendasi konten berdasarkan koneksi sosial
- Penemuan teman-teman
- Penelitian penambangan grafik sosial
Gambaran Umum Skema Grafik:
Skema dan Hitungan:
Jenis Entitas Sosial Inti:
-
PERSON- Pengguna jejaring sosial (1.528 simpul) -
POST- Posting pengguna (135.701 simpul) -
COMMENT- Komentar pada posting (151.043 simpul) -
FORUM- Forum diskusi (13.750 simpul)
-
Jenis Organisasi dan Geografis:
-
ORGANISATION- Universitas dan perusahaan (7.955 simpul) -
PLACE- Lokasi geografis: benua (6), negara (111), kota (1.343) - total 1.460 simpul
-
Jenis Klasifikasi Konten:
-
TAG- Tag konten (16.080 simpul) -
TAGCLASS- Kategori tag (71 simpul)
-
Jenis Hubungan Kunci:
-
KNOWS- Hubungan teman (14.073 tepi) -
LIKES- Konten suka: posting (47.215) + komentar (62.225) = 109.440 total tepi -
HAS_CREATOR- Otorisasi konten: posting (135.701) + komentar (151.043) = 286.744 tepi -
HAS_MEMBER- Keanggotaan forum (123.268 tepi) -
HAS_TAG- Pemberian tag konten: posting (51.118) + komentar (191.303) + forum (47.697) = 290.118 tepi -
IS_LOCATED_IN- Hubungan lokasi: orang (1.528) + organisasi (7.955) + postingan (135.701) + komentar (151.043) = 296.227 tepi -
REPLY_OF- Utas komentar: komentar ke komentar (76.787) + komentar ke posting (74.256) = 151.043 tepi -
WORK_AT/STUDY_AT- Sejarah profesional/pendidikan (4.522 tepi) -
HAS_INTEREST- Kepentingan pribadi (35.475 tepi) - Hubungan lain:
HAS_MODERATOR, ,IS_PART_OFCONTAINER_OF,HAS_TYPE,IS_SUBCLASS_OF
-
Contoh Instans Grafik:
Contoh ini menunjukkan interaksi jejaring sosial yang kompleks di lingkungan media sosial yang realistis, menunjukkan bagaimana pengguna terlibat dengan konten, berpartisipasi dalam forum, dan membentuk koneksi sosial.
Contoh ini menunjukkan:
- Keterlibatan Sosial: Mahinda menyukai posting abdullah dan komentar di postingan itu
- Content Threading: Komentar (tentang Gloria Macapagal-Arroyo) membalas postingan (tentang Aurangzeb)
- Pembuatan Konten: Abdullah membuat postingan di dinding forumnya sendiri
- Partisipasi Komunitas: Mahinda adalah anggota forum Abdullah tempat konten muncul
- Klasifikasi Konten: Postingan dan komentar ditandai dengan topik yang relevan dari kontennya
- Konteks Geografis: Semua entitas memiliki hubungan lokasi untuk analisis geografis
Kasus Penggunaan:
- Analisis jaringan sosial dan sistem rekomendasi
- Algoritma deteksi komunitas
- Pengaruhi studi penyebaran
- Rekomendasi konten berdasarkan koneksi sosial
- Penemuan teman-teman
- Penelitian penambangan grafik sosial
Contoh Kueri:
Temukan persahabatan langsung dengan usia yang sama:
Kueri ini mengidentifikasi pasangan orang yang terhubung langsung melalui hubungan "KNOWS" dan memiliki usia yang sama (ulang tahun dalam waktu 30 hari satu sama lain). Ini melintasi grafik jejaring sosial LDBC untuk menemukan persahabatan yang ada antara orang-orang dari kelompok usia yang sama. Kueri mengembalikan jumlah total pasangan persahabatan serupa usia tersebut di jaringan, yang dapat berguna untuk menganalisis pola sosial berbasis usia atau memvalidasi algoritma rekomendasi teman.
graph("LDBC_SNB_Interactive")
| graph-match (person1)-[knows]->(person2)
where labels(person1) has "PERSON" and labels(person2) has "PERSON" and
labels(knows) has "KNOWS"and abs(person1.birthday - person2.birthday) < 30d
project person_name = person1.firstName, friend_name = person2.firstName
| count
| Jumlah |
|---|
| 225 |
Temukan postingan populer berdasarkan suka:
Kueri ini menganalisis keterlibatan sosial dengan mengidentifikasi pembuat konten paling populer berdasarkan berapa banyak orang unik yang menyukai posting mereka. Ini melintasi grafik jejaring sosial melalui jalur: orang → suka → posting → has_creator → pembuat. Kueri menggabungkan data untuk menampilkan jumlah total liker unik dan postingan yang berbeda dari setiap kreator, lalu mengembalikan 3 kreator teratas dengan jumlah suka terbanyak. Ini berguna untuk mengidentifikasi pembuat konten berpengaruh, memahami pola keterlibatan, dan menemukan konten viral di jejaring sosial.
graph("LDBC_SNB_Interactive")
| graph-match (person)-[likes]->(post)-[has_creator]->(creator)
where labels(person) has "Person" and labels( post) has "POST" and labels(has_creator) has "HAS_CREATOR" and isnotempty(creator.lastName)
project personId = person.id, postId = post.id, creator = creator.lastName
| summarize Likes = dcount(personId), posts = dcount(postId) by creator
| top 3 by Likes desc
| pembuat | Suka | Posting |
|---|---|---|
| Zhang | 371 | 207 |
| Hoffmann | 340 | 9 |
| Singh | 338 | 268 |
LDBC Financial
Penggunaan: graph("LDBC_Financial")
Tujuan: Analisis transaksi keuangan dan pola deteksi penipuan.
Nota
Himpunan data ini disediakan di bawah Apache License 2.0. Himpunan data Tolok Ukur Keuangan LDBC dibuat oleh Linked Data Benchmark Council (LDBC).
Deskripsi: Himpunan data LDBC Financial Benchmark mewakili jaringan keuangan yang komprehensif dengan perusahaan, orang, rekening, pinjaman, dan berbagai transaksi keuangan. Himpunan data ini memodelkan ekosistem keuangan realistis dengan total 5.580 simpul dan lebih dari 31.000 transaksi dan hubungan keuangan. Dirancang khusus untuk deteksi penipuan, analisis anti pencucian uang (AML), dan skenario investigasi kejahatan keuangan, ini menangkap pola kompleks termasuk kepemilikan akun, aplikasi pinjaman, jaminan, dan rantai transaksi multi-langkah yang umum dalam skenario kejahatan keuangan.
Kasus Penggunaan:
- Deteksi penipuan keuangan
- Analisis anti pencucian uang (AML)
- Analisis pola transaksi
- Penilaian risiko dan penilaian kredit
- Pemantauan aktivitas yang mencurigakan
- Analisis jaringan keuangan
Gambaran Umum Skema Grafik:
Skema dan Hitungan:
Jenis Node:
-
COMPANY- Entitas bisnis (386 simpul) -
PERSON- Pelanggan individu (785 simpul) -
ACCOUNT- Rekening keuangan (2.055 simpul) -
LOAN- Produk pinjaman (1.376 simpul) -
MEDIUM- Media/saluran transaksi (978 simpul)
-
Tipe Hubungan:
-
TRANSFER- Transfer uang antar rekening (8.132 tepi) -
WITHDRAW- Penarikan tunai dari rekening (9.182 tepi) -
DEPOSIT- Setoran uang ke rekening (2.758 tepi) -
OWN- Hubungan kepemilikan akun (2.055 tepi) -
APPLY- Aplikasi pinjaman (1.376 tepi) -
GUARANTEE- Jaminan pinjaman (579 tepi) -
INVEST- Transaksi investasi (1.983 tepi) -
REPAY- Pembayaran pinjaman (2.747 tepi) -
SIGN_IN- Peristiwa autentikasi (2.489 tepi)
-
Contoh Instans Grafik:
Contoh ini menggambarkan jaringan keuangan yang kompleks dengan beberapa jenis entitas dan pola transaksi, menunjukkan bagaimana lembaga keuangan dapat memodelkan hubungan antara pelanggan, akun, pinjaman, dan aliran transaksi untuk deteksi penipuan dan penilaian risiko.
Contoh Kueri:
Mendeteksi potensi pencucian uang melalui transfer melingkar:
Kueri ini mengidentifikasi pola transaksi melingkar mencurigakan yang dapat menunjukkan aktivitas pencucian uang. Ini mencari akun yang mengirim uang ke akun lain dan kemudian menerimanya kembali melalui rantai transfer 1 hingga 3, membuat alur melingkar. Kueri secara khusus mencari transfer awal besar (lebih dari 10.000) dan mengembalikan detail tentang akun yang mencurigakan, termasuk jumlah transfer dan panjang rantai melingkar. Deteksi pola ini berguna untuk sistem anti pencucian uang (AML) dan investigasi penipuan keuangan.
graph("LDBC_Financial")
| graph-match (account1)-[t1]->(account2)-[t2*1..3]->(account1)
where labels(t1) has "TRANSFER" and t1.amount > 10000 // Large initial transfer
project suspicious_account = account1.node_id,
amount = t1.amount,
transfer_chain_length = array_length(t2) + 1
| take 10
| suspicious_account | jumlah | transfer_chain_length |
|---|---|---|
| Akun::4818007176356300028 | 5035377,73 | 2 |
| Akun::4818007176356300028 | 5035377,73 | 2 |
| Akun::4845310249097233848 | 359062,45 | 2 |
| Akun::4818007176356300028 | 5035377,73 | 3 |
| Akun::4818007176356300028 | 5035377,73 | 4 |
| Akun::4840243699516440940 | 5753668,55 | 4 |
| Akun::4818007176356300028 | 5035377,73 | 4 |
| Akun::180143985094820389 | 465338,26 | 4 |
| Akun::4814910951612482356 | 1684581,62 | 4 |
| Akun::4816599801472746629 | 963626,42 | 4 |
Temukan penjamin pinjaman berisiko tinggi:
Kueri ini mengidentifikasi individu atau perusahaan yang menjamin beberapa pinjaman dengan jumlah yang signifikan, yang dapat menunjukkan eksposur risiko keuangan. Ini melintasi grafik jaringan keuangan mengikuti jalur: penjamin → menjamin → peminjam → menerapkan pinjaman →. Kueri menggabungkan jumlah total yang dijamin dan jumlah pinjaman untuk setiap penjamin, kemudian memfilter untuk yang menjamin lebih dari total 100.000 dan mengembalikan 5 teratas dengan total jumlah yang dijamin. Analisis ini berguna untuk penilaian risiko, mengidentifikasi penjamin yang terlalu leverage, dan mengevaluasi risiko keuangan sistemik dalam jaringan pinjaman.
graph("LDBC_Financial")
| graph-match (guarantor)-[guarantee]->(borrower)-[apply]->(loan)
where labels(guarantee) has "GUARANTEE" and labels(apply) has "APPLY"
project guarantor_id = guarantor.node_id,
borrower_id = borrower.node_id,
loan_amount = loan.loanAmount
| summarize total_guaranteed = sum(loan_amount), loan_count = count() by guarantor_id
| where total_guaranteed > 100000
| top 5 by total_guaranteed desc
| guarantor_id | total_guaranteed | loan_count |
|---|---|---|
| Orang::44 | 439802195 | 8 |
| Orang::15393162789155 | 411111642 | 8 |
| Perusahaan::12094627905931 | 404538891 | 6 |
| Perusahaan::4398046511208 | 366243272 | 8 |
| Orang::19791209300551 | 338838223 | 6 |
Himpunan data BloodHound Entra
Penggunaan: graph("BloodHound_Entra")
Tujuan: Eskalasi hak istimewa Microsoft Entra dan analisis jalur serangan.
Nota
Himpunan data ini disediakan di bawah Apache License 2.0. Himpunan data BloodHound dibuat oleh proyek BloodHound.
Deskripsi: Himpunan data BloodHound untuk lingkungan Microsoft Entra. Himpunan data keamanan komprehensif ini berisi 13.526 objek Microsoft Entra termasuk pengguna, grup, aplikasi, perwakilan layanan, perangkat, dan berbagai sumber daya cloud. Dengan lebih dari 800.000 hubungan izin dan tepi keamanan, ini memodelkan lingkungan Microsoft Entra yang kompleks khas organisasi perusahaan. Himpunan data menangkap izin Microsoft Entra terperinci, penetapan peran, keanggotaan grup, dan pola kepemilikan sumber daya yang penting untuk mengidentifikasi jalur eskalasi hak istimewa dan vektor serangan di lingkungan cloud.
Kasus Penggunaan:
- Penilaian keamanan ID Entra
- Penemuan jalur eskalasi hak istimewa
- Visualisasi jalur serangan
- Analisis tata kelola identitas
- Kontrol keamanan berbasis risiko
- Audit kepatuhan untuk lingkungan cloud
Gambaran Umum Skema Grafik:
Skema dan Hitungan:
Nota
Himpunan data ini disediakan di bawah Apache License 2.0. Himpunan data BloodHound dibuat oleh proyek BloodHound Community Edition.
Deskripsi: Himpunan data BloodHound Community Edition untuk lingkungan Microsoft Entra. Himpunan data keamanan komprehensif ini berisi 13.526 objek Microsoft Entra termasuk pengguna, grup, aplikasi, perwakilan layanan, perangkat, dan berbagai sumber daya cloud. Dengan lebih dari 800.000 hubungan izin dan tepi keamanan, ini memodelkan lingkungan Microsoft Entra yang kompleks khas organisasi perusahaan. Himpunan data menangkap izin Microsoft Entra terperinci, penetapan peran, keanggotaan grup, dan pola kepemilikan sumber daya yang penting untuk mengidentifikasi jalur eskalasi hak istimewa dan vektor serangan di lingkungan cloud.
Skema dan Hitungan:
Jenis Node Utama:
-
AZUser- Pengguna Microsoft Entra (230 simpul) -
AZServicePrincipal- Perwakilan layanan dan aplikasi (6.270 simpul) -
AZApp- Aplikasi Azure (6.648 simpul) -
AZGroup- Grup Microsoft Entra (58 simpul) -
AZDevice- Perangkat terkelola (47 simpul)
-
Jenis Sumber Daya Azure:
-
AZResourceGroup- Grup sumber daya (59 simpul) -
AZVM- Komputer virtual (66 simpul) -
AZRole- Peran Azure (116 simpul) -
AZSubscription- Langganan Azure (3 simpul) -
AZTenant- Penyewa Azure (1 simpul)
-
Jenis Hubungan Kunci (Izin teratas menurut volume):
-
AZMGAddOwner- Izin pemilik grup manajemen (403.412 tepi) -
AZMGAddSecret- Izin manajemen rahasia (345.324 tepi) -
AZAddSecret- Izin rahasia aplikasi (24.666 tepi) -
AZContains- Hubungan penahanan sumber daya (12.924 tepi) -
AZRunsAs- Izin eksekusi layanan (6.269 tepi) -
AZMemberOf- Hubungan keanggotaan grup (4.439 tepi) -
AZOwns- Kepemilikan sumber daya (2.870 tepi)
-
Contoh Instans Grafik:
Contoh ini menunjukkan hubungan identitas Microsoft Entra dan Entra dengan struktur hak istimewa yang kompleks dan jalur serangan potensial di lingkungan cloud.
Kasus Penggunaan:
- Penilaian keamanan ID Entra
- Penemuan jalur eskalasi hak istimewa
- Visualisasi jalur serangan
- Analisis tata kelola identitas
- Kontrol keamanan berbasis risiko
- Audit kepatuhan untuk lingkungan cloud
Contoh Kueri:
Temukan jalur ke hak administratif:
Kueri ini mengidentifikasi jalur eskalasi hak istimewa dari pengguna reguler ke grup administratif di lingkungan Microsoft Entra. Ini mencari pengguna yang dapat menjangkau grup admin (seperti Administrator Microsoft Entra DC, DnsAdmins, dll.) melalui 1-3 hop hubungan, membantu tim keamanan memahami potensi jalur serangan dan risiko eskalasi hak istimewa.
graph("BloodHound_Entra")
| graph-match (user)-[path*1..3]->(admingroup)
where labels(user) has_any ("User", "AZUser")
and labels(admingroup) has_any ("Group", "AZGroup")
and (admingroup.name contains "ADMIN" or admingroup.displayname contains "ADMIN")
project source_user = user.name,
path_length = array_length(path),
admin_group = coalesce(admingroup.displayname, admingroup.name)
| take 10
| source_user | path_length | admin_group |
|---|---|---|
| THISUSERHASINTUNEADMINROLE@PHANTOMCORP.ONMICROSOFT.COM | 1 | ADSyncAdmins |
| 097EF6C2-GROUPSADMINISTRATOR@PHANTOMCORP.ONMICROSOFT.COM | 1 | Administrator AAD DC |
| USERBELONGSTOGAGROUP@PHANTOMCORP.ONMICROSOFT.COM | 1 | ADSyncAdmins |
| THISUSERHASINTUNEADMINROLE@PHANTOMCORP.ONMICROSOFT.COM | 1 | DnsAdmins |
| RHADMIN@PHANTOMCORP.ONMICROSOFT.COM | 1 | DnsAdmins |
| CJACKSON@PHANTOMCORP.ONMICROSOFT.COM | 1 | Administrator phantom Azure ATP |
| 097EF6C2-INTUNEADMINISTRATOR@PHANTOMCORP.ONMICROSOFT.COM | 1 | Administrator AAD DC |
| RHADMIN_PHANTOMCORP.ONMICROSOFT.COM#EXT#@PHANTOMCORP.ONMICROSOFT.COM | 1 | Admin Grup Sumber Daya |
| THISUSERHASKNOWLEDGEMANAGERROLE@PHANTOMCORP.ONMICROSOFT.COM | 1 | DnsAdmins |
| 097EF6C2-INTUNEADMINISTRATOR@PHANTOMCORP.ONMICROSOFT.COM | 1 | DnsAdmins |
Identifikasi target bernilai tinggi (aset Tingkat 0):
Kueri ini mengidentifikasi aset administratif penting yang ditandai sebagai "admin_tier_0" di lingkungan. Ini adalah akun, perwakilan layanan, dan sumber daya yang paling sensitif dan kuat yang menimbulkan risiko tertinggi jika disusupi. Memahami aset ini membantu memprioritaskan upaya pemantauan dan perlindungan keamanan.
graph("BloodHound_Entra")
| graph-match (asset)
where asset.properties.system_tags contains "admin_tier_0"
project asset_name = asset.name,
asset_type = tostring(labels(asset)[1]), // Get primary type (AZUser, AZServicePrincipal, etc.)
system_tags = asset.properties.system_tags
| take 10
| asset_name | asset_type | system_tags |
|---|---|---|
| JJACOB@PHANTOMCORP.ONMICROSOFT.COM | AZUser | admin_tier_0 |
| PLEWIS@PHANTOMCORP.ONMICROSOFT.COM | AZUser | admin_tier_0 |
| JMILLER@PHANTOMCORP.ONMICROSOFT.COM | AZUser | admin_tier_0 |
| CJACKSON@PHANTOMCORP.ONMICROSOFT.COM | AZUser | admin_tier_0 |
| RHALL@PHANTOMCORP.ONMICROSOFT.COM | AZUser | admin_tier_0 |
| THISAPPHASGLOBALADMIN@PHANTOMCORP | AZServicePrincipal | admin_tier_0 |
| MYCOOLAUTOMATIONACCOUNT@PHANTOMCORP | AZServicePrincipal | admin_tier_0 |
| SERVICEPRINCIPALE@PHANTOMCORP | AZServicePrincipal | admin_tier_0 |
| 31E3B75F-PRIVILEGED AUTHENTICATION ADMINISTRATOR@PHANTOMCORP | AZServicePrincipal | admin_tier_0 |
| 31E3B75F-PRIVILEGED ROLE ADMINISTRATOR@PHANTOMCORP | AZServicePrincipal | admin_tier_0 |
Himpunan data Direktori Aktif BloodHound
Penggunaan: graph("BloodHound_AD")
Tujuan: Analisis keamanan Active Directory lokal dan pemetaan hak istimewa.
Nota
Himpunan data ini disediakan di bawah Apache License 2.0. Himpunan data BloodHound dibuat oleh proyek BloodHound.
Deskripsi: Himpunan data BloodHound Community Edition untuk lingkungan Active Directory lokal. Himpunan data ini berisi 1.495 objek Active Directory yang mewakili penyebaran AD perusahaan yang khas dengan struktur izin yang kompleks dan jalur serangan. Himpunan data mencakup pengguna, komputer, grup, unit organisasi, objek kebijakan grup, dan komponen otoritas sertifikat di beberapa domain. Dengan lebih dari 18.000 hubungan izin dan tepi keamanan, ia menangkap skenario serangan AD yang realistis termasuk jalur eskalasi hak istimewa, izin berbasis ACL, keanggotaan grup, dan kerentanan autentikasi berbasis sertifikat yang umum di lingkungan domain Windows.
Kasus Penggunaan:
- Penilaian keamanan Direktori Aktif
- Analisis jalur serangan dan pengujian penetrasi
- Pemetaan hak istimewa domain
- Analisis keamanan kebijakan grup
- Identifikasi target Kerberoasting dan ASREPRoasting
- Analisis kesenjangan kontrol keamanan
Gambaran Umum Skema Grafik:
Jenis Objek AD Inti:
-
User- Pengguna domain (99 simpul) -
Computer- Komputer domain (34 simpul) -
Group- Grup keamanan dan distribusi (219 simpul) -
ADLocalGroup- Grup lokal di komputer (28 simpul) -
GPO- Objek Kebijakan Grup (32 simpul)
-
Jenis Infrastruktur AD:
-
Domain- Domain Direktori Aktif (5 simpul) -
OU- Unit Organisasi (20 simpul) -
Container- Kontainer AD (939 simpul) -
CertTemplate- Templat sertifikat (106 simpul) -
EnterpriseCA- Otoritas Sertifikat (4 simpul) -
RootCA- Otoritas Sertifikat Akar (5 simpul)
-
Jenis Izin Kunci (Vektor serangan teratas):
-
GenericAll- Izin kontrol penuh (3.292 tepi) -
WriteDacl- Mengubah izin (2.221 tepi) -
WriteOwner- Mengubah kepemilikan (2.187 tepi) -
Owns- Kepemilikan objek (1.439 tepi) -
Contains- Hubungan penahanan (1.416 tepi) -
GenericWrite- Izin tulis (579 tepi) -
MemberOf- Keanggotaan grup (301 tepi)
-
Gambaran Umum Skema Grafik:
Contoh Instans Grafik:
Contoh ini menunjukkan jalur serangan Direktori Aktif lokal dan potensi kerentanan keamanan di lingkungan domain Windows tradisional.
Kasus Penggunaan:
- Penilaian keamanan Direktori Aktif
- Analisis jalur serangan dan pengujian penetrasi
- Pemetaan hak istimewa domain
- Analisis keamanan kebijakan grup
- Identifikasi target Kerberoasting dan ASREPRoasting
- Analisis kesenjangan kontrol keamanan
Contoh Kueri:
Temukan potensi eskalasi hak istimewa:
Kueri ini menghitung berapa banyak pengguna non-admin yang berpotensi meningkat menjadi admin di Microsoft Entra. Ini melintasi hingga 10 hop grup MemberOf (tanpa siklus) dari setiap pengguna ke grup yang memberikan izin berbahaya (GenericAll, WriteDacl, WriteOwner, ForceChangePassword) melalui pengguna admin (admincount=true), lalu mengembalikan jumlah pengguna "penyerang potensial" tersebut yang berbeda.
graph("BloodHound_AD")
| graph-match cycles=none (user)-[memberof*0..10]->(group)-[permission]->(target)
where labels(user) has "User"
and labels(group) has "Group"
and all(memberof, labels() has "MemberOf")
and user.properties.admincount == false
and (labels(permission) has_any ("GenericAll", "WriteDacl", "WriteOwner", "ForceChangePassword"))
and (labels(target) has "User" and target.properties.admincount == true)
project attack_user = user.name
| summarize ['Potential attackers'] = dcount(attack_user)
| Penyerang potensial |
|---|
| 2 |
Temukan jalur serangan Sertifikat Emas:
Kueri ini mengidentifikasi entitas yang dapat melakukan serangan Sertifikat Emas, yang memungkinkan penyerang untuk menembok sertifikat sebagai pengguna mana pun di domain. Ini adalah kerentanan penting karena memungkinkan penyusupan domain lengkap dengan memungkinkan penyerang untuk meniru pengguna apa pun, termasuk administrator domain, melalui sertifikat yang ditempa.
graph("BloodHound_AD")
| graph-match (attacker)-[goldencert]->(target)
where labels(goldencert) has "GoldenCert"
project
Attacker = attacker.name,
AttackerType = case(
attacker.name has "DC", "Domain Controller",
attacker.name has "CA", "Certificate Authority",
attacker.name has "SRV", "Server",
"Unknown System"
),
Target = target.name,
RiskLevel = "CRITICAL",
AttackCapability = case(
attacker.name has "DC", "Primary domain controller with certificate services",
attacker.name has "EXTCA", "External Certificate Authority with root access",
attacker.name has "SRV", "Compromised server with certificate generation rights",
"System with certificate forging capabilities"
)
| Penyerang | AttackerType | Target | RiskLevel | AttackCapability |
|---|---|---|---|---|
| DC01. HANTU. CORP | Sistem Tidak Diketahui | HANTU. CORP | KRITIS | Sistem dengan kemampuan forging sertifikat |
| SRV-SHARPHOUND. HANTU. CORP | pelayan | HANTU. CORP | KRITIS | Server yang disusupi dengan hak pembuatan sertifikat |
| EXTCA01. WRAITH. CORP | Sistem Tidak Diketahui | WRAITH. CORP | KRITIS | Sistem dengan kemampuan forging sertifikat |
| EXTCA02. WRAITH. CORP | Sistem Tidak Diketahui | WRAITH. CORP | KRITIS | Sistem dengan kemampuan forging sertifikat |