Geek

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

Geek

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

پیوندهای روزانه

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



۰ نظر موافقین ۰ مخالفین ۰ ۲۹ آذر ۹۳ ، ۲۱:۲۷

تشخیص ترافیک های رمز شده در جریان بسته ها
همان طور که میدانیم پروتکل های متعددی برای رمزگذاری بسته ها در جریان شبکه استفاده می شوند مانند IPsec یا SSL . این پروتکل ها در قالب RFC های مختلف ، استاندارد شده اند . در این پست قصد داریم تا این ترافیک ها را بر اساس استاندارهای تعریف شده در RFC ، در جریان شبکه شناسایی کنیم . شاید سوال کنید که این شناسایی کجا به کار می آید ؟  این شناسایی میتواند در نوشتن ابزارهایی که مسئول دریافت جریان داده ها و تحلیل آن هستند ( مثلا IDPS ها ) بسیار کارا باشد . همچنین ابزارهایی مانند Wireshark دقیقا بر اساس همین نوع شناسایی نوشته شده اند . ما در این پست تنها پروتکل های امنیتی را بررسی میکنیم حال آنکه ابزاری مانند Wireshark ، تمامی پروتکل ها را به همین شکل بررسی میکند و به در نهایت به صورت گرافیکی نمایش میدهند. در این پست قصد بررسی مروری ترافیک های IPsec ، SSL و SSH را به صورت کاملا خلاصه داریم

۱ نظر موافقین ۰ مخالفین ۰ ۳۰ آبان ۹۳ ، ۱۴:۳۲

Deep Packet Inspection

DPI به تکنولوژی گفته می شود که در آن بسته های شبکه یا جریانی از آنها به دقت بررسی می شوند و محتوای آنها استخراج می شود . سپس از این محتوا در جهت مقاصد گوناگون استفاده میشود.DPI معمولا در یکی از عناصر شبکه مانند روتر ، سوئیچ و ... انجام می شود. هر چند که میتوان یک سخت افزار مستقل برای ان در نظر گرفت تا سرعت پردازش بیشتر شود. به عنوان مثال Advantech پلتفرمی با نام NCP-7560 را فراهم کرده است که عملیات DPI را در یک سخت افزار مستقل انجام میدهد و برای انجام عملیات DPI نیز از موتور Qosmos استفاده میکند که در ادامه روش کار این موتور تشریح می شود. از رایج ترین موارد استفاده از محتوای استخراج شده از DPI میتوان به موارد زیر اشاره کرد.

۰ نظر موافقین ۱ مخالفین ۰ ۲۸ مهر ۹۳ ، ۲۰:۵۹

اصولا بایپس کردن سندباکس به این معنی هست که خارج از محدوده تعریف شده قادر به انجام عملیات و یا اجرای دستور نباشیم . زمانی که صحبت از بایپس سندباکس های پایتون میکنیم به این معناست که تعدادی از توابع و روال ها و دستورات غیرفعال شده اند و استفاده از آنها عملا غیرقابل استفاده می شود اما اگر موفق به اجرای کامندها به نحو دیگری شویم آنگاه سندباکس تعریف شده را بایپس کرده ایم. یک نمونه ساده از سندباکس های مبتنی بر پایتون به این صورت است که ورودی ها را برای توابع و دستورات خطرناک مانند eval چک کنیم و در صورت وجود آنها را نادیده بگیریم . این روش توسط encode کردن دستورات قابل bypass است. برای کسب اطلاعات بیشتر به این لینک مراجعه کنید. اصولا در تمام سیستم هایی که به دنبال رشته های خاص برای بلک لیست میگردند این مشکل وجود دارد. به عنوان مثال در IDS ها نیز زمانی که به دنبال رشته ای خاصی میگردند اگر به صورت Encode شده باشد آنگاه قابل شناسایی نخواهد بود که البته این مشکل با وجود decoder های تعبیه شده در IDS ها برطرف شده است.( در Snort این عمل به عهده preprocessor ها است )
با توجه به توضیحات بالا نیاز به راه حل بهتری داریم.2 تابع مهم که در فهم بهتر اشیای پایتون به ما کمک میکنند توابع dir() و type() در پایتون هستند. حال بیاید آنها را اجرا و نتیجه را ببینیم.


۰ نظر موافقین ۱ مخالفین ۰ ۳۱ شهریور ۹۳ ، ۲۳:۳۸

در این پست ، تولید پکت با مقادیر تصادفی در Scapy را بررسی می کنیم. این مقادیر تصادفی در نهایت میتواند منجر به ایجاد یک fuzzer خیلی ساده شوند. اصولا fuzzer در ساده ترین حالت خود ، تنها اقدام به ارسال مقادیر تصادفی میکند اما یک fuzzer خوب باید امکاناتی برای اتصال به debugger ها داشته باشد تا بعدا بتوان داده ارسالی که منجر به کرش یا خرابی شده است را شناسایی کرد .در Scapy چندین تابع برای تولید مقادیر تصادفی در رنج های مختلف وجود دارند که مهمترین این توابع عبارتند از :


RandNum()
RandShort()
RandInt()
RandLong()
RandString()
RandIP()
RandMAC()

۰ نظر موافقین ۰ مخالفین ۰ ۲۷ تیر ۹۳ ، ۱۱:۵۸
یکی از مباحثی که به نظرم جذاب می اومد، تست فازینگ پروتکل های مسیریابی بود به همین دلیل تصمیم گرفتم یک پست راجع بهش بنویسم. البته باز کردن این مبحث به صورت خیلی ریز واقعا زمان بر هست و من فقط تیتر مطالب وحداقل پیش نیازهای ممکن رو در این پست میگم تا در صورتی که به این مبحث علاقه مند هستید ادامه راه براتون آسون تر باشه .در کل پروسه فاز کردن پروتکل های شبکه تقریبا میتونه یک روال ثابت رو طی کنه . اینکه پکتی تولید و ارسال بشه که سرویس یا اپلیکیشنی که مسئول رسیدگی به پکت هست ، قادر به مدیریت درست پکت نباشه. اگر به آسیب پذیری هایی که برای محصولات سیسکو گزارش شده ، دقت کنید ، مشاهده میکنید که اغلب آسیب پذیری های امنیتی به همین صورت هستند. یعنی در گزارش آمده که یک سرویس روتر با دریافت یک پکت خاص ، کرش میکند و این کرش گاه حتی منجر به Reload شدن کل دستگاه میشه. به عنوان مثال اگر به CVE-2013-5475 دقت کنیم ، چنین چیزی را مشاهده خواهیم کرد. در این گزارش آمده است که DHCP با دریافت پکت خاص کرش میکند که این کرش بر روی کل دستگاه تاثیر گذار خواهد بود و حتی منجر به Reload شدن دستگاه خواهد شد که در نهایت حمله DoS اتفاق می افتد . در این پست میخواهیم بررسی کنیم که این آسیب پذیری ها چگونه کشف و اکسپلویت می شوند.
۳ نظر موافقین ۰ مخالفین ۰ ۱۵ تیر ۹۳ ، ۲۰:۲۱
در این چلنج یک فایل دامپ ترافیک شبکه داده شده بود که با wireshark شروع به بررسی فایل کردم . همون طور که از اسم چلنج بر میاد ، طراح سوال میخواسته صدای ضربه زدن رو تاکید کنه . من به ذهنم port knocking رسید. با این ذهنیت شروع به بررسی فایل کردم . در ابتدا کلمه flag رو توی فایل جستجو کردم تا ببینم آیا جایی از flag نام برده شده یا اشاراتی بهش شده یا نه که با متوجه شدم در داخل ترافیک به یک آدرس وب سایت مراجعه شده که در اونجا بخشی از فلگ وجود داره.

۱ نظر موافقین ۲ مخالفین ۰ ۲۳ ارديبهشت ۹۳ ، ۲۰:۵۰

در این چلنج هدف این بود تا اطلاعات مخفی داخل فایل بیرون کشیده شود .این چلنج در دسته چلنه های stegano و forensics قرار میگرفت و 100 امتیاز داشت . توی این چلنج یک فایل قرار داده شده بود که بعد از Extract کردن با تصویر زیر مواجه می شدید.

۱ نظر موافقین ۲ مخالفین ۰ ۲۳ ارديبهشت ۹۳ ، ۱۶:۱۹

طبق مستندات و آمار های شرکت سیسکو ، بیشترین آسیب پذیری های موجود در IOS های سیسکو مربوط به عدم مدیریت درست بر روی حافظه و تخریب حافظه  (memory corruption) می باشد. به عنوان مثال حملاتی که منجر به پر شدن buffer می شوند و به اصطلاح buffer overflow  پیش می آید و این امر موجب تخریب حافظه و ممکن است منجر به reload شدن دستگاه می شود. علت اصلی reload شدن دستگاه ها در IOS های سیسکو به دلیل ساختار سیستم عامل آن می باشد. ساختار IOS سیسکو به صورت یکپارچه (monolithic) طراحی شده است و مشکل در یک قسمت منجر به crash کردن کل دستگاه می شود ولی در سیستم عامل های ماژولار چنین مشکلی وجود ندارد و مشکل در یک قسمت تنها منجر به عدم سرویس دهی همان ماژول خواهد شد . در تصویر زیر ، ساختار کلی سیستم عامل های روتر های مختلف را مشاهده میکنید.


۴ نظر موافقین ۰ مخالفین ۰ ۲۲ فروردين ۹۳ ، ۱۶:۰۸
همان طور که در قسمت اول اشاره کردیم ، برای اینکه آدرس شروع توابع و کتابخانه ها ، با تکنیک حافظه مجازی همیشه یکسان خواهد بود و این مورد ، امنیت را به چالش میکشد. همچنین گفتیم که برای رفع آن از تکنیک ASLR در سیستم عامل ها استفاده می شود. ASLR در سیستم عامل لینوکس، آدرس بخش های heap ، stack و  memory mapping segment را به وسیله افزودن offset به آدرس شروع آنها ، تصادفی میکند. به عنوان یادآوری این بخش ها در حافظه سیستم عامل لینوکس ، نگاهی دوباره به تصویر آن از بخش اول این پست خواهیم داشت. بخش های ذکر شده با علامت فلش قرمز مشخص شده اند.

۲ نظر موافقین ۰ مخالفین ۰ ۱۵ فروردين ۹۳ ، ۲۱:۳۶