Scapy Nedir? Nasıl Kullanılır? // 'Taipan

bytural

Üye
1 Eki 2017
144
13
Baku
Evet cok guzel ve gerekilen bir konu derinden bakilirsa bu yolla baya ileriye gidile bilir ve linux kadar olmasada sifrelere ulasila bilir
 

slaxG

Üye
13 Ağu 2022
93
19
Merhaba arkadaşlar bu konumda sizlere elimden geldiğince, dilim döndüğünce scapy hakkında bilgiler vereceğim. NMAP incelemesinde 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.







Z919XA.png








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 scapyi kurabilmeniz için bilgisayarınızda pythonun kurulu olması gerekmektedir. Pythonun 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 pythonu 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 windowsa yüklerken yükleme seçeneklerinden path olarak tanımlamayı sağlayan tiki işaretlemeyi unutmayınız.





m28o3Y.png






Debian/Ubuntuda 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.




Windowsda Kurulum:



Scapynin ç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 Windowsa yüklerken zaten Winpcapi 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.





oOzVO7.png






Npcap Kurulumu:






Kod:
https://nmap.org/npcap/dist/npcap-0.97.exe
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:
https://www.winpcap.org/install/
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 scapynin kurulumuna:



Kod:
https://github.com/secdev/scapy/archive/master.zip

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 scapynin 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. Scapyi 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.





azBlXQ.png






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 loopa(sonsuz döngü) girmemesi için ne kadar süre sonra yok olacağı hakkında bilgi veren kısımdır.





4aRjVJ.png






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.







rOd5kM.png








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 qya basınız.





LbovdV.png








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








z0Ejd7.png










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






m28X8Y.png






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)[/COLOR][/B][/CENTER]
[B][COLOR=White]
[CENTER]icmp_basligi=ICMP(type=8, code=0)

icmp_paketi=ip_basligi/icmp_basligi

send(icmp_paketi)
Şimdi paketimiz gitmiş mi bakalım:






qG2yrQ.png








DHCP Paketi:




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



Kod:
 ip_basligi=IP(src="0.0.0.0", dst="255.255.255.255")[/COLOR][/B][/CENTER]
[B][COLOR=White]
[CENTER]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:







5DREDd.png








DNS Paketi:




IP, UDP ve DNS kullanacağız.





Kod:
ip_basligi=IP(dest="8.8.8.8")[/COLOR][/B][/CENTER]
[B][COLOR=White]
[CENTER]

udp_basligi=UDP(dport=53)



dns_basligi=DNS(rd=1, qd=DNSQR(qname="www.turkhackteam.org"))



dns_paketi=ip_basligi/udp_basligi/dns_basligi



send(dns_paketi)
Kontrol edelim:








1JnZ8Y.png


JQEzRj.png










TCP Paketi:




Kod:
tcp_basligi=TCP(sport=8080, dport=22, flags="S")[/COLOR][/B][/CENTER]
[B][COLOR=White]
[CENTER]

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



tcp_paketi=ip_basligi/tcp_basligi



send(tcp_paketi)
Kontrol edelim:








JQE8Mq.png












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. Scapyi kullanarak network saldırıları yapabilirsiniz. (Örn:MITM) Kendiniz network bilginizi pekiştirmek veya test etmek için scapyi 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ğı:

elinize sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.