OSINT: Attack surface

در راستای پست های OSINT که بر روی بلاگ پنتر قرار دادم در این نوشته قصد دارم مهم ترین استفاده آن در ارزیابی امنیت سازمان را با شما به اشتراک بگذارمAttack Surface تمام سخت افزار نرم افزار و … می باشد که داده شما بر روی آن ذخیره می شود یا بر روی آن ها تبادل اطلاعات دارید.هکر ها می توانند تمامی حملات ممکن Attack Vector ها را بر روی آن ها دارایی های شما ( Attack surface )‌اجرا کنند و اطلاعات شبکه شما را سرقت کنند.دارایی های دیجیتال یک سازمان شامل: Known assets:سایت ها و سرویس هایی(سرورها) که شما در حال حاظر دارید از آن ها استفاده می کنید و به دامین ها و ساب دامین ها شما وصل هستند. Unknown assets:بعضی از ساب دامین های شما که پروژه های قدیمی بوده دیگر توسعه آن متوقف شده و مورد استفاده شما قرار نمی گیرد مثل CMS WordPress که اکثر سازمان ها در کنار وب سایت های اصلی خود دارند. Rogue assets:تمامی Threat Actors ها (هکرها) که با استفاده از typosquatting ( دامین های شبیه به سازمان شما) قصد فیشینگ دارند. یا برنامه موبایل شبیه شما می سازند برای اینکه جای شما خود را جا بزنند. Vendors:هر نوع دستگاه یا Application که شما مورد استفاده قرار می دهید در صورتی که مورد نفوذ قرار بگیرند شما مورد Supply chain Attack قرار خواهید گرفت مثال بارز solarwinds که گروه nobelium آن را هک کرده بود و بکدور را در برنامه های مانیتورینگ solarwinds قرار داده بود.درصد امنیت به تعداد سرورها یا سرویس ها شبکه ربط ندارد هر دستگاه یا سروری که آسیب پذیر باشد یک تهدید محسوب می شود و هکر از هر جا وارد بشود منتهی به Ransomware یا Data leak برای سازمان شما خواهد شد.لذا همان طور که در پست های قبل در مورد Open source intelligence techniques صحبت کردیم و گفتیم هکرها می توانند نقاط ضعف شما را کشف کنند به عنوان یک سازمان شما نیز می توانید تمامی دارایی های خود را لیست و ارزیابی کنید.Attack surface analysis(ASA) با Vulnerability scanning متفاوت هست شما در اولین مورد دامین ساب دامین سرویس ها میل و … را کشف می کنید و ارزیابی می کنید در دومین مورد شما دامین ها را دارید و آن ها را اسکن می کنید تا از آسیب پذیر یا نبودن آن ها آگاه شوید.همچنین ASA به تنهایی کافی نیست شما باید مانیتور بر دارایی های خود داشته باشید تا در صورت مشاهده یک تهدید آن را رفع کنید چرا Attack surface Management مهم هست ؟ASM به این دلیل مهم هست که در طول زمان دارایی سازمان ها شما افزوده می شوند و این تداول در مانیتور آن ها به شما کمک می کند تاتمامی دارایی های (سخت افزار یا نرم افزار) قدیمی و جدید را شناسایی کنیدلیست دامین های Typo شناسایی کنید برای جلوگیری از فیشینگلیست دارایی های که End of line یا بروز رسانی نشده اند را شناسایی کنید (Patch Tuesdays)در بخش توسعه نرم افزار لیست Library ها یا برنامه های اوپن سورس که در شبکه تان مورد استفاده قرار می دهید را شناسایی کنید( خیلی از بکدورها معمولا لایبری های آلوده وارد سازمان ها می شوند.)یک مدیریت بر Vendor داشته باشید در صورت کشف آسیب پذیری ترتیب اثر بدهید.نکته: Attack surface علاوه بر اینکه مربوط به شبکه باشد به مراحل توسعه نرم افزار نیز مرتبط هستمعمولا توسعه دهنده ها تمرکز کمتری در امنیت نرم افزارهایی که توسعه می دهند دارند.مثل نوشتن کد امن نحوه ذخیره سازی داده ها.استفاده از لایبری های مطمن.برای امنیت در توسعه نرم افزار توسعه دهندگان باید به نکات زیر نیز توجه کنند.مسیرهایی حساس در نرم افزار وب موبایل و … باید محافظت شوند و هر کسی یا هر سطح دسترسی به آن ها نباید دسترسی داشته باشد.یوزر و پسوردها نباید به صورت پیش فرض یا هارد کد شده مورد استفاده قرار بگیرند. در ذخیره سازی فایل های Certificate یا API در نرم افزار باید نکات امنیتی را رعایت کرد.معمولا هکرها یا کسانی که Bugbounty می کنند به دنبال موارد زیر از نرم افزارهایی که شما توسعه می دهید هستند: User interface (UI) forms and fieldsHTTP headers and cookiesAPIsFilesDatabasesOther local storageEmail or other kinds of messagesRuntime argumentsLogin/authentication entry pointsAdmin interfacesو ... هستند.شما می توانید کدهای که توسعه می دهید به صورت اتوماتیک مورد ارزیابی امیتی قرار بدهید با کمک sonarqube یا به صورت پویا از openvas owasp zap استفاده کنید. مراحل ASM۱.شناسایی دارایی ها Discovery۲.دسته بندی Vendor هاCVSS .۳ در صورت کشف آسیب پذیری۴. تکرار مرحله ۱ تا ۳۵. شناسایی دارایی های مخرب phishing malware Discoveryبرای شناسایی دارایی های سازمان نیازمند استخراجوب اپلیکیشن سرویس ها و APIبرنامه های موبایل و Backend آن هاذخیره سازهای ابری و دستگاه های شبکهDNS, SSL , IPIoT device IP cameraGithub, Bigbucket بررسی کدهای گیت هاب سازمای که API افشا شده یا نهایمیل های سازمانی و بررسی که هک شده اند یا نهسابقه هک دامین ها ساب دامینسابقه domain rep ip rep email rep سازمانبررسی اطلاعات دارک وب pastebin از سازمانشبکه های اجتماعی اصلی سازمان و همچنین کارمندهای C-lEVEL بررسی آسیب پذیری پس از بدست آوردن دارایی ها باید آن ها را ارزیابی کنیم که چقدر می توانند شبکه را در خطر قرار دهندMail server configuration SPF, DKIM, DMARCورژن SSL و بررسی تنظیمات سروربررسی پلاگین ها و تکنولوژی های مورد استفاده بر روی دامین ها و ساب دامین هاپورت های باز بررسی ورژن سرویس ها بررسی Vendor های شبکه بر اساس Common vulnerability Exposure و Common Vulnerability platform این فرآیند به صورت پسیو با استفاده از سایت های آنلاین مثل Shodan censys و … انجام می شود.کشف CMSهای سازمان و آنالیز آسیب پذیری آن هااستخراج User های مربوط به سرویس ها