امنیت

می خوای از wifi من استفاده کنی؟

این پست در مورد خطرات حمله man-in-the-middle به مرورگرهاست، مخصوصا زمانی که داریم از شبکه های عمومی استفاده می کنیم. پیش فرض های این پست:

  • بیرون از خانه ایم
  • نوتبوک یا گوشی هوشمندمون همراهمونه
  • اینترنت نداریم
  • یه وایفای عمومی وجود داره که می تونیم استفاده کنیم
  • می خوایم اخبار رو چک کنیم
  • احتمالا ایمیلمون رو هم چک می کنیم (مسلما با اتصال  SSL)
  • مرورگر و افزونه هاش به روزه و کسی نمی تونه با استفاده از ضعف های امنیتی جدید ما رو هک کنه
  • جاوا اسکریپت مرورگرمون فعاله (معمولا اینجوریه)

خب بیایم ببینیم چه اتفاقایی می تونه برامون بیافته.

Sniffing

اولین کاری که هکر می کنه کنترل ترافیک شبکه ماست. می تونه بفهمه که چه سایت هایی رو داریم بازدید می کنیم و اطلاعات منتقل شده از طریق پروتوکول HTTP رو هم ببینه.

گرفتن شل جاوا اسکریپت

هکر نه تنها می تونه ترافیک ما رو ببینه بلکه می تونه اونهایی رو که با پروتوکول HTTP منتقل می شند رو دستکاری کنه. مثلا می تونه با تزریق یه کد در یک صفحه اینترنتی، یه شل جاوا اسکریپت روی مرورگر ما داشته باشه. کد تزریق شده در صفحه می تونه چیزی شبیه تصویر زیر باشه.

01 - java shell

می بینید که کدی با اسم socket.io به مرورگر ما تزریق شده. نمونه ای از اون کد خرابکار می تونه تصویر زیر باشه.

02 - Malicious code

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

خوندن کوکی ها

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

  • کوکی می تونه فقط برای یک دامنه خاص معتبر باشه. یعنی کوکی های گوگل در سایت یاهو بدون استفاده است.
  • آدرس سایت باید درست باشه. مثلا یک کوکی می تونه در  بخشی از سایت که آدرس /protected_stuff/ داره ممنوع باشه.
  • سرور می تونه کوکی رو نشان گذاری کنه یعنی در زمان ذخیره کردن بگه این کوکی Secure است و بنابراین مرورگر این اطلاعات رو فقط از طریق اتصال امن (مثلا TLS)  منتقل می کنه و هکر به اونها دسترسی نداره. هرچند اینکه یک سایت از کانکشن امن استفاده می کنه معنیش این نیست که کوکی ها رو Secure نشان گذاری کرده.

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

03 - cookie

اینجوری می شه کوکی غیرامن هر سایتی رو دزدید. نمونه ای از سایت هایی که با این روش می شه کوکیشون و اطلاعات مرتبط رو به دست آورد:

  • گوگل: ایمیل، اسم و تصویر
  • ویکی پدیا: اگر از اتصال امن استفاده بشه هیچ اطلاعاتی درز نمی کنه، در خیر اینصورت دسترسی کامل به اکانت
  • استک اورفلو: دسترسی کامل به اکانت
  • ولفرام آلفا: آی‌پی استفاده شده جهت لاگین، دسترسی کامل به اکانت از جمله تاریخچه جستجوها

دزدی پسورد

غیر از اینکه هکر می تونه اطلاعات منتقل شده سایت هایی که بازدید می کنید رو بخونه، می تونه از شیوه های پیچیده تری برای به دست آوردن پسوردهای ذخیره شده در مرورگر هم استفاده بکنه. یک سناریوی حمله می تونه این باشه که از همون شل جاوا اسکریپت استفاده کنه و با لود کردن یک فریم در صفحه و باز کردن صفحه لاگین سایتی که از HTTPS استفاده نمی کنه، مرورگر رو گول بزنه به پر کردن نام کاربری و پسورد و سپس با یک کد جاوا اسکریپت دیگه، اطلاعات تکمیل شده رو بدزده. برخی سایت ها با ست کردن X-Frame-Options در هدر از لود شدن صفحه شون در فریم جلوگیری می کنند که البته هکر می تونه اون هدر رو هم تغییر بده و دسترسی خودش رو باز کنه.

سرویس های ایمیل مثل web.de و GMX از فرم لاگین HTTP استفاده می کنند که اطلاعات رو به یک آدرس HTTPS ارسال می کنه. این راه در مقابل sniff امنه اما در برابر این روش حمله، آسیب پذیره. سایت wordpress.com هم این مشکل رو داره.
نمونه دیگه می تونه پسورد روتر باشه. هکر با این حمله می تونه پسورد ادمین روتر ما رو به دست بیاره.

مسموم کردن کش (Cache Poisoning)

در پروتوکول HTTP سرور می تونه به مرورگر بگه که نسخه ای از صفحه های بازدید شده رو ذخیره بکنه و در بزدید مجدد از اونها استفاده بکنه. هم فشار روی سرور رو کمتر میکنه و هم سرعت دیده شدن صفحات رو بالا می بره. هکر می تونه از این آپشن استفاده کنه و مرورگر رو مجبور به باز کردن صفحه ای بکنه و در پاسخ به درخواست مرورگر، کد مخربی رو بفرسته که مرورگر اون رو ذخیره کنه و مدتها در هارد ما باقی بمونه. مثلا کد جاوا اسکریپتی همچون نمونه بالا، به عنوان بخشی از یک سایت کش بشه و بعدها، حتی زمانی که دیگه از اون wifi مخرب استفاده نمی کنیم، در هر بار بازدید از اون سایت، کد مخرب نیز اجرا بشه.

مسموم کردن دانلود (Download poisoning)

فرض کنیم کاربر ویندوزیم و چندوقت یه بار با استفاده از مرورگر نرم افزاری رو دانلود و نصب می کنیم، برای مثال از sourceforge. اگر نگاهی به سورس صفحه دانلود این سایت بندازیم می بینیم که همیشه از این کد استفاده می کنه:

اگر زمان استفاده از wifi مخرب، هکر این کد رو مسموم کنه، تمامی دانلود های بعدی ما از این سایت به سرور هکر منتقل شده و فایل هایی خارج از سرورهای قانوی sourceforge دانلود می کنیم. معمولا این تغییر سرور قابل شناسایی نیست. سایت ها نیز از پروتوکول HTTP برای صفحه دانلود استفاده می کنند چرا که بیشتر از اینکه اطلاعات دانلود شده سری باشند، یکپارچه بودن فایل دانلود شده مهمه.

مسموم کردن دستور (Commandline snippet poisoning)

احتمالا با دیدن بخش بالا به خودمون گفتیم: “هه! من که کاربر لینوکسم و نرم افزار دانلود نمی کنم. از مخازن استفاده می کنم”. زیاد خوشحال نباشیم. بذارید یه سناریوی حمله دیگه رو ببینیم. احتمالا بارها پیش اومده که مشکلی توی سیستممون داشتیم و مشکل رو گوگل کردیم و یا توی سایت هایی مثل “انجمن اوبونتو” دنبال راه حل بودیم. به یک روش برخوردیم که با اجرای یک تیکه کد می تونیم مشکل رو حل کنیم. بعد هم با کپی کردن کدی که به نظر سالم بوده، اون رو در ترمینال اجرا کردیم. کافیه هکر یک کد جاوا تزریق بکنه به صفحه هایی که احتمالا بازدید خواهیم کرد و تیکه های کد (snippet) رو مسموم بکنه. این لینک شامل نمونه ای عملی از تکه کدیه که ظاهرش یه چیزه و نتیجه کپی کردن، چیز دیگه است.

سناریوهای حمله دیگه ای رو هم می شه متصور شد از قبیل استفاده از کدهای مخرب کش شده برای اسکن کردن شبکه داخلی و غیره.

راه حل

روش های مختلفی برای جلوگیری از آسیب های گفته شده وجود داره. متصل نشدن به wifi های ناشناخته صورت مساله رو حل می کنه. غیر فعال کردن اجرای جاوا اسکریپت در مرورگر، عدم بازدید از سایت های حساس وقتی به شبکه های غیر ایمن متصلیم و همچنین استفاده از مرورگر در حالت incognito که جلوی لو رفتن اطلاعاتی مثل پسورد و کوکی رو می گیره و اجازه نشستن کدهای آلوده در سیستم رو هم نمی ده.

منبع

استاندارد
امنیت

نقشه برداری کل اینترنت در ۴۵ دقیقه

محققان دانشگاه میشیگان ابزاری را آماده کرده اند که به یک سرور امکان می دهد با داشتن پورت شبکه گیگابایتی، کل اینترنت را اسکن کرده و طی ۴۵ دقیقه نقشه ۹۸ درصد آی‌پی های نسخه ۴ به دست بیاورد.

نمونه ای از نقشه ندهای ینترنت

نمونه ای از نقشه ندهای ینترنت

اسکن کردن ندهای اینترنت کار جدیدی نیست. محققان قبلا هم اینکار را انجام می دادند ولی مستلزم وقت چند ماهه و یا استفاده از شبکه ای از اسکنرها و رایانش ابری بود اما زدمپ با بهینه کردن استفاده از شبکه و برنامه نویسی هوشمندانه، این کار طی چند دقیقه انجام می دهد.

نویسندگان این برنامه در مقاله ای ادعا کرده اند که زدمپ ۱,۳۰۰ برابر سریعتر از ان‌مپ کار می کند. تفاوت اینجاست که زدمپ به جای داشتن چک لیستی از ندهایی که به جستجوها پاسخ داده اند، اطلاعات ندها را در پک های دریافتی رمزگذاری می کند.

همچنین این ابزار می تواند از همه ظرفیت شبکه استفاده کرده و مطابق مقاله نویسندگان با بهینه سازی ۹۷ درصدی پورت گیگابایتی، سرعت کار را چندین برابر کند.

این سرعت یک هدیه است به محققان اینترنت. برای مثال با همین ابزار و چک کردن شرکت های صادر کننده گواهینامه های امنیتی (Certificate Authorities – CA) توانستند کشف کنند که دولت کره ۱۳۰۰ گواهینامه اشتباه برای مدارس و موسسات آموزشی صادر کرده است.

البته زدمپ می تونه یک خطر عمده برای امنیت باشه اگر که سازندگان بدافزارها به این تکنیک دست پیدا کنند. برای مثال اسکنی انجام شد برای یافتن کلیه دستگاه هایی که از پروتکل Universal Plug and Play (UPnP)  پچ نشده استفاده می کنند. یگ ضعف امنیتی چندین ماه پیش دراین پروتکل اعلام شد. با استفاده از یک ماژول، دستگاههای پچ نشده پیدا شدند و نتایج نشان داد که ۲۰ درصد دستگاهههای متصل به اینترنت تا کنون پچ نشده اند. کل اسکن کمتر از ۲ ساعت زمان برد. یک نفوذگر ماهر می تواند با تزریق کد به دستگاههای گفته شده، به سرعت یک شبکه از روبوتها (botnets) ایجاد بکنه.

طبق گفته نویسندگان مقاله: “این دستگاههای آسیب پذیر می توانند با یک پکت UDP آلوده بشوند. کلیه ۳.۴ میلیون دستگاه می توانند در زمانی معادل زمان اسکن آلوده شوند. بسیار سریعتر از آنکه مسئولین شبکه بتوانند واکنشی نشان دهند و یا پچ ها روی میزبان های آسیب پذیر نصب شوند.”

پ ن: با توجه به اینکه تخصصی در مورد شبکه ندارم نمی تونم چیزی بیشتر نوشته ای که بهش استناد کردم اینجا بیارم. امیدوارم به زودی این ضعف دانشم رو برطرف کنم

منبع

استاندارد
امنیت

۵ ابزاری که هر مدیر امنیت شبکه‌ای باید بشناسد

اینکه مدیران امنیت شبکه ها، سایت ها و سرورها باید دید یک نفوذگر رو داشته باشند و بتونن به سیستم خودشون نفوذ کنند ایده جدیدی نیست. ۲۰ سال پیش دن فارمر و ویتس ونما در مقاله ای پیشنهاد دادند برای ارتقا امنیت سایتتون، هکش کنید.

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

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

آرمیتاژ (ARMITAGE)
برای سالها متا اسپلویت ابزار شماره ۱ در تست نفوذ به شبکه های کامپیوتری، سرورها، براوزرها و غیره بوده. آرمیتاژ یک رابط کاربری است برای متا اسپلویت که کار با اون رو بسیار راحت تر کرده. آرمیتاژ در واقع بسیاری از پیچیدگی های متا اسپلویت رو از کاربر آماتور پنهان کرده و با چند کلیک می توانید نقاط ضعف سیستم و یا شبکه رو پیدا کنید. پس از یافتن نقاط ضعف، این ابزار امکان نفوذ با استفاده از مجموعه اکسپلویت های “متا اسپلویت” رو به شما می ده. آموزش های بسیاری نیز براش وجود داره.

هشکت (HASHCAT)
بحث پسورد همیشه یک جنگ بوده بین کارشناسان امنیتی و کاربرها. توجیه کردن کاربرها به استفاده از نمونه خاصی از پسورد بسیار سخته. معمولا اولین انتخاب کاربرها اسم گربه و یا سگشون و یا اسمیه که به راحتی به یاد بیارن. بنابراین رمزگذاری پسوردها یکی مهمترین نکات در امنیت سیستمه. و چک کردن روش رمزگذاری با هشکت و تلاش برای شکوندن رمز یک پسورد، می تونه دید خوبی به کارشناسان امنیتی بده. این دید منجر می شه به انتخاب روش مناسب‌تری برای رمز گذاری.

وایفایت (WIFITE)
در بحث امنیت شبکه باید دقت کنیم که نقطه ضعف می تونه در هر بخشی از شبکه باشه. از سرورها و سایت شرکت تا پرینترهایی که کانکشن وایفای دارند. اتصال های وایفای همیشه یکی از نقاط جذاب برای هکرهاست. ضعف در شبکه وایفای می تونه منجر به نفوذ کامل و یا استفاده در روش های دیگر هک مانند فیشینگ بشه. وایفایت ابزاری است که با زبان برنامه نویسی پایتون نوشته شده و این توانایی رو به مدیر امنیت شبکه می ده که به راحتی نقاط ضعف رو پیدا کنه و حتی برای نفوذ به اونها اقدام کنه و با این اطلاعات به دست آمده برای بالا بردن امنیت اقدام کنه.

وایرشارک (WIRESHARK)
وقتی پای شبکه در میان باشه، اولین چیزی که به ذهن می رسه اسنیف کردنه. وایرشارک با رابط کاربریه بسیار خوبی که داره و همچنین توانایی کار با همه نوع شبکه، اولین گزینه اسنیفینگ و جمع آوری دیتاست. این ابزار به کارشناسان امنیتی این امکان رو می ده که نقاط ضعف، پروتوکل های باز و آسیب پذیر، اطلاعات مهمی که بدون رمزگذاری منتقل می شن و کلی موارد دیگه رو بررسی و پیدا کنند. این ابزار همچنین می تونه سیاست های فیلترینگ شبکه رو بررسی کارا بودن یا نبودنشون رو نشون بده.

بسته مهندسی اجتماعی (SOCIAL ENGINEERING TOOLKIT – SET)
این روزها خبرهای داغ هک های بزرگی که ارتش الکترونیک سوریه انجام می ده همه جا هست و خب اشاره ها به روششون، مهندسی اجتماعی و فیشینگ. مدیر توسعه SET نیز در کنفرانسی، اهمیت استفاده از همچین ابزاری رو نشون داده. ست مجموعه ابزاری است که به شما توانایی اجرای تکنیک های پیشرفته و هوشمندانه جهت فریب کاربرها و اقدام به هک رو می ده. با این ابزار می تونید صفحه لاگین جیمیل رو شبیه سازی بکنید و یا فایل PDF ای بسازید که با باز شدن کنترل سیستم کاربر رو بهتون بده. کارشناسان امنیتی با استفاده از این ابزار می تونند بدون کوچکترین خرجی و یا بدون به خطر انداختن شبکه، با انجام یک حمله ساختگی، کاربرهای شبکه رو تست بکنند و با استفاده از نتایج به دست آمده، آموزش های لازم رو براشون تدارک ببینند.

منبع

استاندارد