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

'Taipan

Kıdemli Üye
30 Haz 2015
3,847
72
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 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.


m28o3Y.png



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.


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 scapy’nin 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 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.


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 loop’a(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 “q”ya 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)
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")
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")

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")

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. 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ğı: https://medium.com/three-arrows-security
 
Son düzenleme:

Ultra723

Kıdemli Üye
14 Mar 2013
2,721
3
sitemap.xml
Ben yatırımımı yapayımda buralarda altcoin gibi değerlenecek #rez,

Sanmayın ki okumayacağım sadece bir post parçası için geldim, Sonuna kadar okuyacağım sıkılmadan....​
 
Son düzenleme:

'Taipan

Kıdemli Üye
30 Haz 2015
3,847
72

ExeOweR

Kıdemli Üye
5 Mar 2012
3,374
974
exe.php
Böyle kaliteli konuları paylaşanlar az, saçma sapan konular görmekten sıkılmıştım.
Öğrenmek bilgilenmek isteyenler için güzel bir konu eline sağlık.
 

MyGf

Kıdemli Üye
16 Tem 2016
3,278
5
Hall of Fame
Forumun böyle değerli konulara ihtiyacı var. Sürekli Brute Force nedir nasıl kullanılır olmuyor :) Emeğine 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.