Tuesday, December 29, 2015

Honeypots

Here is a good introduction video about honeypots by Ethan Dodge:

Friday, June 19, 2015

ARP Nedir? (Address Resolution Protocol)

ARP (Address Resolution Protocol), özetle TCP/IP ağlarında IP adresi bilinen bir bilgisayarın MAC adresini öğrenmeye yarayan bir protokoldür.

ARP'ın nasıl çalıştığını basit bir senaryo üzerinden anlatmaya çalışalım. Senaryomuzda aynı ağda bulunan A bilgisayarı, B bilgisayarına erişmek istemektedir. Her iki bilgisayar aynı anahtarlama cihazına bağlanmışlardır. Tüm cihazlar açıldığı andan itibaren A bilgisayarının ARP tablosunun ve anahtarlama cihazının MAC adres tablosunun nasıl değiştiği adım adım anlatılmaya çalışılacaktır.
A bilgisayarının IP adresi 192.168.61.61/24 ve B bilgisayarının IP adresi de 192.168.61.20/24 olarak belirlenmiştir. A bilgisayarı anahtarlama cihazının 13 numaralı portuna, B bilgisayarı da anahtarlama cihazının 7 numaralı portuna bağlanmıştır.

Cihazlar ilk açıldıkları zaman A bilgisayarının ARP tablosu ve anahtarlama cihazının MAC adres tablosu boş durumdadır.

Bilgisayarların ARP tablosunda, iletişim yaptıkları bilgisayarların IP adresleri ve bu IP adreslerine karşılık gelen MAC adresleri yer almaktadır. Bilgisayarımızın komut satırına (cmd.exe) arp -a komutunu yazdığımız takdirde bilgisayarımızın ARP tablosunu görüntüleyebiliriz. Aşağıda bir bilgisayarın ARP tablosunun nasıl göründüğü gösterilmiştir:
Şekilden de görülebileceği gibi bilgisayarın ARP tablosunda, bilgisayarın ağ üzerinden haberleştiği diğer bilgisayarların IP adresleri ve bu IP adreslerine ait olan MAC adresleri yer almaktadır.

Anahtarlama cihazının MAC adres tablosunda da, cihazın fiziksel portlarına karşılık gelen MAC adresleri, yani cihazın fiziksel portlarına bağlı olan cihazların MAC adresleri ve portların atandığı VLAN'ler yer alır. Bir anahtarlama cihazının örnek MAC adres tablosu aşağıdaki gibidir:
Şimdi de 192.168.61.61 IP numaralı A bilgisayarının, 192.168.61.20 IP numaralı B bilgisayarına erişmek istediğini farz ediyoruz. A bilgisayarı, B bilgisayarına anahtarlama cihazı üzerinden erişecektir. Bunun için A bilgisayarının, B bilgisayarının MAC adresine ihtiyacı vardır çünkü anahtarlama cihazları sadece MAC adresleri üzerinden haberleşme yapabilmektedirler.

A bilgisayarı, B bilgisayarının MAC adresini öğrenebilmek amacıyla bir "ARP Request" çerçevesi (frame) oluşturur ve bu isteği, bağlı bulunduğu 13 numaralı port üzerinden anahtarlama cihazına gönderir. Bu çerçevenin başlığında (header) yer alan "kaynak MAC adresi" bölümünde A bilgisayarının MAC adresi olan A0-A1-00-90-D3-82, "hedef MAC adresi" bölümünde ise ikinci katman "broadcast" adresi sayılan FF-FF-FF-FF-FF-FF adresi vardır:
Anahtarlama cihazı bu çerçeveyi aldıktan sonra MAC adres tablosunu günceller. MAC adres tablosundaki 13 numaralı porta karşılık gelen alana A bilgisayarının MAC adresini yazar. Anahtarlama cihazının MAC adres tablosu bu ilk istekten sonra aşağıdaki gibi olacaktır:
Anahtarlama cihazı kendisine gelen çerçevelerin "hedef MAC adres" kısmına bakarak anahtarlama (switching) işlemini gerçekleştirir. Anahtarlama cihazının A bilgisayarından almış olduğu çerçevenin "hedef MAC adres" kısmında FF-FF-FF-FF-FF-FF bulunduğu için anahtarlama cihazı bu çerçeveyi 13. port haricindeki tüm portlarına gönderecektir.

A bilgisayarının göndermiş olduğu "ARP Request" çerçevesinin "veri" kısmında şu soru vardır diyebiliriz: "192.168.61.20 IP numaralı adres hangi bilgisayara aitse cevap versin."
Anahtarın portlarına bağlı olan bilgisayarların tümü bu çerçeveyi alır. 192.168.61.20 IP numarasına sahip olmayan bilgisayarlar bu çerçeveyi (frame) düşürürler. B bilgisayarı gelen bu "ARP Request" çerçevesine "ARP Reply" çerçevesiyle cevap verir. B bilgisayarı, oluşturmuş olduğu bu "ARP Reply" çerçevesini anahtarlama cihazına bağlı bulunduğu 7. porttan gönderir.

"ARP Reply" çerçevesinin "kaynak MAC adresi" kısmında B bilgisayarının MAC adresi olan B0-BB-66-90-43-82 ve "hedef MAC adresi" kısmında ise A bilgisayarının MAC adresi olan A0-A1-00-90-D3-82 vardır.

Anahtarlama cihazı B bilgisayarından "ARP Reply" çerçevesini aldıktan sonra, bu çerçevenin "kaynak MAC adresi" kısmına bakarak MAC adres tablosunu günceller.
B bilgisayarının oluşturmuş olduğu "ARP Reply" çerçevesinin "veri" kısmında da şu cevap vardır diyebiliriz: "192.168.61.20 IP numaralı bilgisayar benim ve MAC adresim de B0-BB-66-90-43-82'dir."
Anahtarlama cihazı bu çerçeveyi aldıktan sonra "hedef MAC adres" kısmına bakar ve bu çerçeveyi, MAC adres tablosuna bakarak, 13 numaralı porta gönderir. "ARP Reply" çerçevesini alan A bilgisayarı bu çerçevenin içine bakarak B bilgisayarının MAC adresini öğrenmiş olur.
Buraya kadar anlatılan işlem ARP (Address Resolution Protocol) diye adlandırılmaktadır.

Bundan sonra A bilgisayarı, B bilgisayarıyla iletişim kurmak istediği zaman kendi ARP tablosuna bakacak ve burada bulunan B bilgisayarının MAC adresini kullanarak çerçeveleri oluşturacaktır.


Tuesday, April 21, 2015

"DNS Amplification" (DNS Reflection) Saldırısı

"DNS Amplification" saldırısı; çok fazla sayıdaki DNS sorgusu cevabını hedef sisteme yönlendirerek, hedef sistemi işlemez hale getirmeyi, hedefleyen bir servis dışı bırakma (DoS - Denial of Service) saldırısıdır. Gerçekleştirmesi oldukça kolay bir saldırı olduğundan dolayı sistemler için ciddi bir tehlike arz etmektedir.

Yazıyı okuyan kişilerin servis dışı bırakma (DoS - Denial of Service) saldırılarının ve DNS'nin temel mantıklarını ve bildiklerini kabul ediyoruz.

Şimdi ayrıntılara geçelim:

DNS sunucusuna gönderilen küçük boyutlu bir sorguya DNS sunucusundan oldukça büyük boyutlu bir cevap alınabilir. "ANY" DNS sorgusunu buna bir örnek verebiliriz. "ANY" DNS sorgusunda, DNS sunucusuna 64 baytlık bir istek gönderilirken, bu isteğe DNS sunucusundan gelen cevap 3000 bayt civarındadır. Yani yapılan isteğin yaklaşık 50 katı kadar büyük bir cevap DNS sunucusundan istemciye dönmektedir. Teorik olarak internet bağlantı hızı 100Mbps olan bir istemci, DNS sunucusundan 5Gbps boyutunda bir DNS cevabı alabilecektir.

Bu cevabın boyutunun ne kadar olduğu aşağıdaki komutla görülebilir. Aşağıdaki komutla 8.8.8.8 IP adresli DNS sunucusundan www.abidikgubidik.org adresine ait tüm DNS kayıtları istenmektedir.
dig ANY www.abidikgubidik.org @8.8.8.8

("Scapy", "Mz", "hping" ve "netstress" gibi araçlarla istenilen boyutta ve türde DNS paketleri üretilebilir.)

Peki bu özellik bir servis dışı bırakma saldırısında nasıl kullanılabilir? Bunu bir senaryoyla anlatmaya çalışalım:

Saldırganımızın IP adresi 192.168.34.34, hedefimizin IP adresinin de 172.16.1.111 olduğunu düşünelim. Saldırganımız 8.8.8.8 IP numaralı DNS sunucusunda "ANY" sorgusu yapar. Bu sorguyu yaparken de DNS sorgu paketinin içerisindeki kaynak IP adresini hedef bilgisayarın IP adresi olarak değiştirir. (IP Spoofing)

Bu durumda DNS sunucusu, DNS sorgusunun cevaplarını 192.168.34.34 adresine değil de hiçbir şeyden haberi olmayan 172.16.1.111 IP numaralı hedefimizin adresine gönderecektir. Çünkü kendisine gelen sorgudaki kaynak IP adresi hedefin IP adresi olan 172.16.1.111'dir. Sadece 64 baytlık sorgulara karşılık DNS sunucusundan bunun 50 katı kadar DNS cevapları alabildiğimize göre yukarıda da bahsedildiği gibi teorik olarak 100Mbps'lık bir bant genişliği kullanılarak hedef sisteme 5Gbps'lık bir DNS trafiği oluşturulabilir. Bu saldırı bir den fazla bilgisayardan, botnet ağları üzerinden yapıldığı takdirde hedef sisteme yönlendirilebilecek DNS cevap trafiğinin boyutu da astronomik olarak artacaktır.
Küçük boyutlu sorgulara büyük boyutlu cevaplar döndürülebildiği için bu saldırı türüne genel olarak "amplification (yükseltme)" saldırıları denmektedir.

Thursday, April 9, 2015

TCP Flooding with HPING3

With the command written below you can flood the target host with TCP segments. Namely you can do a DoS (Denial of Service) attack with the command below.

selcuk@selcuk-Desktop: hping3 192.168.61.61 --flood

192.168.61.61 is the IP address of the target.
--flood sends as many as TCP packets to the target host.

My advice: DO NOT RUN THIS COMMAND IN ANY PRODUCTION ENVIRONMENT!!!

You'll see why. But it may be a bit late. Maybe you can do it in your last day of your current company. Or it can be your last day in your current company after running the command above. =))

(Image taken from http://zaielacademic.net/security/syn_attacks.htm) 

Wednesday, February 18, 2015

Grave Danger: Digitally Signed Malwares

Security experts have estimated that more than 200,000 unique malware binaries were discovered in the last couple of years signed with valid digital signatures.

Source: http://resources.infosecinstitute.com/cybercrime-exploits-digital-certificates/

Wednesday, January 14, 2015

Digital Signature

Below is a definition what is a digital signature:

"Hash value of a message when encrytpted with the private key of a person is his/her digital signature on that document."
As you can deduce from the definition above that the digital signature of a person is different for (almost) every document unlike original signatures. Well maybe you can argue that even two original signatures also cannot be the same. I'll accept it. =)

Tuesday, January 13, 2015

Casino Security

Well... Security levels of casinos are not bad. (From Person of Interest - S02E18)