احتمالا در وبگردی هاتون ، متوجه آیکونی در کنار عنوان سایتها شدید. به این آیکون، Favicon ، آیکون میانبر، آیکون وب سایت، آیکون تب یا آیکون بوکمارک میگن. از این آیکون برای مشخص کردن یه صفحه یا سایت استفاده میشه. مثلا یه شرکت میتونه از لوگوش استفاده کنه تا نشون بده که سایت رسمیش هست یا ممکنه در صفحات مختلف از آیکون های مختلف استفاده بشه، تا کاربر راحتتر در بخش تب ها، بتونه صفحه ی مورد نظر رو پیدا کنه.
طراح سایتها میتونن بسته به نیازشون از چندین Favicon استفاده کنن و مرورگرهایی که از این ویژگی پشتیبانی میکنن، میتونن اونو در کنار عنوان سایت نمایش بدن.
استفاده از Favicon ها به مارس 1999 برمیگره که مایکروسافت، مرورگر Internet Explorer 5 رو منتشر کرد و در این مرورگر برای اولین بار از این ویژگی پشتیبانی شد. در اصل Favicon یه فایلی بنام favicon.ico هست که در دایرکتوری root سایت قرار میگیره. اون زمان این ویژگی در صفحاتی که بوکمارک شده بودن فقط نمایش داده میشد و در نتیجه با بررسی درخواستها به این فایل میشد فهمید که چند نفر این صفحه رو بوکمارک کردن. اما به مرور زمان ، بقیه ی مرورگرها هم از اون پشتیبانی و در بخش های مختلف ازش استفاده کردن. بنابراین الان دیگه نمیتونید از این آیکون برای بررسی تعداد بوکمارکها استفاده کرد.
جایگاه Favicon در امنیت سایبری چی هستش :
اما این آیکون های ساده در حوزه ی امنیت سایبری چه کاربردی میتونن داشته باشن . در ادامه به چند نمونه اشاره میکنیم.
با توجه به اینکه اغلب سازمانها و شرکتها و افراد از لوگوها یا آیکون های منحصر به فرد ، بعنوان Favicon در سایتهاشون استفاده میکنن، بنابراین این ویژگی این امکان رو میده که بشه از روی این آیکون های ساده، سایتهای اصلی رو شناسایی کرد.
یعنی مثلا اگه موتور جستجوی گوگل رو در نظر بگیرید، ما یسری عبارت وارد میکنیم و گوگل اونارو برای ما جستجو و نتایج رو میده. حالا فرض کنید که ما یه Favicon مثلا به گوگل بدیم و به این ترتیب بتونیم، سایتهایی که از این آیکون استفاده میکنن رو شناسایی کنیم. اما این کار چه فایده ای داره ؟
فرض کنید قراره روی برنامه باگ بانتی سونی کار کنید. سونی تو قسمت توضیحات برنامه اش، اعلام کرده که میتونید روی همه ی سایتهایی که مرتبط با سونی هست، کار کنید. بنابراین یکی از راهکارهایی که میتونید از طریق اون ، سایتهای مرتبط با سونی رو پیدا کنید، جستجوی Favicon مرتبط با سونی هست.
همچنین از جستجوی Favicon میشه در فرایند تیم آبی هم استفاده کرد. فرض کنید شما صاحب یه شرکت یا موسسه ای هستید و خدماتی رو ارائه میدید که ممکنه توسط بازیگران تهدید، مورد سوء استفاده قرار بگیرن. مثلا کیف پول ارزهای دیجیتال ارائه میدید یا فروشگاه آنلاین دارید و حتی یه سازمان دولتی هستید. فرض کنید بازیگران تهدید برای اینکه از خدمات شما سوء استفاده کنن، سایت شما رو جعل میکنن، شما با جستجوی Favicon ، میتونید این سایت های جعلی رو شناسایی کنید و اقدامات لاریم برای بسته شدن اونارو فراهم کنید.
همچنین از جستجوی Favicon میشه برای شناسایی پنل های بدافزاری و فیشینگ استفاده کرد. برای این کار ، میشه آیکون یه نمونه از این پنل ها رو بدست آورد و با جستجوی اون در کل اینترنت، سایتهایی که از این آیکون ها استفاده میکنن رو پیدا کرد.
کاربرد بعدی این آیکون ها در حوزه ی امنیت سایبری ، بدست آوردن IP اصلی یه سایت هستش. امروزه اغلب سایتها از CDN برای بهینه سازی و امنیت استفاده میکنن. در اصل این سایتها پشت CDN قرار میگیرن و وقتی شما فرایند ریکان رو انجام میدید، عمدتا با این CDN درگیر هستید تا نسخه ی اصلی سایت. اما اگه بتونید، اطلاعاتی از جمله IP اصلی سایت رو بدست بیارید، میتونید بردارهای حمله ی جدیدی رو روش انجام بدید. یکی از تکنیک هایی که میشه این IPها رو بدست آوردن، جستجوی Favicon ها هست. شما با جستجوی Favicon ها ، ممکنه به آدرس های IP برسید که از این Favicon استفاده میکنن.
نکته ای که هست، اصولا اگه سایت به درستی پیکربندی شده باشه، نباید ما از طریق جستجوی Favicon به IP برسیم، چون سایتی که پشت CDN باشه، طوری پیکربندی میشه که دسترسی به وب سرور محدود به اتصالات CDN باشه.
البته از این تکنیک برای شناسایی IP های اصلی سایتهای دارک وبی هم استفاده کردن که میتونید جزئیاتش رو در شماره دوم مجله ی ONHEXmag مشاهده کنید.
ابزارهای استفاده از Favicon ها:
تا اینجای مقاله، متوجه شدیم که Favicon ها چی هستن و برای چی بوجود اومدن و چه کاربردی میتونن در حوزه ی امنیت سایبری داشته باشن. اما نکته ای که این وسط می مونه این هست که چطوری از Favicon استفاده کنیم.
برای این منظور دو دسته ابزار داریم :
- ابزارهایی که هش Favicon ها رو تولید میکنن.
- ابزارهایی که امکان جستجو براساس Favicon ها رو میدن.
موتورهای جستجویی که امکان جستجو براساس Favicon رو میدن، عمدتا براساس HASH کار میکنن. یعنی ما قبل از جستجو، باید هش Favicon مورد نظرمون رو بدست بیاریم. برای این منظور ابزارهای مختلفی هست که اینجا یه نمونه اش رو معرفی میکنیم.
یکی از ابزارهایی که امکان تولید هش رو میده، favscan هست. این ابزار توسط شودان توسعه داده شده و برای پلتفرم های مختلف قابل دسترس هست.
این ابزار میتونه یه فایل favicon.ico رو در ورودی بگیره و مقدار هش اونو محاسبه کنه. همچنین این کار رو از طریق یه URL هم انجام میده. برای این کار ابزار مسیر favicon.ico رو چک میکنه، اگه موردی پیدا کرد، هش اونو محاسبه میکنه، اگه نه ، در صفحه دنبال shortcut icon میگرده و مسیر اونو بررسی و هش رو محاسبه میکنه. یکی از روش هایی که طراحان سایت میتونن ازش برای تعریف Favicon استفاده کنن، کد زیر هست که در مرورگرهای مختلف هم پشتیبانی میشه :
1 |
<link rel="shortcut icon" href="https://example.com/myicon.ico"> |
همچنین URL ای که ارائه میدید، میتونه دارای پورت و … هم باشه. در زیر نمونه هایی از نحوه ی استفاده از این ابزار رو مشاهده میکنید :
1 2 3 4 5 6 7 8 9 10 11 12 |
$ favscan -h Calculate the favicon hash of a local file, hostname or URL Usage: favscan [OPTIONS] <LOCATION> Arguments: <LOCATION> Options: -v, --verbose -h, --help Print help -V, --version Print version |
1 2 3 4 5 6 7 8 |
favscan favicon.ico favscan google.com favscan https://test.shodan.io:6993 $ favscan gitlab.com 1265477436 |
بعد از اینکه هش Favicon مدنظرمون رو بدست آوردیم، نوبت اینه که ، با استفاده از موتورهای جستجو این هش هارو بررسی کنیم. برای دسترسی به موتورهای جستجوی در حوزه ی امنیت سایبری، اینجا رو مشاهده کنید.
با توجه به اینکه، اغلب کاربران ایرانی از شودان برای این منظور استفاده میکنن، نحوه ی جستجو رو در این موتور جستجو ادامه میدیم.
اطلاعاتی که شودان از Favicon سایتهای مختلف جمع آوری میکنه ، بصورت زیر هستش :
1 2 3 4 5 |
{ "data": "AAABAAIAEBAAAAAAIABoBAAAJgAAACAgAAAAACAAqBAAAI4EAAAoAAAAEAAAACAAAAABACAAAAAA\nAEAEAAAAAAAAAAAAAAAAAAAAAAAA////Af///wH///8B////Af///wH///8B////ASWX/RUne/MX\n////Af///wH///8B////Af///wH///8B////Af///wH///8B////Af///wH///8B////ASan/EEn\nbvThJm/05yai/EP///8B////Af///wH///8B////Af///wH///8B////Af///wH///8BJqP8Ayaj\n/I0mi/v5J1Tt/SdT7Psmi/z5JqL8j////wH///8B////Af///wH///8B////...", "hash": 516963061, "location": "https://about.gitlab.com:443/ico/favicon.ico" } |
- data : آیکون رو بصورت رشته های Base64 مشخص میکنه.
- hash : همون هشی هست که در قسمت قبل محاسبه کردیم. در اصل این هش ، رشته data رو براساس MurmurHash3 نمایش میده. دلیل اینکه بجای MD5 و … از هش MMH3 استفاده کردن، سرعت بالا و سایز کم خروجی این هش هست. تو شودان برای جستجو از این مقدار استفاده میکنیم که برای این منظور شودان یه API بصورت http.favicon.hash در اختیارمون گذاشته.
- location: مسیر Favicon رو مشخص میکنه. اصولا این فایل رو بصورت پیش فرض در دایرکتوری root قرار میدن اما میشه اونو هر جایی قرار داد، اما در این صورت باید از کدهای HTML برای ارجاع به اون استفاده کرد. یه نمونه اش بالا اشاره کردیم، یه نمونه اش میتونه این باشه :
1 |
<link rel="icon" type="image/png" href="/assets/favicon-yellow-018213ceb87b472388095d0264be5b4319ef47471dacea03c83ecc233ced2fd5.png" /> |
برای اینکه بتونید در شودان جستجوی Favicon رو انجام بدید، اگه از وب سایتش استفاده کنید، میتونید از این کوئری استفاده کنید : (هش 1265477436 مربوط به Gitlab هست. در این کوئری میخواییم دنبال مواردی باشیم که از Favicon Gitlab استفاده کردن )
1 |
http.favicon.hash:1265477436 |
این کوئری در نسخه ی CLI یا API هم پشتیبانی میشه، که میتونید ازش در صورتی که بخشی از ریکانتون رو خودکار کردید استفاده کنید. مثلا در کوئری زیر ، میخواییم ببینیم، چند تا نمونه وجود داره که از Favicon Gitlab استفاده میکنن :
1 2 |
$ shodan count http.favicon.hash:1265477436 29558 |
همونطور که بالا اشاره شد، برای جستجوی Favicon ابزار و موتورهای جستجوی مختلفی وجود داره. در کنار ابزارهایی که بالا اشاره کردیم، سایت Favicon Hasher هم میتونه گزینه ی خوبی باشه.
مزیت این ابزار اینه که آدرس سایت رو میگیره، هش اونو محاسبه میکنه و لینک جستجوی اون در موتورهای جستجوی شودان، Censys و Zoomeye رو میده.
منابع: