(قسمت سوم)
پروتكل 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
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
0e:39 REACHABLE
fe80::202:b3ff:fe0a:3dea dev eth0 lladdr 00:02:b3:
0a:3d:ea REACHABLE
…………
فهرست 1 - ديواره آتش Mac OS X
ابزار alive6
يك جعبهابزار حمله IPv6 كه از آدرس #!/bin/the hacker's choice - THC قابل دريافت است.
mascalzone@backtrack # alive6 eth0
يك اسكن مؤثر كه ميتواند تمام سيستمهاي در حال گوش دادن به يك آدرس IP خاص را شناسايي كند.
اسكريپت Ruby براي نگاشت ميزبانهاي IPv4 و IPv6
اين ابزار يك اسكريپت خام Ruby است كه مؤلف آن را به منظور بررسي ميزبانهايي با ويژگي IPv6 فعال طراحي كرده است؛ اين اسكريپت وجود ساختار آدرس IPv6 را روي يك ميزبان خاص بررسي ميكند. تغيير و بهكارگيري اين اسكريپت براي آدرسهاي IP مختلف بسيار آسان است. با وجود اين، يك مهندس امنيتي به نام دنيل بلوچي (مشهور به بلچ) براساس اسكريپت مذكور يك ماجول Metasploit مقياسپذير، سريع و كارآمد ايجاد كرده است كه امكان دريافت رايگان آن از اينترنت وجود دارد (فهرست2).
require ‘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 svn - Revision 10: / pcaprub
#cd pcarub
#ruby extconf.rb
#make
#make install
#rm –fR pcaprub
اسكريپتنويسي ip _ map.rb را دريافت و نصب كنيد:
#svn co msf-hack - Revision 21: /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
علاقه مندی ها (بوک مارک ها)