همانطور که میدانید هر حملهای نامی دارد. و دو نوع از حملات اولیه که باید هر هکری انجام دهد تا به مقصد اصلی برسد حملات Probe و Scan میباشند.
نکته: هر گونه درسی در این سایت که مبنای امنیت دارند، فقط به دلیل Penetration Test وHardening سرورها میباشند. اگر کسی قصد تجاوز یا هر کار دیگری دارد عواقب آن بر عهده خود شخص میباشد.در این سایت میآموزیم که چگونه امن باشیم.
هر چند خیلی از حملات Probe را با مهندسی اجتماعی انجام میدهند. ولی نیاز است تا خیلی از Probe ها با ابزار کار شوند. همچنین حملات Scan باید به طور کامل از ابزار استفاده شوند.
nmap قسمتی دارد به نام NSE که مخفف Nmap Scripting Engine میباشد. درواقع شما از این به بعد هر چه میبینید یکبار برای namp با NSE نوشته شده است و خود شما نیز میتوانید به آن اضافه کنید. درواقع namp یک port scanner ساده نیست، بلکه یک Framework است.
اما در این مطلب بیشتر قصد آشنایی با آن را داریم و موارد سادهای که nmap آنها حمایت میکند به قلم در میآوریم.
۱. آشنایی مقدماتی:
بدست آوردن اقلام شبکه در سیستم خودتان :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# nmap --iflist Starting Nmap 7.01 ( https://nmap.org ) at 2016-05-09 03:44 IRDT ************************INTERFACES************************ DEV (SHORT) IP/MASK TYPE UP MTU MAC eth0 (eth0) (none)/0 ethernet up 1500 18:03:73:60:B4:4E wlan0 (wlan0) (none)/0 ethernet down 1500 38:59:F9:42:98:33 lo (lo) 127.0.0.1/8 loopback up 65536 lo (lo) ::1/128 loopback up 65536 ivbr0 (ivbr0) 192.168.1.4/24 ethernet up 1500 18:03:73:60:B4:4E ivbr0 (ivbr0) fe80::1a03:73ff:fe60:b44e/64 ethernet up 1500 18:03:73:60:B4:4E vboxnet0 (vboxnet0) (none)/0 ethernet down 1500 0A:00:27:00:00:00 vboxnet1 (vboxnet1) (none)/0 ethernet down 1500 0A:00:27:00:00:01 **************************ROUTES************************** DST/MASK DEV METRIC GATEWAY 192.168.1.0/24 ivbr0 0 169.254.0.0/16 ivbr0 1000 0.0.0.0/0 ivbr0 0 192.168.1.1 ::1/128 lo 0 fe80::1a03:73ff:fe60:b44e/128 lo 0 fe80::/64 ivbr0 256 ff00::/8 ivbr0 256 |
اگر به صورت نرمال و خیلی عادی قصد دارید حمله Scan را انجام دهید باید بدانید که گیر IDS و قانون خواهید افتاد. به مثال زیر دقت نمایید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# nmap 192.168.1.8 Starting Nmap 7.01 ( https://nmap.org ) at 2016-05-09 03:45 IRDT Nmap scan report for 192.168.1.8 Host is up (0.025s latency). Not shown: 993 closed ports PORT STATE SERVICE 22/tcp open ssh 53/tcp open domain 80/tcp open http 111/tcp open rpcbind 139/tcp open netbios-ssn 445/tcp open microsoft-ds 3128/tcp open squid-http MAC Address: 08:00:27:76:B0:78 (Oracle VirtualBox virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 1.74 seconds |
درواقع حرکت بالا از پورتهای 0 تا ۶۵۵۳۵ را پشت سر هم Scan مینماید.
برای جلوگیری از این کار، شما میتوانید شماره پورت مورد نظر را بدهید:
1 2 3 4 5 6 7 8 9 10 |
# nmap -p 53 192.168.1.8 Starting Nmap 7.01 ( https://nmap.org ) at 2016-05-09 03:46 IRDT Nmap scan report for 192.168.1.8 Host is up (0.00042s latency). PORT STATE SERVICE 53/tcp open domain MAC Address: 08:00:27:76:B0:78 (Oracle VirtualBox virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 0.70 seconds |
اگر حس میکنید تعداد آنها زیاد است با فواصل زمانی و از IP های مختلف این کار را انجام دهید.
برای اسکن یک محدوده پورت میتوان از syntax زیر استفاده نمود:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
nmap -p 53-140 192.168.1.8 Starting Nmap 7.01 ( https://nmap.org ) at 2016-05-09 03:47 IRDT Nmap scan report for 192.168.1.8 Host is up (0.0071s latency). Not shown: 84 closed ports PORT STATE SERVICE 53/tcp open domain 80/tcp open http 111/tcp open rpcbind 139/tcp open netbios-ssn MAC Address: 08:00:27:76:B0:78 (Oracle VirtualBox virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 1.73 seconds |
و برای مشخص کردن چند پورت میتوان بدینگونه عمل کرد:
1 2 3 4 5 6 7 8 9 10 11 12 |
# nmap -p 53,110,3128 192.168.1.8 Starting Nmap 7.01 ( https://nmap.org ) at 2016-05-09 03:48 IRDT Nmap scan report for 192.168.1.8 Host is up (0.00059s latency). PORT STATE SERVICE 53/tcp open domain 110/tcp closed pop3 3128/tcp open squid-http MAC Address: 08:00:27:76:B0:78 (Oracle VirtualBox virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 0.74 seconds |
همانطور که میدانید هر پورتی بر روی دو پروتکل میتواند سوار شود: UDP و TCP.
اگر قصد اسکن بر روی یک UDP را دارید میتوانید از فرمان زیر استفاده نمایید:
1 |
# nmap -p U:53 192.168.1.8 |
همچنین برای TCP:
1 |
# nmap -p T:80 192.168.1.8 |
اگر قصد host discovery را دارید، میتوانید از فرمان زیر استفاده نمایید:
1 2 3 |
# nmap -sP YOUR_TARGET # namp -sP 192.168.1.0/24 # nmap -sP 192.168.1.1 |
نکته: اگر میخواهید یک IPv6 را اسکن نمایید، فقط کافیست یک 6- به nmap اضافه نمایید.
نکته: شما به جای Target میتوانید از هر نوع نامی استفاده نمایید:
-
CIDR
-
name
-
IP
-
Network address
-
IP range
۲. چند تکنیک:
به جرأت میتوان گفت بهترین نوع Port Scanning از نوع ICMP میباشد. زیرا خیلی از IDS ها و فایروالها لزوماً به Layer 2 کاری ندارند. و حتی اگر با نوع ping باشد، که مشکلی نیست.
فرمان زیر عمل Port Scan را با توجه به Ping انجام میدهد:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# nmap -P0 192.168.1.8 Starting Nmap 7.01 ( https://nmap.org ) at 2016-05-09 03:53 IRDT Nmap scan report for 192.168.1.8 Host is up (0.00074s latency). Not shown: 993 closed ports PORT STATE SERVICE 22/tcp open ssh 53/tcp open domain 80/tcp open http 111/tcp open rpcbind 139/tcp open netbios-ssn 445/tcp open microsoft-ds 3128/tcp open squid-http MAC Address: 08:00:27:76:B0:78 (Oracle VirtualBox virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 1.95 seconds |
Scan بر اساس UDP:
1 |
# nmap -sU 192.168.1.8 |
Scan بر اساس TCP SYN:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
# nmap -sS 192.168.1.8 Starting Nmap 7.01 ( https://nmap.org ) at 2016-05-09 03:54 IRDT Nmap scan report for 192.168.1.8 Host is up (0.0058s latency). Not shown: 993 closed ports PORT STATE SERVICE 22/tcp open ssh 53/tcp open domain 80/tcp open http 111/tcp open rpcbind 139/tcp open netbios-ssn 445/tcp open microsoft-ds 3128/tcp open squid-http MAC Address: 08:00:27:76:B0:78 (Oracle VirtualBox virtual NIC) Nmap done: 1 IP address (1 host up) scanned in 1.95 seconds |
بر مبنای Protocol IP:
1 |
# nmap -sO 192.168.1.8 |
۳. حرف آخر:
مثالهای بالا همگی در دنیای واقعی صدق نمیکند. البته بستگی به نوع شبکه شما دارد.
چند نکته حیاتی :
-
همیشه از verbose mode با v- استفاده کنید.
-
همیشه جعل IP و جعل mac کنید.
-
بهترین نوع اسکن که تا به امروز شناخته شده P0- میباشد.
-
سعی کنید سرورهای خود را در مقابل Port Scanning بپوشانید. به راهنماهای SOCKS5 مراجعه کنید.
این تنها یک سرنخ برای دوستانی بود که میخواستند با PortScanner ها آشنا شوند.
از zenmap به عنوان نرمافزار آموزشی استفاده کنید. نه برای کار.