احسان امجدی
کارشناس امنیت اطلاعات و ارتباطات

آموزش Shodan ( شودان ) ابزار شناسایی هدف در هک و نفوذ

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

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

Shodan چیست؟ معرفی ابزار شودان به زبان ساده

Shodan یکی از وب‌سایت های کار راه بیانداز! دردنیای وب است. به آن "Hacker,s Google"، "Dark Google" و در برخی اوقات "terrifying" به معنای وحشتناک گویند؛ این وب سایت در حقیقت یک موتور جستجو برای کامپیوترهاست.Shodan به شما کمک میکند تا کامپیوتری را در دنیای وب با استفاده از جستجوی آن با لغات کلیدی، بیابید. برای مثال شما میتوانید تمام سرورهای IIS 7.0 مایکروسافت در کانادا یا تمام سیستم هایی که در آفریقا از لینوکس استفاده میکنند را جستجو کنید.

اگر شما پیش از این با "Dark Google" آشناییت داشته اید، Shodan نیز بسیار شبیه آن است اما با این تفاوت که Shodan، راه بسیار ساده تری را برای جستجوی سیستم ها در پهنه اینترنت جلوی پای شما خواهد گذاشت.رمز استفاده موثر و کارا از Shodan، دانستن لغات کلیدی صحیح در آن است. معمولا این اسامی، نام های کارخانه ای یا شماره مدل یک دیوایس هستند؛ اما برخی اوقات آن ها نام هایی مبهم و جاسازی شده در آدرس وب سرور است که شما حتی برای جستجو به ذهنتان نخواهد رسید.

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

همچنین این روش یک از راه های تشخیص سریع دیوایس های غیر مجاز اضافه شده در شبکه شما میباشد.در این بخش که در چند قسمت خدمت شما ارائه میشود، بطور خلاصه توضیح میدهیم که چرا اسکن محیط شبکه با استفاده از Shodan ایده خوبی است. سپس نگاهی می اندازیم بر نحوه انجام جستجو از طریق واسط وب shodanhq.com و در نهایت از طریق لینوکس کالی با فریم ورک Metasploit کار خواهیم کرد.

چرا باید شبکه را با استفاده از Shodan اسکن نمود؟

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

 جمع آوری و تطابق اطلاعات در لینوکس کالی - استفاده از ابزار آنلاین Shodan - (بخش اول)

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

 جمع آوری و تطابق اطلاعات در لینوکس کالی - استفاده از ابزار آنلاین Shodan - (بخش اول)

متاسفانه در دنیای امروزه، کامپیوترها دیگر تنها سیستم های نیستند که میتوانند آنلاین پیدا شوند! اغلبا یک دیوایس آنلاین دارای پارامترهای امنیتی است اما این پارامترها بطور پیش فرض توسط شرکت سازنده غیرفعال هستند و بطور اصولی تمام کابران نیاز دارند تا آن را فعال کنند و برای دسترسی به آن پسورد بگذارند اما حقیقت این است که بسیاری از کاربران این کار را انجام نمیدهند :

 جمع آوری و تطابق اطلاعات در لینوکس کالی - استفاده از ابزار آنلاین Shodan - (بخش اول)

و در بسیاری از اوقات عبارتی که به عنوان پسورد گذاشته میشود، همان عبارت پیش فرض کارخانه (که براحتی پیدا میشود) یا یک پسورد ساده (که براحتی شکسته میشود) است. جستجوی سیستم های باز توسط Shodan منحصر به افرد خاصی نسیت و امروزه بصورت عام محبوبیت پیدا کرده است. در این مورد اگر چیزی درباره کاشفان شهری (Urban Explorers) نشنیده اید، باید بدانید که این افراد کسانی هستند که کارشان کاوش دنیای اینترنت برای پیدا کردن سیستم های باز و یا دارای امنیت پایین است.

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

اما این باعث نمیشود که فراموش کنیم Shodan بصورت خاص ابزار خوبی برای اهداف سوء و خرابکارانه هم است. موارد گفته مهم ترین دلائلی بود که لزوم بررسی آنلاین بود سیستم هایمان را در اینترنت چک کنیم؛ سیستم هایی که نمیدانیم در حال حاضر قابل مشاهده هستند.در بخش های بعد بیشتر در مورد ابزار Shodan و نحوه استفاده از آن بصورت تخصصی بحث خواهیم کرد.

آموزش کار با وب‌ سایت Shodan

برای استفاده از Shodan، در مرورگر آدرس اینترنتی "Shodanhq.com" را وارد کنید:

جمع آوری و تطابق اطلاعات در لینوکس کالی - استفاده از ابزار آنلاین Shodan - (بخش دوم)

در مرحله بعد تمام آن چیزی که شما احتیاج دارید اینست که کلمه یا عبارت کلیدی خود را در کار مخصوص جستجو وارد کرده و دکمه جستجو را بفشارید؛ عملیات جستجو طوری انجام خواهد شد که انگار شما این جستجو را با هر موتور جستجویی انجام داده اید ! مثلا اگر ما بخواهیم روترهای سیسکو را جستجو کنیم، فقط باید در کادر مخصوص عبارت "Cisco" را تایپ کنیم و جستجو را شروع کنیم :

جمع آوری و تطابق اطلاعات در لینوکس کالی - استفاده از ابزار آنلاین Shodan - (بخش دوم)

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

راهنمای فیلتر کردن در وب سایت Shodan

با استفاده از دستورات فیلتر شما میتوانید بسرعت نتایج جستجو را به آن چیزی که مد نظرتان است، محدود کنید. برای مثال شما کارمند مایکروسافت هستید و میخواهید تمام سرورهای IIS را که از نسخه IIS 8.0 استفاده میکنند و در آمریکا و تحت دومین مایکروسافت هستند را پیدا کنید. برای جستجو شما باید عبارتی نظیر شکل زیر را وارد کنید:

جمع آوری و تطابق اطلاعات در لینوکس کالی - استفاده از ابزار آنلاین Shodan - (بخش دوم)

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

جمع آوری و تطابق اطلاعات در لینوکس کالی - استفاده از ابزار آنلاین Shodan - (بخش دوم)
  1. ارائه اطلاعات از عنوان سرور. شما میتوانید دیگر سرورها را که دارای همین عنوان هستند را با قرار دادن اطلاعات در فرمان Title جستجو کنید.
  2. تعیین محل جغرافیایی (کشور) سرور. مجددا یاآور میشود که جستجو میتواند بر اساس فرمان Country نیز انجام شود.
  3. مفهوم جستجوی Hostname در جستجوی سرورهایی با نام دومین مشخص شده استفاده میشود.
  4. محدوده بدنه متن. هر متنی که در Shodan بدون فیلتر قرار گیرد، به این منزله تلقی میشود که باید آن را در میان بدنه متن جستجو کرد و در نتایج شاهد سرورهایی خواهیم بود که اطلاعات داده شده در بدنه متن آن قرار گرفته است.

دستورات فیلتری در Shodan

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

دستور شهر و کشور در Shodan

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

Country: (کد اختصاوری و دو حرفی کشور) یا City: (نام شهر)

بطور مثال:


country:US
city:Memphis

اگر شهری که شما دنبالش میگردید، در بیش از یک کشور وجود دارد، بهتر است نام شهر و نام کشور را بصورت ترکیبی و با هم بیاورید:

US city-Memphis

آموزش دستور HostName

با این دستور میتوان کل یک دومین خاص را اسکن نمود:


google


شما میتوانید از بخشی از یک نام کامل دومین هم استفاده کنید، مصل google یا تمام نام آن را بیاورید، مثل www.microsoft.com یا support.microsoft.com.

آموزش دستور NET

یک آدرس IP خاص و یا یک رنج خاص در شبکه را با استفاده از این دستور اسکن میکند:


Net:192.168.1.10
Net:192.168.1.0/24


آموزش دستور TITLE

شما میتوانید موارد دلخواه خود را با استفاده از دستور Title جستجو کنید:


"Title:"Server Room

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

آموزش جستجوی کلمه کلیدی در Shodan

احتمالا یکی پرطرفدارترین راه جستجو در Shodan استفاده از جستجوی کلمه کلیدی متن است. اگر شما نوع سرور مورد استفاده در سیستم مقصد را میدانید، نام سرور را جستجو کنید.برای مثال اگر بخواهید تمام سرورهایی که از وب سرور Apache نسخه 2.2.8 استفاده میکنند و سایت های باز باشند یا در جواب پیغام خطا بر نگردانند (سایت های 200 OK)، را جستجو کنید، باید از کلمات کلیدی زیر استفاده کنید:

Apache/2.2.8 200 ok

یا شاید بخواهید در نتایج بدست آمده هرگونه سایت دارای پیغام 401 unauthorized pages یا 302 Moved pages را حذف کنید. بنابراین باید از علامت "-" و کد خطای HTML استفاده کنید:

Apache/2.2.8 -401 -302

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

آموزش جستجوهای ترکیبی در Shodan

اکثر جستجوهای موثر در Shodan با ترکیب جستجوهای عادی حاصل میشود. با ترکیب مختصر چند کلمه کلیدی میتوانید تمام سرورهای مایکروسافتی اجرا کنند IIS/7.0 در شهر تهران بیابید.

IIS/7.0 hostname: YourCompany.com city:Tehran

یا میتوانید از دومین خودتان یک اسکن امنیتی سریع برای سیستم های قدیمی که نیاز به بروز رسانی دارند، انجام دهید. برای مثال هر سیستمی که IIS/5.0 را اجرا میکند، در هر مکانی، در دومین خودمان و در کشور ایران.

IIS/5.0 hostname:YourCompany.com Country:IR

جستجوهای عنوان (Title) نیز در این زمینه عالی عمل میکنند. بسیاری از دوربین ها از کلمه "Camera" در اطلاعات عنوان خود استفاده میکنند.

Title:camera hostname:YourCompany.com

در آخر جستجو با استفاده از مختصات جغرافیایی بسیاری از قابلیت های موجود را بشما نشان خواهد داد. برای مثال سیستم های دارای سیستم عامل لینوکس در مختصات جغرافیایی 33.5 و 36.3 که در زیر نشان میدهیم:

Geo:33.5,36.3 os:Linux

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

  • Port: جستجو بر اسا شماره پورت
  • OS: جستجو بر اسا سیستم عامل
  • After or Before: جستجوی سرورها با استفاده از بازه زمانی

آموزش جستجوهای Shodan با Metasploit

قابلیت های جستجو با Shodan در فریم ورک Metasploit نیز اضافه شده است. فقط نیاز دارید با یک اکانت رایگان Shodan در آن وارد شوید و کلید واسط نرم افزاری (API Key) را از وب‌سایت دریافت نمایید. استفاده از این کلید بشما این اجازه را میدهد تا جستجوهای Shodan را خودکار کنید. برای جستجوی سیستم ها از طریق Metasploit، مشابه همان کاری را انجام میدهیم که برای هر Exploit ای انجام میدهیم:

  1. ایجاد یک اکانت رایگان در Shodanhq.com.
  2. دریافت یک کلید واسط نرم افزاری (API Key) از آدرس Http://www.shodanhq.com/api_doc
  3. فرآیند Postgresql را آغاز کنید (در یک ترمینال عبارت "service postgesql start" را وارد کنید).
  4. سرویس Metasploit را آغاز کنید (با تایپ عبارت "service Metasploit start")
  5. فرآیند Metasploit را اجرا کنید ( با تایپ عبارت "msfconsole" یا استفاده از منوی TopTen.
  6. عبارت "use auxiliary/gather/shodan_search" را تایپ کنید:
جمع آوری و تطابق اطلاعات در لینوکس کالی - استفاده از ابزار آنلاین Shodan در Metasploit - (بخش سوم)

7.حالا با وارد کردن فرمان "Show options" میتوانید گزینه های اختیاری را که برای انجام دادن کارتان به آن احتیاج دارید، مشاهده کنید:

جمع آوری و تطابق اطلاعات در لینوکس کالی - استفاده از ابزار آنلاین Shodan در Metasploit - (بخش سوم)

8.عبارت "

9.حالا فیلد درخواست را با کلمه کلیدی که قصد جستجویش را دارید، تنظیم کنید:

جمع آوری و تطابق اطلاعات در لینوکس کالی - استفاده از ابزار آنلاین Shodan در Metasploit - (بخش سوم)

10.حالا عبارت "run" را برای شروع جستجو تایپ کنید.

11.بعد از چند ثانیه آماری را بر اساس کلمه کلیدی داده شده، مشاهده خواهید کرد:

جمع آوری و تطابق اطلاعات در لینوکس کالی - استفاده از ابزار آنلاین Shodan در Metasploit - (بخش سوم)

12.و حالا نتیجه واقعی جستجو به شملا بازگردانده میشود:

جمع آوری و تطابق اطلاعات در لینوکس کالی - استفاده از ابزار آنلاین Shodan در Metasploit - (بخش سوم)

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


احسان امجدی
احسان امجدی

کارشناس امنیت اطلاعات و ارتباطات

احسان امجدی ، مشاور امنیت اطلاعات و ارتباطات و تست نفوذ سنجی ، هکر کلاه سفید ، مدرس دوره های تخصصی امنیت اطلاعات و شبکه ، تخصص در حوزه های سرویس های مایکروسافت ، Routing و Switching ، مجازی سازی ، امنیت اطلاعات و تست نفوذ ، کشف جرائم رایانه ای و سیستم عامل لینوکس ، متخصص در حوزه SOC و ...

نظرات