یک روز ، یک جمله ...

امروز به هر کاری که قراره انجام بدی، باور داشته باش

23 بهمن

بررسی عملیات اسکن و جمع آوری اطلاعات مطلب ویژه

در این مبحث صحبت از روشهای اسکن کردن در عملیات هک و اصطلاحات آنها و همچنین روش شناسایی پورت های باز در یک فایروال می شود.

روش شناسی اسکن در عملیات هک :

  • Check Live Systems
  • Check Open Ports
  • Banner Grabbing
  • Prepare Proxies
  • Scan for Vulnerabilities
  • Draw Network Diagrams

به منظور شروع انجام عملیات اسکن ابتدا می بایست هدف های زنده خود را شناسایی نمایید. با ابزاری که در این رابطه وجود دارند می توانید یک شبکه را از لحاظ سیستم های فعال و قابل دسترس اسکن نمایید. در واقع این لزوم آغاز عملیات هک می باشد. پس از اینکه سیستم های فعال در یک شبکه شناسایی شدند می بایست اقدام به اسکن پورتها کرد. همانطور که می دانید درگاه نفوذ به یک سیستم از طریق پورت های باز آن سیستم می باشد. در بسیاری از موارد ممکن است این مرحله زمان بسیار طولانی را به خود اختصاص دهد. یک هکر مادام هدف خود را برای پورتهای باز آن بررسی می کند تا راه نفوذ خود را پیدا کند. بعد از شناسایی پورتهای باز می توانید اقدام به شناسایی اطلاعات سرویس ها نمایید. به طور مثال اگر قصد نفوذ شما از طریق پورت 80 که مخصوص سرویس دهنده وب می باشد است، می خواهید اطلاعاتی را از سرویس دهنده وب کسب نمایید. اینکه از چه سرویس دهنده ای استفاده می شود، چه نسخه ای از سرویس دهنده در حال انجام فرآیند سرویس دهی است، از چه نوع کدهایی استفاده شده است و از این دست قبیل اطلاعات.
در تمام مراحل باید مهمترین مقوله یعنی عدم شناسایی هویت خود در ذهن شما باشد. استفاده از پروکسی برای انجام فرآیند شناسایی یک پوشش مناسب جهت جلوگیری از شناسایی شدن است.
پس از انجام مراحل شناسایی تا زمان جمع آوری اطلاعات مربوط به سیستم های فعال، پورت های باز و اطلاعات سرویس دهنده ها، حال می بایست به جهت نقاط ضعف یک سیستم را اسکن نمایید. نقاط ضعف در واقع پتانسیل یک سیستم جهت تخریب است. نیرویی که شما باید آنرا از حالت بالقوه به حالت بالفعل درآورید و در نهایت می بایست یک دیاگرام از ساختار شبکه ای که هدف شما درون آن شبکه قرار دارد رسم نمایید.
نکته : جهت جلوگیری از شناسایی در مراحل مختلف هک می بایست از پروکسی استفاده نمایید به همین دلیل می توانید از سایت www.anonymizer.com اقدام به خرید یک پروکسی نمایید.

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

  • Network Scanning
  • Port Scanning
  • Vulnerability Scanning

عملیات شناسایی فایروال ها یا Firewalking :
عملیات شناسایی فایروال ها به معنای شناسایی قوانین امنیتی فایروال در یک شبکه به منظور به دست آوردن اطلاعات پورت های باز و بسته آن فایروال است. اصطلاحات موجود در این عملیات ها به شرح زیر است :

  • Determine Firewall ACLs
  • Uses TTL (Like Trace route)
  • Forwarded Packets (Open Ports)
  • Not Necessary to reach destination

به منظور شناسایی پورتهای باز بهترین روش ارسال بسته های ICMP روی پورت های مختلف به منظور دریافت پاسخ می باشد. وقتی یک سیستم روی یک پورت مشخص پاسخ بسته ICMP را بدهد (مانند Ping) بدین معناست که پورت مدنظر ما برای ایجاد ارتباط باز است. اگر یک پورت بسته باشد و بسته ها به مقصد خود نرسند نمی توانند پاسخی را به شما بازگرداند و در نتیجه در بین راه از چرخه خارج می شوند و شما متوجه می شوید که در جایی از مسیر جلوی عبور آن بسته و یا جلوی بازگشت آن بسته گرفته شده است. برای یافتن اینکه در کجای مسیر این اتفاق رخ می دهد به ادامه مطلب توجه نمایید.
با استفاده از دستور Trace Route در ویندوز و لینوکس می توانید از تعداد هاپ های مسیر مطلع شوید. این نه تنها به شما کمک می کند که در عملیات نفوذ خود موفق تر باشید بلکه به مدیران شبکه کمک می کند تا وضعیت شبکه خود را بهبود بخشند. وقتی شما اقدام به مسیریابی یک هدف می کنید، تعداد روتر های درون مسیر تعداد شبکه های عبوری شما را مشخص می کنند که به آنها هاپ گفته می شود. در پشت و یا جلوی هر کدام از این روتر ها ممکن است یک فایروال قرار داده شده باشد. بسته شما ممکن است از 8 هاپ عبور کند اما در هاپ 9 به دلیل سیاستهای امنیتی یک فایروال از چرخه خارج شود. لذا برای یافتن اینکه چه اتفاقی در هاپ X رخ می دهد ابزاری وجود دارد به نام HPing3 که یک ابزار تحت لینوکس است. این برنامه به شما امکان این را میدهد تا پورتهای یک هدف را از یک هاپ مشخص به بعد بررسی نمایید. نحوه استفاده از این دستور به صورت زیر است :

hping3 scan “Port Numbers” –s –t “IP Address”

قبل از ادامه مبحث لازم است تا یک اشاره به ساختار برقراری ارتباط در TCP بکنیم. در برقراری ارتباط های TCP اصطلاحی به نام 3-Way Hand Shaking وجود دارد. در این ساختار نحوه برقراری ارتباط به این شکل است که نقطه A برای شروع ارتباط با نقطه B یک بسته SYN ( SYN اختصار Synchronize ) ارسال می کند. بسته SYN وقتی به نقطه B روی یک پورت خاص می رسد در صورت باز بودن پورت نقطه B یک بسته SYN/ACK به نقطه A باز می گرداند. وقتی این بسته به نقطه A رسید در پاسخ نقطه A به نقطه B بسته ACK جهت تایید دریافت بسته ارسال از نقطه B می فرستند. پس از این مرحله ارتباط برقرار می شود.

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

با نحوه شروع ارتباط در TCP آشنا شدیم. حال می خواهیم بدانیم یک ارتباط به چه صورت بسته می شود. برای بستن یک ارتباط باز در TCP ابتدا نقطه A یک بسته FIN/ACK ( FIN اختصار Finalize ) برای نقطه B ارسال میکند. نقطه B در پاسخ بسته ACK/ACK را برای نقطه A ارسال می کند و در کنار آن یک بسته FIN/ACK نیز میفرستد. در نهایت نقطه A یک بسته ACK نهایی برای پایان ارتباط ارسال می کند. حال جالب است بدانید که هکرها روی بسته های FIN نیز جهت شناسایی طرفین ارتباط حساب باز کرده اند!!

انواع مختلف فایروال ها :

Packet Filtering Firewall

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

Statefull Firewall

ویژگی مهم این نوع فایروال ها Statefull Packet Inspection می باشد. این ویژگی باعث می شود که اگر قرار است یک ارتباط بین دو نقطه ایجاد شود و شماره پورتها ارتباطی در یک لیست نگهداری می شود. به طور مثال اگر نقطه A می خواهد از پورت 5680 یک درخواست روی پورت 80 نقطه B ارسال کند اطلاعات این ارتباط روی فایروال نگهداری می شود و اگر پاسخ نقطه B نیز روی پورت انتخابی A باشد امکان ایجاد ارتباط برقرار می شود.
در نتیجه اگر هکری بخواهد شبکه ای که فایروال Satefull دارد را اسکن کند امکان ارسال بسته ای SYN را از پورتهای مختلف ندارد چون تمام این پورتها توسط فایروال چک شده و در نتیجه بسته ها Drop می شوند. در این حالت می بایست از اسکن های Null استفاده کرد که هیچگونه بسته SYN و ACK ارسال نمی کند. ابزاری که امکان اسکن NULL را به شما می دهد NMAP می باشد.

Filtered Firewall

این مدل فایروال ها با عملیات Block کردن پورت ها اقدام به امن سازی شبکه می نمایند. باید مدنظر داشته باشید که در شبکه های چند لایه ممکن است امن سازی در چند نقطه صورت گیرد. به طور مثال ممکن است روی یک فایروال پورت های خاصی باز باشند اما روی هدف شما و مثلا از طریق یک فایروال نرم افزاری این پورت ها بسته باشند. در این صورت باید از ابزار خاصی برای اسکن شبکه استفاده نمایید. این ابزار می توانند یک شبکه بزرگ را اسکن کنند و اهداف متعددی را بررسی کنند تا در نهایت به یک هدف قابل نفوذ برسند.

عملیات اسکن کردن :
در این بخش می خواهیم با ابزار متعددی آشنا شویم که مهمترین آنها NMAP می باشد. این ابزار با اسکن یک شبکه وضعیت پورتهای باز و بسته را بررسی کرده و در نهایت به شما نتایج را اعلام می کنند.
انواع ابزارهای کاربردی در این زمینه :

  • Netcat, Crypto , Recub
  • Hping (2,3)
  • Nikto
  • Rapid7 Expose
  • Net Discover

در بین این ابزارها با Hping آشنا شدیم. ابزار Nikto یک ابزار جهت تست امنیتی وب سایت ها می باشد. برنامه Net Discover یک ابزار تحت لینوکس است که تمام هاست های یک شبکه را بررسی و پورت های باز آنها را اعلام می نماید.

آشنایی با ابزار NMAP :

این ابزار جهت اسکن یک شبکه به عنوان یکی از قویترین ابزار های موجود به حساب می آید. دارای نسخه های تحت ویندوز، لینوکس، مک و نسخه آنلاین به آدرس nmap.online-domain-tools.com می باشد. نتایج اسکن توسط این وسیله شامل هاست های فعال، پورت های باز، نوع سیستم عامل ها و .... می باشد. در این نوع اسکن پورت ها وضعیت های مختلفی خواهند داشت که این وضعیت ها به شرح زیر می باشند:

  • Open
  • Closed
  • Filtered
  • Unfiltered
  • Open / Filtered
  • Closed / Filtered

پورت فیلتر شده در این وسیله به معنای این است که یک پورت توسط فایروال فیلتر شده و شما نمی توانید از باز یا بسته بودن آن مطلع شوید و حتی پورت را نمی توانید ببینید. پورت Unfiltered پورتی است که شما آن را می بینید ولی نمی توانید تشخیص دهید که پورت باز یا بسته است.
در حالت Open / Filtered پورت باز است اما فایروال اجازه دسترسی به پورت را نمی دهد. در این صورت می بایست از اسکن های Null , FIN یا Xmas استفاده نمایید.

نمونه ای از یک اسکن NMAP تحت سیستم عامل لینوکس :
همانطور که اشاره شد اولین قدم در اسکن یافتن یک هاست فعال می باشد. در صورتیکه شما بخواهید از خارج از یک شبکه اقدام به نفوذ نمایید می بایست روی آدرس IP های Public آن شبکه متمرکز شوید. این کار با یک عمل Ping قابل دستیابی است.
در مرحله اول می بایست یک لیست از هاست های موجود در آن شبکه تهیه نمایید. برای این کار با Subnet های متعدد اقدام به اسکن شبکه نمایید :

Nmap –sL “IP Address / Subnet” > “Filename.txt”

در صورتیکه شما در درون شبکه قرار دارید و می خواهید اقدام به اسکن شبکه کنید:

Nmap –sP –n “IP Address / Subnet”

جهت اسکن پورت های TCP :

Nmap –sT –O –t% “IP Address / Subnet” –p “Port Numbers”

جهت اسکن پورت های UDP :

Nmap –sU “IP Address / Subnet” –p “Port Number”

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

نکته : در اسکن توسط NMAP اگر هاست هدف شما تحت سیستم عامل ویندوز باشد ممکن است سوییچ های –sS و sF و sX که مربوط به ارسال بسته های SYN و FIN و اسکن Xmas می باشد نتیجه مطلوبی نداشته باشد. علت این امر نیز مدیریت خوب ویندوز در برابر این بسته ها می باشد.

آشنایی با اسکن زامبی ( Idle Scan or Zombie Scan ) :
همیشه باید این مهم در ذهن شما باشد که حمله به صورت مستقیم به یک هدف احتمال یافتن هویت یک هکر را بیشتر می کند. لذا هکرها از روش های خاصی جهت جلوگیری از فاش شدن هویت خود می کنند. یکی از این روش ها اسکن زامبی می باشد. در این نوع اسکن شما نیاز به یک قربانی دارید. یک دستگاه درون شبکه که پوشش مناسبی برای عملیات شناسایی شما باشد. بهترین دستگاه ها جهت قربانی کردن پرینتر های تحت شبکه و سیستم عامل ویندوز XP می باشد.

برای آغاز فرآیند اسکن زامبی مراحل به شرح زیر می باشد :

  • ارسال یک بسته غیرمعمول مانند SYN/ACK در شروع ایجاد ارتباط با زامبی. همانطور که می دانید این بسته در عملیات برقراری اتصال در TCP مرحله دوم عملیات می باشد. لذا زامبی وقتی این بسته را دریافت کند می گوید که من با کسی درخواست ایجاد ارتباط نکرده ام لذا بسته RST یا ریست را ارسال می نماید. این بسته دارای یک شمارنده منحصر به فرد می باشد که ما این شمارنده را در اینجا 1000 در نظر می گیریم.
  • در مرحله بعدی به هدف مورد نظر خود یک بسته SYN با آدرس IP زامبی ارسال نمایید تا به هدف خود بگویید که خواهان برقراری ارتباط هستید. اما چون IP ارسالی مربوط به آدرس IP زامبی است پاسخ از هدف به سمت زامبی ارسال می شود.
  • در مرحله بعد وقتی پاسخ مرحله قبل به آدرس زامبی ارسال شد زامبی باز همان عملکرد مرحله اول را خواهد داشت. چون در پاسخی که از طرف هدف برای زامبی ارسال شده است بسته از نوع SYN/ACK می باشد و چون زامبی از این ارتباط بی اطلاع است یک بسته RST با یک ID منحصر به فرد جدید برای هدف ارسال می کند. در این مرحله این ID یک عدد بیشتر از عدد ID مرحله اول است.
  • در مرحله بعدی باز هکر یک بسته SYN/ACK برای زامبی ارسال می کند و زامبی در پاسخ مجددا بسته RST را با یک ID جدید ارسال می کند. در اینجا هکر می تواند متوجه شود که عدد ارسال شده با عدد اول چقدر اختلاف دارد. در نتیجه اگر 2 عدد اختلاف وجود داشته باشد یعنی هدف روی پورت مشخص شده به زامبی پاسخ داده است و این پورت باز است اما اگر اختلاف 1 عدد باشد در نتیجه بسته مرحله دوم به زامبی نرسیده و در نتیجه پورت روی هدف بسته است.

جهت انجام اسکن زامبی توسط ابزار NMAP از دستور زیر استفاده نمایید :

Nmap –Pn –vv –p “Port Number” –sI “Zombie IP Address” “Target IP Address”

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

  • A Subset of Scanning
  • More Actively Looks for
    • Users / Groups
    • Computer Names
    • Network Resources
    • Shares
    • Auditing
    • Services and Applications

در اینجا لازم دانستم تا اشاره ای به چرخه هک سیستم کنم. هک کردن فرآیندی است که می بایست به صورت منظم و طی یک چرخه مشخص طی شود.

  • Reconnaissance and FootPrinting
  • Scanning and Enumeration
  • Gain AccessEscalate Privilege
    • Enumerate Users
    • Crack Passwords
  • Maintain Access
  • Cover Tracks and make a backdoor

در ادامه این مبحث به بررسی سیستم هک، تروجان ها، ویروس ها و کرم ها می پردازیم.

رضا اردانه

مدیریت وب سایت آموزش دیجیتال

نظر دادن

خبرنامه

برای دریافت جدیدترین خبرهای سایت در خبرنامه عضو شوید