اسکن کردن و enumeration، اولین مراحل هک هستند. پس از مرحله اسکن،
مرحله enumeration آغاز میگردد که شامل شناسایی نام کامپیوترها، اکانت های کاربران،
و منابع به اشتراک گذاشته است. اسکن و enumeration، با یکدیگر مورد بحث قرار میگیرند برای اینکه بسیاری از ابزارهای هک، هر
دوی این کارها را انجام میدهند .
اسکن
در طول اسکن، هکر به دنبال
جمع آوری اطلاعات درباره شبکه و
سیستمهای آن است. اطلاعاتی از قبیل آدرس های IP، سیستم عامل، سرویسها، و
برنامه های نصب شده میتوانند به هکر
کمک کنند تا بداند چه نوع اکسپلویت می واند برای هک کردن سیستم استفاده شود. هکرهای
قانونمند، از اسکن برای شناسایی آدرسهای IP سیستم های مقصد
استفاده می کنند.
اسکن پورت،
اسکن شبکه، و اسکن آسیب پذیری
پس از مراحل شناسایی اکتیو و پسیو،
اسکن شروع میشود. برای اینکه بدانیم آیا
سیستم در شبکه در دسترس است یا نه، اسکن
میکنیم. ابزارهای اسکن، برای
جمع آوری اطلاعات درباره یک سیستم از قبیل
آدرسهای IP، سیستم عامل، و
سرویس هایی که بر روی سیستم مقصد در حال اجرا هستند استفاده میشوند
.
جدول زیر، سه نوع اسکن را
توضیح میدهد.
هدف
|
نوع
اسکن
|
پورت ها و سرویسهای باز را مشخص میکند
|
(Port scanning) اسکن پورت
|
آدرس های IP راشناسایی میکند
|
(Network scanning) اسکن شبکه
|
وجود آسیب پذیری های شناخته شده را بررسی
می کند
|
(Vulnerability scanning) اسکن آسیب پذیری
|
اسکن پورت: فرآیند شناسایی
پورتهای باز TCP/IP بر روی یک سیستم را
میگویند. ابزارهای اسکن پورت، هکر را قادر
میسازند درباره سرویس های قابل دسترس روی یک سیستم اطلاعات کسب کند. هر
سرویس یا برنامه روی ماشین، با شماره پورت شناخته
شدهای همراه است. برای مثال، اگر ابزار اسکن پورتی نشان دهد که پورت 80باز است به معنای
این است که بر روی آن سیستم، وب سرور اجرا
میشود. هکرها باید با پورتهای
معروف آشنا باشند.
بر روی سیستم
عامل ویندوز، شماره پورتهای مشهور، در شاخه زیر قرار دارند:
C:\Windows\system32\drivers\etc\services
اسکن شبکه: فرآیند شناسایی
دستگاههای فعال در شبکه است که برای انجام حمله یا برای ارزیابی امنیتی
شبکه انجام میگیرد. دستگاهها با
آدرسهای IP مشخص میشوند.
اسکن آسیب پذیری: فرآیند شناسایی آسیب پذیریهای
سیستمهای کامپیوتری بر روی شبکه است. بطور کلی ،یک اسکنر آسیب پذیری، ابتدا
سیستم عامل و نسخه آن و نیز service pack هایی که نصب هستند را شناسایی می کند
سپس، ضعفها و آسیب پذیریهای سیستم عامل را شناسایی میکند. در مرحله حمله، هکر میتواند از این آسیب پذیری ها برای ایجاد
دسترسی روی سیستم استفاده کند.
سیستم تشخیص نفوذ (IDS)، میتواند
فعالیتهای مربوط به اسکن پورت را تشخیص دهد. ابزارهای اسکن، به دنبال پورت
های TCP/IP میگردند تا پورتهای باز
را شناسایی کنند که این پویش پورت، توسط بسیاری از ابزارهای تشخیص امنیتی قابل
شناسایی هستند. همچنین اسکن شبکه و آسیب پذیری هم معمولا قابل تشخیص هستند.
متدلوژی اسکن
متدلوژی زیر، فرآیندی است که هکر، شبکه را اسکن میکند. این متدلوژی، هکر را مطمئن میسازد که همه اطلاعات لازم برای انجام
حمله، جمع آوری شده است.
Ping Sweep تکنیک های
متدلوژی
اسکن، با بررسی سیستمهایی که در شبکه فعال
هستند آغاز میشود. ساده ترین، و در عین
حال درست ترین روش شناسایی سیستم های فعال، انجام ping sweep برای بازه آدرس IP شبکه است. تمام
سیستم هایی که به ping پاسخ می دهند، به عنوان سیستم های فعال در شبکه محسوب می
شوند.
اسکن
ICMP، فرآیند ارسال یک درخواست ICMP یا ping به همه دستگاه های شبکه برای شناسایی سیستم
های فعال است. یکی از مزایای اسکن ICMP این است که می تواند بصورت موازی انجام شود
این بدان معنی است که همه سیستم ها در یک زمان اسکن می شوند بنابراین به سرعت در
شبکه اجرا می شود. بسیاری از ابزارهای هک ،دارای گزینه Ping sweep هستند این بدان
معنی است که درخواست ICMP برای همه دستگاه های شبکه انجام
میشود.
مساله قابل توجه در این روش این است که
فایروالها
میتوانند جلوی پاسخ سیستم به ping sweep را بگیرند .
مشکل دیگر این است که
بایستی دستگاه ،روشن باشد تا اسکن انجام شود.
ICMP برای انجام کوئریهای WS_Ping_Pro و ،Friendly
Pinger ،Pinger
،Angry IP Scanner ا بزارهای .هستند
تشخیص ping Sweep
تقریبا
هر سیستم IDS یا Ping Sweep ،IPS هایی که در شبکه
اتفاق میافتند، را شناسایی میکنند و گزارش میدهند. بسیاری از فایروالها و سرورهای پروکسی، پاسخهای ping را میبندند بنابراین، هکر نمی تواند بطور دقیق
مشخص کند که آیا تنها با استفاده از ping sweep، سیستم ها در دسترس هستند یا نه. اگر سیستمها، به ping sweep پاسخ ندهند، از
پورت اسکنرهای قویتری باید استفاده شود.
اگر ping sweep، سیستم فعالی را در شبکه نشان ندهد، به این معنا نیست که وجود
ندارد شما باید از روشهای جایگزین برای
شناسایی استفاده کنید. به یاد داشته باشید که هک کردن ،زمان، صبر، و پشتکار میخواهد.
اسکن پورت ها
و شناسایی سرویس ها
بررسی پورتهای باز، گام
دوم در متدلوژی اسکن است. اسکن پورت، روشی برای بررسی پورتهای باز است. فرآیند اسکن پورت شامل جستجوی
تمام پورت ها بر روی سیستم، برای شناسایی
پورتهای باز است. بطور کلی ،اسکن پورت، اطلاعات با ارزشی درباره دستگاه ها
و آسیب پذیری سیستم ها می دهد.
شناسایی سرویس، سومین مرحله در متدلوژی اسکن است که معمولا با
استفاده از همان ابزارها به عنوان اسکن پورت انجام میشود. با شناسایی پورتهای باز، هکر میتواند
سرویسهایی که با آن شماره پورتها
کار م یکنند، را تشخیص دهد.
سوئیچ های دستور Nmap
Nmap، ابزار رایگانی است
که با عملیات ping sweep، اسکن پورت، شناسایی سرویس، شناسایی آدرس IP، و شناسایی سیستم
عامل را با سرعت بالاتری انجام می دهد. مزیت Nmap این است که می
تواند تعداد زیادی ماشین را در یک نشست اسکن کند و توسط اغلب سیستم عاملها از قبیل یونیکس، ویندوز، و لینوکس
پشتیبانی میشود.
وضعیت
پورت که توسط Nmap مشخص میشود م یتواند
بصورت باز، فیلتر شده یا فیلتر نشده باشد. پورت باز یعنی اینکه ماشین هدف به
درخواست های ورودی روی پورت پاسخ می دهد. پورت فیلتر شده به این معنی است که
فایروال یا فیلتر شبکه، از کشف پورت های باز توسط Nmap جلوگیری می کنند.
پورت فیلتر نشده به این معنی است که پورت بسته است و فایروال، جلوی درخواست های Nmap را نم یگیرد. Nmap، از چندین نوع اسکن
پشتیبانی م یکند. جدول زیر، برخی از رایج ترین روش های اسکن را توضیح می دهد.
TCP connect حمله
کننده، یک ارتباط کامل TCP با سیستم هدف می سازد.
XMAS tree scan حمله کننده، سرویس های TCP را با ارسال بسته های XMAS-tree، بررسی می کند. تمام flagهای
URG ،FIN و PSH با مقدار یک پر شده اند
.
SYN stealth scan اسکن
نیمه باز (half-open) نیز
نامیده می شود. هکر، یک بسته SYN را ارسال می کند و در
دستور زیر کامپبوتر روشن را پیدا می کند و در بازگشت پیام فعال بودن به همراه Macآدرس سیستم را برمیپرداند
nmap -sP -v 192.168.43.1
TCP Flags
SYN: این فلگ ارتباط بین دو کامپیوتر را شروع و آن ارتباط را تسهیل می کنند.
ACK: اعلام وصول بسته ارسال از کامپیوتر دریافت کننده به کامپیوتر ارسال کننده که بسته شما به مقصد رسید.
URG: این فلگ نشان می دهد که این بسته یک بسته فوری است و باید سریعا پردازش شود.
PSH: این فلگ به سیستم ارسال کنند دستور می دهد تمام داده های داخل بافر را سریعا ارسال کند.
FIN:به سیستم راه دور می گوید هیچ اطلاعاتی برای ارسال نمانده است یعنی ماهیت اصلی آن بستن یک ارتباط است.
RST:ریست کردن یک ارتباط می باشد.
با سوئیچ sP می توان هاست های فعال را در یک رنج IP نشان می دهد.
nmap -sP 185.12.164.0/24 -Pn
Nmap offers several advanced methods to solicit replies from active hosts including the
TCP SYN ping, TCP ACK ping, and the User Datagram Protocol (UDP) ping. The
advanced methods can be combined (and also used with the (-sP) or used individually.
The TCP SYN ping (-PS) creates a packet with the SYN fl ag set and sends it to specifi ed
ports on the target. By default, Nmap uses port 80, but you can specify a single port
or multiple ports. If the specifi ed port is closed the device will reply with an RST packet;
if it is open it will reply with a SYN/ACK. Either response is acceptable for host discovery,
because they both indicate that a device is active and responding. If no response is received,
the target is either not active or the responses are being blocked by a fi rewall. The following
shows the command-line options and output of a TCP SYN ping to port 80
nmap -sP -PS --reason 185.12.164.1-10 -Pn
Starting Nmap 7.60 ( https://nmap.org ) at 2017-08-11 17:58 Iran Daylight Time
Nmap scan report for 185.12.164.1
Host is up, received user-set.
Nmap scan report for 185.12.164.2
Host is up, received user-set.
Nmap scan report for 185.12.164.3
Host is up, received user-set.
Nmap scan report for 185.12.164.4
Host is up, received user-set.
Nmap scan report for 185.12.164.5
Host is up, received user-set.
Nmap scan report for 185.12.164.6
Host is up, received user-set.
Nmap scan report for 185.12.164.7
Host is up, received user-set.
Nmap scan report for 185.12.164.8
Host is up, received user-set.
Nmap scan report for 185.12.164.9
Host is up, received user-set.
Nmap scan report for 185.12.164.10
Host is up, received user-set.
Nmap done: 10 IP addresses (10 hosts up) scanned in 9.17 seconds
Nmap Port States
At fi rst glance, you may think that a port can have two states: open and closed.
While this is true from the operating system’s point of view, Nmap can detect
other occurrences effecting state. Nmap detects the following six port states:
■ Open Open ports have an active application accepting TCP connections
or UDP packets.
■ Closed Closed ports are accessible, but they do not have a listening
application.
■ Filtered Responses are blocked by a packet filter, therefore Nmap
cannot determine if the port is open.
■ Unfiltered Unfi ltered ports are accessible, but Nmap is unable to
determine if they are open or closed. (ACK scan only)
■ Open|filtered Nmap is unable to determine if the port is open or
fi ltered for scan types where open ports do not respond. (UDP, IP
Proto, FIN, Null, Xmas scans)
■ Closed|filtered Nmap is unable to determine if a port is closed or
fi ltered. (IP ID idle scan only)
Basic Port Scanning
Basic Port Scanning
By default, Nmap performs a TCP SYN scan (-sS) against the specifi ed target, when run
with root or administrator privileges. SYN scanning is quick and provides reliable results for
open, closed, and fi ltered ports. SYN scanning was once considered a stealthy scan method,
however, most host- and network-based intrusion detection systems can now detect SYN
scans. Ports are considered open if the port responds to the SYN packet with a SYN/ACK
packet, and ports are closed if the system responds with a RST packet. A fi ltered port
indicates an ICMP unreachable error or no response was received. Although Nmap performs
a SYN scan by default, you can also perform it with the following command-line option:
*run root or administrator
- Tap on the Windows-key. This should open the start menu or bring you to the Start Screen interface depending on how Windows 10 is configured on the system.
- Type cmd and wait for the results to be displayed.
- Right-click on the Command Prompt result (cmd.exe) and select "run as administrator" from the context menu. Alternatively, hold down the Shift-key and the Ctrl-key before you start cmd.exe.
- Run the command net user to display a list of all user accounts on the system.
- To activate the inactive administrator account, run the command net user administrator /active:yes
- If you want to enable the guest account as well run the command net user guest /active:yes
nmap -sS 185.12.164.1 -Pn
Starting Nmap 7.60 ( https://nmap.org ) at 2017-08-11 18:15 Iran Daylight Time
Nmap scan report for 185.12.164.1
Host is up (0.22s latency).
Not shown: 990 closed ports
PORT STATE SERVICE
23/tcp filtered telnet
113/tcp filtered ident
135/tcp filtered msrpc
139/tcp filtered netbios-ssn
445/tcp filtered microsoft-ds
593/tcp filtered http-rpc-epmap
4444/tcp filtered krb524
6667/tcp filtered irc
6881/tcp filtered bittorrent-tracker
12345/tcp filtered netbus
Nmap done: 1 IP address (1 host up) scanned in 26.96 seconds
If a user doesn’t have root or administrator privileges, Nmap will perform the TCP
connect scan (-sT) by default. This is because Nmap uses the underlying OS to establish
a connection with the target instead of using its built-in ability to create and send raw
packets. This scan method tends to be less effi cient since Nmap has less control than it
does when creating raw packets. TCP connect scans are more likely to be logged since
they complete a full TCP connection. System administrators should monitor logs for a
large number of connection attempts to multiple ports, since this activity may indicate
a port scan. TCP connect scans can also cause unwanted effects, such as causing DoS
conditions for systems that do not effi ciently close TCP connections. In our example,
running a TCP connect scan against the same target detects additional open ports: