تعیین پورتهای باز کامپیوتر خودتان:
قبلا به کمک پورت اسکنینگ (توسط ipeye، acw_spscan، nmap) یاد گرفتید که چگونه پورتهای باز یک کامپیوتر دیگر را مشخص کنیم. حالا میخواهیم درباره کامپیوتر خودمان این اطلاعات را پیدا کنیم. برای این کار یکی از دستورات زیر را به کار میبریم: netstat -an netstat -a فرق این دو دستور در این است که اولی پورتها را به صورت عددی و دومی به صورت معادل اسمی آن پورت مینویسد. مثلا معادل اسمی پورت 7 ، echo است. مثلا اگه netstat -an را تایپ کنم، به اطلاعاتی میرسم من دستور را موقعی اجرا کردم که به اینترنت متصل نبودم. اگر همین کار را در زمان اتصال به اینترنت انجام میدادم، یک سری سطرهای جدید هم اضافه میشد که مربوط به آن اتصال میشد. و نیز دقت کنید که من سویچ an- را استفاده کردم و پورتها به صورت عددی نمایش داده شده است که همین الان - الساعه - براتون توضیح میدم: اولین نکتهای که به نظر میرسد، نامی است که برای هر ستون نوشته شده است: Proto Local Address Foreign Address State - Proto : یعنی پروتکل، که میتواند TCP یا UDP باشد. - Local Address : نشاندهنده ip کامپیوتر خودمان و شماره پورتهاست. مثلا سطر اول میگوید که ip من 0.0.0.0 است (دقت کنید که من به اینترنت متصل نیستم) و اولین پورت باز (از نوع TCP با توجه به اول سطر) عدد ۷ است زیرا این به صورت 0.0.0.0:7 نوشته شده است که قسمت قبل از کاراکتر : ، ip است و بعد از کاراکتر :، پورت است. - Foreign Address : چون در این مثال از سویچ a- یا an- استفاده کردهایم، کاربردی ندارد. ولی بعدا خواهید دید که اگر از یک سویچ دیگر استفاده کنیم، میتواند مهم باشد. - State : وضعیت اتصال را نشان میدهد حالا اگه پورتها را یکی یکی بررسی کنید، میبینید که در پروتکل TCP ، پورتهای ۷، ۹، ۱۳، ۱۷، ۱۹، ۲۱ و... باز است و در پروتکل UDP ، پورتهای ۷، ۹، ۱۳، ۱۷، ۱۹، ۶۸ و ... باز است. حالا ممکن است بپرسید که این اطلاعات به چه دردی میخورد؟ جواب این است که دانستن این اطلاعات برای محافظت از خودتان در برابر همکارانتان (هکرها) است. مثلا اگر یک تروجان روی کامپیوتر شما نصب شده باشد، با این دستور میتوان آن را کشف کرد. ◊ نکتهای درباره Client Footprinting بحث درباره Server Footprinting (کسب اطلاعات درباره سرورها) هنوز باقی است. ولی الان به جایی رسیده اید که دیگه کمکم میشه درباره Client Footprinting صحبت کرد. یعنی میخواهیم درباره یک کلاینت مثلا کسی که مثل شما یک اتصال مثلا dial-up به اینترنت دارد و فرضا دارد با شما chat میکند، کسب اطلاعات کرد. در این مورد هم اولین نکتهای که باید کشف شود، ip اوست. در این جلسه میخوام بهتون یاد بدم که وقتی با یه نفر از طریق yahoo messenger به صورت pm چت میکنید، چطوری میتونید ip اش رو پیدا کنید. البته باید توجه کرد که این روش گاهی کار نمیکند. نیز فرض میکنم که فقط با یک نفر دارید چت میکنید. یکی از دستورهای زیر را تایپ میکنید: netstat -n netstat دستور اولی برای پیدا کردن ip طرف مقابل است و دستور دوم گاه میتواند اسم کامپیوتر او را برای شما نشان دهد. من دستور netstat -n را تایپ کردم و به نتایج زیر رسیدم: Active Connections Proto Local Address Foreign Address State TCP 195.219.176.126:1296 66.163.173.77:5050 ESTABLISHED TCP 195.219.176.126:1341 66.218.75.149:80 LAST_ACK TCP 195.219.176.126:1325 212.234.112.74:5101 SYN_SENT اولین کاری که میکنید این است که سطری را پیدا میکنید که در Local Address یا Foreign Address آن، پورت 5101 داشته باشد. در این مثال سطر آخر، سطر مورد نظر ماست. زیرا در ستون Foreign Address از سطر آخر، پورت آن 5101 است. البته اگر در ستون Local Address هم بود، فرقی نمیکرد. وقتی آن سطر را پیدا کردید، ip طرف مقابل را از ستون Foreign Address از همان سطر پیدا میکنیم. در این مثال ip طرف مقابل 212.234.112.74 است. اگر بهجای netstat -n ، از netstat استفاده میکردم، به نتایج زیر میرسیدم: Active Connections Proto Local Address Foreign Address State TCP artawill...:1296 cs55.msg.sc5.yahoo.com:5050 ESTABLISHED TCP artawill...:1298 dl3.yahoo.com:http TIME_WAIT TCP artawill...:1325 Majid:5101 SYN_SENT ملاحظه میفرمایید که همه ip ها به معادل های اسمی تبدیل شدهاند و در مورد همان سطر آخر به جای ip طرف مقابل اسم کامپیوتر فرد را مینویسد (البته در حالتی که طرف مقابل dial-up نباشد، قضیه فرق میکند.) حالا فرض کنید که یک pm دیگر هم اضافه میشود. و دوباره دستور netstat -n را تایپ میکنم. حالا نتایج زیر را میبینم: Active Connections Proto Local Address Foreign Address State TCP 195.219.176.126:1296 66.163.173.77:5050 ESTABLISHED TCP 195.219.176.126:1344 64.58.77.197:80 ESTABLISHED TCP 195.219.176.126:5101 212.234.112.74:3735 ESTABLISHED TCP 195.219.176.126:5101 194.225.184.95:1460 ESTABLISHED الان دوتا سطر دارم که دارای پورت 5101 باشد، و چون میدانم که 212.234.112.74 مربوط به نفر قبلی بود، پس 194.225.184.95 مربوط به pm دومی است. Social Engineering چیست؟ Social Engineering یا مهندسی اجتماعی، تکنیکی است که بر گول زدن مردم استوار است. در این تکنیک شما با انسانها سر و کار دارید و نه با کامپیوترها. حال اگه یک user رو مثلا گول بزنید، میتوانید اطلاعات او را مثل پسورد و ... را بدست بیاورید که نمونهای است از Client Hacking و اگه Administer یک سایت را گول بزنید و سایت را هک کنید، نمونهای است از Server Hacking. پس با مهندسی اجتماعی هم میشود کلاینت هک کرد و هم سرور. البته چون کلاینتها معمولا user های کمسوادتری (از نظر دانش هک) دارند، هک کردن آنها بسیار آسانتر است. این نکته را هم باید بگم که روش Social Engineering معمولا در مراحل اولیه هک استفاده میشود و بعد از آن باید مسیر را عوض کنید و از اطلاعات فنیتان برای ادامه کار بهره ببرید. ◊ مثالهایی از مهندسی اجتماعی در اینجا میخواهم تعدادی از تکنیکهای Social Endineering را براتون بگم. البته توجه کنید که اگرچه این روشها اطلاعات فنی زیادی نمیخواد ولی معمولا نتایج خوبی داره. و نیز بگم که این روشها خیلی گسترده است و هر بار به شکلی بروز میکند. اما نکته مشترکی که من در همهشان دیدم اینه که همیشه از شما میخواهند که پسوردتان را یک جایی وارد کنید و این دقیقا محلی است که فرق شما رو با یک user معمولی نشون میده. زیرا نباید گول بخورید (-; ۱- تلفن زدن : یکی از روشهای مهندسی اجتماعی است. هکر اطلاعاتی از افراد یک شرکت جمعآوری میکند و بعد با شرکت تماس گرفته و مثلا از فلان فرد میخواهد که پسورد را عوض کند. پیشرفتهترین متدهای این نوع هک توسط مشهورترین (و یکی از بهترین) هکرهای تاریخ، Kevin Mitnick اجرا شده است. ۲- مخ زدن برای ارسال فایل: مثلا با یک نفر چت میکنید و میگید که بیا عکس منو ببین! و به جای ارسال یک فایل تصویری، یک فایل اجرایی مثلا تروجان براش میفرستید. تا این مرحله کار شما به عنوان مهندسی اجتماعی است ولی مابقی (مثلا استفاده از تروجان فرستاده شده) دیگه Social engineering نیست. ۳- برای ما E-mail بزنید و ما پسورد E-mail کسی که شما میخواهید را براتون پیدا میکنیم: ممکنه در اینترنت به این نوع پیغامها برخورد کردهاید که مثلا میگوید: " به ما ایمیل بزنید، در سطر اول E-mail کسی که میخواهید ما براتون هک کنیم رو بنویسید، در سطر دوم E-mail خودتون رو، سطر آخر هم پسورد E-mail خودتون رو. ما پسورد E-mail ی که در سطر اول مشخص کردید براتون میفرستیم. " ممکنه عجیب به نظر برسه ولی خیلیها به همین راحتی هک میشوند. این دیگه از اون بهتریناش، چون یک تیره و سه نشون. ۲ تا آدرس E-mail برای فرستادن تبلیغات و نیز پسورد E-mail خودتون. ۴- فایل ضمیمه (attached) به E-mail را باز کنید: مثلا اینکه میگوید در این E-mail عکس من attach شده است باز کنید و ببینید. درحالی که فایل attach شده فایل تصویری نیست، بلکه یک فایل آلوده است. ۵- ساختن یک صفحه شبیه به سایتهای مشهور و درخواست login : مثلا ساختن یک صفحه شبیه به یاهو برای login درحالیکه این صفحه برای دزدیدن id و password شماست. در ادامه یک مثال برای این روش را بیان خواهم کرد. ۶- و ... ◊ یک مثال برای تکنیک شماره پنجم من یک همچین صفحهای ساختهام و روی سایت قرار دادهام و طریقه استفاده از اون رو براتون توضیح میدم: ۱- اول یک نگاهی به این صفحه بکنید تا منظورم رو متوجه بشین: http://www.KsN.com/onlinetools/yahoo/default.asp این صفحه بسیار شبیه به login page یاهو است ولی در واقع یک صفحه برای دزدیدن id و password است. ۲- برای ایجاد یک صفحه چنین برای خود در سایت من، اول باید Sign up کنید. برای اینکار باید به صفحه http://www.KsN.com/onlinetools/yahoo/signup.asp مراجعه کنید. اولین صفحه میگه که این سایت (یعنی من) مثل همیشه، هیچ مسوولیتی را قبول نمیکنم. بعد از کلیک روی لینک، میرید به صفحه دوم که از شما میخواد یک پسورد دلخواه وارد کنید ( نه پسورد یاهو ). از این پسورد بعدا برای login استفاده خواهید کرد. صفحه آخر یک عدد به شما میدهد که باید یادداشت کنید. ۳- در همان صفحه آخر که عددی برای شما مشخص میکند، دو تا آدرس هم میگوید. در مورد آدرس اول مثلا اگه شماره شما ۳۰ باشد، آدرس اول میشود: http://www.KsN.com/onlinetools/yahoo/default.asp?key=30&forward=xxxxx که باید برای کسی که میخواهید او را هک کنید باید بفرستید. به جای xxxxx باید آدرس سایتی را بنوبسید که بعد از اینکه شخص مورد نظر گول خورد و این صفحه را پر کرد، در مرحله بعدی به کجا برود. مثلا به یه شخص میگویید که بیا در گروه من عضو شو، حالا باید بهجای xxxxx آدرسی را وارد کنید که بهصورتی به گروه یاهو مربوط باشد ( تا شخص مورد نظر شک نکند ) مثلا میتوانید آدرس را به صورت http://www.KsN.com/onlinetools/yahoo/default.asp?key=30&forward=groups.yahoo.com به او میدهید. دقت کنید که در آدرسی که بهجای xxxxxx مینویسید، از //:http استفاده نکنید. ۴- آدرس دومی که در همان صفحه ذکر شده است، http://www.KsN.com/onlinetools/yahoo/login.asp است که برای دیدن لیست افرادی است که شما هک کردهاید. در این صفحه شماره و پسوردتی که در Sign up مشخص شدهاست را نوشته و وارد میشوید و میتوانید لیست را ببینید. دقت کنید که ممکن است بعضیها این کلک را متوجه شده باشند و بهجای id و password براتون بد و بیراه نوشتهباشند. ۵- حالا این id و pass ها رو با یاهو مسنجر تست کرده و وارد شده و برای دوستان فرد هک شده از هم پیغام میفرستید تا آنها هم کلک بخورند و این کار را ادامه میدهید. خدمت شما عرض کنم که این کار در واقع یک نوع کلاینت هکینگ به کمک مهندسی اجتماعی است. به این کار به عنوان یک تفریح نگاه کنید و نه یک هک جدی. در واقع میشه گفت مسخرهترین نوع هکی است که من تا حالا دیدهام (-; و آخرین نکته اینکه از این صفحه عاقلانه استفاده کنید. دوباره میگم که مسوولیتی را نمیپذیرم