Scapy Nedir? Ne İşimize Yarar? // '404eror

Discussion in 'Hack Dökümanları - Hack Articles' started by 404eror, May 14, 2019.

  1. 404eror

    404eror

    Mesajlar:
    65
    Likes Received:
    32
    Merhaba arkadaşlar bu konumda sizlere elimden geldiğince, dilim döndüğünce scapy hakkında bilgiler vereceğim. NMAPincelemesinde scapy konusuna ayrıca değineceğimi söylemiştim şimdi onun sırası geldi. Konuyu daha iyi anlayabilmeniz için network temelinizin olması gerekmektedir lakin ben ufak özetler şeklinde hiç bilmeyen arkadaşlar için bilgiler vereceğim. NMAP incelemesi konusunda birkaç bilgi vermiştim bu sefer aynılarını değil bir tık daha ayrıntı olan bilgilere değineceğiz ama dediğim gibi konuyu okumadan yada okuduktan sonra konu içerisinde geçen terimleri araştırmanız ve sorgulamanız sizin faydanıza olacaktır. Şimdi dilerseniz konu başlıklarımızı sıralayalım:

    1)Scapy Nedir?
    2)Scapy Nasıl Kurulur?
    3)Scapy Nasıl Kullanılır?
    4)Scapy Ne İşimize Yarar?


    Şimdi ön bilgilerimiz verdiğimize göre yavaş yavaş konumuzun asıl kısmına giriş yapalım, keyifli okumalar.



    [​IMG]



    1)Scapy Nedir?

    Scapy pythonla yazılmış olan, spesifik paketler oluşturup bunları iletmemizi sağlayan açık kaynak kodlu bir araç/python kütüphanesidir.

    2)Scapy Nasıl Kurulur?

    Bilgisayarınıza scapy’i kurabilmeniz için bilgisayarınızda python’un kurulu olması gerekmektedir. Python’un 2 veya 3 olması önemli değildir lakin 2.7 ve 3.3 sürümlerinden biri yada daha güncel olması önemlidir. Ayrıca bilgisayarınıza python’u yüklerken path olarak tanımlamanız işinize yarayacaktır. GNU/Linux sistemlerde python kurulu olarak gelir ve path olarak tanımlıdır yani direkt terminale python yazdığınızda program çalışmaya başlar ayrıca bir yol belirtmenize gerek kalmaz lakin windows’a yüklerken yükleme seçeneklerinden path olarak tanımlamayı sağlayan tiki işaretlemeyi unutmayınız.


    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım


    Debian/Ubuntu’da Kurulum:

    Kod:
    sudo apt-get install scapy
    Not: Kali Linux kullanıcılar için belirteyim scapy zaten dağıtımda yüklü geliyor bu işlemi yapmanıza gerek yok.

    Windows’da Kurulum:

    Scapy’nin çalışması için Npcap yada Winpcap yazılımlarından biri bilgisayarınıza kurulu olmalıdır. Eğer wireshark gibi programlar yüklüyse Windows’a yüklerken zaten Winpcap’i default olarak programla beraber kuruyor. Ben böyle bir durumun söz konusu olmadığı kullanıcılar için ikisinin de ayrı ayrı kurulumunu anlatacağım.


    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım


    Npcap Kurulumu:


    Kod:
    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım
    Adresinden çalıştırılabilir windows dosyasını yükleyip çalıştırarak tipik program kurulumu yapar gibi bam bam bam diye kurabilirsiniz.


    Winpcap Kurulumu:


    Kod:
    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım
    Adresinden yine npcap’ın kurulumuyla aynı şekilde kurabilirsiniz.

    Not: Aç gözlülük yapıp fazla mal göz çıkarmaz diyerek ikisini de yüklemeyin. Birbirlerine negatif etki yaparlar ki zaten yüklerken birinden biri varsa kaldırmanızı söyleyip hatta kendisi kaldırıyor.

    Yazılımlarımızı kurduktan sonra gelelim scapy’nin kurulumuna:

    Kod:
    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım
    Adresinden zip dosyamızı indirip istediğimiz bir yere çıkarıyoruz. Daha sonra komut satırını açıyoruz. Dosyayı çıkardığımız dizine gelip çıkardığımız dizine giriyoruz. “Setup.py” dosyasının olduğu dizine geldiğimizde. Komut satırına aşağıdaki kodu yazıp çalıştırıyoruz:

    Kod:
    python setup.py install
    Tebrikler scapy’nin bilgisayarınıza kurulumu tamamlandı.


    3)Scapy Nasıl Kullanılır?

    Şimdi scapy kullanımına girmeden önce konuyu daha iyi anlayabilmeniz için network temelleri hakkında birkaç bilgi vermek istiyorum. Scapy’i doğru bir şekilde kullanabilmeniz için paket başlıklarını biliyor olmanız gerekli. Ben şimdi burada size tek tek paketleri, başlıkları, protokolleri anlatamam lakin bilmeniz gereken birkaç şeyi söyleyeceğim. Sürekli tekrar ettiğim ve konularımda belirttiğim gibi eğer siber güvenlik alanında ilerlemek istiyorsanız temellerinizin sağlam olması gerekmektedir. Üşenip sıkılıp ben direkt güvenliğe girecem diye dalamazsınız yoksa bir halt anlamaz ezbere iş yaparsınız bu yüzden network, web öğrenmeye ve araştırmaya başlayınız bizim burada verebileceğimiz bilgiler kısıtlı bilgilerdir.


    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım


    IP Başlığı Hk.

    Source IP: Kaynağın IP adresi
    Destination IP: Hedef IP adresi
    Flags: Paketin bozulmadan iletilebilmesi için gerekirse parçalanıp parçalanmayacağı hk. Bilgi veren kısımdır.
    Header Checksum: Karşıdaki makinenin paketi bozulmadan alıp almadığını kontrol etmesini sağlayan paketin bilgi kısmı.
    TTL(Time to Live): Gönderdiğimiz paketin loop’a(sonsuz döngü) girmemesi için ne kadar süre sonra yok olacağı hakkında bilgi veren kısımdır.


    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım


    TCP Başlığı Hk
    .

    Sec ve Ack Num: Bunun hakkında NMAP konusunda bilgi vermiştim. Üçlü el sıkışma sırasında cihazların birbirlerini tanımaları için kullandıkları değerler.

    Code Bits: Paket çeşidini belirten kısım.



    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım



    ICMP Başlığı Hk.

    Type: Kontrol mesajının tipi
    Code: Kontrol mesajı tipinin alt dalı, daha spesifik bilgi.


    DHCP: Dynamic Host Configuration Protocol. Ağda bulunan cihazlara IP, subnet mask, gateway gibi verilerin otomatik olarak atanmasını sağlayan protokoldür. IP çakışması vb durumları önlemek için çok önemlidir.

    Şimdi bu bilgilerimizi verdiğimize göre scapy kullanımına geçebiliriz. Öncelikle temel komutlarımızla başlayalım.

    Help(): Scapy hakkında yardım almanızı sağlayan komuttur. Parantez içine yardım almak istediğiniz şeyi yazabilir yada boş bırakarak fonksiyonu çalıştırıp komut satırına yardım almak istediğiniz konuyu yazabilirsiniz. Girip çıkamayan olursa diye çıkmak için “q”ya basınız.


    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım



    Ls(): Scapy içinde bulunan hazır protokolleri sizin için listeler.



    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım




    Ls(Protokol): Kullanacağınız protokolün içeriğini ve default değerlerini gösterir.


    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım


    Sendp(): 2.katmandan paket yollamaya yarar.
    Send(): 3.katmandan paket yollamaya yarar.

    Not: Bu ikisi arasındaki fark oldukça önemlidir programlarınızda kullanırken birini değilde diğerini kullanırsanız “Lan nerede bu hata” diye saçınızı başınızı yolabilirsiniz.

    Temel komutlarımızı verdiğimize göre şimdi paketlerimizi oluşturmaya geçebiliriz. Paketlerimizi oluştururken katman katman içeriklerini gireceğiz.



    ICMP Paketi:

    Ip başlığı ve ıcmp başlığı oluşturmamız gerekiyor. Aşağıdaki kodları sırayla takip edin.

    Kod:
    ip_basligi=IP(dst=”Hedef ip”, src=”kaynak ip”, ttl=20)
    icmp_basligi=ICMP(type=8, code=0)
    icmp_paketi=ip_basligi/icmp_basligi
    send(icmp_paketi)
    Şimdi paketimiz gitmiş mi bakalım:


    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım



    DHCP Paketi:

    Ip, udp ve dhcp basliklarını kullanacağız.

    Kod:
    ip_basligi=IP(src="0.0.0.0", dst="255.255.255.255")
    udp_basligi=UDP(dport=67, sport=68)
    dhcp_basligi=DHCP(options=[("lease_time", 70000)])
    dhcp_paketi=ip_basligi/udp_basligi/dhcp_basligi
    send(dhcp_paketi)
    Paketimizi kontrol edelim:



    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım



    DNS Paketi:

    IP, UDP ve DNS kullanacağız.


    Kod:
    ip_basligi=IP(dest="8.8.8.8")

    udp_basligi=UDP(dport=53)

    dns_basligi=DNS(rd=1, qd=DNSQR(qname="Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım"))

    dns_paketi=ip_basligi/udp_basligi/dns_basligi

    send(dns_paketi)
    Kontrol edelim:



    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım
    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım




    TCP Paketi:

    Kod:
    tcp_basligi=TCP(sport=8080, dport=22, flags="S")

    ip_basligi=IP(src="127.0.0.1",dst="127.0.0.1")

    tcp_paketi=ip_basligi/tcp_basligi

    send(tcp_paketi)
    Kontrol edelim:



    Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım





    NOT: Paketleri oluştururken örneklerde olduğu gibi alt katmandan üst katmana doğru yazdığımızı unutmayalım.

    4)Scapy Ne İşimize Yarar?

    Scapy ağ trafiğine müdahale edebilmemizi, istekler ve cevaplar yollayabilmemizi sağlar. Scapy’i kullanarak network saldırıları yapabilirsiniz. (Örn:MITM) Kendiniz network bilginizi pekiştirmek veya test etmek için scapy’i kullanabilirsiniz. NMAP konumda verdiğim koddaki gibi toollar yazmak için kullanabilirsiniz. Yani içinde ağ geçen neredeyse her şey de kullanabilirsiniz. Gerisi sizin hayal gücünüze ve yeteneğinize bağlı.

    Umarım konu faydalı olmuştur. Bir yanlışımız varsa belirtiniz biz de feyzlenelim. Sürç-ü lisan ettiysek affola hayırlı geceler.



    Bu yazının kaynağı: Linkleri görebilmek için login-giriş yapman gerekiyor veya konuya like atman lazım
     
    Apex and emrelqqq like this.
  2. deleted-user

    deleted-user Guest

    Mesajlar:
    2,986
    Likes Received:
    3,560
    srapy sandim baktım işime yarar diye scraper vb :)
     
  3. Apex

    Apex 666

    Mesajlar:
    443
    Likes Received:
    1,148
    Konu THT'den alıntı. Direk link verseydinde olurdu.
     
  4. Apex

    Apex 666

    Mesajlar:
    443
    Likes Received:
    1,148
    Son konumda scrapy e-book paylaştım :) İşine yaraya bilir belki.
     
Loading...

Bu sayfayı Paylaş