منو

روش های تست نفوذ فقط با Enumeration

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

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

دلیل به وجود آمدن تیم های امنیتی در سازمان ها دقیقا مقابله با چنین حملاتی است . بگذارید جمله را کامل کنیم : زمانیکه تیم امنیتی سازمان شما بصورت قانونی و کاملا هدفمند سازمان شما را Enumerate می کنند شما تست نفوذ سنجی با Enumeration برای سازمان انجام داده اید. فرآیند Enumeration Pen Testing در واقع با استفاده از اطلاعاتی که در قالب فاز شناسایی یا Reconnaissance انجام می شود ، قرار دارد. به عنوان یک Pen Tester شما باید سازمان خودتان را به خوبی از لحاظ اطلاعاتی که قابل جمع آوری هستند بررسی کنید و قبل از اینکه یک مهاجم بتواند برای حمله به سازمان شما برنامه ریزی کند خودتان اطلاعاتی که قابل افشاء هستند را شناسایی و از انتشار آنها جلوگیری کنید.

شما باید تمامی مواردی که تا اینجای کار در خصوص تکنیک ها و روش هایی که از آن می توان برای Enumeration استفاده کرد برای جلوگیری از نشت اطلاعاتی ماند User Account ها ، آدرس های IP ، آدرس های ایمیل ، رکوردهای DNS ، منابع شبکه و Share ها ، سرویس های کاربردی و …استفاده کنید. شما باید تا می توانید اطلاعات در مورد هدف پیدا کنید و مستند سازی کنید و قبل از اینکه یک مهاجم به این اطلاعات دست پیدا کند ، دست به کار شوید. برای اینکه کل حوزه های مختلف یک سازمان از لحاظ امنیتی در Enumeration Pen Testing قرار بگیرد شما باید مرحله بندی کنید و با دقت مراحل کار را بر اساس دانش حوزه Enumeration و ابزارها تجزیه و تحلیل کنید ، بر همین اساس مراحل زیر برای انجام فرآیند Enumeration Pen Testing توصیه می شود که بایستی بصورت گام به گام انجام شوند :

 

۱-پیدا کردن محدوده های آدرس دهی شبکه

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

بنابراین اولین گام شناسایی محدوده آدرس های IP مورد استفاده در شبکه سازمان است که نقطه شروع کار شما است ، شما می توانید این محدوده را از طریق سرویس whois برای آدرس های Public بدست بیاورید یا اینکه با اسکن کردن یا DNS Enumeration از DNS سرورهایی که به درستی بصورت Public پیکربندی نشده اند و حاوی رکوردهای شبکه داخلی سازمان می باشند بدست بیاورید. البته روش دیگر نفوذ از طریق شبکه های وایرلس مورد استفاده در سازمان می باشد که این مسئله معمولا در Enumeration Pen Testing وجود ندارد.

 

۲-محاسبه Subnet Mask

قعد از اینکه شما محدوده آدرس دهی شبکه سازمان هدف را شناسایی کردید نوبت به شناسایی کردن Subnet Mask شبکه مقصد است. طبیعی است که در سازمان های بزرگ از یک محدوده آدرس ثابت استفاده نمی شود و ممکن از در VLAN های مختلف یا قسمت های مجزای یک سازمان از محدوده های IP مختلف استفاده شود. شما می توانید اینکار را با استفاده از ابزارهای ساده ای مثل Subnet Calculator انجام بدهید. اینکار مقدمه ای برای قرار دادن Subnet های مختلف شبکه در ابزارهای Ping Sweep و Port Scanner هاست تا بتوانید سیستم های روشن در شبکه و البته پورت های باز را شناسایی کنید.

 

۳-شناسایی اهداف

مرحله بعدی شناسایی اهداف حمله است ، شما تا اینجای کار محدوده آدرس های شبکه و Subnet های مختلف شناسایی کردید و حالا به مرحله ای به نام Host Discovery یا شناسایی اهداف می رسید.این قسمت از قضیه بسیار لذت بخش است زیرا شما با جمع آوری اطلاعات این قسمت به وضوع شاهد روشن شدن اهدافی می شوید که امکان نفوذ و حمله به آنها بیشتر است. برای این فرآیند اسکن کردن از نرم افزارهایی مثل nmap می توانید استفاده کنید. Nmap ضمن اینکه یک port scanner است همزمان امکان انجام فرآیند ping sweep اسکن را نیز دارد و به خوبی می تواند یک محدوده آدرس IP را برای ما اسکن کرده و خروجی را حتی به تفکیک نوع سیستم عامل به ما نشان بدهد ، برای مثال با دستور زیر شما می توانید به nmap بگویید که یک محدوده آدرس IP را برای شما اسکن کند :

۴-انجام Port Scan بر روی اهداف

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

 

۵-انجام DNS Enumeration

مرحله بعدی انجام DNS Enumeration است که به شما در خصوص رکوردهای قابل شناسایی در شبکه اطلاعاتی را ارائه می دهد. پیدا کردن DNS سرورها معمولا به سادگی با دریافت IP از DHCP سرور در شبکه های داخلی و همچنین گرفتن nslookup در شبکه های اینترنتی ممکن است . شما می توانید اطلاعات بسیار مفیدی از جمله نام و آدرس IP سرورها و اهداف مهم را از این طریق به دست بیاورید. اینکار با استفاده از ابزاری به نام fierce در کالی لینوکس در قالب Brute Force هم قابل پیاده سازی است هر چند اگر تنظیمات درست امنیتی در DNS سرورهای شبکه ها انجام نشده باشد با استفاده از درخواست Zone Transfer توسط ابزار NSLookup هم این امکان وجود دارد.

 

۶-انجام NetBIOS Enumeration

بعد از اینکه شما Host های مورد نظر را پیدا کردید و اهداف مشخص شدند با استفاده از NetBIOS Enumeration بایستی از سرورها تلاش برای بدست آوردن لیست کلاینت ها ، لیست Share های شبکه ، لیست Policy ها و حتی قوانین Password ها کنید. قبلا در TOSINSO در خصوص تکنیک های NetBIOS Enumeration توضیح داده ایم اما بصورت کلی در این مرحله که می تواند اطلاعات جالبی در اختیار شما قرار بدهد شما می توانید با استفاده از ابزارهایی مثل SuperScan یا Hyena یا WinFingerPrint این فرآیند را کامل کنید و گزارش بدست آمده را مکتوب کنید.

 

۷-انجام SNMP Enumeration

مرحله بعدی SNMP Enumeration است بر روی هاست هایی که شناسایی کرده ایم و پورت ۱۶۱ آنها باز است ، این یعنی سرویس SNMP بر روی آنها فعال شده است . خوب در این مرحله شما می توانید اطلاعات خود دستگاه و مدل و … را به همراه بعضا نام های کاربری و … از طریق این سرویس در صورت پیکربندی نادرست پیدا کنید. برای اینکه بتوانید SNMP Enumeration را انجام بدهید پیشنهاد می کنیم از ابزارهایی مثل OpUtils یا SolarWinds IP Network Browser استفاده کنید. این قسمت می تواند بسیار برای بدست آوردن نقشه دقیق شبکه موثر باشد.

 

۸-انجام Linux//Unix Enumeration

اگر در شبکه شما توسط nmap سیستم عامل های خانواده لینوکس هم پیدا شد شما می توانید با استفاده از ابزارهایی مثل enum4linux فرآیند Linux Enumeration را برای بدست آوردن اطلاعات استفاده کنید. هر چند معمولا سرورهای لینوکس یک سازمان بصورت مجزا در شبکه فعالیت می کنند اما نقطه خوبی برای نفوذ می توانند باشند از ابزارهای دیگری که می تواند در خط فرمان لینوکس برای اینکار استفاده کرد می توان به showmount ، finger ، rpcinfo ، rpcclient و … اشاره کرد که همین ابزارها برای Unix هم قابل استفاده هستند.

 

۹-انجام LDAP Enumeration

خوب تا اینجای کار شما قطعا سرورهای اکتیودایرکتوری که بر روی آنها LDAP وجود دارد را شناسایی کرده اید ، اینکار را قبلا با پورت اسکن و … انجام داده اید و الان می دانید کدام سرور کجای شبکه قرار دارد. حالا نوبت به Query گرفتن از سرویس LDAP می رسد ، شما می توانید username های معتبر به همراه اطلاعات سازمانی و ایمیل و آدرس های زیادی را از این طریق به دست بیاورید. شما می توانید این اطلاعات را هم در فرآیند تست نفوذ و هم در حملات مهندسی اجتماعی و حملات غیرفنی نیز استفاده کنید. شما می توانید از ابزارهایی مثل Softerra LDAP Administrator برای اینکار استفاده کنید.

 

۱۰-انجام NTP Enumeration

اگر تشخیص دادید که سروری در شبکه NTP سرور هم هست ، می توانید با استفاده از NTP Enumeration کلاینت هایی که به آن متصل شده اند را به همراه نوع سیستم عامل و اطلاعات دیگری را بدست بیاورید. هر چند NTP Enumeration در هر شبکه ای قابل استفاده نیست اما شما می توانید از ابزارهایی مثل ntptrace ، ntpdc و ntpq برای اینکار در خط فرمان لینوکس استفاده کنید.

 

۱۱-انجام SMTP Enumeration

اگر سازمانی که به آن می خواهید حمله کنید دارای ایمیل سرور است شما می توانید از SMTP Enumeration هم استفاده کنید و از این طریق لیست ایمیل های معتبر را پیدا کنید و البته نسخه ایمیل سرور را نیز برای انجام حملات مرتبط پیدا کنید. برای اینکار می توانید از ابزارهایی مثل NetScanTools Pro برای Query گرفته از SMTP استفاده کنید.

 

مستند سازی

خوب در هر مرحله از این نوع تست نفوذ سنجی شما داده هایی را بدست می آورید که نشان دهنده اطلاعاتی در خصوص سرورها و سرویس های شبکه شما است که در نهایت می تواند توسط یک مهاجم مورد سوء استفاده قرار بگیرد. در فرآیند Enumeration Pen Testing کار تیم امنیت تا همینجا کافیست ، شما مواردیکه پیدا کرده اید را جمع آوری و مستند سازی می کنید و بر اساس مواردیکه پیدا شده است بایستی راهکارهای جلوگیری و مقابله را ارائه و اعمال کنید. اگر قرار باشد یک فرآیند تست نفوذ کامل داشته باشید این مهمترین گام است و مستند سازی شامل موارد مهمتری از جمله کشیدن نقشه شبکه و طراحی نقشه حمله نیز می شود که در انواع دیگر تست نفوذ انجام می شوند امیدوارمورد توجه شما قرار گرفته باشد.

دسته بندی ها: امنيت

دیدگاه ها