
🔧 انشر مختبرات Active Directory قابلة للتخصيص في Azure - تلقائيًا.
يتيح لك هذا المشروع إنشاء مختبرات Active Directory في Azure بسهولة مع محطات عمل منضمة إلى المجال، وWindows Event Forwarding، وKibana، وSysmon باستخدام Terraform/Ansible.
يوفر ملف إعدادات عالي المستوى لمجالك بحيث يسمح لك بتخصيص المستخدمين والمجموعات ومحطات العمل.
dns_name: hunter.lab
dc_name: DC-1
initial_domain_admin:
username: hunter
password: MyAdDomain!
organizational_units: {}
users:
- username: christophe
- username: dany
groups:
- dn: CN=Hunters,CN=Users
members: [christophe]
default_local_admin:
username: localadmin
password: Localadmin!
workstations:
- name: XTOF-WKS
local_admins: [christophe]
- name: DANY-WKS
local_admins: [dany]
enable_windows_firewall: yes
فيما يلي مقارنة غير مكتملة ومتحيزة مع DetectionLab:
هندسة الاكتشاف: إن الوصول إلى مختبر نظيف بإعداد معياري هو وسيلة رائعة لفهم الآثار التي تتركها الهجمات الشائعة وتقنيات الحركة الجانبية.
تعلّم Active Directory: كثيرًا ما أحتاج إلى اختبار GPOs أو ميزات AD متنوعة (AppLocker، LAPS...). ويعد امتلاك مختبر يمكن التخلص منه أمرًا ضروريًا لذلك.


اشتراك في Azure. يمكنك إنشاء واحد مجانًا وستحصل على 200 دولار من الأرصدة لأول 30 يومًا. لاحظ أن هذا النوع من الاشتراكات له حد أقصى يبلغ 4 وحدات معالجة مركزية افتراضية (vCPU) لكل منطقة، وهو ما لا يزال يسمح لك بتشغيل وحدة تحكم بالمجال واحدة ومحطتي عمل (مع تكوين المختبر الافتراضي).
مفتاح SSH في ~/.ssh/id_rsa.pub. يجب إما إضافة مفتاحك الخاص إلى ssh-agent (عادةً عن طريق تشغيل ssh-add ~/.ssh/id_rsa مرة واحدة وإضافة eval "$(ssh-agent -s)" في .bashrc) أو عدم تشفيره بعبارة مرور.
Terraform >= 0.12
يجب أن تكون مسجلًا الدخول إلى حساب Azure الخاص بك عن طريق تشغيل az login. يمكنك استخدام az account list للتأكد من أن لديك حق الوصول إلى اشتراك Azure الخاص بك.
git clone https://github.com/christophetd/Adaz.git
# Note: the virtual env needs to be in ansible/venv
python3 -m venv ansible/venv
source ansible/venv/bin/activate
pip install -r ansible/requirements.txt
deactivate
cd terraform
terraform init
يمكنك اختياريًا تعديل domain.yml وفقًا لاحتياجاتك (المرجع هنا)، ثم تشغيل:
terraform apply
يستغرق إنشاء الموارد وتجهيزها من 15 إلى 20 دقيقة. وبمجرد الانتهاء، ستحصل على مخرجات مشابهة لما يلي:
dc_public_ip = 13.89.191.140
kibana_url = http://52.176.3.250:5601
what_next =
####################
### WHAT NEXT? ###
####################
Check out your logs in Kibana:
http://52.176.3.250:5601
RDP to your domain controller:
xfreerdp /v:13.89.191.140 /u:hunter.lab\\hunter '/p:Hunt3r123.' +clipboard /cert-ignore
RDP to a workstation:
xfreerdp /v:52.176.5.229 /u:localadmin '/p:Localadmin!' +clipboard /cert-ignore
workstations_public_ips = {
"DANY-WKS" = "52.165.182.15"
"XTOF-WKS" = "52.176.5.229"
}
لا تقلق إذا رأيت أثناء الإعداد بعض الرسائل التي تبدو مثل
FAILED - RETRYING: List Kibana index templates (xx retries left)
بشكل افتراضي، يتم نشر الموارد في منطقة West Europe ضمن مجموعة موارد ad-hunting-lab. يمكنك التحكم في المنطقة باستخدام متغير Terraform:
terraform apply -var 'region=East US 2'
domain.ymlمحاضرات / منشورات تشير إلى Adaz:
سأعتمد بشكل كبير على عدد أصوات الإعجاب التي ستتركها على feature-proposal issues لتحديد الميزات القادمة!
لا تتردد في فتح issue أو التغريد إلى @christophetd.
| Adaz | DetectionLab |
|---|
| دعم السحابة العامة | Azure | AWS, Azure (beta) |
| الوقت المتوقع لتشغيل مختبر | 15-20 دقيقة | 25 دقيقة |
| إدارة السجلات والاستعلام عنها | Elasticsearch+Kibana | Splunk Enterprise |
| WEF | ✔️ | ✔️ |
| سياسات التدقيق | ✔️ | ✔️ |
| Sysmon | ✔️ | ✔️ |
| ملف إعدادات المجال YAML | ✔️ | 🚫 |
| دعم عدة محطات عمل بنظام Windows 10 | ✔️ | 🚫 |
| دعم VirtualBox/VMWare | 🚫 | ✔️ |
| osquery / fleet | 🚫(صوّت!) | ✔️ |
| تسجيل محاضر PowerShell | 🚫 (صوّت!) | ✔️ |
| سجلات IDS | 🚫 (صوّت!) | ✔️ |