شرح PCR , NFS

شرح RPC , NFS وازاي بيشتغلوا سوا , وازاي هيفيدك كاريد تيمر , وازاي تحمي السيستم لو انت Blue team



أولًا: RPC – Remote Procedure Call

ببساطة، RPC بيسمحلك تبعت أمر يتنفذ على جهاز تاني كأنك بتشغله عندك

الجميل هنا إنك مش محتاج تكون فاهم إزاي بيتنفذ الأمر من جوه، أنت بس بتبعت الطلب، والسيرفر يرد

في Linux، المسؤول عن تنظيم الكلام ده هو خدمة اسمها rpcbind (أو portmapper)

ودي بتشتغل على بورت 111 وبتحتفظ بقائمة بكل خدمة RPC شغالة والبورت اللي بتستخدمه

يعني لو عايز توصل لخدمة زي NFS، لازم الأول تسأل rpcbind: "هي شغالة فين؟"



ثانيًا: NFS – Network File System

NFS بتخلي جهاز Linux يشارك فولدر معين، وجهاز تاني يقدر يركبه ويتعامل معاه كأنه جزء من نظام ملفاته

التركيب (mount) بيتم من خلال أمر بسيط، وبعدين تقدر تقرا، تكتب، تنفذ حسب الصلاحيات اللي السيرفر مديهالك

المشاركة بتتم من خلال ملف إعدادات السيرفر (/etc/exports)، وفيه بيتم تحديد:

المسار المشترك

الأجهزة اللي تقدر تشوفه

الصلاحيات (read/write، squash، وغيرها)



إزاي RPC وNFS بيشتغلوا مع بعض؟

١. العميل بيكلم rpcbind على بورت 111

٢. rpcbind بيرد عليه بالبورت اللي NFS شغالة عليه

٣. العميل يبدأ يتعامل مع mountd و nfsd

٤. بيتم تركيب الفولدر المشترك

٥. العميل يتعامل معاه كأن الفولدر محلي

الموضوع بسيط جدًا… لكن لو الـ config مش مضبوط، بيفتحلك أبواب كبيرة



كـ Red Teamer أو Pentester، ده هيفيدك في إيه؟

▪️ الاستكشاف (Enumeration):

rpcinfo -p [target]: يعرض كل الخدمات والبورتات المسجلة في rpcbind

showmount -e [target]: يعرض الفولدرات المتاحة للمشاركة عبر NFS

▪️ Mount بدون صلاحيات:

لو السيرفر مش عامل تحقق على IP أو عامل Export بشكل عام، ممكن تركب الفولدر عندك بالأمر:

sudo mount -t nfs [target]:/share /mnt/share

▪️ سحب ملفات حساسة:

غالبًا بتلاقي فولدرات فيها:

سكريبتات cron

ملفات bash history

مفاتيح SSH

إعدادات قواعد بيانات

▪️ Privilege Escalation:

لو السيرفر بيستخدم no_root_squash، وراكب الفولدر كـ root:

ارفع SUID binary من جهازك

شغّله من السيرفر

تاخد root بسهولة

▪️ Lateral Movement:

الفولدرات المشتركة تعتبر وسيلة صامتة لنقل أدواتك أو ملفاتك من جهاز لجهاز

مش هتحتاج FTP أو SSH… وأغلب IDS مش بيراقب حركة NFS بشكل دقيق

▪️ UID Spoofing:

لو السيرفر بيمنح الصلاحيات بناءً على UID، تقدر تعمل يوزر بنفس الـ UID عندك، وتاخد نفس صلاحياته على الفولدر

أدوات مفيدة

rpcinfo, showmount, mount

nmap (بـ scripts زي: rpcinfo, nfs-ls, nfs-showmount)

tcpdump أو Wireshark لمراقبة الترافيك بين الأجهزة


سيناريوهات حصلت فعلًا

▪️ فولدر فيه سكريبت بيشتغل كل دقيقة (cron job)، اتعدل وبقي ينفذ أوامر

▪️ Backup قديم فيه secrets مخزنة في ملفات .env

▪️ سيرفر Dev شغال بمفاتيح SSH مكشوفة في فولدر مشترك

▪️ نُسخ shadow/passwd محفوظة بالخطأ في فولدر متاح للكل

▪️ نُفذت أدواتك على أكتر من جهاز من غير ما تنقلها بإيدك، بس من فولدر NFS واحد



ولو إنت Blue Teamer

ماتسيبش أي فولدر مشترك من غير تحديد IP أو Subnet

استخدم ro بدل rw، وفعّل all_squash قدر الإمكان

ماتستخدمش no_root_squash إلا للضرورة القصوى

راقب أي عملية mount أو تعديل من خلال logs زي /var/log/syslog

اقفل بورتات 111 و2049 من الفايروول إلا لو فيه حاجة محتاجاهم

#Sen00oo



 


حساباتي على منصات التواصل:

المنصةالرابط أو المعرف
فيسبوك[حسابي الشخصي]
يوتيوب[قناتي الرسمية]
تويتر (X)[Sen00oo]
تليجرام (شخصي)@Sen00oo
جروب تليجرام[انضم للجروب]
قناة تليجرام[تابع القناة]
جروب واتساب[انضم للجروب]

💰 للدعم المادي:

الطريقةالتفاصيل
InstaPaysen00oo@instapay
رقم الهاتف01272834923
PayPal[رابط PayPal ]

إرسال تعليق

أحدث أقدم

نموذج الاتصال