مبحث یکم : مقدمه و تاریخچه
مبحث دوم: مراحل نفوذ کردن / جلوگیری از نفوذ
مبحث سوم: حملات شبکه ای
مبحث چهارم - کار عملی
مبحث پنجم - DHCP
مبحث ششم - وب و حملات مطرح در آن
مبحث هفتم - حملات DoS
مبحث هشتم - سیستم عامل
مبحث نهم - مهندسی اجتماعی
مبحث دهم - Vulnerability (آسیب پذیری)

جمع‌آوری اطلاعات از سیستم (شبکه) هدف.

این اطلاعات چه اطلاعاتی است؟ هر اطلاعاتی مثلا admin آن کیست؟ ساعت ورود و خروج کارمندان؟ چه ساعتی ِAdmin پای سیستم است؟ ممکن است سیستمی که می‌خواهیم بر آن نفوذ کنیم اصلا ایران نباشد. آن وقت مجبوریم نیمه شب کار کنیم که صبح آنجا باشد. Time Zone آن سیستم. همانطور که در قبل گفته شد هکرهای CIA، برای جمع‌آوری اطلاعات به زباله گردی اطراف شرکت موردنظر می پرداختند. برخی از اوقات در یک پروژه نفوذ نیاز به این است که دسترسی فیزیکی خود را به نحوی بالا ببریم. در بحث امنیت هم گفتیم که اولین بحث امنیت، Physical Security است. برخی اوقات نیاز است تا روتین ‌هایی که در ISMS سازمان طراحی شده است را چک کنید. ببینیم آیا با این ISMS ، می‌توانیم به عنوان یک کارمند خیلی سریع و راحت و ساده،‌استخدام آن سازمان شویم و به یک سری داده دسترسی پیدا کنیم. آیا می‌توان وارد سازان شد؟ ]البته همین جا به این نکته توجه شود که برخی از سازمان ‌ها بودند و هستند که قوانین امنیتی بسیار سختی دارند. اما وقتی وارد آن می شوی و مثلا در سالن انتظار آن منتظر می مانی، دیده می‌شود که کابل شبکه به طور آزاد رها شده است. خوب این مسئله یک دسترسی فیزیکی ایجاد می‌کند، و یا مثلا Rack یا سویچ شان به درستی محافظت نشده است[ . پس می‌توان هر اطلاعاتی را بدست آورد. مجدداً برای مثال نام admin، شماره شناسنامه ، شماره تلفن، آدرس منزل. حال این داده ‌ها کجا به کار می‌آیند؟ یکی از مهمترین جاهایی که به کار می‌آیند، در حدس زدن پسورد است. یکی از روش ‌های حدس پسورد (بدست آوردن پسورد) روش dictionary attack است. روش آن هم بدین گونه است که یک دیکشنری از لغات احتمالی که می‌تواند به عنوان پسورد set شده باشد،‌ایجاد می‌کنند. Dictionary attack خیلی سریعتر و پر کاربردتر از روش brute force است. پس این اطلاعات از بحث مشخصات admin، از اسم فرزندان admin‌ گرفته تا بحث اینکه سیستم را یک ping‌کنیم ببینیم جواب می‌دهد یا نه،‌نام دامنه به نام چه کسی ثبت شده است (un lookup, whois و…) و غیره را می توان بدست آورد.

دقت کنید که خیلی از مراحلی که در hacking انجام می‌شود،‌نیاز به ابزار وحشتناکی ندارد و نه نیازمند داشتن دسترسی بالا به در سیستم است. اکثر این اطلاعات در اینترنت، social network ها، Google وجود دارد. علت آن هم این است که اکثر افراد مراقب این قضیه نیستند، ممکن است یک فرد در خیلی از این شبکه ‌های اجتماعی (Facebook‌ و …linkedin) عضو باشد و بسیاری از اطلاعات خود را راحت در آن جا قرار داده باشد. بحث content management system ‌ها که یک بخش آن مسائل تحت وب است و یک بخش دیگر آن قسمت نظامی است. امریکا اولین بار در جنگ ویتنام از این مسئله استفاده کرده و بعد در جنگ عراق از آن به طور کامل استفاده کرد و کاری که انجام می‌شد این بود که روبات ‌ها و ابزارهایی را ایجاد کرده بود که این ابزارها متن وبلاگ ‌ها، پست ‌ها و comment ‌ها را می خواندند و از روی محتوای آن ‌ها تصمیم گیری  می‌کردند که مثلا الان جو غالب در عراق علیه یا له کیست؟ و …. نمونه بارز آن هم که درباره تمام ماها در حال انجام است همین gmail/ yahoo mail است. خودتان می توانید بررسی کنید. ایمیل بزنید به من (استاد) که مثلا سرور لینوکس چی شد؟ فردا ایمیل بزنید که آن مجازی سازی را انجام دادی؟ پس فردا ایمیلی بزنید که red hat می خواهید. روز ششم که می خواهید ایمیل بزنید کنار صفحه می بینید که تبلیغاتی می‌آید با این عنوان مجازی سازی یا سرور ‌های لینوکس و … بله . از متن نامه ‌های شما به محتوا پی می برند. به همین علت در ایران تصویب شد که مراکز حساس مثل مجلس و … ایمیل ‌های آنان مورد بررسی قرار گیرد.

به جرأت می‌توان گفت بسیاری از نفوذهایی که انجام گرفته به خاطر وجود این چنین اطلاعاتی بوده است و عدم رعایت سیاست امنیتی. ممکن است شما اطلاعات خود را در اختیار دیگران قرار می دهید. حال یا آن اطلاعات fake  (تقلبی) است و یا از آن اطلاعات در دادن پسورد استفاده نمی کنید. پس اطلاعات شخصی خود را در social / networkها و مجامع عمومی که به صورت مجازی قرار دارد،‌public نکنید.

تمرین: هر چقدر که می توانید درباره سایت latec.ir (lpiorg.ir) اطلاعات بدست آورید.

پاسخ: یکی از اولین اقدامات این است که خود سایت هدف دیده شود چرا که ممکن است سایت under construction (در دست ساخت و تعمیر) باشد. نکته دیگر این که یک سایت می‌تواند چند نام داشته باشد. مثل laitec.ir و نام دیگر آن lpiorg.ir. اگر اطلاعاتی بدست نیامد واژه ‌های جستجو را عوض کنید. مثلا اگر تا حالا عبارت hacking lpiorg.ir را جستجو می کردید حال عبارت(information about laitec.ir) information about ipiorg.ir را جستجو کنید و یا مواردی مثل: سازنده آن کیست؟ شرکت وابسته آن کیست؟ ISPی که پشتیبانی کننده آن است کیست؟ DNS آن کجاست . ایمیل و مشخصات admin چیست؟ mail sever ‌ها چه هستند؟ (البته به زیان انگلیسی جستجو کنید).

از خود وب سایت هدف هم می‌توان اطلاعاتی را بدست آورد. مثلا در انتهای وب سایت نوشته شده که این وب سایت توسط تیم x طراحی شده است. حال در باره آسیب پذیری ‌های پورتال x جستجو می‌کنیم. برای مثلا در جستجوی عبارات ذکر شده در بالا، Google وب سایت ‌‌هایی را معرفی می‌کند (شکل 1) که برخی از آن ‌ها در زیر آورده شده است. که اگر دقتی کنید، اطلاعات خوبی در آن ‌ها پیدا می کنید.

برخی از ابزارهایی که در ویندوز یا لینوکس هستند و می‌توان از آن ‌ها برای جمع‌آوری اطلاعات استفاده کرد.

Ns lookup

(Tracert (linux -> traceroute

Ping

( در Whois (linux

Nmap

Dig

telnet

نکته ‌ای که در جمع‌آوری اطلاعات وجود دارد این است که خیلی وقت ‌ها سازمان ‌ها یک سری اطلاعات نادرست (garbage) قرار می‌دهند. مثلا whois می گیرید، اما با یک اسم دروغین مواجه می شوید. یا اطلاعات تماس نادرست می بینید. در بحث جمع‌آوری اطلاعات تمام اطلاعات را می‌نویسیم. در مرحله بعد باید وجه اشتراک این اطلاعات را بدست بیاوریم. اگر بخواهید خود را درگیر جزئیات تمام اطلاعاتی که بدست آورده اید بکنید، عملیات نفوذ طولانی خواهد شد. پس در مرحله اول که شناسایی مقدماتی است، نباید بیشتر از مقدمات وارد شویم.

با استفاده از جستجوهای بالا و دستوراتی مثل (tracert) traceroute ، IP هایی را بدست می آوریم. (tracert) ، گام به گام هر دستگاهی که در سر راه قرار دارد را لیست می‌کند. برای مثال عبارت tracert yahoo.com را در cmd وارد کنید و نتیجه آن را ببینید. البته ابزارهای route گرافیکی نیز وجود دارند مثل visual traceroute یاgeographical route (که منطقه جغرافیایی سرور را می‌گوید) نیز وجود دارند.

با استفاده از وب سایت whatismyip.com آدرس IP خود را بدست آورید.

ممکن است خروجی traceroute yahoo.com برای دستگاه ‌های مختلف که در یک شبکه هستند (مثلا در یک سایت کامپیوتر، از 5 کامپیوتر مختلف دستور traceroute را اجرا کنیم) متفاوت باشد، علت آن این است که مسیریابی ‌ها می‌توانند متفاوت باشند (یعنی راه حل ‌های مختلف برای رسیدن به مقصد وجود داشته باشد). دوم اینکه ممکن است yahoo چند سرور در جاهای مختلف داشته باشد.

یکی از روش ‌هایی که بیشتر در قدیم که سیستم dial up استفاده می‌شد، war dialing بود یعنی در بخش جمع‌آوری اطلاعات شماره تلفن ‌هایی بدست می آوردند و سپس یک نفر با مودمش شروع به وصل شدن به این شماره تلفن ‌ها می‌کرد. ممکن است هر پروتکل احراز هویت (مثل RADIUS یا …) در آن سمت وجود داشته باشد ]که ما از آن خبر نداریم[ حال ممکن بود به مودمی وصل شویم که بخواهد ما را احراز هویت بکند پس می‌توانیم پی ببریم که آن طرف یک سروری یا … وجود دارد حالا می رویم به فاز brute force  یا هر کار دیگری که بخواهیم.

اسکرول به بالا