Saldırgan/kötü niyetli kişiler sonuç odaklı oldukları için Python dilinin hızlı ve esnek yapısından sonuna kadar faydalanmaktadır. Bunu açıklamak için konunun girizgahına, yani Python'nun temel sentaksına geri dönüyorum.
1
print "Hoşgeldin"
Ekrana "Hoşgeldin" yazacaktır. Ardından bir input oluşturalım.
?
1
answer = raw_input("Hacker mısın?")
ve gelen değere göre if/else içinde kullanalım.
?
1
2
3
4
5
6
7
if answer.lower() == 'evet':
print "tabi tabi"
else:
print "hımm"
Yukarıda yaptığımız işlemi unutmadan basit bir iş daha verelim Python'a ve http sorgusu oluşturalım.
İlgili kütüphaneyi çağırıyoruz.
?
1
import urllib2
İstekte bulanacağımız sitenin başına http yazıyoruz.
?
1
request = urllib2.Request('http://www.pythondersleri.com')
işlemi gerçekleştirip mevcut sitedeki kaynak kodunu döndürüyoruz.
?
1
2
3
response = urllib2.urlopen(request)
payload = response.read()
print(payload)
Ve ekranımıza sitenin kaynak kodlarını döktük. Görüldüğü üzere bir http sorgusu oluşturmak bile print komutu kadar basit.
Şimdi buradan yola çıkarak bir saldırının temelini oluşturalım ve Python dilini bu süreçte nasıl kullanacağımızı görelim.
Senaryoya göre saldırgan şu aşamaları izleyecek:
Hedef belirleme
Bilgi toplama
Sosyal Mühendislik (Phishing)
Sonuç : Kurumun/Kişilerin gizli bilgilerine ulaşmak
Hedefimiz "edu.tr" uzantılı bir web sitesi. Bütün alt domainleri google sayesinde listeledik. Daha sonra bu siteleri tek tek gezinerek işimize yarayan bilgileri toplamaya başlıyoruz(e-posta, sosyalağlar, pdf, txt vb gibi.) . Bu sırada karşımıza bir rehber uygulaması çıkıyor ve bu uygulama sayesinde kurumda çalışan kişilerin mail listesine ulaşabiliyoruz. Fakat mail listesi html çıktı olduğu için, biraz dağınık ve düzenlenmeye ihtiyacı var.
Bunun için http sorgu yaptığımız kodu biraz daha değiştirmemiz gerekiyor. Yine bir http sorgusu oluşturuyoruz ve düzenli ifadelerden faydalanarak html kodunun içindeki mail adreslerini ayıklıyoruz.
?
1
2
3
4
5
6
7
8
9
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2, re
request = urllib2.Request('http://www.universite.edu.tr/rehber/getir.php?kategori=1000')
response = urllib2.urlopen(request)
payload = response.read()
results = re.findall(r'[\w\.-]+@[\w\.-]+', payload) ## ['[email protected]', '[email protected]']
for result in results:
print(result)
Yukarıda gördüğünüz Python kodunu ./test.py > test.txt şeklinde çalıştırdığımızda, mail adreslerinin düzenli bir listesini test.txt dosyasının içine kaydetmiş olduk.
Böylelikle zararsız gibi gözüken basit bir rehber uygulaması, saldırgan tarafından aktif bir şekilde kullanılmış oldu. Gerisi sizin sosyal mühendislik zekanıza kalıyor.
Son olarak, test sonucunu merak edenler için ufak bir bilgi vermek istiyorum:
Bazı parolalar çok kolay tahmin edilebilir durumdaydı.
Kullanıcıların web-mail parolasıyla Wi-Fi parolası aynıydı. Konu Daha Once Paylaşildiysa Affola Herkese İyi Forumlar

