Siber Güvenlikte Toollar

Bu yazıda sızma testlerinde kullanılan toollar hakkında genel bir bilgilendirme yapacağım. Nedir, ne için yazılır ve nasıl kullanılır sorularına cevaplar vereceğim.

Siber Güvenlikte Tool

İngilizce bir kelime olan tool‘un türkçe karşılığı araçtır. Amacın başarıya ulaşmasına katkı sağlayan bir nesne. Bilgisayarda da bu anlam aynıdır, toollar yerine getirilmesi gereken işleri kolaylaştırır.

Örneklendirecek olursak, herhangi bir ağda networkten görevli kişisiniz. Günlük kontrollerinizi yapıyorsunuz diyelim, bilgisayarınıza giriyorsunuz ve terminalinizden tcpdum ile paket takibine başlıyorsunuz. Günün sonunda da bu kayıtları inceliyorsunuz.

Bu örnekte ağı sniff etmekte kullanılan tcpdump bir tooldur, ağı dinleyip analiz etmek için yazılmıştır. Hikayede bahsettiğim kayıtları incelediğinizi varsayalım, bu kayıtları bir metin editöründe incelemektense kayıt dosyası için yazılmış özel bir tool kullanabilirsiniz. Hatta bütün bu süreci otomatikleştiren bir tool bile yazabilirsiniz. İnsan faktörünü tamamen kaldıran, sadece dijital ve sıfır hata payıyla çalışan bir tool. Tabii bu tür sistemler günümüzde pek çok kişinin işini elinden alabilmekte.

Siber güvenlikte ise toollar uzmanların işini büyük oranda kolaylaştırır. Bu alanda yazılan toollar genelde yazılımların yada sistemlerin güvenliklerini test etmekte kullanılır. Web sayfalarına yönelik saldırılar için geliştirilen toollar, dos saldırıları için geliştirilenler veya sosyal mühendislikte sıkça kullanılan bilgiyi işleyen toollar.

Tool Neden ve Nasıl Ortaya Çıkar?

Toollar tekrarı önler ve yapılan işlemleri basite indirger. Misal hedef bir sunucu seçtiniz, o sunucuya bir dos saldırısı yapmak istiyorsunuz. Elinizde bu iş için bir tool olmadığını varsayarsak yapabileceğiniz en iyi şey terminalden bu sunucuyu pinglemektir. Bu bir yöntemdir fakat zayıf bir yöntemdir. Peki bu iş için bir toolunuzun olduğunu varsaysak?

Bu tool sayesinde sunucuya çok kısa bir süre içerisinde bir sürü tcp isteği göndererek saldırınızı yapmış olursunuz.

Toollar ihtiyaç gereği yazılır. Sızma testlerinde toollar sistemlere özel olarak hazırlanırlar. Çok detaylı bir ar-ge sonucu ortaya çıkarlar, bunun dışında kısa vadede çözüm olarak kullanılan bazı toollar da vardır. Bunlar open source toollar dır. Bu toollar genelde gönüllü ekiplerce geliştirilir. Varsayılan olarak kullanılan sistemlere yönelik hazırlanırlar. Misal, wordpress’in 5.5.1 sürümünün test edilmesi için yazılmış bir tool. Open source olan bu toollar herkese açık olduğu için büyük sistemlere karşı direkt olarak kullanılmazlar.

Basic Hash Cracker

Şimdi konuyu pekiştirmek adına bir tool hazırlayalım.

Elimizde bir hash var diyelim, bu hashi kırmak istiyoruz. Bunun için open source bir tool alıp kullanabiliriz ama takım politikamız gereği dışarıdan kaynak kullanmamız yasak. Ne yapabiliriz?

Birinci Aşama – Neler Gerekiyor?

Elimizdeki hashi kırmak için bir tool geliştireceğiz. Yani bize kriptografi ile ilgili kütüphaneleri olan, fonksiyonel ve hafif bir programlama dili lazım. Bu aşamada hash fonksiyonları ile ilgili bilgiye de sahip olmak gerekiyor. Bir hashi kırmak neredeyse imkânsızdır, çözülmesi çok vakit alır. Hashleri çözmek için bazı yöntemler geliştirilmiştir, bunlardan akla ilk gelen bruteforce saldırısıdır.

İkinci Aşama – Yöntem

Bir hash kırmak istiyoruz. Hashi çözemeyiz, ne yapabiliriz? Bir wordlist oluşturarark sırasıyla kelimelerin hashini alıp karşılaştıracağız. Bu işlemleri gerçekleştirmek için Python’ı ve hashlibi kullanacağız. Olay gayet basit, algoritma ise şu:

Algoritma

Üçüncü Aşama – Programlama

Hash:7137127c3b1dfc2e33dd98ae7e75a6a07978a4ac0008f9cbff6b90ddb93cc8bcbe5cd8271bf703d9fad0f02e6ad5a3df1322140a538ce503020fd8057930b18a

Toolu yazmak için Python3ü kullanacağım. Algoritmaya göre programı geliştirmeye başlayalım.

# -*- coding: utf-8 -*-
# bhc.py
import hashlib, sys
def TakeWords(filename=str(sys.argv[1])):
    with open(filename) as fopen:
        output = fopen.read().splitlines()
    return output
def CreateHash(word = "null"):
    return hashlib.sha512(word.encode()).hexdigest()
# fonksiyonlarin tanimlanmasi
f, h = False, sys.argv[2]
for i in TakeWords():
    if CreateHash(i) == str(h):
        word = i
        f = True
        break
if f:
    print(f"Hash Cracked: {word}")
else:
    print("Hash not cracked")
\> python.exe .\bhc.py <wordlist> <hash>

BHC.PY

Yazdığımız bu tool sadece sha512 hashlerini kırabilmektedir. Çeşitli fonksiyonlar sayesinde diğer hashleri kırabilecek bir hale getirebiliriz fakat şimdilik böyle kalsın.

Peki ne yaptık? Hash için hashlib, kullanımı kolaylaştırmak için sys modülünu(şart değil) programa dahil ettik. Takewords adlı fonksiyonla wordlistten veri çektik, kelimelerin hashlerini almak için createhash fonksiyonunu kullandık. Kelimeleri denemek için döngü içerisinde işlemlere başladık.

Bu tool sektörde kullanılan en basit yöntemlerden birinı kullanan çok basit bir tooldur. Sha512 hashlerini kırdığı için kaynak ihtiyacı fazla olabilir, buna dikkat ediniz.

Sonuç

Toollar insanların süreçleri başarıya ulaştırmak için kullandığı nesnelerdir, bunlar fiziksel yada sanal nesneler olabilir. Siber güvenlikte toollar önemli bir yer kaplamaktadır ve neredeyse her iş için bir tool yazılabilmektedir. Profesyoneller ve uzmanlar toolları sistemlere özel hazırlar ve kullanırlar. İhtiyaçlara cevap vermek için oluşturulmuş toollar iyi yada kötü işler için kullanılır.

Posts created 10

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top