موتورهای جستجو با ایندکس کردن صفحات اینترنتی ، کمک زیادی رو به افراد در سراسر دنیا میکنن. افراد با جستجوی عبارات مختلف ، میتونن نیازهای مدنظرشون رو در سراسر اینترنت پیدا کنن.
موتورهای جستجو در دو زمینه دست محققین امنیت رو میگیرن، یکی برای جستجوی مقالات و رفرنس ها و دیگری در زمینه ریکان و … . در مورد گزینه اول که محقق با وارد کردن عبارت مد نظرش، مثلا “آموزش SQLinjection” به منابع مختلفی در این خصوص میرسه. اما در مورد گزینه دوم، دورکها به کمک محقق می یاد.
دورک چیست
در ایندکس کردن صفحات، موتور جستجو همه مواردی که میبینه رو تقریبا ایندکس و ذخیره میکنه. این موارد ممکنه یه متنی باشه مثلا در خصوص sqlinjection و یا ممکنه اطلاعاتی در خصوص یه سرویس ،پلتفرم، فایل و … باشه. مورد دوم رو اصطلاحا دورک میگیم، که با جستجوی عبارات خاص و استفاده از ظرفیت موتور جستجو، آسیب پذیری و فایل و … رو در وب اپلیکیشن ها جستجو میکنیم. مثلا فرض کنید دنبال فایل لاگ روی وب اپلیکیشن ها میگردیم.
استفاده از دورکها خیلی در گوگل معروف هستن و بطوریکه این روش رو Google Hacking هم میگن و یه پایگاه داده بنام GHDB رو هم برای این منظور داریم.
گوگل معروفترین موتور جستجوی دنیاست و امکانات زیادی برای جستجو در اختیار ما قرار میده. اما به دلایل مختلفی مثلا حریم خصوصی ، موتورهای جستجوی مختلفی مانند duckduckgo متولد شد. همچنین کشورهای مختلف هم به دلایل اغلب سیاسی ، موتورهای جستجوی بومی خودشون رو توسعه دادن.
این موتورهای جستجو به دلیل بومی بودنشون ، میتونن صفحات اون منطقه رو بهتر ایندکس کنن و همچنین در ارائه نتایج هم میتونن پیشنهادهایی رو از صفحات اون منطقه بدن. از جمله موتورهای جستجوی بومی میشه به yandex و Baidu اشاره کرد که اولی برای روسیه و دومی برای چین هستش.
استفاده از این موتورهای جستجوی بومی برای ما محققین امنیتی میتونه کمک کنه تا موارد دلخواه خودمون رو بیشتر در اون منطقه جغرافیایی جستجو کنیم. همچنین موتورهای جستجو دارای الگوریتم های مختلفی برای ارائه نتایج هستن. در نتیجه استفاده از موتورهای جستجوی مختلف میتونه نتایج مختلفی رو داشته باشه.
در این پست میخواییم در خصوص موتور جستجوی روسی یاندکس (yandex) صحبت کنیم.
موتور جستجوی Yandex:
یاندکس یه شرکت روسی هلندی در زمینه فناوری اطلاعات هستش و محصولات و سرویس های زیادی داره از جمله موتور جستجو و مرورگر . موتور جستجوش بزرگترین موتور جستجو در روسیه هستش . علاوه بر روسیه ، در ترکیه، ازبکستان، قزاقستان و بلاروس هم مورد استفاده قرار میگیره. بنابراین میتونه نتایج بهتری رو از این مناطق برای ما نشون بده.
دورک ها در حالت کلی از طریق ویژگی هایی که موتور جستجو در اختیارمون قرار میده ، ایجاد میشن. این ویژگی از طریق عملگرهایی که در موتور جستجو تعریف شده، بدست میاد. در حقیقت ما از این ویژگی ها به نحوی استفاده می کنیم که نتایج مثلا نشون دهنده یه CMS خاص ، صفحه لاگین و … باشه.
قبل از پرداختن به عملگرها ، یسری موارد عمومی رو نیاز هستش که بررسی کنیم .
نکات عمومی در یاندکس :
برای جستجو باید وارد سایت https://yandex.com بشید. در کادر جستجو عبارت مورد نظرتون رو وارد کنید. یسری نتایج نشون داده میشه. نکته اول ، در انتهای سایت یه بخشی بنام settings هستش که اگه وارد این بخش بشید، شکل زیر رو میبینید:
قسمتهای Account و Advertising فعلا برای ما مهم نیستن ، اما بخش فیلتر که در شکل بالا هم میبیند برای ما مهم هستش. موتورهای جستجو یسری فیلتر در نتایج دارن. این فیلتر برای محدود کردن نتایج هستش. مثلا نتایج رو جوری فیلتر میکنه که مناسب کودکان باشه. اینجا ما سه حالت فیلتر رو داریم :
- حالت Family search : نتایجی که حاوی الفاظ زشت و بزرگسالان هستش حذف میشه. حتی اگه عبارت جستجو حاوی این عبارت باشن.
- حالت Moderate filter : نتایجی که حاوی محتوای بزرگسالان هستش حذف میشه. البته اگه عبارت جستجو این موارد نباشه. این گزینه حالت پیش فرض هم هستش.
- حالت No filter : تمام نتایج نمایش داده میشه. این گزینه میتونه حالت مطلوب برای ما باشه.
جستجوی پیشرفته:
در کنار کادر جستجو، یه گزینه ای هست برای جستجوی پیشرفته که در شکل زیر با کادر قرمز مشخص شده:
اگه روش کلیک کنید، یه کادر جدید باز میشه ، که میتونید جستجو رو براساس زمان ، منطقه ، زبان تعریف کنید.
عملگرها:
بطور پیش فرض یاندکس تمام اشکال عبارت وارد شده رو جستجو میکنه. یعنی اگه شما عبارت onhex group رو جستجو کنید، مواردی که دنبالش میگرده شامل مواردی برای onhex group و onhex و group و group onhex هستش. برای اینکه بتونیم به این نتایج شکل بدیم از عملگرها استفاده میکنیم.
عملگر ! :
این عملگر باعث میشه که اولویت جستجو ، به همون شکل مشخص شده ای که وارد کردید نمایش داده بشه. مثلا :
عملگر + :
این عملگر بیانگر شامل بود کلمه هستش و میشه چندین بار ازش استفاده کرد. مثلا اگه عبارت زیر رو جستجو کنید ،جستجو قطعا شامل کلمه group و ممکنه شامل onhex هم باشه.
عملگر ” :
نتایج حاوی عبارت داخل نقل قول هستش. مثلا اگه عبارت زیر رو جستجو کنیم ،نتایج دقیقا برای این عبارت هستش.
عملگر * :
این عملگر مثله regex هستش، یعنی تو عبارت هر کجا که عملگر * باشه، میتونه کلمات مختلفی قرار بگیره. این عملگر همراه با عملگر ” مورد استفاده قرار میگیره. عملگر * با space جدا میشه. مثلا برای عبارت زیر ،نتایج شامل عبارت هستش و جایی که * هستش میتونه یه کلمه دیگه قرار بگیره.
عملگر | :
این عملگر شبیه or هستش و حداقل یکی از کلماتی که عملگر | رو دارن رو در نتایج نشون میده. با space از هم جدا میشن. مثلا اگه عبارت زیر رو جستجو کنیم ، نتایج شامل what is هستش و کلمات sql و injection میتونن باشن یا نباشن.
عملگر – :
این عملگر کلمه مورد نظر رو از جستجو حدف میکنه. کلماتی که میخواییم حذف بشه باید در انتهای عبارت جستجومون باشه. اگه این عملگر رو قبل یه عدد بزارید، نشون دهنده عدد منفی هستش. برای اینکه تو عدد جستجو کنید باید عدد رو داخل “” قرار بدید. بدون فاصله هستش. چند تا کلمه هم میشه قرار داد. مثلا در عبارت زیر نتایج شامل what is sql هستش و کلمه injection مستثنی هستش.
برای عدد هم میتونید اینجوری جستجو کنید ، مقدار 10 تو نتایج نیست. البته میتونید بعد عدد ، کلمه هم باشه مثلا pro .
عملگر url :
عبارت یا کلمه مورد نظر رو در آدرس مشخص شده جستجو میکنه. مثلا عبارت زیر در نظر بگیرید ، این عبارت کلمه sql injection رو در آدرس هایی که اولشون en.wikipedia.org/wiki/ میگرده. عملگر * اگه تو آخر عبارت قرار بگیره یعنی شروع جستجو با عبارت ماست، بقیه اش هر چی باشه.
عملگر site:
همه صفحات و سابدومین ها رو جستجو میکنه. مثلا عبارت زیر صفحات و سابدومین های مرتبط با گوگل رو نشون میده:
عملگر host:
کلمه مورد نظر در تمام صفحات که روی سایت مورد نظرمون هستن رو پیدا میکنه. آدرس سایتی که قرار میدیم بصورت معمول هستش یعنی سابدومین+دامنه+پسوند دامنه .مثلا عبارت زیر کلمه search رو در صفحات گوگل پیدا میکنه:
عملگر rhost:
این عملگر هم همون کار host انجام میده اما آدرسی که میدیم برعکس قرار میگیره. یعنی پسوند دامنه+دامنه+سابدومین . مثلا عبارت زیر کلمه username در تمام سابدومین های (*) گوگل جستجو میکنه.
عملگر domain :
این عملگر عبارت مورد نظر رو روی دامنه مورد نظر جستجو میکنه. مثلا عبارت زیر کلمه یاندکس روی همه دامنه های com جستجو میکنه.
عملگر mime:
این عملگر برای جستجوی فرمت فایل همراه با کلمه جستجوی مورد نظر ما مورد استفاده قرار میگیره. فرمتهایی که ساپورت میکنه PDF, RTF, SWF, DOC, XLS, PPT, ODT, ODS,ODP, ODG هستش.
مثلا عبارت زیر فایلهایی با فرمت DOC و که شامل عبارت information هستن رو نشون میده.
عملگر lang:
این عملگر مشخص کننده زبان هستش. برای انتخاب زبان باید دو کارکتری باشه، براساس استاندارد ISO 639-1 . مثلا عبارت زیر نتایجی به زبان انگلیسی که حاوی کلمه sql injection هستش رو نمایش میده.
عملگر date:
این عملگر کار فیلتر کردن نتایج بر اساس زمان رو داره. فرمت به این صورت هست YYYYMMDD . برحسب نیاز میشه موارد مختلفی رو اعمال کرد.
مثلا میشه یه عبارت رو براساس یه تاریخ مشخص جستجو کرد. در شکل زیر کلمه festival مرتبط با تاریخ July 27, 2018 جستجو میکنه :
میشه با عبارات > و <= و = تاریخ رو تا یه زمانی بررسی کرد. مثلا عبارت زیر ، نتایجی کلمه festival برای بعد از تاریخ April 27, 2018 رو نمایش میده:
با استفاده از .. میشه یه رنج از تاریخ رو تعریف کرد. مثلا عبارت زیر کلمه festival رو بین تاریخهای April 27, 2018 تا July 27, 2018 نمایش میده:
میشه با عملگر * بخشی از تاریخ رو دستکاری کرد. مثلا عبارت زیر کلمه festival رو در تاریخ 2018 و ماه اکتبر نشون میده (روزها * هستش). نکته این که سال باید وارد بشه.
مثال های امنیتی :
در ادامه چند تا مثال در حوزه امنیت سایبری رو براساس مواردی که بالا گفتیم بررسی می کنیم .
- فرض کنید میخواییم کل سابدومینهایی که روی گوگل هست و کلمه user دارن رو بدست بیاریم :
- جستجوی فایلهای حساس و جالب ، مثلا عبارات زیر امکان جستجوی فایل حاوی پسورد و پاسپورت رو نمایش میده :
1 2 |
passwords (mime:xls | mime:xlsx | mime:csv | mime:ods) загранпаспорт (mime:pdf | mime:doc | mime:docx | mime:rtf | mime:txt | mime:mdb | mime:odt | mime:ods) |
- یا مثلا عبارات زیر، صفحات لاگین و احراز هویت رو نشون میدن :
1 2 3 |
"ورود" url:."ru/admin" "login" url:."ru/login" "login" url:."ru/panel" |
- دورکهای زیر هم میتونه مفید باشه :
1 2 3 4 5 |
"Index of /" "Parent Directory" "Index of /admin" "Parent Directory" "Index of /backups" "Parent Directory" "Index of /logs/" "Index of /.ssh/" |
این سایتم میتونه بعنوان کد تقلب مورد استفاده قرار بگیره .