تدابير امنيتي در IPv6 (قسمت سوم)

در حال حاضر از نگارش چهارم پروتكل IP براي آدرس‌دهي در اينترنت استفاده مي‌شود. همچنين به دليل عدم توانايي اين نگارش از پروتكل IP در تأمين آدرس‌هاي موردنياز، نگارش ششم آن نيز معرفي شده است. پروتكل IPv4 به...
چهارشنبه، 30 شهريور 1390
تخمین زمان مطالعه:
موارد بیشتر برای شما
تدابير امنيتي در IPv6 (قسمت سوم)

تدابير امنيتي در IPv6 (قسمت سوم)
تدابير امنيتي در IPv6 (قسمت سوم)


 





 
در حال حاضر از نگارش چهارم پروتكل IP براي آدرس‌دهي در اينترنت استفاده مي‌شود. همچنين به دليل عدم توانايي اين نگارش از پروتكل IP در تأمين آدرس‌هاي موردنياز، نگارش ششم آن نيز معرفي شده است. پروتكل IPv4 به همراه ابزارهايي مانند NAT/PAT، پروكسي‌ها، گيت‌وي‌ها و... هنوزهم در صحنه حضور دارد، اما پيچيدگي شبكه‌ها هرروز افزايش مي‌يابد و اين واقعيت به‌طور معمول به افزايش دشواري فرآيند اشكال‌زدايي منجر مي‌شود. پروتكل IPv6 مشكل فضاي آدرس‌ها را برطرف مي‌كند، گيت‌وي‌ها درخواست‌هاي كمتري را دريافت مي‌كنند و پيچيدگي‌هاي امنيتي بازنشاني اتصالات end-to-end كاهش مي‌يابد. هدف اين مقاله كمك به خواننده براي درك بهتر پروتكل IPv6 و ترافيك شبكه در هنگام كاربا ميزبان‌هاي اين پروتكل است. همچنين مطالب اين مقاله هنگام تحليل رفتاربدافزارها نيز كاربرد دارد (در قسمت «پشتيباني سيستم‌عامل‌ها» علاوه‌بر بررسي نحوه پشتيباني سيستم‌عامل‌هاي مختلف از IPv6 به‌طور‌خاص به اين موضوع پرداخته شده است). اغلب پلتفرم‌ها و سيستم‌عامل‌ها از IPv6 پشتيباني مي‌كنند و در صورت فعال نبودن اين قابليت با اجراي يك دستور ساده مي‌توان آن را فعال كرد.
پروتكل IPv6 همراه netsh.exe در ويندوزچنان‌كه در بالا با چند مثال گفته شد، در ويندوز XP و ويستا پيكربندي آدرس‌هاي IPv6 و ساير پارامترهاي پيكربندي با اجراي دستورات netsh interface ipv6 در سطر فرمان امكان‌پذير است. همچنين امكان استفاده از AD GPO براي غيرفعال‌كردن ارسال دوباره اطلاعات به‌صورت كلي وجود دارد. اين رويكرد در مقايسه با اجراي دستورات netsh براي هر ميزبان كارايي بهتري دارد. دستورات INTERFACE به شرح زير هستند:
براي پيكربندي يك آدرس IPv6:

netsh interface ipv6 add address Eth _ LAN fe80::20c:29ff:fe67:beec
 

براي تغيير آدرس موجود:

netsh interface ipv6 set address Eth _ LAN fe80::20c:29ff:fe67:beec
 

براي حذف يك آدرس:

netsh interface ipv6 delete address Eth _ LAN fe80::20c:29ff:fe67:beec
 

دستورات GENERIC ROUTING به شرح زير هستند:
براي افزودن يك مسير پيش فرض:

netsh interface ipv6 add route netsh interface ipv6 add route
 

براي مشاهده جدول مسيريابي IPv6:

netsh interface ipv6 add route netsh interface ipv6 add route
 

براي اضافه كردن يك سرور DNS:

netsh interface ipv6 add dnsserver Eth _ LAN fe80::20c: netsh interface ipv6 add dnsserver Eth _ LAN fe80::20c:
 

براي حصول اطمينان از غيرفعال شدن Forwarding و اعلان موجوديت در تمام رابط‌ها (شماره رابط را به‌نحو مقتضي تغيير دهيد):

netsh interface ipv6 set interface interface=4
forwarding=disabled advertise=disabled
netsh interface ipv6 set interface interface=5
forwarding=disabled
 

براي نمايش پيشوند كنوني كه توسط روتر محلي در پيغام RA اعلان مي‌شود:

netsh interface ipv6 show siteprefixes
 

براي نمايش آن دسته از روترهاي محلي LAN كه پيغام‌‌هاي RA‌ را ارسال مي‌كنند:

netsh interface ipv6 potentialrouters
 

دستورات FILTERING به شرح زير هستند:
براي نمايش پروفايل و فهرست وضعيت ديواره آتش:

netsh firewall show state
 

براي نمايش حالت كنوني عملكرد ديواره آتش:

netsh firewall show opmode
 

براي مشاهده پيكربندي:

netsh firewall show config
 

براي فعال و غيرفعال كردن ديوار آتش:

netsh firewall set opmode disable
netsh firewall set opmode enable
 

دستورات ISATAP به شرح زير هستند:
براي نمايش اطلاعات مربوط به روتر پيكربندي شده ISATAP كنوني:

netsh interface ipv6 isatap show router
 

براي نمايش فعال يا غيرفعال بودن ISATAP:

netsh interface ipv6 isatap show state
 

براي نمايش آنلاين بودن ميزبان ISATAP:

netsh interface ipv6 isatap show mode
 

براي غيرفعال كردن ISATAP:

netsh interface ipv6 isatap set state disabled
 

براي اجتناب از شكل‌گيري اين نوع تونل‌هاي پويا:

netsh interface ipv6 isatap set mode offline
 

دستورات 6to4 به شرح زير هستند:
 

براي نمايش اطلاعات فعلي رابط 6to4:

netsh interface ipv6 6to4 show interface
 

براي نمايش فعال بودن قابليت ارسال دوباره:

netsh interface ipv6 6to4 show relay

براي نمايش وضعيت كنوني مسيريابي:
 

netsh interface ipv6 6to4 show routing
 

براي نمايش وضعيت كنوني 6to4 مربوط ميزبان:

netsh interface ipv6 6to4 show state
 

براي فعال كردن رابط 6to4:

netsh interface ipv6 netsh interface ipv6
 

سيستم‌عامل‌هاي ويندوز سرور 2003، ويستا و سرور 2008 نيز داراي يك ويژگي موسوم به Portproxy هستند كه برقراري ارتباط را بين ميزبان‌هاي IPv4 و IPv6 آسان مي‌كند. اين ويژگي مانند يك سرور پروكسي عمل كرده و امكان برقراري ارتباط را بين ميزبان‌هاي IPv4 و IPv6 فراهم مي‌كند.
براي مشاهده پيكربندي ويژگي Portproxy:

netsh interface portproxy show all
 

براي غيرفعال كردن ويژگي Portproxy:

netsh interface portproxy set mode offline
 

ارزيابي امنيتي IPv6
 

به طور معمول، به‌عنوان بخشي از اقدامات امنيتي بايد ويژگي‌هاي IPv6 Address Detection و IPv6 Network Detection را بررسي كنيد؛ علت اين كه IPv6 به عنوان يك در پشتي براي مهاجمان و بدافزارها جذابيت دارد، اين است كه با وجود حفاظت محيطي، همچنان امكان انتشار بدافزارها بدون فيلتر شدن وجود دارد. به عنوان مثال، اگر شبكه شما از IPv6 پشتيباني نمي‌كند، اما اين نوع ترافيك را مشاهده مي‌كنيد، مي‌توانيد آن را به‌عنوان نشانه‌اي از فعاليت‌هاي خطرناك بدانيد. اسكن كور كورانه يك سيستم به‌منظور شناسايي سيستم‌هاي زنده، به دليل وسعت فضاي آدرس‌ها انتخاب معقولي نيست. بنابر‌اين، مـي‌توانيم از پروتـكل‌هايND (سرنام ICMPv6 Neighbor Discovery) و NS (سرنام ICMPv6 Neighbor Solicitation) براي اين كار استفاده كنيم. پروتكل Neighbor Discovery امكان شناسايي آدرس‌هاي محلي پيوند با پيكربندي خودكار موجود را روي تمام سيستم‌هاي IPv6 شبكه فراهم مي‌كند. پروتكل Neighbor Solicitation نيز براي تشخيص وجود يك آدرس IPv6 روي شبكه محلي كارايي دارد.

شناسايي ميزبان‌هاي IPv6
 

اين ابزارها براي شناسايي ميزبان‌هاي فعال IPv6 روي پيوندي كه بسته‌هاي اطلاعاتي ICMPv6 echo-request را به آدرس‌هاي نشر چندگانه ارسال‌‌كرده و منتظر دريافت بسته‌هاي ICMPv6 echo-reply مي‌ماند، كارايي دارند.

ابزار ping6
 

اين ابزار در لينوكس و BSD تعبيه شده است و همچنين ابزار ip در بسياري از توزيع‌هاي لينوكس بعد از نگارش 2,2 وجود دارد (فهرست 1).

mascalzone@backtrack # ping6 –c3 -I en0 ff02::1 >
/dev/null
mascalzone@backtrack # ip –6 neigh
fe80::202:b3ff:fe0a:3ebb dev eth0 lladdr 00:02:b3:
0a:3e:bb REACHABLE
fe80::21e:37ff:fe8a:4b8 dev eth0 lladdr 00:1e:37:8a:
04:b8 REACHABLE
fe80::21e:bff:fe13:cca4 dev eth0 lladdr 00:1e:0b:13:
cc:a4 REACHABLE
fe80::207:80ff:fe00:3887 dev eth0 lladdr 00:07:80:
00:38:87 router REACHABLE
fe80::202:b3ff:fe0a:3de7 dev eth0 lladdr 00:02:b3:
0a:3d:e7 REACHABLE
fe80::21e:bff:fe13:e39 dev eth0 lladdr 00:1e:0b:13:
0e:39 REACHABLE
fe80::202:b3ff:fe0a:3dea dev eth0 lladdr 00:02:b3:
0a:3d:ea REACHABLE
…………
 

فهرست 1 - ديواره آتش Mac OS X

ابزار alive6
 

يك جعبه‌ابزار حمله IPv6 كه از آدرس www.thc.org قابل دريافت است.

mascalzone@backtrack # alive6 eth0
 

يك اسكن مؤثر كه مي‌تواند تمام سيستم‌هاي در حال گوش دادن به يك آدرس IP ‌خاص را شناسايي كند.
اسكريپت Ruby براي نگاشت ميزبان‌هاي IPv4 و IPv6
اين ابزار يك اسكريپت خام Ruby است كه مؤلف آن را به منظور بررسي ميزبان‌هايي با ويژگي IPv6 فعال طراحي كرده است؛ اين اسكريپت وجود ساختار آدرس IPv6 را روي يك ميزبان خاص بررسي مي‌كند. تغيير و به‌كارگيري اين اسكريپت براي آدرس‌هاي IP مختلف بسيار آسان است. با وجود اين، يك مهندس امنيتي به نام دنيل بلوچي (مشهور به بلچ) بر‌اساس اسكريپت مذكور يك ماجول Metasploit مقياس‌پذير، سريع و كارآمد ايجاد كرده است كه امكان دريافت رايگان آن از اينترنت وجود دارد (فهرست2).

r^equire ‘rubygems’
require ‘net/ping’
include Net
# EXAMPLE:
# HOSTS = [‘192.168.1.1’, ‘192.168.1.2’,
‘192.168.1.3’]
HOSTS = [‘192.168.1.1’]
HOSTS.each do |ipv4|
icmp = Ping::ICMP.new(ipv4)
ipv6_addr = “”
if icmp.ping?
# Watch out the following and modify accordingly,
{print $4} is on MAC OS X
mac = %x[arp #{ipv4} | tail -1 | awk ‘{print
$4}’].chomp()
if mac.empty?
puts “Cannot find mac address”
return
end
puts “\nHost #{ipv4} with MAC #{mac} is
alive!”
mac = mac.split(‘:’)
mac[0] = mac[0].to_i

(1 << 1)
ipv6_addr = “fe80::” << mac[0,2].join()
<< ‘:’ << mac[2,2].join(‘ff:fe’)
<< ‘:’ <<
mac[4,2].join()
else
puts “Host #{ipv4} is not alive!\n”
end
puts “ipv6 addr: “ << ipv6_addr
icmp6 = %x[ping6 -I en0 -c 2 #{ipv6_addr}]
puts “” << icmp6
end
 

فهرست 2 - اسكريپت Ruby براي نگاشت IPv4 روي IP v6
ماجول ip_map: يك ماجول Matasploit براي نگاشت ميزبان‌هاي IPv4 و IPv6
اين ماجول بسيار مفيد است و براي كار با آن ابتدا بايد رابط را تنظيم كنيد (به عنوان مثال eth0,en0)، سپس فهرست‌هاي IPv4 (با روش نوشتاري CIDR) را هدف بگيريد؛ اين ماجول پس از اجرا ابتدا ميزبان‌هاي فعال IPv4 را شناسايي مي‌كند (اين كار بر اساس درخواست و پاسخ پروتكل آدرس‌دهي انجام مي‌شود)، سپس براي هريك از ميزبان‌هاي فعال IPv4 آدرس محلي پيوند IPv6 متناظر را تعيين و بررسي مي‌كند (اين كار بر اساس درخواست و پاسخ پروتكل ND انجام مي‌شود) در زمان نگارش اين مقاله براي عملكرد درست اين ماجول بايد اقدامات زير را انجام دهيد:
آخرين نسخه metasploit را با دستور زيردريافت كنيد:

#svn co http://www.metasploit.com/svn/framework3/trunk/
 

ابزار pcaprub را با دستورات زيرنصب كنيد:

#svn co http://pcaprub.rubyforge.org/svn/ pcaprub
#cd pcarub
#ruby extconf.rb
#make
#make install
#rm –fR pcaprub
 

اسكريپت‌نويسي ip _ map.rb را دريافت و نصب كنيد:

#svn co http://msf-hack.googlecode.com/svn/trunk
#cp ip_map.rb /modules/auxiliary/scanner/discovery/
 

برنامه msfconsole را اجرا كنيد (فهرست3).

msf auxiliary(ip_map) > info
Name: Local Network Discovery
Version: 7130
License: Metasploit Framework License (BSD)
Provided by:
belch
Basic options:
Name Current Setting Required Description
---- --------------- -------- -----------
INTERFACE no The name of the interface
PCAPFILE no The name of the PCAP capture file to process
RHOSTS yes The target address range or CIDR identifier
SHOST yes Source IP Address
SMAC yes Source MAC Address
THREADS 1 yes The number of concurrent threads
TIMEOUT 1 yes The number of seconds to wait for new data
Description:
Print out reachable IPv4 hosts and discover IPv6 Link Local
addresses, if enabled.
 

فهرست 3- اطلاعات ماجول Metasploit ip_map
پس از انجام اين مراحل ماجول را اجرا كنيد (فهرست 4).

root@bt:/pentest/exploit/framework-masca/# ./msfconsole
resource> use auxiliary/scanner/discovery/ip_map
resource> setg INTERFACE en0
INTERFACE => en0
resource> setg SHOST 192.168.1.32
SHOST => 192.168.1.32
resource> setg SMAC 00:22:15:eb:19:4f
SMAC => 00:22:15:eb:19:4f
resource> setg RHOSTS 192.168.1.0/24
RHOSTS => 192.168.1.0/24
resource> run
[*] IPv4 Hosts Discovery
[*] 192.168.1.50 is alive.
[*] 192.168.1.123 is alive.
[*] 192.168.1.221 is alive.
[*] IPv6 Neighbor Discovery
[*] IPv4 192.168.1.50 maps to IPv6 link local
address fe80::225:bcff:fedd:81a4
[*] IPv4 192.168.1.123 maps to IPv6 link local
address fe80::21b:63ff:fe97:7543
[*] IPv4 192.168.1.221 maps to IPv6 link local
address fe80::21b:63ff:fe97:49d
[*] Scanned 256 of 256 hosts (100% complete)
[*] Auxiliary module execution completed
msf auxiliary(ipmap) >
 

فهرست 4 - استفاده از ماجول Metasploit ip_map

منبع:ماهنامه شبکه
ارسال توسط کاربر محترم سایت :hasantaleb




 



ارسال نظر
با تشکر، نظر شما پس از بررسی و تایید در سایت قرار خواهد گرفت.
متاسفانه در برقراری ارتباط خطایی رخ داده. لطفاً دوباره تلاش کنید.
مقالات مرتبط