شبکهمیکروتیک

اسکن شبکه چگونه انجام می شود؟

اسکن شبکه چگونه انجام می شود؟

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

انواع اسکن

اسکن پورت: پروسه شناسایی پورت های باز و در دسترس tcp/ip می باشد. بر روی هر پورتی یک سرویس فعال است که در صورت اسکن پورت ها توسط هکر می تواند اطلاعات ارزشمندی به دست بیاورد به عنوان مثال باز بودن پورت 21 به منزله فعال بودن ftp است. لیست پورت ها و سرویس های آن را می توانید در این لینک مشاهده کنید.

اسکن شبکه: این اسکن به منظور شناسایی تارگت های زنده (سیستم های در دسترس) در شبکه انجام می شود که لازمه اصلی این کار معمولا عمل پینگ کردن است. عملیات پینگ کردن یک سیستم به صورت دو طرفه می باشد که با استفاده از پروتکل icmp انجام می شود، این پروتکل پیغامی را به سمت هدف می فرستد و در صورتی که پیغام به دست هدف برسد جوابی را به سمت فرستنده ارسال می کند.

اسکن آسیب پذیری: اسکن آسیب پذیری پروسه شناسایی نقاط آسیب پذیر و حفره های امنیتی سیستم های کامپیوتری می باشد که ابتدا سیستم عامل و نسخه آن را شناسایی (شامل سرویس پک ها) و سپس نقاط آسیب پذیر در سیستم عامل را پیدا می کند. اسکن شبکه و آسیب پذیری معمولا میتواند شناسایی شود و دلیل آن هم این است که اسکنر بایستی با سیستم هدف مورد نظر تعامل برقرار کند.

در میکروتیک میتوانید پروسه اسکن شبکه و آسیب پذیری را به وسیله فایروال آن بست که جلوتر به آن میپردازیم.

تعریف flag در شبکه

flag یا پرچم بیانگر برقراری ارتباط و نوع آن ارتباط می باشد که در هدر tcp/ip این فلگ ها set می شوند مانند تصویر زیر و سیستم هدف بسته به نوع پیام دریافتی جوابی را با استفاده از سایر فلگ ها ارسال می کند.

تعریف flag در شبکه
تعریف flag در شبکه

برای درک بهتر flag میتوان به شکل زیر توجه کرد که یک پکت با استفاده از wireshark ضبط (capture) شده است.

تعریف flag در شبکه

بیت مربوط به هر flag که یک باشد set میشود

انواع فلگ های TCP

SYN: مخفف synchronize می باشد که برای برقراری ارتباط بین سیستم ها استفاده می شود که به عنوان مثال می توان به handshaking اشاره کرد.

syn

FIN: مخفف finish می باشد و جهت پایان دادن به یک ارتباط استفاده می شود.

URG: مخفف urgent می باشد و بیانگر این است که داده های داخل این پکت باید به سرعت پردازش شوند.

RST: مخفف reset می باشد که به منظور دوباره راه اندازی کردن ارتباط استفاده می شود.

PSH: مخفف push می باشد و به منظور ارسال داده های بافر شده می باشد.

ACK: مخفف acknowledge می باشد که جهت تصدیق و دریافت یک پیام استفاده می شود.

با استفاده از نرم افزار komodia packet crafter میتوان بسته های سفارشی با flag دلخواه تولید کرد.

انواع فلگ های TCP

وضعیت پورت ها در شبکه

وضعیت‌ پورت ها معمولا به شش دسته کلی تقسیم می‌شوند :

  • باز                                     Open
  • بسته                                  Close
  • فیلترشده                        Filtered
  • فیلترنشده                   Unfiltered
  • باز/فیلترشده         Open/Filtered
  • بسته/فیلترشده      Close/Filtered

پورت های باز: پورتی است که به صورت فعال آماده پاسخگویی می باشد.

پورت های بسته: پورتی که روی آن سرویس دهی صورت نمی گیرد و توسط فایروال فیلتر نشده است.

پورت های فیلترشده: پورت هایی هستند که توسط فایروال یا برخی دیوایس های حفاظتی محافظت شده اند.

پورت های فیلتر نشده: پورت هایی که اسکنر ما (بعنوان مثال nmap) قادر به دسترسی به آن است ولی به هر دلیل قادر به تشخیص باز یا بسته بودن آن نیست.

پورت های باز/فیلتر شده: یک پورت باز/فیلترشده پورتی است که اسکنر ما (بعنوان مثال nmap) را به تردید انداخته ولی مطمئن است که یا فیلترشده یا باز است ولی نمی‌تواند به صورت دقیق تشخیص دهد که کدام وضعیت را دارد .

پورت های بسته/فیلترشده: پورتی است که اسکنر ما (بعنوان مثال nmap) را به تردید انداخته و مطمئن است که یا فیلترشده یا بسته است ولی نمی‌تواند به صورت دقیق تشخیص دهد که کدام وضعیت را دارد.

 انواع اسکن در شبکه با ابزار NMAP

Tcp connect: این اسکن مطمئن ترین نوع اسکن است که اگر ارتباط ما برقرار شود به معنی باز بودن پورت می باشد.

 انواع اسکن در شبکه با ابزار NMAP

Xmas scan: در این نوع اسکن flag های URG,FIN,PSH تنظیم می شود که اگر هدف پاسخی ندهد پورت باز و اگر با rst پاسخ دهد پورت بسته است. این اسکن در مورد هدف های ویندوزی جوابگو نیست.

Xmas scan

Syn stealth scan: در این نوع اسکن پیام هایی با flag syn میفرستیم که اگر پورت باز باشد هدف با syn/ack پاسخ میدهد و اگر پورت بسته باشد rst پاسخ میدهد. این نوع اسکن برای دور زدن فایروال ها و مکانیزم های احراز هویت استفاده میشود و با این اسکن ترافیک شبکه را به صورت نرمال وانمود می کند.

Syn stealth scan
اسکن شبکه

Null scan: در این اسکن بسته ارسالی دارای هیچ فلگی نیست و اگر جوابی ارسال نشود پورت بسته و اگر rst/ack ارسال شود یعنی پورت بسته می باشد. این اسکن در مورد ویندوز جوابگو نیست.

Null scan
اسکن شبکه

Ack scan: در این اسکن پکت با فلگ ack ارسال میشود که اگر با جواب rst پاسخ داده شود پورت فیلتر نشده و اگر پاسخی دریافت نشود پورت توسط فایروال فیلتر شده است. این اسکن در مورد ویندوز جوابگو نیست.

Ack scan

Windows scan: همان ack scan میباشد منتها برای ویندوز هم جوابگو میباشد.

IDLE Scan: در این شما کارتان را از طریق یک سیستم واسط انجام می دهید که در اصطلاح امنیت و هک به این سیستم قربانی که اسکن از طرف آن ثبت و ضبط می شود Zombie گفته می شود.

هر بسته اطلاعاتی از نوع IP در اینترنت برای خودش دارای یک Fragment Identification Number یا IP ID می باشد که شناسه منحصر به فرد آن سیستم یا بسته اطلاعاتی نیز خواهد بود. با توجه به اینکه اکثر سیستم عامل های امروزی از مکانیزم افزایش مقدار IP ID در ارسال بسته های اطلاعاتی خودشان استفاده می کنند ، با شنود کردن IPID های سیستم های قربانی می توان تعداد بسته های اطلاعات و زمان و سایر اطلاعاتی از این قبیل را بدست آورد و در Idle Scan ما از این IPID برای اسکن کردن واسط استفاده می کنیم.

IDLE Scan
اسکن شبکه

از طرف سیستم Zombie به سمت سیستم قربانی بر روی پورت مورد نظر یک بسته SYN ارسال کرد. بر حسب وضعیت پورت مورد نظر کامپیوتر هدف ممکن است باعث شود که IP ID بعدی اضافه شود یا نیازی به اضافه کردن آن نباشد و بدون تغییر بماند.

IDLE Scan
اسکن شبکه

مجددا به دنبال IP ID جدید سیستم Zombie می گردیم و آن را ثبت می کنیم. برای بررسی کردن وضعیت پورت IP ID جدید را با IP ID قدیمی مقایسه می کنیم و متوجه می شویم که وضعیت پورت مورد نظر چگونه است زیرا سیستم قربانی درخواست را به سمت Zombie هدایت کرده است. این فرآیند برای همه پورت های مورد نظر مجددا از مرحله اول انجام می شود.

اگر عدد IP ID دو عدد زیاد شده باشد به منزله باز بودن پورت مورد نظر است زیرا سرور مقصد به سمت سیستم Zombie بسته اطلاعاتی بازگشتی داده است و درخواست برقراری ارتباط داده است. و اگر یک عدد اضافه شده باشد پورت بسته میباشد.

RPC Scan: RPC ویندوز  RPC(Remote Procedure Call) ، پروتکلی است که توسط سیستم عامل ویندوز استفاده می گردد . RPC  ، یک مکانیزم ارتباطی را ارائه و این امکان را فراهم می نماید که برنامه در حال اجراء بر روی یک کامپیوتر قادر به اجراء کد موجود بر روی یک سیستم از راه دور گردد . پروتکل RPC از پروتکل OSF(Open Software Foundation)  مشتق شده و مایکروسافت امکانات اضافه ای را به آن اضافه نموده است.

در بخشی از پروتکل فوق یک نقطه آسیب پذیر وجود داشته که در ارتباط با پیام های مبادله شده بر روی TCP/IP است . مشکل بوجود آمده ناشی از عدم بررسی ( برخورد ) مناسب پیام های ناقص است . یک مهاجم که امکان استفاده موفقیت آمیز از ضعف موجود را کسب نماید، قادر به اجراء کد با مجوزهای محلی سیستم بر روی یک سیستم آسیب پذیر ، خواهد بود. در چنین حالتی مهاجم ، قادر به انجام هر نوع عملیاتی بر روی سیستم خواهد بود . نصب برنامه ها ، مشاهده تغییرات ، حذف فایل ها و ایجاد account های جدید بهمراه تمامی مجوزهای مربوطه ، نمونه هائی در این رابطه می باشد .بمنظور استفاده از ضعف موجود، یک مهاجم درخواستی خاص بر روی کامپیوتر از راه دور و از طریق پورت های مشخص شده RPC را ارسال می نماید.

این اسکن یک پیغام null rpc میفرستد به تمام پورت های tcp و udp پیدا شده و با توجه به مشکل برخورد مناسب با پیام های ناقص در صورت اینکه پورتی rpc باشد تشخیص میدهد

پیدا کردن سیستم عامل هدف

Banner grabing: یک روش برای شناسایی سیستم عامل هدف است که این روش به دو صورت passive و active انجام می شود.

Active: در این روش با ارسال بسته هایی به سمت هدف مورد نظر و جواب آنها میتوان سیستم عامل را حدس زد.

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

در مد active می توان با استفاده از پینگ سیستم عامل را مشخص کرد با این توضیح که اگر ttl=64 و کلا کوچیکتر از 100 بود سیستم عامل لینوکس ، اگر بین 100 تا 200 بود سیستم عامل ویندوز و اگر 200 به بالا (معمولا 255) بود روتر میباشد.

پیدا کردن سیستم عامل هدف

کار با nmap و تجزیه تحلیل خروجی آن

Nmap یک اسکنر بسیار قدرتمند میباشد که بسیار محبوب میباشد. این نرم افزار نسخه کامندی و گرافیکی دارد که از سایت sectools میتوانیم دانلود و نصب کنیم، در اینجا ما کالی لینوکس را نصب داریم که میتوانیم به راحتی در ترمینال با نوشتن nmap آن را اجرا کنیم. در اینجا یک راهنما برای انواع اسکن توسط این اسکنر میگذاریم:

کار با nmap و تجزیه تحلیل خروجی آن

با توجه به سوییچ های بالا میتوانیم اقدام به اسکن شبکه کنیم ، مثالی از دستورات :

Nmap -f -sV 192.168.10.1

Nmap -vv -f -sV -A

در شکل صفحه بعد یک عکس از کل help این اسکنر که از سایت خود nmap گرفته شده است را میگذاریم که بسیار کمک میکند که سوییچ های مورد نیاز را پیدا کنیم.

کار با nmap و تجزیه تحلیل خروجی آن

کار با nmap و تجزیه تحلیل خروجی آن

هدف مورد نظر ما سیستم عامل metasploitable میباشد که خروجی های مختلف را تحلیل میکنیم.

  • root@kali:~# nmap -f -sV -A -sT 200.1.1.7
  • Starting Nmap 7.70 ( https://nmap.org ) at 2018-11-27 00:48 EST
  • Nmap scan report for 200.1.1.7
  • Host is up (0.00077s latency).
  • Not shown: 977 closed ports
  • PORT STATE SERVICE     VERSION
  • 21/tcp open  ftp         vsftpd 2.3.4
  • |_ftp-anon: Anonymous FTP login allowed (FTP code 230)
  • | ftp-syst:
  • | STAT:
  • | FTP server status:
  • | Connected to 200.1.1.6
  • | Logged in as ftp
  • | TYPE: ASCII
  • | No session bandwidth limit
  • | Session timeout in seconds is 300
  • | Control connection is plain text
  • | Data connections will be plain text
  • | vsFTPd 2.3.4 – secure, fast, stable
  • |_End of status
  • 22/tcp open  ssh         OpenSSH 4.7p1 Debian 8ubuntu1 (protocol 2.0)
  • | ssh-hostkey:
  • | 1024 60:0f:cf:e1:c0:5f:6a:74:d6:90:24:fa:c4:d5:6c:cd (DSA)
  • |_ 2048 56:56:24:0f:21:1d:de:a7:2b:ae:61:b1:24:3d:e8:f3 (RSA)
  • 23/tcp open  telnet      Linux telnetd
  • 25/tcp open  smtp        Postfix smtpd
  • |_smtp-commands: metasploitable.localdomain, PIPELINING, SIZE 10240000, VRFY, ETRN, STARTTLS, ENHANCEDSTATUSCODES, 8BITMIME, DSN,
  • | ssl-cert: Subject: commonName=ubuntu804-base.localdomain/organizationName=OCOSA/stateOrProvinceName=There is no such thing outside US/countryName=XX
  • | Not valid before: 2010-03-17T14:07:45
  • |_Not valid after: 2010-04-16T14:07:45
  • |_ssl-date: 2018-11-27T05:49:06+00:00; -3s from scanner time.
  • | sslv2:
  • | SSLv2 supported
  • | ciphers:
  • | SSL2_DES_64_CBC_WITH_MD5
  • | SSL2_RC4_128_WITH_MD5
  • | SSL2_DES_192_EDE3_CBC_WITH_MD5
  • | SSL2_RC2_128_CBC_WITH_MD5
  • | SSL2_RC4_128_EXPORT40_WITH_MD5
  • |_ SSL2_RC2_128_CBC_EXPORT40_WITH_MD5
  • 53/tcp open  domain      ISC BIND 9.4.2
  • | dns-nsid:
  • |_ version: 9.4.2
  • 80/tcp open  http        Apache httpd 2.2.8 ((Ubuntu) DAV/2)
  • |_http-server-header: Apache/2.2.8 (Ubuntu) DAV/2
  • |_http-title: Metasploitable2 – Linux
  • 111/tcp open  rpcbind     2 (RPC #100000)
  • | rpcinfo:
  • | program version   port/proto  service
  • | 100000  2            111/tcp  rpcbind
  • | 100000  2            111/udp  rpcbind
  • | 100003  2,3,4       2049/tcp  nfs
  • | 100003  2,3,4       2049/udp  nfs
  • | 100005  1,2,3      45927/udp  mountd
  • | 100005  1,2,3      47618/tcp  mountd
  • | 100021  1,3,4      49629/udp  nlockmgr
  • | 100021  1,3,4      51431/tcp  nlockmgr
  • | 100024  1          39978/udp  status
  • |_ 100024  1          49672/tcp  status
  • 139/tcp open  netbios-ssn Samba smbd 3.X – 4.X (workgroup: WORKGROUP)
  • 445/tcp open  netbios-ssn Samba smbd 3.0.20-Debian (workgroup: WORKGROUP)
  • 512/tcp open  exec        netkit-rsh rexecd
  • 513/tcp open  login?
  • 514/tcp open  tcpwrapped
  • 1099/tcp open java-rmi    Java RMI Registry
  • 1524/tcp open bindshell   Metasploitable root shell
  • 2049/tcp open nfs         2-4 (RPC #100003)
  • 2121/tcp open ftp         ProFTPD 1.3.1
  • 3306/tcp open mysql       MySQL 5.0.51a-3ubuntu5
  • | mysql-info:
  • | Protocol: 10
  • | Version: 5.0.51a-3ubuntu5
  • | Thread ID: 12
  • | Capabilities flags: 43564
  • | Some Capabilities: Support41Auth, LongColumnFlag, Speaks41ProtocolNew, SwitchToSSLAfterHandshake, SupportsCompression, SupportsTransactions, ConnectWithDatabase
  • | Status: Autocommit
  • |_ Salt: 39`Z$CcJ&!o/9nCCfXg}
  • 5432/tcp open postgresql  PostgreSQL DB 8.3.0 – 8.3.7
  • | ssl-cert: Subject: commonName=ubuntu804-base.localdomain/organizationName=OCOSA/stateOrProvinceName=There is no such thing outside US/countryName=XX
  • | Not valid before: 2010-03-17T14:07:45
  • |_Not valid after: 2010-04-16T14:07:45
  • |_ssl-date: 2018-11-27T05:49:06+00:00; -3s from scanner time.
  • 5900/tcp open vnc         VNC (protocol 3.3)
  • | vnc-info:
  • | Protocol version: 3.3
  • | Security types:
  • |_ VNC Authentication (2)
  • 6000/tcp open X11         (access denied)
  • 6667/tcp open irc         UnrealIRCd
  • 8009/tcp open ajp13       Apache Jserv (Protocol v1.3)
  • |_ajp-methods: Failed to get a valid response for the OPTION request
  • 8180/tcp open http        Apache Tomcat/Coyote JSP engine 1.1
  • |_http-favicon: Apache Tomcat
  • |_http-server-header: Apache-Coyote/1.1
  • |_http-title: Apache Tomcat/5.5
  • MAC Address: 00:0C:29:D0:68:98 (VMware)
  • No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
  • TCP/IP fingerprint:
  • OS:SCAN(V=7.70%E=4%D=11/27%OT=21%CT=1%CU=38500%PV=N%DS=1%DC=D%G=Y%M=000C29%
  • OS:TM=5BFCDADB%P=x86_64-pc-linux-gnu)SEQ(SP=C9%GCD=1%ISR=CE%TI=Z%CI=Z%II=I%
  • OS:TS=7)OPS(O1=M5B4ST11NW5%O2=M5B4ST11NW5%O3=M5B4NNT11NW5%O4=M5B4ST11NW5%O5
  • OS:=M5B4ST11NW5%O6=M5B4ST11)WIN(W1=16A0%W2=16A0%W3=16A0%W4=16A0%W5=16A0%W6=
  • OS:16A0)ECN(R=Y%DF=Y%T=40%W=16D0%O=M5B4NNSNW5%CC=N%Q=)T1(R=Y%DF=Y%T=40%S=O%
  • OS:A=S+%F=AS%RD=0%Q=)T2(R=N)T3(R=Y%DF=Y%T=40%W=16A0%S=O%A=S+%F=AS%O=M5B4ST1
  • OS:1NW5%RD=0%Q=)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5(R=Y%DF=Y%T=4
  • OS:0%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%
  • OS:Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=Y%DF=N%T=40%IPL=16
  • OS:4%UN=0%RIPL=G%RID=G%RIPCK=I%RUCK=G%RUD=G)IE(R=Y%DFI=N%T=40%CD=S)
  • Network Distance: 1 hop
  • Service Info: Hosts: localdomain, localhost, irc.Metasploitable.LAN; OSs: Unix, Linux; CPE: cpe:/o:linux:linux_kernel
  • Host script results:
  • |_clock-skew: mean: 1h39m57s, deviation: 2h53m12s, median: -3s
  • |_nbstat: NetBIOS name: METASPLOITABLE, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
  • | smb-os-discovery:
  • | OS: Unix (Samba 3.0.20-Debian)
  • | NetBIOS computer name:
  • | Workgroup: WORKGROUP\x00
  • |_ System time: 2018-11-27T00:49:04-05:00
  • |_smb2-time: Protocol negotiation failed (SMB2)
  • TRACEROUTE
  • HOP RTT ADDRESS
  • 0.77 ms 200.1.1.7
  • OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
  • Nmap done: 1 IP address (1 host up) scanned in 33.54 seconds

در خط 1 دستور ما نوشته شده است که شامل tcp connect scan و همچنین -f برای خورد کردن پکت ها جهت دور زدن فایروال لینوکسی و sV جهت پیدا کردن سرویس و ورژن ان سرویس در پورت های باز و سوییچ -A جهت پیدا کردن سیستم عامل و ورژن و سرویس پورت های باز میباشد و آی پی تارگت ما هم 200.1.1.7 می باشد.

خط 4 بیانگر زنده بودن هاست ما است.

خط 5 بیانگر 977 عدد پورت close می باشد.

در خطوط بعدی شماره پورت ، وضعیت آن ، سرویس فعال روی آن پورت و ورژن آن را میگوید در ادامه نیز توضیحاتی راجب آن سرویس که مفید میباشد را میگوید. بعنوان مثال ftp بار پورت 21 باز میباشد و ورژن آن vsftpd2.3.4 میباشد هیچ گونه کنترل پهنای باندی در آن صورت نگرفته و با حداکثر سرعت میتوانیم از این سرویس استفاده کنیم ، همچنین به دلیل فعال بودن anonymouse ftp login به صورت ناشناس نیز میتوانیم از آن استفاده کنیم و نیاز به هیچ احراز هویتی نمیباشد تا 300 ثانیه اگر استفاده ای از ftp نکنیم session ما بسته میشود و همینطور تمامی اطلاعات رد و بدل شونده بین ما و سرور به صورت plain text یعنی بدون هیچگونه عملیات رمزگذاری و hashing تبادل میشود که با کمک sniff میتوان به راحتی در صورت نیاز اطلاعات خوبی را به دست آورد ، همچنین با استفاده از ورژن آن و جست و جو در سایت های امنیتی exploit در صورت وجود دانلود و بر روی این پورت و سرویس اجرا کرد. در مورد سایر پورت ها و سرویس ها نیز میتوان به همین صورت تحلیل کرد.

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

در خطوط 98 تا 107 میتوانیم بفهمیم که سیستم عامل به درستی تشخیص داده نشده است و انگشت نگاری سیستم عامل را داده که با جست و جو از این انگشت نگاری احتمال پیدا کردن سیستم عامل آن میباشد ولی پیش تر در خطوط 45 مثلا میتوان فهمید که سیستم عامل مقابل ما لینوکسی میباشد که سرویس های اوبونتو بر روی آن اجرا شده است و هدر http آن مربوط به سیستم عامل های لینوکسی می باشد.

درخطوط  111 تا  119 با توجه به اسکریپت اجرا شده نتایج نشان دهنده این است که سیستم عامل مقابل ما بر پایه Debian میباشد و در هیچ دامینی نیست و به صورت workgroup میباشد. همینطور با توجه به زمان سیستم طرف مقابل میتوان فهمید که هدف ما در کدام کشور می باشد.

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

اخرین خط نیز بیان کننده مدت زمان اسکن و تعداد هاست هایی که اسکن کرده می باشد.

اسکن میکروتیک با nmap

در این قسمت ما روتر میکروتیک مدل rb951ui-2hnd را اسکن می کنیم و سپس بر روی فایروال این روتر تنظیماتی انجام میدهیم که جلوی پورت اسکنر ها رو می گیرد.

اسکن میکروتیک با nmap
اسکن شبکه

خب همانطور که مشاهده میکنید اطلاعاتی را به ما ارائه داد در مورد پورت های باز و بسته و همینطور سرویس های اجرا شده بر روی آن ، از خطرناکترین اطلاعاتی که در مورد ما قرار داد پورت های 8000 و پورت های 8291 میباشد که جهت اتصال با روتر میکروتیک میباشد و ویباکس میکروتیک به شدت آسیب پذیر میباشد که پورت پیش فرض آن 8291 میباشد. همچنین سرویس http که با پورت 80 اجرا میشود را تغییر پورت داده به 8000 که در میکروتیک برای webfig از آن استفاده می شود.

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

add chain=input protocol=tcp psd=21,3s,3,1 action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="Port scanners to list " disabled=no
add chain=input protocol=tcp tcp-flags=fin,!syn,!rst,!psh,!ack,!urg action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="NMAP FIN Stealth scan"
add chain=input protocol=tcp tcp-flags=fin,syn action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="SYN/FIN scan"
add chain=input protocol=tcp tcp-flags=syn,rst action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="SYN/RST scan"
add chain=input protocol=tcp tcp-flags=fin,psh,urg,!syn,!rst,!ack action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="FIN/PSH/URG scan"
add chain=input protocol=tcp tcp-flags=fin,syn,rst,psh,ack,urg action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="ALL/ALL scan"
add chain=input protocol=tcp tcp-flags=!fin,!syn,!rst,!psh,!ack,!urg action=add-src-to-address-list address-list="port scanners" address-list-timeout=2w comment="NMAP NULL scan"
add chain=input src-address-list="port scanners" action=drop comment="dropping port scanners" disabled=no

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

اسکن میکروتیک با nmap

اسکن آسیب پذیری (Vulnerability scan)

این اسکن با توجه به آسیب پذیری ها و اسکن آنها میتوان به سیستم هدف نفوذ کرده و از آنها سو استفاده کنیم. که از قدرتمندترین آنها nessus  میباشد که در ادامه با این نرم افزار کار میکنیم

کار با nessus

پس نصب و اجرای این برنامه روی new scan کلیک میکنیم و نوع اسکن مورد نظر و سایر تنظیمات رو انجام میدهیم و save میکنیم ، حالا بر روی launch کلیک میکنیم و صبر میکنیم تا اسکن ما کامل شود در اینجا از basic scan استفاده کردیم و نتایج در شکل زیر می باشد.

کار با nessus

خب در اینجا مشاهده میکنیم که اسکن کامل شده و همچنین 88 عدد آسیب پذیری پیدا کرده است

در سمت راست تصویر چندین مدل آسیب پذیری میبینیم :

Critical: در این نوع باگ ها مهاجم 100 درصد میتواند به سیستم نفوذ کند

High: در این نوع باگ ها احتمال خیلی زیاد مهاجم میتواند به سیستم نفوذ کند

Normal: در این نوع باگ مهاجم امکان دارد بتواند به سیستم مقابل نفوذ کند

low: در این نوع باگ مهاجم امکان نفوذ ندارد ولی میتواند از اطلاعات به دست امده استفاده کند

Info: این مورد فقط اطلاعاتی را در مورد هدف به ما میدهد که میتوان انها را مطالعه کرد و اطلاعاتی بدست آورد.

تجزیه و تحلیل نتیجه نسوس (nessus)

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

کار با nessus

در قسمت host تعداد اسیب پذیری هایی که از تارگت مورد نظر ما به دست آورده است را نمایش میدهد.

کار با nessus

حالا به تجزیه تحلیل باگ ها میپردازیم ، به دلیل زیاد بودن در اینجا به چندین نوع از آنها اشاره میشود.

کار با nessus

باگ bind shell backdoor detection

این باگ به ما میگوید که شل ما به یک پورت بدون نیاز به هیچگونه احراز هویتی گوش میکند و هکر میتواند به صورت مستقیم با استفاده ازین پورت کامندهایی رو اجرا کنه ، با توجه به اینکه این باگ critical میباشد پس 100 درصد هدف ما آسیب پذیر است ، در قسمت solution خود این اسکنر راه حل پیشنهاد داده که سیستم عامل مورد نظر را در صورت نیاز عوض کنیم. پورتی که به عنوان درب پشتی استفاده میشود 1524 tcp میباشد.

باگ bind shell backdoor detection
باگ bind shell backdoor detection

باگ rlogin

این سرویس برای برقراری ارتباط از یه سیستم لینوکس یا یونیکس به سیستم دیگر میشود که ضعف امنیتی آن این است که اطلاعات رو بدون رمز نگاری رد و بدل میکند و هرکسی با انجام حملات MITM یا sniffing میتواند اطلاعات یوزر و پسورد را به دست آورده و به این سیستم ها از طریق همین سرویس وصل شود. به عبارت دیگر این سرویس تقریبا مانند telnet میباشد که بهترین راه جهت رفع این مشکل غیر فعال کردن این سرویس و استفاده از secureshell یا همان ssh میباشد که اطلاعات را به صورت رمزنگاری شده با استفاده ار کلیدهای عمومی و خصوصی رد و بدل میکند. سرویس rlogin از پورت 513 tcp استفاده میکند که حداقل کار در جهت امنیت آن عوض کردن پورت پیش فرض آن میباشد. از دیگر اطلاعاتی که در این صفحه میتوان به دست آورد این است که این باگ با استفاده Metasploit (rlogin authentication scanner) قابل exploit میباشد و همچنین CVE آن نیز نوشته شده است که میتوان اطلاعات کاملتری را به دست آورد به همراه ورژن آن که 1.35 میباشد.

باگ rlogin

Nfs exported share information disclosure

این باگ مربوط به اشتراک گذاری فایل ها میباشد که به دلیل درست کانفیگ نشدن آن هکر میتواند این فایل ها را در سیستم خود مونت کند ( این فایل ها در سطح شبکه به اشتراک گذاری شده و قابل دسترسی میباشند) و به همین دلیل میتواند فایل های خواندنی رو به صورت کامل مشاهده کند و حتی اگر فایل ها پرمیژن write داشته باشند در انها تغییرات ایجاد کند ، راه حل این مشکل این است که nfs رو به صورت درست کانفیگ کنیم و فقط افرادی که احراز هویت میشوند قابلیت دسترسی به این فایلها را داشته باشند. از پورت 2049  udp استفاده میکند و همانطور که ملاحظه میکنید rpc میباشد که پیشتر در مورد آن صحبت کردیم و با استفاده Metasploit (NFS Mount Scanner) قابل exploit میباشد.

Unix Operating System Unsupported Version Detection

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

در دیگر مطالب مورد استفاده میتوان به nessus syn scanner، service detection و … اشاره کرد که همگی اطلاعات بسیار خوبی به ما میدهند که منجر به exploit سیستم هدف مورد نظر ما میشود. ما بقی باگ ها نیز به همین صورت میتوانیم بخوانیم و اطلاعات مورد نظر را استفاده کنیم مثلا در سایر باگ ها کلید های عمومی و خصوصی به صورت ضعیف تولید شده اند که قابل شکستن میباشند و همچنین مشکلات ssl و …

استفاده از پراکسی ها

در دنیای واقعی ما با استفاده پراکسی ها آی پی واقعی خود را پنهان و آی پی جعلی استفاده میکنیم که نمیتوان به راحتی به شخص اصلی دست پیدا کرد که از قدرتمندترین آنها میتوان به Tor که از تکنولوژی پوسته پیازی استفاده میکند اشاره کرد ، قبل از حمله ما باید حتما آی پی واقعی خود را پنهان کنیم.

علی کلانتری

کارشناس شبکه CCNA , CCNP MTCNA, MTCRE, MTCTCE, MTCWE, MTCUME , MTCINE MCSA,VCP 5.5,LPIC-1,CEH

‫3 دیدگاه ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


دکمه بازگشت به بالا