Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
LOAD — Lord Of Active Directory - إنشاء Active Directory ضعيف تلقائيًا على AWS | Kitploit
أدوات/GitHubGitHub/0xballpoint/load
أمن البنية التحتية السحابيةالمحاكاة الافتراضية للأماناختبار الاختراقالتعلم والتعليمالفريق الأحمرمختبرات وتدريب عملي
GitHub0xballpoint/load

LOAD

Lord Of Active Directory - إنشاء Active Directory ضعيف تلقائيًا على AWS

عرض المستودع
15613منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
الموقع الإلكتروني

load.jpg

مقدمة

مبني على AWS-Redteam-Lab و OCD GOAD

تبلغ تكلفة تشغيل المختبر لمدة 125 ساعة خلال شهر واحد حوالي 14$. مع الطبقة المجانية تحصل على 750 ساعة من EC2 شهريًا، وهناك 6 أجهزة لذا 125 ساعة. لكنك تحصل على 30 جيجابايت فقط من التخزين. لذا تحتاج إلى تخزين للأجهزة الخمسة الأخرى: 30 جيجابايت * 5 = 150 جيجابايت = 14$ شهريًا

التثبيت

تمامًا مثل مشروع GOAD، يتكون التثبيت من جزأين:

  • providing: تم إنشاؤه باستخدام terraform، يقوم بتهيئة VPC والشبكة و EC2 (الأجهزة الافتراضية) الخاصة بك في AWS
  • provisioning: تم إنشاؤه باستخدام ansible، سيقوم بتثبيت كل ما يلزم لتشغيل المختبر كشبكة Active Directory

التهيئة

المتطلبات

حتى الآن تم اختبار المختبر فقط على جهاز linux، لكنه يجب أن يعمل أيضًا على macOS. لدى Ansible بعض المشاكل مع مضيفي Windows لذا لا أعرف بخصوص ذلك.

لكي يعمل الإعداد بشكل صحيح تحتاج إلى تثبيت:

Ansible

Ansible مع docker

إذا كنت تريد تنفيذ التهيئة من حاوية docker فيمكنك تشغيل الأمر التالي لتجهيز الحاوية

root@kitploit:~
sudo docker build -t loadansible .

Ansible على جهازك المضيف

إذا كنت تريد تشغيل ansible من جهازك المضيف فعليك تنفيذ الأوامر التالية:

  1. إنشاء بيئة افتراضية python >= 3.8
root@kitploit:~
sudo apt install git
git clone [email protected]:0xBallpoint/LOAD.git
cd LOAD/ansible
sudo apt install python3.8-venv
python3.8 -m virtualenv .venv
source .venv/bin/activate
  1. تثبيت ansible و pywinrm في .venv
    • ansible باتباع الدليل الشامل على موقعهم ansible.
    • تم الاختبار باستخدام ansible-core (2.12)
    • pywinrm تأكد من تثبيت حزمة pywinrm لديك
root@kitploit:~
python3 -m pip install --upgrade pip
python3 -m pip install ansible-core==2.12.6
python3 -m pip install pywinrm
  1. تثبيت جميع متطلبات ansible-galaxy
    • ansible windows
    • ansible community.windows
    • ansible community.general
root@kitploit:~
ansible-galaxy install -r requirements.yml

Terraform

تحتاج إلى تثبيت Terraform باتباع دليلهم على موقعهم hashicorp.com

إذا كنت تريد تثبيت Terraform يدويًا على Linux:

root@kitploit:~
sudo apt-get update && sudo apt-get install -y gnupg software-properties-common

# Install the HasiCorp GPG key
wget -O- https://apt.releases.hashicorp.com/gpg | \
    gpg --dearmor | \
    sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg

# Verify the key's fingerprint
gpg --no-default-keyring \
    --keyring /usr/share/keyrings/hashicorp-archive-keyring.gpg \
    --fingerprint
# It must match E8A0 32E0 94D8 EB4E A189 D270 DA41 8C88 A321 9F7B (from https://www.hashicorp.com/security)

# Add the official HashiCorp repository to your system
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] \
    https://apt.releases.hashicorp.com $(lsb_release -cs) main" | \
    sudo tee /etc/apt/sources.list.d/hashicorp.list

# Update, install, verify
sudo apt update
sudo apt install terraform
terraform -help

AWS CLI

ستحتاج إلى AWS CLI لتهيئة مفاتيح الوصول الخاصة بك إلى AWS. يجب اتباع دليل التثبيت على موقعهم docs.aws.amazon.com

لأنظمة Linux:

root@kitploit:~
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

البدء / الإعداد

المجال الافتراضي سيكون middle-earth.local، على الشبكة الفرعية 10.0.1.0/24، وقد تم تخصيص 1CPU وذاكرة 1024MB فقط لكل جهاز (t2.micro). إذا كنت تريد تغيير بعض إعدادات الأداء هذه يمكنك تعديل الملف: terraform/ami-instance.tf

لتشغيل المختبر، هذه هي الأوامر التي يجب عليك تنفيذها:

إنشاء الأجهزة الافتراضية (VMs)

root@kitploit:~
pwd
/opt/LOAD  # place yourself in the LOAD folder (where you cloned the project)
cd terraform # start with AWS configuration

الخطوات التالية توضح لك كيفية تهيئة أجهزتك الافتراضية على AWS:

  1. انسخ var.tf.example إلى var.tf وغيّر القيم:

    • REGION: غيّره حسب منطقتك المفضلة
    • MANAGEMENT_IPS: أضف عناوين IPv4 الخاصة بك التي يمكنها الوصول إلى مختبرك
  2. في وحدة تحكم AWS الخاصة بك، يجب إنشاء مستخدم terraform والحصول على مفاتيح AWS الخاصة بك:

    • انتقل إلى https://us-east-1.console.aws.amazon.com/iamv2/home#/users
    • في اسم المستخدم: terraform
    • اختر نوع بيانات اعتماد AWS: Access key - Programmatic access
    • أضف الصلاحيات التي تريدها
    • أنشئ المستخدم
    • انسخ Access key ID و Secret access key
  3. أضف المفاتيح على جهازك باستخدام AWS CLI:

root@kitploit:~
aws configure --profile terraform
    AWS Access Key ID [None]: <access_key_id>
    AWS Secret Access Key [None]: <secret_access_key>
  1. أنشئ مفاتيح SSH لـ terraform:
root@kitploit:~
cd LOAD
ssh-keygen -t rsa -N "" -b 2048 -C "TerraformKey" -f ./terraform/keys/TerraformKey.pem
  1. شغّل Terraform:
root@kitploit:~
terraform init
terraform apply

إذا كنت تريد تدمير مختبرك:

root@kitploit:~
terraform destroy

تهيئة الأجهزة الافتراضية (VMs)

في كل مرة تبدأ فيها مثيلات EC2 الخاصة بك، يجب عليك تغيير عنوان IP العام الخاص بها في ملف ansible/hosts. أضف ناتج هذا الأمر في نهاية الملف:

root@kitploit:~
aws ec2 describe-instances --profile terraform --region eu-central-1 --query "Reservations[*].Instances[*].{Name:Tags[?Key=='Name'].Value|[],PublicIP:PublicIpAddress}" --filters "Name=instance-state-name,Values=running" --output text |tac |awk 'NR%2 ==0 {print $0}; NR%2 != 0 {print "["tolower(substr($2,5))"]"};'

لتهيئة الأجهزة الافتراضية استخدم الأمر ansible-playbook. الوقت المعتاد للتشغيل: 1h30

root@kitploit:~
ansible-playbook main.yml # this will configure the vms in order to play ansible when the vms are ready

لتشغيل التهيئة من حاوية docker نفّذ (يجب أن تكون في نفس المجلد الذي يحتوي على Dockerfile. لم يتم اختباره بعد):

root@kitploit:~
sudo docker run -ti --rm --network host -h loadansible -v $(pwd):/load -w /load/ansible loadansible ansible-playbook main.yml

في بعض الأحيان قد يحدث خطأ أثناء التثبيت. في معظم الأحيان، يمكنك فقط تشغيل playbook مرة أخرى وسيعمل. لتشغيل playbooks واحدًا تلو الآخر:

root@kitploit:~
# The main.yml playbook is build in multiples parts. each parts can be re-run independently but the play order must be keep in cas you want to play one by one :

ansible-playbook prepare.yml         # updates, passwords, dns settings...
ansible-playbook ad-servers.yml      # create servers configuration
ansible-playbook ad-trusts.yml       # create the trust relationships
ansible-playbook ad-data.yml         # import the ad datas : users/groups...
ansible-playbook ad-groups.yml       # set the rights and the group domains relations
ansible-playbook servers.yml         # create IIS and MSSQL
ansible-playbook adcs.yml            # add adcs and adcs templates
ansible-playbook ad-acl.yml          # set ACL
ansible-playbook linux.yml           # configure linux entrypoint with GLPI

ansible-playbook security.yml        # enable or disable windows defender here
ansible-playbook vulnerabilities.yml # specifics vulns linked to the scenario are here

# You can also install wireguard VPN on the linux host, for that check the VPN paragraph

إذا كنت تريد تشغيل جزء محدد فقط من playbook، يمكنك استخدام الوسوم (tags) (ضع دائمًا data كوسم):

root@kitploit:~
ansible-playbook servers.yml
ansible-playbook servers.yml --tags data,iis
ansible-playbook linux.yml --tags data,glpi

AWS CLI

بعض الأوامر لمساعدتك في إدارة مختبر AWS الخاص بك (إنها قبيحة لكنها تعمل):

root@kitploit:~
# aws cli profile : terraform
# region : eu-central-1 

# Disable instance metadata
for i in $(aws ec2 --profile terraform --region eu-central-1 describe-instances --filters "Name=tag:Name,Values=lab-*" --query 'Reservations[].Instances[].InstanceId' |cut -d '"' -f2); do aws ec2 --profile terraform --region eu-central-1 modify-instance-metadata-options --http-endpoint disabled --instance-id $i --output json --no-cli-pager;done

# Start instances
aws ec2 --profile terraform --region eu-central-1 start-instances --instance-ids `aws ec2 --profile terraform --region eu-central-1 describe-instances --filters "Name=tag:Name,Values=lab-*" "Name=instance-state-name,Values=stopping,stopped" --query 'Reservations[].Instances[].InstanceId' --output text`

# Get running instance and output it to ansible format
aws ec2 describe-instances --profile terraform --region eu-central-1 --query "Reservations[*].Instances[*].{Name:Tags[?Key=='Name'].Value|[],PublicIP:PublicIpAddress}" --filters "Name=instance-state-name,Values=running" --output text |tac |awk 'NR%2 ==0 {print $0}; NR%2 != 0 {print "["tolower(substr($2,5))"]"};'

خادم VPN

اختياريًا، يمكنك إضافة خادم VPN على المضيف Linux، وتكوين أي عدد تريده من العملاء. ابدأ بتوليد مفاتيح لخادم VPN وغيّر عدد العملاء:

root@kitploit:~
apt install wireguard

# generate wireguard keys
privkey=$(wg genkey) sh -c 'echo "
    server_privkey: $privkey
    server_pubkey: $(echo $privkey | wg pubkey)"'

# encrypt server_privkey with ansible-vault and 
ansible-vault encrypt_string --ask-vault-password --stdin-name server_privkey

# Add the result to group_vars/all.yml
# You can change the number of client configuration files it will create. By default it creates 6 clients.

شغّل playbook الخاص بـ VPN بهذا الأمر (سيغير مفاتيح العملاء في كل مرة تشغل الأمر):

root@kitploit:~
ansible-playbook --ask-vault-password vpn.yml

إذا حصلت على هذا الخطأ Timeout (12s) waiting for privilege escalation prompt، فقط أعد تشغيل الأمر.

ستجد ملف إعداد العميل الخاص بك في ansible/wireguard/lab_client[0-9].conf.

للاتصال بـ VPN، تحتاج إلى نسخ ملفات العميل مع المفتاح الخاص إلى جهازك المضيف المحلي في /etc/wireguard/.

تبدأ اتصال VPN لأول عميل باستخدام:

root@kitploit:~
sudo wg-quick up lab_client1

ستحصل على عنوان IP في نطاق 10.0.20.0/24

الثغرات

schema

LINUX

root@kitploit:~
SHIRE (srv02)
    - GLPI SQLi
    - GLPI-htmlawed-CVE-2022-35914

USERS
    - privesc user with vulnerable crontab
    - privesc root with password in bash_history and sudo nopasswd for /bin/systemctl

ERIADOR.MIDDLE-EARTH.LOCAL

root@kitploit:~
RIVENDELL (dc02)
    - anonymous RPC (enum users, pass pol, groups / rpcclient)
    - brute force users names

ELF
    - celebrian    Responder crack hash (bot 3min)
    - elrond:      Responder with NTLM relay domain admin (bot 5min)

HOBBIT
    - bilbo:       password in description
    - pippin:      ASREPROAST 
    - merry:       Constrained delegation with protocol transition / Kerberoasting
    - froddo:
    - sam:

MIDDLE-EARTH.LOCAL

root@kitploit:~
MINAS-TIRITH(dc01)
    - Open share RW, LNK exploit
    - khamul.easterling : Open backup share, with GPO with cpassword, password increment

MORIA (srv01)
    - MSSQL trusted link : donPapi to get sql_svc password
    - mitm6 SRV01 -> DC01

MEN
    - denethor:    DOMAIN ADMIN
    - theoden:     ACL self-self-membership-on-group DOMAIN ADMIN
    - faramir:     ACL genericwrite-on-user Denethor
    - boromir:     ACL genericall-on-user Denethor
                   ACL forcechangepassword on Faramir 
                   WriteDACL MEN 

FELLOWSHIP
    - legolas:     execute as user on MSSQL
                   KERBEROASTING 
    - gimli:       ACL genericall-on-computer MORIA
                   ACL writeproperty-self-membership DOMAIN ADMIN
    - aragorn:     execute as login on mssql / administrator
    - gandalf:     mssql admin
                   group cross domain
                   mssql trusted link
                   ACL writeproperty-self-membership Domain Admins #TODO change for someone who is not administrator, he has DCSYNC (administrator?)

ENTS
    - treebeard:   ACL writeproperty-on-group DOMAIN ADMIN
    - skinbark:    ACL genericall-on-group DOMAIN ADMIN
    - ginglas:     ACL write owner on group DOMAIN ADMIN

MORDOR.LOCAL

أجهزة الكمبيوتر

root@kitploit:~
BARAD-DUR (dc03)
    - Coerced DC + ntlmrelayx to ldaps
    - ADCS ESC1, ESC2, ESC3, ESC4, ESC8
    - NTLM downgrade attack

MINAS-MORGL (srv03)
    - IIS upload webshell
    - Privilege escalation Windows 2016 : SeImpersontePrivilege

DARKFORCE
    - sauron:     domain admin MORDOR
    - saruman:    mssql admin / GenericAll on gothmog (shadow credentials) / GenericAll on ECS4
    - balrog:

PRISONER
    - gollum:     mssql trusted link
                  password spray -> user=pwd
ORC
    - gothmog:    DOMAIN ADMIN
    - lurtz:
    - ugluk:
    - guritz:

NAZGUL
    - angmar:

المهام المتبقية

  • توصيل خادم Linux بـ AD لـ SSH
  • RemotePotato0 على sam
  • تغيير بيانات اعتماد GLPI تلقائيًا
  • LAPS
تنزيل الأداة