L2 seviyesinde paket işlemleri(arping)

Network güvenlik testlerinde bazen bulunduğunuz ağın yapısını çıkarmak için ip katmanı yeterli olmaz ya da bu katmana doğrudan ulaşımınız olmayabilir. Bu durumda L2 seviyesinde çeşitli paketler göndererek ağın yapısını çıkarabiliriz. L2 seviyesinde gönderebileceğimiz paketler ARP’a dayalıdır. L2′deki protokoller kullanılarak basitce ağdaki ip adreslerinin hangi mac adresine sahip olduğunu, bir mac adresinin ip adresi vs gibi bilgiler edinilebilir.
Layer2′de bu tip işlemleri yapmak için sık kullandığım bir araç var: arping, kısaca bu araç kullanılarak neler yapılabilir bir bakalım.
Arping aracı ne işe yarar?
Arping adından da anlaşılacağı gibi Layer 2 seviyesinde ping atmaya yarayan bir araçtır. Arping kullanarak Layer 2 seviyesinde bir makinenin açık olup olmadığı, ağdaki ip çakışmaları, bir ipnin ağda kullanılıp kullanılmadığı gibi bilgiler edinilebilir. Aynı zamanda arping kullanılarak gratious arp paketleri üretilebilir. Gratious paketlerle bir ip adresine ait mac adresi tüm yerel ağdaki sistemlerde güncellenebilir.
Arping ARP Request ve Reply paketleri kullanır.
Not: arping’i diğer l3 ping araçlarından ayıran önemli özelliği ağ arabirimi üzerinde ip adresi olmasa dahi ping işlemlerini gerçekleştirebilir(yani L2 de çalışabilir).
Basit arping kullanımı
arping’in en basit kullanımı ağdaki bir ip adresinin L2 seviyesinde MAC adresinin alınmasıdır. Bunu aşağıdaki komutla gerçekleyebiliriz.
root@home-labs:~# arping 192.168.2.1 -c 1
ARPING 192.168.2.1 from 192.168.2.23 eth0
Unicast reply from 192.168.2.1 [00:1A:2A:A7:22:5C] 1.860ms
Sent 1 probes (1 broadcast(s))
Received 1 response(s)
Yukardaki komuta ait tcpdump çıktısı;
root@home-labs:~# tcpdump -i eth1 -tttnn arp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
000000 arp who-has 192.168.2.1 (ff:ff:ff:ff:ff:ff) tell 192.168.2.23
000918 arp reply 192.168.2.1 is-at 00:1a:2a:a7:22:5c
Kısaca yukardaki arp paketi brodcast paket olarak 192.168.2.1 ip adresinin kim olduğunu sorguladı. Bu ip adresini üzerinde barındıran sistem cevap olarak MAC adresini döndü.
Ağdaki IP Çakışmalarının Bulunması
Ağınızda IP çakışmasından şüpheleniyorsanız arping kullanarak emin olabilirsiniz.
arping -D IP_Adresi
root@home-labs:~# arping -I eth1 -D 192.168.2.20
000000 arp who-has 192.168.2.20 (ff:ff:ff:ff:ff:ff) tell 0.0.0.0
000140 arp reply 192.168.2.20 is-at 00:0c:29:06:df:e4
001738 arp reply 192.168.2.20 is-at 00:1b:77:9b:cb:e2
Yukarıdaki çıktıda 192.168.2.20 ip adresi için yapılan sorguya iki farklı mac adresi cevap veriyor. Bu da ağda IP çakışmasının olduğu manasına gelir.
Güvenlik duvarı aktif edilmiş yerel sistemlerin arping ile bulunması
Eğitimlerimde Port Tarama kısmında katılımcılara sorduğum meşhur soru şudur: Bir ağda açık olduğunu bildiğiniz fakat güvenlik duvarı ile tamamen korunmuş bir sistemin açık olduğunu teknik olarka nasıl ispatlarsınız?
Bu sorunun cevabı genellikle ilgili makineye ulaşmaya çalışırız(ping vs) ya da port tarama yaparız oluyor. Fakat hostun üzerinde üzerinde bulunan güvenlik duvarı herhangi bir protokole izin vermediği için bu yöntemlerle hostun açık olup olmadığını anlaşılmaz.
Bunun tek yöntemi 2. katmanda(OSI katmanları) ilgili sistemin açık olup olmadığını öğrenmektir. L2(Ikinci katman) denildiğinde ise akla ilk gelen MAC adresleri ve ARP oluyor. L2 seviyesinde bir sistemin canlı olup olmadığını anlamak için arping komutu kullanılabilir.(Normal ping ve arp komutlarıyla da aynı iş yapılabilir)
#arping 192.168.2.1
komutu eğer hedef sistem canlı ise aşağıdaki gibi çıktı verecektir.
root@home-labs:~# arping 192.168.2.1
ARPING 192.168.2.1 from 192.168.2.23 eth0
Unicast reply from 192.168.2.1 [00:1A:2A:A7:22:5C] 1.343ms
^CSent 1 probes (1 broadcast(s))
Received 1 response(s)
Eğer hedef sistem kapalı ise aşağıdaki gibi çıktı verecektir.
root@home-labs:~# arping 192.168.2.111 -c1
ARPING 192.168.2.111 from 192.168.2.23 eth0
Sent 1 probes (1 broadcast(s))
Received 0 response(s)
Related posts:




This post has one comment
June 7th, 2009
Çok iyi olmuş hocam ellerinize sağlık.