انجمن تیم امنیتی ایران سایبر

از کشف تا بهره برداری - قسمت 1 : معرفی Nmap

شروع موضوع توسط Wikto ‏13/8/18 در انجمن ابزار و مقالات Scanners

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


درود مهمان گرامي؛

مهمان گرامي، براي مشاهده تالار با امکانات کامل ميبايست از طريق ايــن ليـــنک ثبت نام کنيد .

حامی مسابقات و برگزار کننده دوره های پیشرفته ارزیابی امنیت برای سازمان ها فتح پرچم (CTF)
برچسب ها:
  1. Wikto
    مدیریت انجمن

    وضعیت:
    Offline
    تاریخ عضویت:
    ‏12/8/18
    ارسال ها:
    33
    تشکر شده:
    222
    جنسیت:
    شغل:
    مهندس امنیت
    محل سکونت:
    تهران
    Name:
    wikto
    Main os:
    Kali
    شناسایی چیست (Reconnaissance) :
    جمع آوری اطلاعات مفید از هدف یا اهداف مختلف میتواند زمینه یک نفوذ را فراهم آورد . از دیدگاه پویش گران ، این حوزه برای فرایند نفوذ اطلاعات جمع آوری شده بسیار مفید است بنابراین برای جلوگیری از این نوع اقدامات مخرب ، شخص تست نفوذ گر تلاش می کند از اطلاعات جمع آوری شده برای ترمیم آسیب پذیری ها استفاده کند که به این فرآیند Footprinting نیز گفته می شود . با جمع آوری اطلاعات می توان به اهدافی دست یافت که موارد مهم آن در این گام گفته می شود :
    • آدرس ایمیل
    • شماره پورت / پروتکل ها
    • جزئیات سیستم عامل
    • خدمات در حال اجرا
    • اطلاعات مسیریابی / اطلاعات DNS
    • شناسایی و گریز از دیواره آتش
    • ...
    بنابراین برای جمع آوری اطلاعات، نیاز به اسکن اولیه احساس می شود . برای عمل اسکن ، Nmap یک ابزار عالی جهت کشف پورت های باز، شماره پروتکل، جزئیات سیستم عامل، جزئیات فایروال و غیره است .

    معرفی Nmap

    (Nmap (Network Mapper یک ابزار منبع باز متشکل از اکتشافات شبکه و ممیزی امنیتی است که ابتدا توسط گوردون "فدور" لیون منتشر شده است (وب سایت رسمی برای نمایش این قسمت باید وارد سیستم شوید یا اینکه ثبت نام نمایید) .
    Nmap یک ابزار رایگان و متن باز (مجوز دار) برای کشف شبکه و ممیزی امنیتی است . بسیاری از مدیران شبکه برای انجام وظایفی مانند فهرست موجودی شبکه ، مدیریت برنامه های ارتقاء سرویس و نظارت بر میزبان یا سرویس دیگر از این ابزار استفاده می کنند

    نصب Nmap
    Nmap از محیط های مختلف به خوبی پشتیبانی می کند
    • ویندوز: نصب از سایت رسمی برای نمایش این قسمت باید وارد سیستم شوید یا اینکه ثبت نام نمایید برای ویندوز، هم نسخه GUI و نسخه خط فرمان در دسترس هستند . گزینه GUI برای Nmap Zenmap است.
    • لینوکس (اوبونتو و دبیان) : دستور فوق را در ترمینال لینوکس اجرا کنید : apt-get install nmap
    در تصویر زیر، Nmap را در لینوکس Kali نصب می کنیم
    upload_2018-8-13_16-32-18.png

    موتور اسکریپت Nmap
    موتور اسکریپت (Nmap (NSE یکی از قوی ترین و انعطاف پذیر ترین ویژگی های Nmap است . اساسا این اسکریپت ها در زبان برنامه نویسی Lua نوشته شده اند . عموما موتور اسکریپت Nmap کارهای زیادی را انجام می دهد که به مهمترین آنها اشاره میکنیم :
    1. Network discovery
    کشف شبکه یا Network discovery اساسی ترین ویژگی Nmap می باشد که نمونه هایی از آن را ذکر میکنیم:
    • جستجوی داده های WhoIs بر اساس حوزه هدف
    • پرس و جو کردن ARIN، RIPE، یا APNIC برای IP هدف جهت تعیین مالکیت
    • انجام جستجوی متمایز در پورت های باز
    • نمایش سوالات SNMP
    • فهرست موجود در NFS / SMB / RPC
    • اشتراک ها و خدمات
    2. Vulnerability detection :
    در تشخیص آسیب پذیری هنگامی که یک آسیب پذیری جدید کشف می شود، اغلب متخصصان تمایل دارند شبکه های خود را قبل از اینکه پویشگران غیر مجاز آسیب پذیری ها را شناسایی کنند به سرعت ترمیم کنند در حالی که Nmap یک اسکنر آسیب پذیری جامع نیست وتوانایی اصلی آن در جمع آوری اطلاعات است . NSE به اندازه کافی قدرتمند است اما با این حال نیاز به بررسی آسیب پذیری نیز دارد باید به این نکته توجه داشته باشید که اسکریپت های شناسایی آسیب پذیری زیادی هم در حال حاضر در دسترس هستند و می توان از آنها استفاده کرد .

    3. Backdoor detection
    بسیاری از مهاجمان غیر مجاز و worms های اتوماتیک برای ورود مجدد اقدام به ایجاد درب پشتی می نمایند . برخی از این Backdoor ها توسط ابزار Nmap به صورت منظم در ورژن expression-based قابل شناسایی می باشد

    4. Vulnerability exploitation
    NSE به عنوان یک زبان برنامه نویسی عمومی نه تنها جهت پیدا کردن آسیب پذیری بلکه می تواند آز آسیب پذیری ها بهره برداری نیز کند . قابلیت اضافه کردن اسکریپت های اکسپلویت سفارشی برای بعضی افراد (به خصوص تست های نفوذگر) ارزشمند است هر چند که تست نفوذ گرها قصد ندارند Nmap را به یک چارچوب بهره برداری از قبیل Metasploit تبدیل کنند .
    همانطور که در شکل زیر می بینید از گزینه های (-sc) (یا -cript) که گزینه های اسکن اسکریپت پیش فرض برای شبکه هدف است استفاده کرده ایم . در نتایج بدست آمده ssh، rpcbind، netbios-sn متوجه می شوید که پورت ها فیلتر شده یا بسته شده اند . بنابراین می توان تشخیص داد برخی از انواع فایروال ها در مسیر ما قرار دارند که درخواست ما را مسدود می کنند در گام های بعدی درباره چگونگی شناسایی فایروال ها و تلاش برای فرار از آنها و دور زدن فایروال ها بحث خواهیم کرد .
    upload_2018-8-13_16-35-20.png

    حالا من میخواهم اسکن پینگ با حالت کشف روی (اسکریپت) را اجرا کنم تا تمام روشهای ممکن برای اسکن را امتحان کرده باشم به طوری که بتوانیم اطلاعات بیشتری را دریافت کنیم .
    upload_2018-8-13_16-35-47.png

    همانطور که در تصویر می بینید، Nmap در حال تلاش است تا تمام روش های ممکن به عنوان قوانین اسکریپت تست کند . برای اطلاعات بیشتر تصویر بعدی را مشاهده کنید.
    upload_2018-8-13_16-36-15.png

    آیا می توانید پورت ها و پروتکل ها را ببینید؟ در خط اول می توانید dns-bruteforce را ببینید که میزبان حاوی برخی از وبلاگ ها، CMS، sql، log، mail و بسیاری دیگر است . بنابراین در مرحله می توانیم تزریق SQL را انجام دهیم، وبلاگ ممکن است وردپرس، جوملا و غیره باشد بنابراین می توانیم برای یک آسیب پذیری شناخته شده CMS یک حمله را ترتیب بدهیم
    در مباحث بعدی من توضیح خواهم داد که چگونه یک موتور اسکریپت Nmap خود را بنویسید و چگونه از Nmap استفاده کنید .

    تکنیک های اسکن اساسی
    در این بخش سعی میکنم روشهای اساسی شبکه / میزبان را نشان بدهم اما قبل از آن شما باید برخی از اطلاعات اولیه درباره وضعیت بعد از اسکن Nmap را بدانید .
    وضعیت پورت: پس از اسکن، ممکن است همزمان با وضعیت پورت برخی از دیگر نتایج بدست آمده مانند فیلترینگ، باز، بسته و غیره را مشاهده کنید . توضیحی در مورد مهمترین نتایج در ادامه ذکر میشود
    • Open : این وضعیت نشان می دهد که یک برنامه برای اتصال روی این پورت در حال گوش دادن است .
    • Close : این وضعیت نشان می دهد هیچ نرم افزاری برای گوش دادن به این پورت وجود ندارد .
    • Filtered : این وضعیت نشان می دهد که جستجو و کاوش ها دریافت نشده و هیچ جوابی گزارش نمیشود که می تواند از اعمال مختلف فیلتر پورتها باشد
    • Unfiltered: این وضعیت نشان می دهد که جستجو و کاوش ها دریافت شده ولی هیچ جوابی گزارش نمیشود
    • Open / Filtered : این نشان می دهد که پورت فیلتر شده یا باز است اما Nmap قادر به ایجاد حالت نیست .
    • Closed/Filtered : این نشان می دهد که پورت فیلتر شده یا بسته شده است اما Nmap قادر به ایجاد حالت نیست .
    اسکن یک شبکه واحد
    ابتدا به Nmap خود بروید (یا ویندوز / لینوکس) و دستور زیر را اجرا کنید :
    کد:
    nmap 192.168.1.1 (or) <host name>

    upload_2018-8-13_16-38-30.png

    اسکن چندین شبکه / اهداف
    در ابزار Nmap شما می توانید اهداف متعددی را برای جمع آوری اطلاعات و کشف میزبان اسکن کنید .
    دستور زیر برای کل زیر شبکه و همچنین آدرس های مختلف IP کار خواهد کرد . به شکل زیر توجه کنید
    کد:
    Nmap host1 host2 host3 etc….

    upload_2018-8-13_16-39-13.png

    در این گام می توان اسامی نام های متعدد وب سایت / دامنه را در یک زمان با یک فرمان اسکن کرد . در تصویر زیر نام دامنه را به آدرس آی پی معادل آن تبدیل می کند و اهداف را اسکن می کند .
    upload_2018-8-13_16-39-32.png

    نمونه فرمان اسکن محدوده آدرس IP
    کد:
    nmap 192.168.2.1-192.168.2.100

    Nmap همچنین می تواند برای اسکن کل زیر شبکه با استفاده از (CIDR (Classless Inter-Domain Routing مورد استفاده قرار گیرد.
    نحو استفاده: nmap [شبکه / CIDR]
    کد:
    Ex: nmap 192.168.2.1/24
    اسکن لیستی از اهداف
    اگر تعداد زیادی سیستم برای اسکن داشته باشید، می توانید آدرس IP (یا نام میزبان) را در یک فایل متنی وارد کنید و از آن فایل به عنوان ورودی برای Nmap در خط فرمان استفاده کنید .
    کد:
    nmap -iL [list.txt]

    اسکن تصادفی اهداف
    پارامتر iR- را می توان برای انتخاب میزبان های اینترنتی تصادفی برای اسکن استفاده کرد. Nmap به صورت تصادفی تعداد مشخصی از اهداف را تولید و تلاش می کند تا آنها را اسکن کند.
    کد:
    nmap -iR [number of host]
    انجام یک اسکن تصادفی زیاد جالب به نظر نمیرسد مگر اینکه به شما برخی از پروژه های خاص مرتبط با این وضعیت داده شود .

    حذف میزبان
    گزینه -exclude در Nmap برای حذف میزبان از یک اسکن استفاده می شود.
    کد:
    Syntax : nmap [targets] –exclude [host(s)]
    Ex : nmap 192.168.2.1/24 –exclude 192.168.2.10
    

    اسکن تهاجمی
    اسکن تهاجمی رایج ترین گزینه ها را در Nmap انتخاب می کند تا سعی شود یک جایگزین ساده برای نوشتن رشته های طولانی داشته باشید . همچنین برای traceroute (مسیریابی) و غیره کار خواهد کرد
    کد:
    nmap-host

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

    Don’t Ping
    گزینه -PN ، دستور Nmap را برای چک کردن کشف پیش فرض انجام می دهد و اسکن کامل پورت را روی هدف انجام می دهد
    کد:
    Syntax : nmap –PN Target

    upload_2018-8-13_16-44-17.png

    با مشخص کردن این گزینه ها، Nmap پورت های باز بدون پینگ را کشف می کند

    فقط اسکن پینگ (Ping Only Scan) :

    گزینه Sp- صرفا فقط مسئول اسکن پینگ است . هنگامی که شما یک گروه از آدرس های IP را دارید و نمی دانید کدام یک قابل دسترسی است این گزینه مفید خواهد بود . با مشخص کردن یک هدف خاص ، می توانید اطلاعات بیشتری را دریافت کنید، مانند آدرس MAC.
    کد:
    Syntax :  nmap –Sp target

    upload_2018-8-13_16-45-24.png


    (کپی برداری با ذکر منبع)
    ادامه دارد ...
     
    Mr_Security، 0x3a، MOHAMAD-NOFOZI و 3 نفر دیگر از این ارسال تشکر کرده اند.
بارگذاری...
به انجمن تخصصی امنیت ایران سایبر خوش آمدید . برای مشاهده تمامی تالار ها و امکانات ثبت نام کنید .