شرح smbclient: افحص مشاركات الملفات وافهم صلاحياتها خطوة بخطوة
ظهر لك مجلد مشترك أثناء اختبار اللاب، وقدرت تشوف اسمه. هل تعتبر أنك وصلت لملفاته؟ لسه. فيه فرق بين اكتشاف المشاركة، وفتحها بحساب معين، وعرض أسماء الملفات، وقراءة المحتوى. إذا ضبطت هالفروق، بتعرف وش تثبته في التقرير ووش يحتاج اختبارًا إضافيًا. بنمشي على تجربة صغيرة بحسابين وملفات تدريبية، ونربط كل أمر بالسؤال اللي يجاوب عنه.

وش نشوف في الصورة؟
اللقطة من شرح خارجي للكاتب أليكس رودريغيز عن جهاز تدريبي، وتوضح اتصال الأداة بمشاركة ثم عرض مجلداتها والانتقال إلى أحدها. العنوان والحساب والملفات الظاهرة تخص ذلك المثال؛ لا تنسخها كأهداف لتجربتك. خذ منها طريقة قراءة الواجهة فقط، وطبق على بيئتك المصرح بها.
لاحظ أن السطر يتغير بعد دخول المجلد، وأن المخرجات تعرض أسماء وأحجامًا وتواريخ. ظهور ملف في القائمة يخبرك أن اسمه قابل للعرض في ذلك السياق، لكنه ما يثبت أن محتواه قُرئ أو أن تعديله مسموح.
مصدر الصورة:
https://medium.com/@Cleto_A/htb-timelapse-walkthrough-a53e9d008e09
جهز لابًا يعطيك نتيجة تتوقعها
تحتاج خادم ملفات تدريبيًا، وجهاز لينكس عليه الأداة من مصدر موثوق، وحساب قراءة معروفًا، وحسابًا ثانيًا بلا وصول للمجلد المقصود. خل المشاركة تحتوي ملفًا نصيًا عاديًا أنشأته أنت، بدون بيانات أشخاص أو أسرار. الأسماء التالية افتراضية: خادم الملفات «ملفات اللاب»، ومشاركة التدريب، وحساب القارئ.
حدد قبل التنفيذ ما تتوقعه من كل حساب: هل يشوف اسم المشاركة؟ هل يقدر يسرد محتوياتها؟ هل يقرأ الملف؟ اكتب هالتوقعات حتى لو بدت بديهية. إذا اختلفت النتيجة، بيكون عندك شيء تقارنه بدل الحكم على نجاح الأداة من لون الرسالة.
لا تستخدم حساب مدير الدومين للتجربة كلها؛ نجاحه قد يخفي الفرق الذي تحاول تتعلمه.
اعرف نسختك ثم اعرض المشاركات
ابدأ بمعرفة إصدار الأداة ومساعدتها، لأن بعض الخيارات تختلف بين الإصدارات:
smbclient --version
smbclient --help
بعدها، على خادم اللاب المصرح، اطلب قائمة المشاركات بهوية حساب القراءة:
smbclient -L files.lab.test -U 'LAB/reader'
الأمر يحدد الخادم وهوية المستخدم، ويطلب كلمة المرور تفاعليًا عند الحاجة. اكتبها في المطالبة الخاصة بالأداة، ولا تضفها إلى نص الأمر أو لقطة الشاشة التي بتشاركها. إذا كانت بيئتك تشترط طريقة مصادقة معينة، راجع خيارات الإصدار ومتطلبات مسؤول اللاب.
القائمة بداية للجرد. لا تعتبر ظهور اسم مشاركة إذنًا بتنزيلها، ولا تفترض أن كل مشاركة ظاهرة تحتوي ملفات مستخدمين؛ الخدمات والأغراض تختلف.
افتح مشاركة واحدة واقرأ المكان الذي أنت فيه
اختر مشاركة التدريب التي جهزتها، ثم افتح جلسة معها:
smbclient //files.lab.test/Training -U 'LAB/reader'
داخل الجلسة اعرض محتويات الموقع الحالي:
ls
لو عندك مجلد تجريبي اسمه «وثائق» بالاسم التقني التالي، انتقل إليه ثم أعد العرض:
cd Documents
ls
المطلوب هنا تراقب أين تنفذ الأمر. بعض الأوامر تتعامل مع الخادم، وبعضها له علاقة بجهازك المحلي. هذا فرق مهم عندما تحفظ ملفًا أو تتحرك بين المسارات؛ لا تخلط مسار العمل على جهازك بمسار المشاركة.
في ملاحظاتك سجل الخادم والمشاركة والمجلد والحساب. عبارة «قدرت أشوف الملفات» وحدها ما تكفي لشخص يريد إعادة التجربة أو فهم نطاق النتيجة.
القراءة والكتابة سؤالان منفصلان
إذا كان ضمن تصريح اللاب قراءة الملف النصي الذي أنشأته، اختبر ذلك الملف وحده. لا تبدأ بتنزيل كل المجلدات لأن أول قائمة نجحت. نجاح قراءة ملف محدد دليل على تلك العملية لذلك الملف، في ذلك الوقت وبذلك الحساب؛ ليس حكمًا على كل ما تحت المشاركة.
أما اختبار الكتابة، فله أثر مختلف حتى لو كان ملفًا صغيرًا. في لاب تملكه تقدر ترتب تجربة بملف اختبار قابل للإزالة، لكن في مهمة عميل تحتاج يكون الإجراء مشمولًا ومحددًا. لا تستخدم الكتابة لمجرد أن أداة وضعت كلمة «قابل للكتابة» في نتيجة.
كذلك عرض أسماء الملفات ما يثبت القدرة على حذفها. كل عملية لها متطلبات، والأفضل تختبر أقل إجراء يجيب عن السؤال المتفق عليه.
ليش المشاركة تسمح والملف يرفض؟
في خادم ويندوز، صلاحيات المشاركة وصلاحيات نظام الملفات طبقتان لازم تراعيهما. لو سمحت المشاركة بالقراءة لكن أذونات الملف لم تسمح للحساب بالعملية، نجاح فتح المشاركة ما يتجاوز قيود الملف. والعكس أيضًا: امتلاك صلاحية على الملف محليًا لا يعني أن الوصول عبر المشاركة مسموح بالطريقة نفسها.
إذا كنت تدير خادم اللاب، اقرأ أذونات المشاركة من سياق إداري مصرح:
Get-SmbShareAccess -Name Training
هذا الأمر يوضح أذونات المشاركة، وليس بديلًا عن مراجعة أذونات المجلد والملف. طابق الهوية وعضوياتها قبل الاستنتاج؛ قد يصل السماح عبر مجموعة، وقد يؤثر إذن آخر في العملية التي تجربها.
بدل اقتراح فتح الصلاحيات للجميع، حدد أي طبقة تفسر الفرق، ثم ارجع للغرض الوظيفي المطلوب.
قارن الحسابين بدون ما تفسد التجربة
أنه جلسة الحساب الأول، ثم افتح جلسة منفصلة بالحساب الثاني. تأكد أنك غيرت الهوية فعلًا، وأنك تقارن نفس الخادم والمشاركة والمسار. تغيير الحساب والمسار وطريقة الاتصال معًا يجعل النتيجة أصعب تفسيرًا.
إذا الثاني رأى أسماء أقل، لا تعلن أن الملفات اختفت. وإذا الأول قرأ الملف والثاني رُفض، عندك مقارنة مفيدة على مستوى العملية. أما إن نجح الاثنان رغم أن توقعك مختلف، فراجع المجموعة التي منحت الوصول والإعدادات الفعلية، لا تفترض أن الأداة كسرت الحماية.
احتفظ بالوقت ورسالة النتيجة، وتجنب تكرار محاولات مصادقة فاشلة بسرعة. خطأ هوية يختلف عن رفض الوصول بعد قبولها، والتشخيص الصحيح يبدأ من هالتمييز.
وش تكتب في التقرير بعد هالتجربة؟
اكتب النتيجة بالمقدار الذي أثبته الاختبار: «تمكن حساب التدريب من عرض محتويات المشاركة وقراءة الملف التجريبي المحدد». وإذا كان هذا الوصول زائدًا عن المتوقع، اربطه بمالك البيانات والغرض الوظيفي ونوع المعلومات التي قد تتأثر، بدون فتح ملفات إضافية لإبهار القارئ.
أرفق أمرًا منقحًا ونتيجة واضحة، واذكر أن التحقق اقتصر على عينة إذا كان هذا الواقع. التوصية تكون مراجعة المجموعة أو الإذن الذي سبب الاتساع، مع إعادة اختبار الحسابين بعد المعالجة. هكذا تتحول الأداة من وسيلة لسرد أسماء إلى دليل يقدر فريق العمل يتصرف بناء عليه.
مرجع الأداة وأذونات المشاركة:
https://www.samba.org/samba/docs/current/man-html/smbclient.1
https://learn.microsoft.com/en-us/powershell/module/smbshare/get-smbshareaccess