Tüm Yazılara Dön

Hedefe Özel Wordlist Üretimi: Sosyal Mühendislik Tabanlı Parola Testleri

Ömer Faruk TOPTAŞ
Yazar:
Ömer Faruk TOPTAŞ
Core Team Üyesi
Hedefe Özel Wordlist Üretimi: Sosyal Mühendislik Tabanlı Parola Testleri

Özet

Bu yazımda, hedefe‑özel parola adayları (wordlist) üretmeye yarayan Python aracımı tanıtıyorum. Araç, sosyal mühendislikle elde edilebilecek kullanıcıya özgü verilerden (isim, soyisim, şehir, plaka, evcil hayvan adı, tuttuğu takım vb.) mantıksal kombinasyonlar üreterek daha odaklı parola testleri yapmanıza yardımcı olur. Üretim süreci sırasında anlık dosya boyutu ve üretilen satır sayısının gösterilmesi, büyük çıktılardan kaynaklanabilecek risklerin erken tespit edilmesini sağlar.

Neden Hedefe Özel Wordlist?

Genel wordlist’ler geniş ama çoğu zaman alakasız içerik barındırır.
Hedef odaklı parola tahminleri, kullanıcının kişisel bilgilerini içeren kombinasyonlarla daha başarılı olur.
Sosyal mühendislikten elde edilen verilerle türetilmiş listeler, brute‑force/wordlist denemelerinde başarı şansını artırır ve deneme maliyetini düşürür.

Araç (Kısaca)

  • Girdi Tipleri: Kelimeler (isim, soyad, şehir, takım vb.), sayısal tokenlar (yıl, plaka, kısa sayılar), özel karakterler.
  • Çıktı: Belirlenen minimum/maximum uzunluk aralığında mantıksal (sıralı) kombinasyonlar ve isteğe bağlı büyük/küçük harf varyantları.
  • Canlı Geri Bildirim: Üretilen satır sayısı ve çıktı dosyasının mevcut boyutu (MB) saniyelik olarak gösterilir.

Kullanıcıya Kolaylık: Pozisyon ve Harf Varyantları

Token Pozisyonu Kolaylığı

Kod, girilen kelimelerin, sayıların veya özel karakterlerin “nerede” (başta/ortada/sonda) olacağını sizin manuel olarak düşünmenizi gerektirmez. Girilen blokları tüm mantıksal sıralamalarda otomatik olarak birleştirir; yani “Ömer”i başa mı sona mı koyacağınızı önceden planlamanıza gerek yok. Bu yaklaşım, kullanıcıya önemli bir kolaylık sağlar.

Büyük/Küçük Harf Varyantları

Program size büyük/küçük harf varyantlarını genişletmek isteyip istemediğinizi sorar. “E” (evet) seçerseniz, her token için mümkün olan büyük/küçük kombinasyonları otomatik olarak üretilir ve parola adaylarına eklenir. Ancak tam kombinasyon üretimi hızla büyüyebilir; bu yüzden performans koruması amacıyla bir limit uygulanır. Eşik aşıldığında kod, anlamlı ve performans odaklı bir fallback set (ör. original, lower, upper, title) döndürür. Ayrıca üretime başlamadan önce gösterilen tahmini deneme sayısını izleyip gerekirse işlemi durdurabilirsiniz.

Önemli Özellik: Anlık İzleme

Neden Anlık MB ve Satır Sayısı Önemli?

Kombinasyon sayısı üssel biçimde büyüyebilir ve çıktı dosyası çok hızlı şekilde disk ve hafıza tüketebilir. Araç üretim sırasında dosya boyutunu (MB) ve yazılan satır sayısını gösterir; bu sayede büyümeyi anında izleyip müdahale edebilirsiniz. Eğer büyüme tehlikeli görünüyorsa, işlemi durdurup (Ctrl+C veya process sonlandırma) parametreleri daraltmak en güvenli yaklaşımdır.

Test ve Güvenlik Pratikleri

  • Önce Küçük Bir Set ile Test Edin: Birkaç isim + birkaç sayı + 1 özel karakter ile başlayın, çıktının büyüme hızını izleyin.

Anlık MB ve Satır Sayısı Göstergesini Kullanarak Üretimi İzleyin: Büyüme hızlıysa hemen durdurup parametreleri daraltın.

Kullanıcı Gizliliği ve Etik

Sadece İzinli Senaryolarda Kullanılmalıdır: Kişisel verileri işlerken gizliliğe dikkat edin ve çıktı dosyalarını güvenli bir yerde saklayın veya hemen silin.

Kullanım — Örnek

Terminalde interaktif çalıştırma:

Öncelikle python un sisteminizde kurulu ve guncel olması gerekir.

Press enter or click to view image in full size

p3
p3

buradan ilgili dosyayı indiriyoruz

p2
p2

ilgili dosyayı indirdikten sonra bulundugu dizine gidip python kodunu çalıştırıyoruz.

Press enter or click to view image in full size

p10
p10

olası kelimeler , sayılar , özel karakterleri giriyoruz

→ Burada kelimelerin , sayıların veya özel karakterlerin hangi sırada olduğu önemli değil çünkü bu python kodu tüm varyasyonları deneyecektir.

Press enter or click to view image in full size

p11
p11

Senaryo — Örnek

(bu senaryo tamamen gerçek dışıdır. oluşturulan profil bana aittir.)

Get Ömer Faruk TOPTAŞ’s stories in your inbox

Join Medium for free to get updates from this writer.

Subscribe

Remember me for faster sign in

Kullanıcıların şifrelerini tahmin etmek ve kırmak için, sosyal medya hesaplarından edindiğimiz bilgiler oldukça faydalı olabilir. Bu bilgiler, hedef kullanıcının günlük hayatı, tercihler ve ilgi alanları hakkında ipuçları sunarak, etkili bir WordList oluşturmanıza yardımcı olur.

p4
p4

p7
p7

p1
p1

Örneğin, Ahmet Yılmaz hakkında edindiğimiz bazı temel bilgiler şu şekildedir:

  • Ad Soyad: Ahmet Yılmaz
  • Evcil Hayvan: Maya
  • Tuttuğu Takım: Galatasaray
  • Favori Futbolcusu: Mauro Icardi
  • Doğum Tarihi: 4 Kasım 1995
  • Bulunduğu Şehir: Kocaeli
  • Şehrinin Plaka Kodu : 41

Bu bilgileri kullanarak, Ahmet Yılmaz’ın evinde kullandığı Wi-Fi şifresini tahmin etmek üzere bir WordList oluşturabiliriz. Kullanıcı adları, evcil hayvan ismi, favori futbolcusu, doğum tarihi ve yaşadığı şehir gibi öğeleri içeren şifre kombinasyonlarıyla, şifreyi kırmak için etkili bir yol haritası çizebiliriz.

Press enter or click to view image in full size

p5
p5

Yukarıdaki görselde yer alan Ahmet Yılmaz’a ait bilgilerle, etkili bir WordList oluşturduk. Sosyal mühendislik teknikleri kullanarak elde ettiğimiz kişisel veriler, bu şifre çözme sürecinde bize önemli ipuçları sağladı. Kullanıcı hakkında edindiğimiz bilgilerle oluşturduğumuz kelime listesi sayesinde, doğru şifreyi bulmamız mümkün oldu.

Press enter or click to view image in full size

p6
p6

VARSAYILAN PAROLALAR ICIN GELISTIRDIGIM YONTEM :

Siber güvenlik dünyasında bir sisteme sızmanın en eski ama hala en etkili yollarından biri sosyal mühendisliktir. Ancak, sosyal mühendislik her zaman her kapıyı açmaz. Bazı sistemler, kullanıcı hatalarından ziyade “varsayılan yapılandırmalar” nedeniyle savunmasız kalır. İşte tam bu noktada, geliştirdiğim araca kritik bir özellik eklemeye karar verdim: Varsayılan Parolaları Tespit Etme Seçeneği.

Neden Varsayılan Parolalar?

Özellikle modemler ve IoT (Nesnelerin İnterneti) cihazları, fabrikadan çıktıkları haliyle bırakıldığında ciddi güvenlik açıkları oluşturur. Bu cihazlarda kullanılan varsayılan parolalar genellikle belirli algoritmalar veya şablonlar üzerine kuruludur. Geliştirdiğim araç, bu modem parolalarının yapısını analiz ederek rastgele denemeler yapmak yerine, hedefe yönelik ve akıllı bir parola listesi (wordlist) oluşturur.

Algoritmayı Nasıl Optimize Ettim?

Kaba kuvvet saldırılarında (Brute Force) başarıya ulaşmak için zamanı verimli kullanmak şarttır. Trilyonlarca kombinasyonu denemek yerine, gerçekçi bir analizle olasılıkları daralttım:

  • Tekrar Filtresi: Yapılan analizler gösteriyor ki, varsayılan parolaların büyük bir kısmında aynı rakam, harf veya özel karakter 2’den fazla yan yana gelmiyor. Kod bloğumu, bu kurala uymayan anlamsız kombinasyonları eleyecek şekilde kurguladım.
  • Karakter Dağılımı: Özel karakterler genellikle parolanın ana gövdesini oluşturmaz; daha çok başında veya sonunda destekleyici olarak kullanılır. Aracım, özel karakterleri “doğru yoğunlukta” kullanarak üretim yapıyor.
  • Hız ve Verimlilik: Bu kısıtlamalar sayesinde, araç boşuna milyonlarca zayıf parola üretmiyor. Bu da Brute Force sürecini hem daha kısa sürede sonuçlandırıyor hem de sistem kaynaklarını optimize ediyor.

ARACIN KULLANIMI :

Press enter or click to view image in full size

p8
p8

Press enter or click to view image in full size

p9
p9

Kullanıcı Kontrolü ve Esneklik :

Bir güvenlik aracının gücü, kullanıcıya sunduğu esneklikten ve işlem sırasında sağladığı geri bildirimden gelir. Aracımda kontrolü tamamen kullanıcıya bırakırken, işlem verimliliğini de en üst düzeyde tutmayı hedefledim:

  • Özel Karakter Seçimi: Her sistemin güvenlik politikası farklıdır. Kullanıcılar, hedef sistemin kabul ettiği özel karakterleri manuel olarak belirleyerek daha nokta atışı listeler oluşturabiliyor.
  • Ölçeklenebilirlik ve Limit Belirleme: “Kaç satır veri üretilecek?” sorusunun yanıtı tamamen sizin ihtiyacınıza bağlı. Hedeflenen satır sayısını önceden belirleyerek ihtiyacınız kadar veri üretebilirsiniz.
  • Anlık İlerleme Takibi (Real-time Progress): Üretim süreci sadece arka planda çalışan “kara bir kutu” değil. Araç, işlem sırasında anlık olarak yüzde kaçın tamamlandığını ve o ana kadar kaç satır oluşturulduğunu dinamik bir şekilde raporluyor.
  • Güvenli Kayıt Sistemi: Üretilen veriler anlık olarak dosyaya işleniyor. Bu sayede uzun süren işlemlerde bir kesinti yaşansa bile, o ana kadar üretilen tüm parolalar güvenli bir şekilde kaydedilmiş oluyor

Sonuç

Geliştirdiğim bu araç, sadece bir “parola üretici” değil; aynı zamanda veri analizi yaparak saldırı yüzeyini daraltan akıllı bir asistan görevi görüyor. Güvenlik testlerinde (Penetration Testing) otomasyon ve doğru strateji birleştiğinde, en karmaşık sistemlerin bile aslında ne kadar kırılgan olabileceğini bir kez daha görüyoruz.

Etik ve Yasal Uyarı !
Araç yalnızca:

  • Kendi sistemlerinizde, veya
  • Yazılı izinli olduğunuz hedeflerde kullanılmalıdır.

İzinsiz parola denemeleri ve hesaplara erişim girişimleri yasa dışıdır ve ciddi hukuki sonuçlar doğurur. Testlerinizi belgeleyin ve yetkilendirilmiş senaryolarda kullanın.

Örnek Senaryolar

  • Yetkilendirilmiş Penetrasyon Testleri: Kurum içi kullanıcı hesaplarının parola dayanıklılığını değerlendirme.
  • Red-Team Faaliyetleri (İzinli): Gerçekçi parola adayları üretme.
  • Eğitim: Çalışanlara hedefe‑özgü parola risklerini gösterme.

Repo ve Kaynak

Tüm kod, kullanım örnekleri ve README için GitHub deposunu ziyaret edin:
https://github.com/omerfaruktoptas/generatekey

Medium profilim ve daha fazla içerik:
https://medium.com/@OmerFarukt7