IPv4/IPv6 Obfuscation

IPv4/IPv6 Obfuscation Siber güvenlik dünyasında bir veriyi saklamak istediğimizde önümüzde genellikle iki temel yol olur: Ya veriyi doğrudan şifreleriz (AES, RC4 veya XOR gibi) ya da onu karmaşıklaştırırız (obfuscation). Yazılım geliştirirken kodu zorlaştırmak bazen sadece fikri mülkiyeti korumak için değil, güvenlik mekanizmalarını aşmak için de kritik bir rol oynar. Örneğin elimizde bir shellcode var ve bunu gizlemek istiyoruz. İlk akla gelen çözüm şifreleme olsa da bu her zaman en akıllıca yol olmayabilir. Çünkü şifrelenmiş veriler, dosyanın o bölümündeki entropiyi (rastgelelik oranını) tavan yaptırır ve bu durum güvenlik analizcilerinin ya da AV/EDR çözümlerinin hemen radarına takılır. İşte bu noktada, dikkat çekmeden karmaşıklaştırmak çok daha mantıklı bir seçeneğe dönüşüyor. ...

5 Şubat 2026
5 dk
0xGently

Process Enumeration-2

Process Enumeration Hedefin PID Değerini Bulmak (EnumProcesses) Zararlı yazılım geliştirirken payload’umuzu saklamak veya çalıştırmak gibi teknikleri uygulayabilmek için genellikle sistemde çalışan meşru bir process’e (örneğin notepad.exe veya explorer.exe) ihtiyaç duyarız. Windows’un dilinden konuşup o process’in PID (Process ID) değerini bulmamız gerekir. İşte sistemdeki süreçleri listeleyip hedefimizin PID değerini bulma veya buna benzer processler ile ilgili bilgi toplama işlemlerine genel olarak Process Enumeration diyoruz. Bu yazıda, Windows’un standart EnumProcesses API’sini kullanarak bunu sıfırdan nasıl yapacağımıza adım adım bakacağız. ...

3 Şubat 2026
4 dk
0xGently

Assembly’de Prologue ve Epilogue Nedir?

High-level dillerde program yazarken, arka planda otomatik yapılan ama low-level dillerde (özellikle Assembly) manuel olarak yönetmemiz gereken pek çok işlem vardır. Bunların en önemlilerinden birisi de prologue ve epilogue işlemleridir. İşlemin Assembly dilindeki görüntüsü Bu konuya başlamadan önce birkaç temel kavrama değineceğim: Register: CPU’nun en hızlı veri depolama alanıdır; işlem yapılacak veriler burada tutulur. Stack: LIFO (Last In, First Out) mantığıyla çalışan, fonksiyon çağrılarında geçici veri tutan bellek alanıdır. Stack Frame: Her fonksiyon çağrıldığında stack üzerinde ayrılan, argümanlar ve yerel değişkenleri barındıran bellek bloğudur. ESP/RSP: Stack pointer; stack’in en üstünü gösterir. x86’da ESP, x64’te RSP olarak adlandırılır. EBP/RBP: Base pointer; stack frame’in taban adresini tutar, değişkenlere erişimde referans noktasıdır. Calling Convention: Fonksiyonlara argümanların nasıl aktarıldığını ve dönüş değerlerinin nasıl alındığını belirleyen kurallar bütünüdür. Push: Bir değeri stack’e ekler, stack pointer’ı aşağı kaydırır. Pop: Stack’in en üstündeki değeri alır, stack pointer’ı yukarı kaydırır. Bu kavramların hepsi prologue ve epilogue işlemlerini anlamanın temelini oluşturur. Zira bu iki işlem, stack frame’i oluşturup kaldırmaktan ibarettir. ...

3 Temmuz 2025
4 dk
0xGently

Packet Crafting with Scapy

Ağ güvenliği ve siber güvenlik dünyasında, bir paketin nasıl oluştuğunu, nasıl manipüle edilebileceğini ve özel paketler oluşturmayı bilmek çok kritik bir beceridir. Python programlama dili ve Scapy kütüphanesi, bu becerileri öğrenmek için mükemmel bir platform sunar. Bu yazıda, Scapy kullanarak ağ paketlerini oluşturmanın ve analiz etmenin temellerini aşama aşama detaylandıracağım. 1. Scapy Nedir ve Neden Önemlidir? Scapy, Python ile yazılmış güçlü bir ağ paket manipülasyon kütüphanesidir. Temel olarak şunları yapmamıza olanak sağlar: ...

21 Mayıs 2025
4 dk
0xGently
gusto-stuck-cavity@duck.com