Sabitlenmiş Tweet
Fahad
403 posts

Fahad
@Pwn3dx
Adversary Emulation | #OSEP | #CRTL | #eCPTXv2 | #CRTE | #CRTO | #CRTP | #eCPPTv2 | #eWPT | #APTLabs | #ZEPHYR
🇸🇦 Katılım Haziran 2022
409 Takip Edilen2.1K Takipçiler

من ثغرة وحده الى تحكم بسيرفرات شركات عالمية + 24k 💰
السلام عليكم وحياكم الله
هل جربت شعور وانت تفحص موقع يكون محمي بشكل مجنون ولا قدرت تطلع منه بشي ؟ هذا بالضبط اللي صار معي ولكن الحمدلله قدرت اطلع ب misconfiguration بمنتج تستخدمه شركات عالمية + مكافاة 24k ريال
بدون مانطول، خلونا نبدا بالتفاصيل…
في اثناء فحصي لاحد الابلكيشنز، كانت حماية الابلكيشن ممتازة وماحصلت شي يذكر كل اللي لقيته ثغرات بسيطة، لكن كملت على الابلكيشن و بعد فهم كامل للابلكيشن لاحظت انه يستخدمون ticketing system خدمة تسمح لهم يديرون تذاكر الدعم الفني بشكل سلس ومرتب
قبل ماندخل بالتفاصيل لازم نفهم كيف كان الموقع يرفع تذاكر الدعم الفني:
1- الابلكيشن كان فقط يسمح برفع تذكرة بعد تسجيل الدخول ويكون فيها ( نوع الشكوى - وصف المشكلة )
2- اسمك ورقم الجوال ترسل مباشرة فا ماكان فيه parameters بالريكوست تسمح لك تعدل عليهم، فا كانو يعتمدون اعتماد كلي على هذا الخدمة فا ادارة تذاكر الدعم الفني
الخدمة هذي كانت من شركة كبيرة، ولهم عملاء كثير في مختلف دول العالم وشركات وجهات كبيرة تستخدم هذي الخدمة فا ماخفيكم ماتوقعت احصل شي.
♦️ اكتشاف الـ misconfiguration ♦️
بعد مالاحظت استخدامهم للخدمة هذي قررت اني اتعمق فيها اكثر وابحث عن ثغرات لها، لكن للاسف الـsystem ماكان له اي ثغرات منشوره، فا قررت اتعمق اكثر فيه وافهمه لان ممكن انت اللي تطلع الثغرة ليش تنتظر احد يطلعها…
فا بديت اتعمق فيه اكثر، وافهم كيف يشتغل بشكل تفصيلي، اثناء قرائتي لاحظت ان فيه API documentation لل system
بعد ماقريته عرفت ان فيه مزايا كثيره بال system، مثل رفع ملف كـ attachment بالتذكرة
الميزه هذي كانت غير مستخدمه بالابلكيشن اللي افحصه كان فقط يسمح لك تكتب محتوى الشكوى بدون ملفات،،، فا تعمقت اكثر بميزة رفع الملفات عشان افهم كيف تشتغل
ولاحظت شي غريب ومهم:
ميزة رفع الملفات لها configuration file من خلاله تقدر تحدد وش ال extensions المسموح ان اليوزر يرفعها،
ولكن الاشكالية كانت ان لما تحمل عندك ال system على سيرفرك، يكون by default يسمح بجميع ال extensions فا هنا لاحظت الاشكالية وقررت اختبرها
♦️ استغلال ال misconfiguration ♦️
وفعلا جربتها عن طريق رفع ملف ينفذ اوامر على السيرفر والغريب انه زبط ورفع الملف… لكن لما فتحته كان الملف ينرفع على bucket ولا يتنفذ فا للاسف ماقدرت اوصل لـ RCE 🫠
فا هنا جتني فكرة بما ان الملف ينرفع مع التيكت ويفتحه موظف الدعم الفني، ليش ما ارفع ملف HTML فيه xss.report payload بحيث انه مجرد ما يفتح الموظف الملف راح يجمع لي بياناته واعرف URL + cookies لموقع الدعم الفني، وفعلًا هذا الي صار واول مافتحه الموظف وصلتني بياناته🔥
وهذا كان كافي لأثبات خطورة الثغرة...
♦️ رفع خطورة الثغرة ♦️
كنت اقدر ابلغها كذا ولكن دايم بالثغرات هذي تحاول ترفع الخطورة اكثر، فا كملت قراءة بال API documentation ولاحظت اني من خلال احد ال endpoints اقدر احذف/اعدل على ملفات مرفوعه مسبقًا، وهذا يرفع من خطورة الثغرة بسبب اني اثرت على ال CIA triad كامله
كذلك لقيت فيه parameters اضافية بال endpoint المسؤولة عن رفع التيكتس، تسمح لي اغير اسمي ورقم الجوال اللي يطلع عند موظف الدعم، وبكذا اقدر انتحل شخصية اي يوزر ثاني واحط رقم جواله بدال رقم جوالي واتواصل مع الدعم بصفتي اليوزر الثاني،
بلغت الثغرة والحمدلله حصلت على المكافاة.
♦️ مانتهت القصة ♦️
طبعًا مانتهت القصة هنا، بعد ما عرفت هذا ال misconfiguration، قررت اجربه على اكثر من شركة تستخدم هذا ال system، وقدرت اوصل لـRCE على بعض هذي الشركة بسبب ان الملفات كانت قابلة للتنفيذ.
طبعًا حاولت اتواصل مع الشركة المسؤوله عن ال system، لكن للاسف مافي اي استجابة منهم.
بعد فترة، الشركة اطلقت اصدار جديد من الخدمة، وصلحت فيه هذي المشكلة عن طريق ان by default مايسمح برفع الملفات، عشان تفعله لازم تكتب ال extension المسموحة وبعدها تتفعل الميزة.
—————-
توضيح بسيط: هذا النوع من الثغرات مب كل البرامج تقبله كثغرة لانها بسبب طرف ثالث ولكن في حالتي كان فيه استثناء بسبب بعض التفاصيل، فا تاكد قبل تبلغ هذا النوع من الثغرات، هل البرنامج يقبلها او لا.
—————-
يعطيكم العافية وترقبوا القادم 🫡.


العربية

الحمد لله، في غضون سنة مستمرة قدرت أحقق 20,000 نقطة بتحقيق المركز الثاني بشكل دائم على @BugBountySA بوقت قياسي، إضافةً إلى تحقيق المركز الأول للربع ثلاث مرات، والتصدر بالمركز الأول لهذا الربع حتى الان.
كل الشكر الى @BugBountySA @SAFCSP دعمهم المستمر للباحثين وتمكين الكفاءات الوطنية.


العربية

الحمدلله اليوم اكملت كورس الـCRTO 🔥
الكورس كان ثري جدًا وطور مهاراتي في الـRed Teaming بشكل كبير، وأعتبره أحد أفضل الإنجازات اللي حققتها حتى الآن
Thanks a lot @_RastaMouse !

العربية

🔴كيف قدرت اتحكم بسيرفر لأحد الجهات الحساسة بشكل كامل واكتشف اكثر من 15 ثغرة حرجة.
a Single LFI to +15 Critical Bugs A Web-Boundary Pivoting Story
مسيتم بالخير, رجعا لكم بمقالة جديد بعد انقطاع, لكن على ماقال من طول الغيبات جاب الغنايم
اليوم باذن الله بتكلم عن طريقة اكتشافي لثغرة من خلاله اكتشفت +15 ثغرة حرجة اخرى في احد الجهات الحساسة.
# البداية
أثناء الفحص لاحظت إن الموقع مبني بـ Angular، وهذا يعني إن ملفات الـ JS راح تكون كنز لفهم طبيعة الموقع.
أول يوم فحص ما حصلت نتيجة مباشرة، لكن طلعت بأهم شيء والي هو صرت فاهم التارقت أكثر.
بالتكملة, بما إن فيه عدة Roles بالموقع، وكمستخدم عادي ما كان عندي إلا كم Functions ظاهر لي كمستخدم عادي، قررت أركز تحليلي بالكامل على ملفات الـ JS.
وهنا جاء وقت اتكلم عن ال runtime.js، والي هو عبارة عن ملف JavaScript موجود بالمواقع اللي تستخدم Frameworks مثل Angular.
وفكرته بكل اختصار إنه يعرف ملفات JS الأخرى ويستعملها وقت الحاجة، ويطلق على هذي الملفات بال chunks
وهذي كلها عباره عن JS files
بنيت سكربت يسوي Load للـ JS files المعرفة بالـ runtime، بشكل مباشر وقدرت أجمع أكثر من 35 ملف وبدأت أحللهم واحد واحد.
ومالكم بالطويلة, في أحد الملفات لقيت Function معرفة preview-attachment، وظيفتها عرض المرفقات أو الصور
من خلال تحليلي الى الـ JS لاحظت إنها تستعمل معرفين في Functions مختلفة لعرض الصور:
- filePath
- fileName
في بعض الـ Functions الأخرى بالموقع كان يتم استخدام fileName فقط، لكنه مقيّد بمسار معين ومعه Validation على ال Input ويعرض الصور من مسار ثابت مباشرة من الـ server-side.
وش تبي وصله ياعمر؟ يعني فكرة انه اوصل الى ملفات اخرى غير الصور فكرة غير ممكنة بأستعمال ال fileName parameter
لكن ماذا عن ال filePath؟ إذا أضفته في نفس الـ Request، راح يسوي overwrite على قيمة ال fileName، لأن الـ server-side يفضل filePath على fileName.
ونقطة مهمة ما أقدر أحذف fileName لأنه Mandatory Parameter لازم يكون موجود بالـ Request.
وفي ال filePath Parameter كنت قادر اني احدد المسار الي يسوي له preview او عرض للصورة.
لكن السؤال هل المسار مقتصر على عرض الصور فقط ؟
الجواب لا (; مثل مانلاحظ بالطريقة هذي قدرت اسوي read /etc%0a/%0apasswd
مافيه impact ؟ بس هنا وصلنا لل ssh private key
الأغلب ممكن يوقف هنا ويرفع تقريره
لكن دامك بق هنتر بتحاول تصنع ثغره من اي شيء واحيانا مايضر انك تستكشف شوي (;
# Accessing Private SSH Keys to RCE
بعد ماجبت ال SSH keys سويت connect على نفس IP السيرفر الي شغال عليه الموقع وقدرت اني اوصل الى السيرفر بشكل كامل
الأغلب هنا بيرفع التقرير ويوقف, بس عمرك سمعت عن ال مصطلح ال pivoting؟ لا ماقصد ال pivoting بنطاق ال network
بل pivoting بنطاق ال web applications, بعد وصولي للسيرفر
اول خطوة سويته اني اشوف ال source code واكتشفت بعض الثغرات من خلال تحليلي الى ال source code
ومن ضمنه Account take over على اي حساب مسجل بالجهة بشكل كامل , والي كانت من خلال ال reset password function
# From Source Code Review to 0-Click ATO & 15+ Critical Bugs Uncovered
لاحظت انه يتم انشاء token في حال انك تبي تسوي reset password لكن التوكن كان يتم انشائه بالطريقة هذي
الي قاعد يصير بكل اختصار ياخذ الهوية والوقت الحالي (timestamp) ويسوي له hashing باستعمال SHA1
وبما ان ال SHA-1 مافيها اي secret key, salting ابدا
معناته انه من الممكن نجيب اي reset token
فسويت سكربت بكل سهولة يستغل العملية هذي, وقدرت اني اتحكم بأي حساب مسجل بالجهة من خلال رقم الهوية فقط.
حلو وموضوع ال pivoting عمر ؟ هنا ارجع لكم بال pivoting بس على نطاق ال web application, الجهة نفسة كان عنده عدة مواقع اخرى
فجربت اني شوف نفس المفهوم للمواقع الثانية التابعة للجهة, وفعلاً نفس المنطق مستخدم، فاستغليتهم بنفس الطريقة.
ومن خلال الـ source code review قدرت اكتشف ثغرات عديدة اخرى كذلك
من خلال ال pivoting كنت قادر اكتشف فوق ال 15+ ثغره حرجة ومرتفعة الخطورة, وممكن تكون بجزء ثاني
بالختام، أتمنى كان شرحي واضح واستفدتوا، وشكرًا على وقتكم وقراءتكم.




العربية

The Ark that hunts the Stars ✨
I’m sharing my latest tool, Stelark. Stelark is a Compromise Assessment tool for ADCS that detects vulnerabilities and hunts suspicious certificates issued by vulnerable templates.
It also includes an intense mode for historical threat hunting that enumerates all issued certificates to uncover past ADCS abuse even after templates have been fixed.
Stelark generates an interactive HTML report and exports dump files of all identified templates and certificates for further investigation.
Check it out github.com/0xMuhannad/Ste…
GIF
English
Fahad retweetledi

Many missed this on #BadSuccessor: it’s also a credential dumper.
I wrote a simple PowerShell script that uses Rubeus to dump Kerberos keys and NTLM hashes for every principal-krbtgt, users, machines. no DCSync required, no code execution on DC.
English





