شلقت

مترجم يقوم بتحويل برنامج C إلى Shellcode Linux / X86
التحميل الان

شلقت الترتيب والملخص

الإعلانات

  • Rating:
  • رخصة:
  • GPL
  • السعر:
  • FREE
  • اسم الناشر:
  • Philippe Biondi
  • موقع ويب الناشر:
  • http://www.secdev.org/projects/etherpuppet

شلقت العلامات


شلقت وصف

مترجم يقوم بتحويل برنامج ج إلى Linux / X86 Shellcode Shellforge هو برنامج مكتوب في Python الذي يبني CHEALCODES من C. يتم إلهامه من Hellkit's Hellkit. وظائف Wrapper Wagper يتم تعريف مكالمات النظام في ملفات الرأس. يستخدم برنامج C بدلا من المكالمات LIBC. يستخدم ShellForge دول مجلس التعاون الخليجي لتحويله إلى مجمع. ثم يقوم ذلك بتعديلها قليلا، وتجمعه، واستخراج الرمز من الكائن، وقد يضيفه وإضافة محمل في البداية. اللوادر المتاحة هي، في الوقت الراهن: * XOR: تشفير shellcode لتجنب البايتات الخالية وإضافة بسيط فك تشفير XOR * Alpha: قم بإجراء CHEALCODE الأبجدية الرقمية تقريبا (انظر المثال) التطورات المستقبلية: * قم بإجراء CHEALFORGE قادرة على إنشاء CHEALCODES للحصول على المزيد من البندسين، أصلي أو باستخدام المبردات عبر البرامج المبردة * إضافة المزيد من اللوادر (وإنهاء ألفا لودر) مثال: هنا هو Hello World Program (Hello.c). # تشمل "تشمل / sfsyscall.h" int الرئيسية (الفراغ) {char buf [] = "hello world! n"؛ اكتب (1، buf، sizeof (buf))؛ مخرج (0)؛} يمكننا الحصول على shellcode الخام: $ ./shellforge.py hello.c ** تجميع hello.c ** ضبط رمز المجمع الأصلي ** تجميع تعديل ASM ** استرجاع رمز الجهاز ** مفتاح تشفير XOR ** مزورة كود القشرة x55x89xe5x83xecx24x53xe8x00x00x00x00x5bx83xc3xf4x8bx83x67x00x00x00x89x45xf0x8bx83x6bx00x00x00x89x45xf4x8bx83x6fx00x00x00x89x45xf8x0fxb7x83x73x00x00x00x66x89x45xfcx8dx4dxf0xbax0ex00x00x00xb8x04x00x00x00xc7x45xecx01x00x00x00x53x8bx59xfcxcdx80x5bxb8x01x00x00x00xc7x45xecx00x00x00x00x53x8bx59xfcxcdx80x5bx5bxc9xc3x48x65x6cx6cx6fx20x77x6fx72x6cx64x21x0ax00We يمكن اختباره: $ ./shellforge.py -tt hello.c ** تجميع hello.c ** ضبط الأصلي رمز المجمع ** تجميع ASM تعديل ** استرداد رمز الجهاز ** الحوسبة مفتاح التشفير XOR * * ShellCode مزورة! ** برنامج اختبار تجميع ** تشغيل اختبار البرمجة العالم! ** اختبار القيام به! عاد الوضع = 0We يمكن أن يكون كود القشرة جاهزة للC إدراج: $ ./shellforge.py -v0 -C hello.c غير موقعة شار كود القشرة [] = "x55x89xe5x83xecx24x53xe8x00x00x00x00x5bx83xc3xf4x8bx83x67" "x00x00x00x89x45xf0x8bx83x6bx00x00x00x89x45xf4x8bx83x6fx00" "x00x00x89x45xf8x0fxb7x83x73x00x00x00x66x89x45xfcx8dx4dxf0" "xbax0ex00x00x00xb8x04x00x00x00xc7x45xecx01x00x00x00x53x8b" "x59xfcxcdx80x5bxb8x01x00x00x00xc7x45xecx00x00x00x00x53x8b" "x59xfcxcdx80x5bx5bxc9xc3x48x65x6cx6cx6fx20x77x6fx72x6cx64" "x21x0ax00"؛ INT الرئيسي (الفراغ) {(((foil (*) ()) shellcode) ()؛ } يمكننا استخدام محمل XOR إلى x00 تجنب بايت في كود القشرة $ ./shellforge.py -v0 -x hello.cxebx0dx5ex31xc9xb1x75x80x36x02x46xe2xfaxebx05xe8xeexffxffxffx57x8bxe7x81xeex26x51xeax02x02x02x02x59x81xc1xf6x89x81x65x02x02x02x8bx47xf2x89x81x69x02x02x02x8bx47xf6x89x81x6dx02x02x02x8bx47xfax0dxb5x81x71x02x02x02x64x8bx47xfex8fx4fxf2xb8x0cx02x02x02xbax06x02x02x02xc5x47xeex03x02x02x02x51x89x5bxfexcfx82x59xbax03x02x02x02xc5x47xeex02x02x02x02x51x89x5bxfexcfx82x59x59xcbxc1x4ax67x6ex6ex6dx22x75x6dx70x6ex66x23x08x02We يمكن استخدام محمل ألفا أن يكون هناك كود القشرة أبجدية تقريبا (اعطني بعض الوقت للتخلص من اثنين آخر غير أبجدية بايت) $ ./shellforge.py -v0 -R --loader = ألفا hello.c hAAAAX5AAAAHPPPPPPPPah0B20X5Tc80Ph0504X5GZBXPh445AX5XXZaPhAD00X5wxxUPTYII19hA000X5sOkkPTYII19h0000X5cDi3PTY19I19I19I19h0000X50000Ph0A0AX50yuRPTY19I19I19I19h0000X5w100PTYIII19h0A00X53sOkPTYI19h0000X50cDiPTYI19I19hA000X5R100PTYIII19h00A0X500yuPTYI19I19h0000X50w40PTYII19I19h0600X5u800PTYIII19h0046X53By9PTY19 I19I19h0000X50VFuPTYI19I19h0000X5LC00PTYIII19h0060X5u79xPTY19I19I19I19h0000X5000FPTY19I19h2005X59DLZPTYI19h0000X500FuPTYI19I19h0010X5DLZ0PTYII19h0006X50Fu9PTY19I19I19I19h0000X5LW00PTYIII19h0D20X5Lx9DPTY19h0000X5000kPhA0A0X5ecV0PTYI19I19h0B0AX5FXLRPTY19h5550X5ZZZePTYI19 ؟؟ الكلاسيكية إكسيك / بن / ش: # تشمل "تشمل / sfsyscall.h" كثافة العمليات الرئيسية (باطلة) {شار * و[] = { "/ بن / ش"، 0}؛ EXECVE (A ، A، 0)؛} مثال أكثر تعقيدا: لجعل القشرة التي تقوم بمسح منافذ المحمر المحلي: #include "تشمل / sfsyscall.h" #include "تشمل / sfsocket.h" # Define First 1 # تحديد آخر 1024int الرئيسية (الفراغ) {بنية Sockaddr_in SA؛ int s، أنا؛ شار بوف ؛ sa.sin_family = pf_inet؛ sa.sin_addr.s_addr = 0x0100007f؛ أنا = الأول 1؛ اكتب (1، "ابدأ نهاية"، 4)؛ أغلق (1)؛ الخروج (0)؛}


شلقت برامج ذات صلة

asfpga.

ASFPPGA هو مجمع مكتوب للاستخدام في تصميم FPGA. ...

194

تحميل