L2 seviyesinde paket işlemleri(arping)

pentest

 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.

 

[email protected]:~# 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ı;

[email protected]:~# 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

[email protected]:~# 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.

[email protected]:~# 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.

[email protected]:~# 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)

This entry was posted in Network Tools, Penetration. Bookmark the permalink.

7 Responses to L2 seviyesinde paket işlemleri(arping)

  1. Ali Kapucu says:

    Çok iyi olmuş hocam ellerinize sağlık.

  2. Ayhan Arda says:

    Bilgiler için teşekkürler , bir sorum olacaktı,
    anladığım kadarıyla arping için localde olmak mı gerekiyor , sonuçta ip konuşmuyor , layer 2 konuşuyor , ayrıca bu işlem için bir windows tool var mı , ya da linuxten scan edeceksek ve local ip değilde bir network ise ve çıktısını raporlayacak isek nasıl bir yol izlemeliyiz , teşekkürler..

  3. Huzeyfe ONAL says:

    Windows için bir araç bilmiyorum. Linux’da Layer 3 e çıktığınızda uzaktan Windows makinelere ait bu tip bilgileri nbtstat gibi bir komutla alabilirsiniz.

  4. Ayhan Arda says:

    Cevabınız için çok teşekkürler Sayın Önal , Saygılarımla

  5. Pingback: Arping - Link Layer (L2) Pinging - IP Çakışmalarının Tespiti | Syslogs

  6. acemi says:

    Debian Squeeze’de yer alan arping’de IP cakismalari icin -D degil, -d kullaniliyor.

  7. ali says:

    teşekkürler hocam

Leave a Reply

Your email address will not be published. Required fields are marked *

7 + eight =