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

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

 

Reza.Black

Active Members
  • تعداد ارسال ها

    111
  • تاریخ عضویت

  • آخرین بازدید

  • روز های برد

    3
  • Country

    ایران

آخرین بار برد Reza.Black در شهریور 1

Reza.Black یکی از رکورد داران بیشترین تعداد پسند مطالب است !

اعتبار در سایت

7 Neutral

2 دنبال کننده

درباره Reza.Black

  • تاریخ تولد ۹۴/۰۸/۱۸

Converted

  • Name
    Reza
  • Main os
    Linux
  • Programming language
    خیر

آخرین بازدید کنندگان نمایه

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

  1. Reza.Black

    مکانیزم امنیتی seh

    به نام خدای بزرگ با سلام seh یا Structured Exception Handler یک نوع مکانیزم دفاعی برای جلوگیری از حملات overflow هست. زمانی که ما در مرحله ی فازینگ اپلیکیشن قرار داریم یا بهتر بگم در برنامه شکست ایجاد می کنیم. در واقع یک استثنا ایجاد کردیم چون که برنامه انتظار چنین رفتاری رو از قبل نداشت. یا دقیق تر بگم برنامه نویس پیش بینی های لازم امنیتی رو رعایت نکرد. مکانیزم دفاعی seh مانع از ایجاد اینگونه استثناها میشه. برای اینکه موضوع بیشتر قابل درک باشه یه تست ساده با هم انجام میدیم. من از برنامه ی معروف easy chat server برای این کار استفاده می کنم که از این مکانیزم استفاده می کنه. و مناسب کارهای تستی هست و در ورژن های گوناگونی هم وجود داره. حالا یه تیکه کد ساده به زبان روبی برای انجام فازینگ استفاده می کنیم. پروسه ی اجرایی برنامه رو به دیباگر Immunity متصل می کنم. حالا کد خودمون رو اجرا می کنیم. یه نگاه به رجیسترها به خصوص eip می کنم تا ببینم اتفاقی افتاده یا نه؟ همونطور که می بینید seh مانع از رونویسی این رجیستر شده و در واقع اون رو در حافظه ی مجازی خودش ذخیره کرده. که حد فاصل اون تا حافظه ی واقعی خود برنامه 4 بیت یا یک nible هست. البته راههای دور زدن این مکانیزم متعدد هست چون که بالاخره هر چیزی در حافظه دارای یک آدرس و یک نقطه ی ورود هست. (خوشحال میشم از نظرات دوستان استفاده کنم.)
  2. Reza.Black

    فازینگ

    به نام خدا با سلام فازینگ در واقع هنر ارسال داده ها به ورودی برنامه هاست. و از مقدماتی ترین تکنیک های اکسپلویت نویسی به شمار میره. ارسال داده های تصادفی برای تست اینکه یک برنامه چه واکنشی از خودش نشون میده. و آیا میشه به آدرس هاس حافظه دسترسی داشت و تغییرشون داد یا نه. فازینگ به طور کلی به دو دسته ی لوکال و ریموت تقسیم میشه. و فازرها به طور دستی و نیمه خود کار و خودکار مورد استفاده قرار می گیرن. در ضمن ابزار متا در کالی دارای ماژول های خوبی در این زمینه هست که کار رو برای ما تا حد زیادی راحت کرده. و می تونیم بر روی پروتکل های مختلف تست هامون رو انجام بدیم. که در مسیر زیر می تونید به اون ها دسترسی داشته باشید.
  3. Reza.Black

    آموزش برنامه نویسی [bash Script]

    در نهایت زیر منوی متا که سه تابع برای اون تعریف می کنم. و دستورات مورد نظر خودم رو داخلش قرار میدم. دقت کنید که من از آپشن x- برای پاس دادن دستور اجرایی به کنسول استفاده کردم. و دستورات رو با ; از هم جدا کردم. کمی دقت : آخر سرهم منوی اصلی رو فراخوانی میکنم. این هم محیط برنامه : قطعا این یک برنامه ی واقعی و عملیاتی نیست. و دارای اشکالاتی می تونه باشه مثل هر برنامه ی دیگه ای. ولی بازم تاکید می کنم که می تونه جنبه ی آموزشی واقعا خوبی داشته باشه. گذشته از این ها می تونه خیلی به صرفه جویی در زمان به ما کمک کنه. مگه نه؟
  4. Reza.Black

    آموزش برنامه نویسی [bash Script]

    به نام خدا با سلام ساخت یک ابزار متوسط : بهتر هست که کمی ابزار قبلی رو توسعه بدیم. که می تونه جنبه ی آموزشی خوبی هم داشته باشه. اسم این ابزار رو Dacoota گذاشتم. نمی دونم چرا ابزار ما دارای قابلیت های زیر هست : 1-جمع آوری اطلاعات از هدف 2-شناسایی آسیب پذیری های تحت وب و همین طور سیستم های مدیریت محتوا 3-شناسایی الگوریتم های هشینگ و ایجاد هش sha1 و md5 و همینطور کرک اون ها 4-هک ویندوز و همین طور ساخت پیلود کلاینت و پیلود تحت وب در ضمن تمامی این کارها به صورت اتوماتیک انجام میشه. اول یه بنر ساده برای اون تعیین می کنیم که این اختیاری هست. حالا یک منوی شرطی که کاربر با انتخاب هر کدوم به زیر منوها هدایت میشه. (در واقع آرایه ای از آرایه ها رو تعیین کردم) زیر منوی جمع آوری اطلاعات رو باز هم با ترکیب دستورات شرطی تعیین می کنم. و یک کلید برای برگشت به منوی اصلی ایجاد می کنم go back که سه کار portscanning و dns recon و whois رو برای من انجام بده. ولی همین طوری نمیشه باید سه تابع برای هر کدوم از این ها تعریف کنم. دقت کنید که ورودی ها به صورت readline و رشته ای هست. حالا نوبت به زیر منوی آسیب پذیری ها هست. و این کار در اصل توسط ابزار های wpscan و skipfish و nikto انجام میشه. پس برای هر کدوم به صورت مستقل تابع تعریف می کنم. در ادامه نوبت به زیر منوی کرک هست. باز هم توابع خودم رو تعریف می کنم. فقط دقت کنید که درون تابع crackhash یه دستور شرطی ساده قرار دادم تا کاربر بین الگوریتم sha1 و md5 یکی رو انتخاب کنه.
  5. Reza.Black

    آموزش کاربردی لینوکس

    (آشنایی اولیه با کرنل) کرنل در واقع هسته ی سیستم عامل محسوب میشه و وظیفه ی نظارت و مدیریت سیستم رو بر عهده داره. مدیریت حافظه و cpu و گذرگاههای ارتباطی تحت نظارت مستقیم کرنل انجام میشه. کرنل همیشه مورد توجه هکرها به ویژه هکرهای کلاه مشکی قرار داشت چون که مدیریت خود کرنل به منزله ی مدیریت کل سیستم هست. کرنل ماژول : کنترل همه چیز در دست کرنل هست مثل ایجاد ارتباط بین دیوایس های سخت افزاری و راه اندازی سرویس های اولیه و در گیر کردن داده های نرم افزاری. در بازه های زمانی مختلف ممکنه که کرنل دچار مشکلاتی بشه و همین طور ایجاد و ساخت دیوایس های جدید سخت افزاری باعث میشه تا کرنل هم احتیاج داشته باشه که بروز رسانی بشه. و ایجاد ماژول های تحت کرنل می تونه در این رابطه کمک زیادی کنه که در این مورد از لفظ LKMs استفاده می کنن. برای چک کردن ورژن کرنل خودمون می تونیم از دستور uname -a استفاده کنیم. که کرنل بیلد من 5.3.0 هست یکسری اطلاعات مفید دیگه هم داره که بی خیالش. برای مشاهده ی این که چه ماژول های کرنلی بر روی سیستم نصب هست از دستور lsmod استفاده می کنیم. و اگه نیاز به اطلاعات بیشتری در مورد هر ماژول رو بخوام می تونم از دستور modinfo استفاده کنم. که من اطلاعاتی در مورد ماژول باتری خودم بدست آوردم. بهینه سازی کرنل : این کار میتونه جنبه ی امنیتی خوبی داشته باشه. ابزار کاربردی به نام sysctl در لینوکس وجود داره که یکسری پارامترها رو در اختیار ما قرار میده. خوب یه نگاهی به این دستور بندازیم. که تعداد زیادی خطوط و البته پارامتر داره و فایل کانفیگ اون هم تو مسیر etc/ موجود هست. که با ویرایش و حذف و اضافه کردن دستورات می تونم کارهای جالبی رو انجام بدم. برای مثال net.ipv4.ip_forward=1 که عمل فوروارد کردن بسته ها رو بر روی پکت های دریافتی بر روی ورژن 4 ip انجام میده. که این موضوع تو حملات MITM خیلی مهمه. فقط کافی هست که کامنت ابتدای اون رو حذف کنم. و با دستور sysctl -p اون رو لود کنم. من در مورد اضافه کردن و یا حذف ماژول های کرنل و یا حتی نوشتن اون ها صحبتی نکردم. چون که هدف من فقط آشنایی شما بود بعدش کار با کرنل احتیاج به تخصص بالا در زمینه ی سخت افزار داره. در پایان : در مورد لینوکس حرف خیلی خیلی زیاده هر چقدر هم که یاد بگیری بازم کمه. با وجود تمام مشکلات تلاشم رو کردم تا تاپیک خوبی از آب در بیاد. راستش هک چیزهای زیادی رو به من یاد داد. ولی یه چیز خیلی مهم تر رو به من یاد داد. این که باید سخت کوش باشم و اگه هدفی دارم براش بجنگم. موفق باشید. یا علی
  6. Reza.Black

    آموزش کاربردی لینوکس

    (ویرایشگر قدرتمند VI) چند وقت پیش در حال گشت زنی تو یکی از انجمن های اونور آبی بودم که چشم به یه تاپیک خورد. که در مورد توصیه هایی برای هکر شدن بود که یکی از مواردی که گفته بود برای من خیلی جالب بود. نوشته بود که در مقابل یک هکر چیزی نباید به جز مانیتور وجود داشته باشه. راستش اولش متوجه نشدم و لی کمی بعد فهمیدم که منظورش چی هست. موضوع این هست که واقعا تمرکز آدم باید اون قدر بالا بره که فقط به مانیتور نگاه کنه و انگار که کیبوردی وجود نداره. در واقع یک هکر خوب هرگز به کیبورد نکاه نمی کنه. ولی ما برای اینکه به یک هکر خوب تبدیل بشیم احتیاج به ابزار خوب هم داریم. و چه ابزاری بهتر از vi این ابزار واقعا فوق العاده هست و واقعا برای حرفه ای ها تهیه شده. سرعت بالا و سبک بودن و انعطاف زیاد و استفاده از مودهای مختلف و همین طور همیشه در دسترس بودن vi رو منحصر به فرد کرده. vi همه ی خصوصیات ویرایش گرهای قدیمی خطی قدرتمند رو به ارث برده. این ابزار برای اولین یار در سال 1976 توسط bill joy ایجاد شد بعدها دستخوش تغییرات شد که در نهایت این تغییرات به vim ختم شد. که همون شکل توسعه یافته تر vi هست و در واقع این دو یکی هستن. خوب برای اجرا کافی هست که نام vi رو داخل ترمینال تایپ کنیم. که یکسری توضیحات مختصر و مفید داره همون طور هم که خودش ذکر کرده با فشردن کلید q می تونیم از اون خارج بشیم. ولی این به تنهایی کافی نیست و باید از دو نقطه در ابتدای اون استفاده کنیم. دو نقطه در vi مفهوم خاصی داره : (من برای تست های این بخش یه فایل ساده آماده کردم) vi دو مود اصلی داره که یکی مود دستور هست و با استفاده از اون می تونیم دستورات خودمون رو وارد کنیم. دقت کنید که در مود دستور هر کاراکتر مثل یک دستور عمل می کنه. و بعدی هم مود ادیتور هست که با اون متون رو وارد می کنیم. حالا فایلی رو که از قبل آماده کردیم رو با vi باز می کنیم. به صورت پیش فرض vi در مود دستور قرار داره و برای اینکه اون رو در حالت مود ادیتور قرار بدم از کلید i استفاده می کنم. کاراکترهای تیلدا در اول خطوط اشاره به خط های خالی داره. برای خروج از حالت مود هم می تونم از کلید ESC استفاده کنم. دستور های زیادی در مود دستور vi وجود داره که ما باید حداقل کار با اون ها رو یاد بگیریم. که اولین اون ها کلید های جهت نما هستن مثل : L یک جهت به راست H یک جهت به چپ J یک جهت به پایین K یک جهت به بالا که البته کار با اون ها به زمان احتیاج داره. برای اضافه کردن متون در پایان خطوط که خیلی هم کاربردی هست ما از کلید A استفاده می کنیم. که هم ما رو به پایان خط می بره و هم در مود ادیتور قرار میده. برای حذف کاراکتر در vi می تونم از دستور x استفاده کنم و با اضافه کردن شماره پیشوند می تونم تعداد کاراکترها رو تعیین کنم مثل 5x برای حذف یک خط هم از دستور dd استفاده می کنیم. در واقع حذف لفظ درستی نیست. چون که vi واقعا به این راحتی چیزی رو حذف نمی کنه و اون رو در حافظه ی موقت خودش قرار میده. با استفاده از دستور p می تونیم کاراکتر و خطوط رو به نوعی کپی کنیم. دستورات کپی در vi چند تا هستن مثل y که دیگه اون رو خودتون تمرین کنید. برای جست و جوی یک کاراکتر از دستور f استفاده می کنیم و در کنارش کاراکتر مورد نظرمون رو وارد می کنیم. که من تو خط اول به دنبال کاراکتر G بودم. برای جست و جوی یک کلمه هم می تونیم از اسلش استفاده کنیم. با vi می تونیم چندین فیل رو به طور همزمان باز کنم و بین اون ها سوییچ کنم و کارهام رو انجام بدم. شیوه های مختلفی وجود داره که من از بافر برای این کار استفاده می کنم. که بعد بافر شماره فایل دلخواه خودم رو بر حسب تعداد فایل های باز شده ی اولیه قرار میدم. برای ذخیره ی کار و نتایج خودم هم از دستور w استفاده می کنم. حرف در مورد vi زیاد هست فقط سعی من آشنایی شما بود و گرنه کار با اون احتیاج به تلاش واقعی داره...
  7. Reza.Black

    آموزش کاربردی لینوکس

    یه کمی استراحت کنم
  8. Reza.Black

    آموزش کاربردی لینوکس

    (عبارات منظم) عبارات منظم عباراتی هستن که ما با استفاده از اون ها می تونیم بر روی متون کارهای زیادی رو انجام بدیم چون که خیلی انعطاف پذیر هستن. در واقع عبارات منظم مجموعه ای از نمادها هستن که برای شناسایی الگوهای پیچیده به طور دقیق به کار میرن. و این کار باعث افزایش کارایی و راندمان میشه. متا کاراکترها : متا کاراکترها در واقع کاراکترهای ویژه ای هستن مثل ? - () * + . و برای ایجاد الگوهای جستجو کاربرد زیادی دارن. کاراکتر نقطه . این کاراکتر اشاره به همه ی کاراکترهای تطبیق شده در وضعیت کاراکترها داره. ولی باید قبل از اون با دستور grep آشنا بشیم این دستور برای نمایش عبارات منظم خیلی کاربردی هست. و با به کارگیری یک عبارت جای اون رو در تو متون مختلف می تونیم پیدا کنیم (تو تاپیک آموزش برنامه نویسی بش اسکریپت در موردش صحبت کردم.) من از قبل یک فایل برای تست های این بخش آماده کردم. برای استفاده از متا کاراکترها باید اون ها رو داخل تک کوتیشن قرار بدیم چون که بش فکر می کنه قصد ما بسط دادن هست و با ' این عمل رو خنثی می کنیم. یه مثال ساده : من می خوام که فایل هایی که در اون ها عبارت zip. موجود هست رو پیدا کنم. دقت کنید که نقطه در اینجا به عنوان متا کاراکتر عمل می کنه و نقش پسوند رو نداره. و نقطه اشاره به هر کاراکتری در موقعیت موجود داره. کاراکترهای لنگری : دو کاراکتر $ و ^ در عبارت های منظم رفتاری شبیه به لنگر رو دارن و عمل تطبیق در ابتدا و انتهای خطوط رو برای ما انجام میدن. برای تطبیق در ابتدا ^ و برای تطبیق در انتها $ این هم یه مثال : کاراکتر براکت : انتخاب کردن یک کاراکتر از یک مجموعه می تونه حق انتخاب های بیشتری رو به ما بده. ما با استفاده از کاراکتر [] به صورت مجموعه ای می تونیم موارد تطبیق رو انتخاب کنیم. دقت کنید : کلاس کاراکتری : این کلاس ها در واقع برای افزایش کارایی و سرعت عمل ایجاد شدن. این کلاس ها از استاندارد POSIX استفاده می کنن. برای انتخاب مجموعه ای و همین طور محدوده گیری خیلی مناسب هستن. مثل : [[:alnum:]] برای کاراکترهای عددی الفبایی [[:alpha:]] کاراکترهای الفبایی [[:cntrl:]] برای کاراکترهای کنترلی تعداد این ها بیشتر از این ها هست و فقط چند مورد مهم رو مثال زدم. برای مثال من از digit برای ایجاد الگوی عددی بین 0 تا 9 استفاده کردم. حالا به این مثال دقت کنید.
  9. Reza.Black

    آموزش کاربردی لینوکس

    (متغیر های محیطی) هر کاربر لینوکسی که ادعای این رو میکنه که من لینوکسی هستم. باید با مفهوم متغیرهای محیطی و کار با اون ها آشنا باشه. متغیر های محیطی شامل یک کلید و یک مقدار هستن که اطلاعات حیاتی مربوط به بدنه ی شل رو در خودشون ذخیره می کنن. برای مشاهده ی این متغیرها در شل می تونیم از دستور printenv استفاده کنیم. ما می تونیم به طور مجزا به هر کدوم از اون ها اشاره کنیم. البته می تونیم مقدار هر کدوم هم تغییر بدیم. برای مثال متغیر محیطی به نام HISTSIZE که تعداد دستورات وارد شده رو در history سیستم ذخیره می کنه که از نظر امنیتی مهم هم هست. من می تونم مقدار اون رو صفر کنم تا این عمل رو خنثی کنم. اگه از کلید های جهت نمای بالا و پایین استفاده کنید میبینید که کار نمی کنه که البته طبیعی هم هست. ولی اگه من به نشست فعلی خودم در ترمینال پایان بدم مقدار HISTSIZE به مقدار قبلی بر می گرده. باید اون رو اکسپورت کنم با دستور export که تو فایل های استارت آپ شخصی کاربر به نوعی هک بشه. من با این متغیر ها می تونم کارهای زیادی رو انجام بدم مثل شخصی سازی خط فرمان خط فرمان و شل به صورت پیش فرض حاوی اطلاعات یوزر و هاست مربوطه و مسیر دایرکتوری جاری هست. برای تغییر اون ما باید به متغیر محیطی PS1 مراجعه کنیم که اطلاعات مربوط به نمایش شل رو در خودش نگه داری میکنه. این متغیر مارک های گوناگونی داره مثل : u\ که اسم کاربر جاری هست. h\ همون اسم هاست هست. w\ نام اصلی دایرکتوری جاری. برای مثال فقط من می خوام که ترمینال خودم رو تا حدودی شبیه به cmd ویندوز کنم. می تونم به راحتی این کار رو انجام بدم دقت کنید. اگه دوست داشته باشم می تونم اکسپورتش هم کنم.
  10. Reza.Black

    آموزش کاربردی لینوکس

    (مدیریت سرویس ها در لینوکس) یک سرویس در واقع یک اپلیکیشن هست و این سرویس وظیفه ی اجرا شدن یک کار رو برعهده می گیره. اجرای یک سرویس می تونه به صورت فعالانه و یا غیر فعالانه باشه. بیشتر سرویس های معروف مثل openSSH یا apache web server یا mysql به صورت پیش فرض در اکثر توزیع های لینوکسی از قبل نصب هستن. و احتیاجی به نصب اون ها نیست به خصوص کالی که در این زمینه عالی هست. سرویس openSSH : ssh یا secure shell مشکل موجود در پروتکل های قدیمی رو تا حد زیادی حل کرده و برای ایجاد یک بستر ارتباطی امن به صورت ریموت واقعا کارایی خوبی داره. ssh اتصالات رو رمزنگاری می کنه و همین طور از فرآیند لاگین هوشمند استفاده می کنه که از نظر امنیتی واقعا کاربردی هست. قبل از استفاده از ssh باید سرویس مربوط به openSSH رو به اجرا در بیاریم و می تونیم ببینیم که آیا به درستی اجرا شده و یا نه؟ برای ایجاد اتصال به یک میزبان ما احتیاج به یک نام کاربری و پسورد مورد نظر داریم. و بعد از لاگین موفق می تونم دستورات خودم رو وارد کنم. و در نهایت هم خارج بشم. آپاچی وب سرور : آپاچی وب سرور که سهم زیادی رو از وب سرورهای دنیا رو به خودش اختصاص داده برای مدیریت و تولید محتوای وب کاربرد داره. ما می تونیم از اون برای مقاصد آموزشی هم استفاده کنیم و برای اجرای اون در سیستم از این دستور استفاده می کنیم. زمانی که این سرویس به اجرا درمیاد ما با وارد کردن آدرس لوکال هاست در مرورگرمون می تونیم صفحه ی پیش فرض اون رو مشاهده کنیم. اگه با زبان های وب هم آشنا باشیم می تونیم به مسیر این فایل در سیستم بریم و اون رو ویرایش کنیم که می تونه جنبه ی آموزشی داشته باشه. دیتابیس : دیتابیس ها در توسعه ی اپلیکیشن های وب همیشه نقش زیادی داشته و برای نگهداری اطلاعات به صورت ساخت یافته و منظم طراحی شدن. دیتابیس ها همیشه پاشنه ی آشیل برای نفوذ هکرها بودن و هستن. خیلی از سیستم های مدرن مثل مدیریت محتوا بدون اسفاده از دیتابیس نمی تونن واقعا کار کنن. برای اجرا اون رو استارت می کنیم. که سرویس مربوط به mysql هست و برای ورود احتیاج به احراز هویت داریم که دقت کنید که پسورد روت پیش فرض خالی هست پس فقط به جای پسورد اینتر میزنیم. اگه دستورات SQL رو هم بلد باشیم می تونیم دستورات خودمون رو وارد کنیم. مثل : show databases که لیست دیتابیس ها رو به من نشون میده. می تونم پسورد پیش فرض روت هم تغییر بدم برای امنیت بیشتر
  11. Reza.Black

    آموزش کاربردی لینوکس

    (مدیریت شبکه در لینوکس) شبکه رو خیلی دوست دارم. راستش حدود سه سال پیش که هک رو جدی گرفتم کارم رو با شبکه شروع کردم و واقعا هیچی در مورد برنامه نویسی و یا لینوکس نمی دونستم و واقعا عشق شبکه بودم. اصلا مهم نیست که شما یه کاربر لینوکس باشید و یا ویندوز و یا اصلا هر دو آشنایی با شبکه جز الزامات هست اینکه حداقل بتونیم شبکه ی خودمون رو مدیریت کنیم کافی هستش. دستورات کار با شبکه واقعا خیلی زیاد هست ولی من مهم هاش رو توضیح میدم. اولین دستور و پر کاربردترین دستور | دستور ifconfig هست که با استفاده از اون ما می تونیم اطلاعاتی در مورد رابط شبکه ی خودمون و نرخ انتقال دیتا و چیزهای دیگه رو مشاهده کنیم. که مثلا رابط eth0 که همون Ethernet ما هست و یکی از مهمترین اطلاعات که در واقع ip ما هست در خط دوم ذکر شده. (تغییر اطلاعات شبکه ی ما) این کار تو شبکه های لینوکسی خیلی محسوس هست و یکی از روش های اون می تونه تغییر ip ما باشه مثلا برای جلوگیری از حملات dos که این کار واقعا می تونه بار اضافی رو از سرور برداره. البته این خودش یه بحث جالبی هستش که اگه شد به صورت تخصصی در موردش صحبت می کنم. ما دستور ifconfig رو میشناسیم و از همین دستور می تونیم برای این کار استفاده کنیم. اول خود دستور و بعد رابط شبکه و بعد هم ip جدید : مفهوم مک آدرس : مک آدرس یا mac یک نوع شناسه برای تشخیص دیوایس های داخلی شبکه برای رهگیری و تبادل دادها که در لایه های پایین شبکه کاربرد داره. بیشتر حملاتی که در شبکه مثل شنود کردن اتفاق می افته در واقع از همین مک آدرس استفاده میشه. برای تغییر و یا جعل مک آدرس باز هم می تونیم از دستور ifconfig استفاده کنیم که دقت کنید hw اشاره به دیوایس hardware داره. دستور معروف ping : پینگ اساسا برای برای عیب یابی شبکه کاربرد داره واگه قصد داشته باشم که ساده اون رو توضیح بدم. این دستور یک بسته رو به یک میزبان در شبکه ارسال می کنه این بسته ها از نوع icmp هستن البته خیلی از سیستم ها و فایروال ها این پکت ها رو فیلتر می کنن. یه مثال خیلی ساده : دستور netstat : این دستور برای تست آمار شبکه خیلی کاربرد داره این دستور آپشن های گوناگونی داره. برای مثال آپشن r- که می تونم جدول روتینگ کرنل شبکه رو مشاهده کنم. کمی در مورد dns : دی ان اس که یکی از پروتکل های معروف شبکه هست برای ما کار ترجمه ی آدرس های ip رو انجام میده. سرورهای dns تو سرتاسر دنیا با هم در ارتباط هست که به اون عملکرد سلسله مراتبی dns میگن. ابزار فوق العاده ای به نام dig در کالی وجود داره که ما با اون می تونیم اطلاعات مربوط به دامین میزبانمون رو بدست بیاریم. این ابزار آپشن های مختلفی هم داره مثل ns که مربوط به اطلاعات nameserver هست و یا mx که مربوط به سرورهای ایمیل هست. یه تست خیلی ساده بر روی یکی از انجمن های داخلی انجام دادم. برای تغییر dns خودمون هم باید فایل resolv.conf که تو مسیر etc/ وجود داره رو تغییر بدیم. در مقابل عبارت nameserver می تونم آدرس dns دلخواه خودم رو بنویسم که من از dns پابلیک گوگل استفاده کردم.
  12. Reza.Black

    آموزش کاربردی لینوکس

    (رخدادها و آمار لاگ) ما باید به عنوان یک کاربر لینوکس از وقایع و رخدادها و خطا ها در سیستم خودمون آگاه باشیم. یک هکر حرفه ای حتی نیاز به اطلاعات خیلی جامع از هدف نداره و تنها با مشاهده ی فایل های لاگ به جا مونده از قبل و یا کم اهمیت می تونه به هدف خودش نفوذ کنه. ابزار rsyslog : ما از این ابزار قدرتمند در لینوکس می تونیم برای ثبت رخدادها در سیستم استفاده کنیم که تو توزیع های مختلف اندکی اسم اون متفاوت هست. این ابزار و همچنین پروسه های والد اون به صورت روتین هنگام پایه گذاری اولیه کرنل در فراخوانی های سیستمی به اجرا در میان. خوب اول ما باید ببینیم که این دستور در کجای سیستم ما قرار داره؟ که خط اول فایل کانفیگ هست و همین هم برای ما کافی هست. فایل رو با یک ویرایش گر ساده متن مثل nano باز می کنیم. مطالعه ی این فایل تو درک کار با اون خیلی به ما کمک می کنه که تو این مقطع زمانی کاری به اون نداریم. و به طور کلی این ها یکسری قواعد هستن برای مثال اکشن ها که ارسال و جای فایل های لاگ مهم رو نشون میده. پاک کردن آمار لاگ از فعالیت هامون : باز کردن فایل های لاگ که عموما در مسیر var/ قرارداره و پاک کردن و یا حتی null کردن اون ها می تونه بعضی موقع ها خوب باشه. ولی اگه آمار لاگ کاربرها واقعا زیاد بود وبحث مجوز ها رو هم داشتیم چی؟ راه بهتر استفاده از ابزار shred هست (یه کاربر خوب لینوکس همیشه قبل از هر گونه اقدامی در مقابل هر فایلی تمامی جوانب رو در نظر می گیره) shred برای ما عمل رونویسی فایل رو به صورت عالی انجام میده حتی می تونیم مجوزها رو هم با اون تغییر بدیم با گزینه ی f- و یا n- که مقاطع زمانی برای کد کردن انتخاب کنیم. این هم یه مثال ساده : برای غیر فعال کردن لاگینگ در سیستم ما می تونیم سرویس مربوط به rsyslog رو متوقف کنیم که این هم خوبه و هم بد.
  13. Reza.Black

    آموزش کاربردی لینوکس

    (آرشیو و فشرده سازی) نگهداری و ایمن سازی داده ها تو لینوکس اهمیت زیادی داره و ایجاد آرشیو و فشرده سازی در واقع یک راه حل ساده برای نگهداری از اون ها به شمار میره. به فرآیند جمع کردن فایل ها و متعلقاتشون در یک قالب منظم آرشیو میگن. حتما شما فایل هایی با پسوند tar. رو دیدید که نشون دهنده ی یک آرشیو هستنن. ما در لینوکس از دستور tar که مخفف tape archive هست برای این کار استفاده می کنیم. این دستور چند وضعیت داره : c که ایجاد آرشیو از فایل ها و همین طور پوشه هاست. x استخراج کردن لیست آرشیو. t لیست کردن محتویات آرشیو. برای مثال من سه فایل به نام های myfile myfile2 myfile3 دارم. از دستور tar و گزینه های اون می تونم برای ایجاد آرشیو به یک نام دلخواه استفاده کنم. و برای دیدن محتویات آرشیوم. و همین طور برای استخراج محتویات آرشیوم. و اما فشرده سازی : به فرآیند حذف اضافات در یک نوع داده ی منحصر به فرد فشرده سازی میگن. بارها برای ما پیش اومده که که فایلی رو به دلیل حجم اون نمی تونیم در حافظه منتقل کنیم و یا بر روی بستر شبکه انتقال بدیم. ابزارgzip یه ابزار فوق العاده برای فشرده سازی فایل ها هست که فایل اصلی رو با نسخه ی فشرده ی اون جایگزین می کنه. و معکوس اون هم دستور gunzip هستش که برای بازیابی فایل اصلی به کار میره. این هم یه مثال ساده :
  14. Reza.Black

    آموزش کاربردی لینوکس

    (مدیریت پروسه ها در لینوکس) مدیریت پروسه ها در لینوکس در واقع یه بحث خیلی تخصصی هست و اون قدر این بحث مهم هست که نمی دونم از کجا شروع کنم. بیشتر کد های مخربی که تولید میشه به خصوص در سطح کرنل از همین پروسه ها در واقع سو استفاده می کنن. چون که پروسه ها هم مثل فایل ها دارای مجوز هستن. اولین چیزی که باید بدونیم این هست که هر پروسه یک شناسه داره که به اون pid میگن. برای دیدن پروسه های فعال در سیستم از دستور ps استفاده می کنیم. لیست زیادی نیست البته شامل خود ps هم هست. اما برای دیدن لیست تمامی پروسه های فعال بر روی سیستم از گزینه ی aux بدون (-) استفاده می کنیم! که تصویر جامع تری رو به ما میده. که اطلاعاتی مثل زمان اجرای پروسه و وضعیت پروسه و میزان استفاده از cpu و حافظه رو در اختیار ما قرار میده. دونستن وضعیت یک پروسه در سیستم خیلی مهمه برای مثال پروسه ای در وضعیت R یعنی در حال اجرا و یا S در حالت خواب و منتظر یک رویدادی در سیستم هست. اگه قصد دارید که اطلاعات پویا تری رو از پروسه ها بدست بیارید می تونید از دستور top استفاده کنید. با این دستور می تونم هر لحظه از فعالیت سیستم آگاه باشم چون که هر 3 ثانیه خودش رو آپدیت می کنه البته میشه این زمان رو هم تغییر داد. نابودی یک پروسه : بعضی اوقات یکسری پروسه ها در سیستم عامل ما باعث عدم ناپایداری میشن و در نتیجه موجب اجرای یک فعالیت مخرب بر روی سیستم ما میشن. که به اون ها zombie process هم میگن و ما ناچاریم که اون ها رو متوقف کنیم. برای متوقف کردن یک پروسه ما از دستور kill استفاده می کنیم و این دستور یکسری سیگنال داره که ما با استفاده از اون ها عملکرد یک پروسه رو تعیین می کنیم. مثل SIGINT با آپشن 2 که همون Interrupt یا وقفه هست و یا SIGTERM با آپشن 15 سیگنال حذف و همین طور سیگنال پیش فرض هم هست. و همین طور SIGKILL با آپشن 9 که من اسم اون رو گذاشتم تیر خلاص. پروسه هایی که خیلی در حالت درگیرانه هستن رو میشه با این سیگنال (خلاص) کرد.

تاریخچه انجمن امنیتی ایران سایبر

شرکت امنیتی ایران سایبر با بکار گیری افراد متخصص در حوزه امنیت و ارائه راه کار در زمینه امنیت شبکه و امنیت بانک های اطلاعاتی در سال ۲۰۰۹ کار خود را آغاز نمود.

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

رعایت قوانین

شرکت و انجمن امنیتی ایران سایبر با توجه به حضور مجاز و رسمی در محافل امنیتی و شرکت های ارزیابی امنیت ملزم به رعایت قوانین بوده و کاربران انجمن نیز ملزم به رعایت قوانین جمهوری اسلامی ایران میباشد.

×
×
  • اضافه کردن...