
ماسح ضوئي PrintNightmare (CVE-2021-34527) بلغة Python. امسح شبكات فرعية كاملة بحثًا عن المضيفين المعرضين لثغرة PrintNightmare RCE.
ماسح ضوئي بلغة Python لـ CVE-2021-34527 (المعروف أيضًا باسم PrintNightmare). يتيح لك مسح الشبكات الفرعية بالكامل بحثًا عن ثغرة PrintNightmare RCE (وليس LPE) وينشئ تقريرًا بصيغة CSV يحتوي على النتائج. يختبر قابلية الاستغلال عبر MS-PAR وMS-RPRN.
تحتوي هذه الأداة على إصدارات "منزوع الأنياب" من ثغرات Python، فهي لا تستغل المضيفين فعليًا، ولكنها تستخدم نفس استدعاءات RPC الضعيفة المستخدمة أثناء الاستغلال لتحديد ما إذا كانت المضيفين عرضة للخطر.
تحديث 7 يوليو 2021: هذا يتحقق أيضًا مما إذا كان المضيف (المضيفين) عرضة للخطر باستخدام تجاوز UNC الذي اكتشفه @gentilkiwi
وجهة نظر، محاولة تحديد ما إذا كان شيء ما عرضة لثغرة PrintNightmare:

في وقت كتابة هذا التقرير، عدد المتغيرات التي تحدد ما إذا كان الجهاز عرضة للخطر هو أمر جنوني ومربك.
تتطلب هذه الأداة حاليًا شوكة Impacket الخاصة بـ cube0x0 التي تحتوي على تنفيذ MS-PAR الضروري لأحد الفحوصات. تم تقديم هذا التغيير إلى Impacket في طلب السحب هذا.
تحتاج إلى تثبيت Impacket من git لأنه يحتوي على تنفيذ MS-PAR الضروري لأحد الفحوصات. (تقوم كلتا طريقتَي التثبيت أدناه بذلك تلقائيًا)
Docker:
git clone https://github.com/byt3bl33d3r/ItWasAllADream
cd ItWasAllADream && docker build -t itwasalladream .
docker run -it itwasalladream -u user -p password -d domain 192.168.1.0/24
يتطلب التثبيت التطويري Poetry:
git clone https://github.com/byt3bl33d3r/ItWasAllADream
cd ItWasAllADream && poetry install && poetry shell
itwasalladream -u user -p password -d domain 192.168.1.0/24
usage: itwasalladream [-h] -u USERNAME [-p PASSWORD] -d DOMAIN [--timeout TIMEOUT] [--threads THREADS] [-v] [--csv-column CSV_COLUMN] target
PrintNightmare (CVE-2021-34527) scanner
positional arguments:
target Target subnet in CIDR notation, CSV file or newline-delimited text file
optional arguments:
-h, --help show this help message and exit
-u USERNAME, --username USERNAME
username to authenticate as (default: None)
-p PASSWORD, --password PASSWORD
password to authenticate as. If not specified will prompt. (default: None)
-d DOMAIN, --domain DOMAIN
domain to authenticate as (default: None)
--timeout TIMEOUT Connection timeout in secods (default: 30)
--threads THREADS Max concurrent threads (default: 100)
-v, --verbose Enable verbose output (default: False)
--csv-column CSV_COLUMN
If target argument is a CSV file, this argument specifies which column to parse (default: DNSHostName)
I used to read Word Up magazine!
نظرًا لأن الاستغلال يتطلب مصادقتك على Active Directory، فأنت بحاجة إلى تقديم بيانات الاعتماد. إذا لم يتم تقديم كلمة المرور، فسيطلب منك إدخالها.
افتراضيًا، سيستخدم 100 سلسلة، يمكنك زيادتها/تقليلها باستخدام الوسيط -t.
بعد الانتهاء، سترى ملف report_<timestamp>.csv في دليلك الحالي يحتوي على النتائج.