Python'da Sosyal Medya Hesaplarını Bulalım!//"P4RS

P4RS

Özel Üye
8 Ocak 2017
5,156
58
Ankara
Merhabalar TürkHackTeam ailesi, bugün sizlere "Python'da Sosyal Medya Hesaplarını Bulalım!" isimli bir konuyu anlatacağım. Konu da bir araç yapacağız birlikte bu araç sayesinde bir kullanıcı adı gireceğiz ve araç bizim için sosyal medyada bu kullanıcı adında bir kullanıcı var mı diye tarayacak bizlere. Hadi başlayalım...

Öncelikle bazı modülleri eklememiz gerek bunlar;
Kod:
import requests
import threading
from threading import Thread
from requests import get
import time
import os
Burada requests modülünü ekledik çünkü siteye bir istek yollayacağız ve bize 200 kodunu döndürürse bu kullanıcı adında bir hesap olduğunu anlayacağız. Threading modülü sayesinde ise aynı anda birden fazla işlem yapacağız.

Bunu Hacknology hocanın anlatımı ile göstermek istiyorum.
Thread, genel anlamda birden çok işlemi aynı anda yapmanıza yarar. Bir mutfak örneği verecek olursam...
-Yemekleri topla
-Bulaşıkları yıka
-Fırını kapat

Siz bu komutu bilgisayara verdiğinizde, bilgisayar önce yemekleri toplamasını, sonra bulaşıkları yıkamasını, sonra ise fırını kapatması gerektiğini anlar. Ama ya bu kadar zamanımız yoksa ve 3 işi birden aynı anda yapmamız gerekiyorsa? İşte karşınızda: Multi-Threading.
Python üzerinden gidecek olursam, threading için gerekli fonksiyonu içe aktarmamız gerekir.​

Yani biz istekleri göndereceğiz fakat tek tek yaparsak baya bir uzun sürecek onun yerine verdiğimiz bütün sitelere aynı anda istek yollaması. from threading import Thread bunun sayesinde de Thread fonksiyonunu kullanacağız. from requests import get kodun sayesinde de sayesinde siteye get fonksiyonu ile istek yollayacağız. import time
modülü ile programı bekleteceğiz ve import os modülü ile de aldığımız 200 dönütlerini bir .txt dosyasının içine yazacağız.

Fonksiyon yazarak yapacağız ilk olarak Facebook üzerinden yapalım.
Kod:
def facebook(username):
ile fonksiyonu tanımladık ve içerisine username değerini atadık. Kullanıcıdan aldığımız kullanıcı adı bilgisini kullanacağız çünkü. Ardından
Kod:
link = "https://www.facebook.com/"
cevap = requests.get(link+username)
komutlarını yazdık. Burada link değişkeni ile hedef siteyi belirledik ve cevap değişkeni ile de siteye istek atmak için requests.get yazdık ve parantez için de (link+username) yazdık ki linkin sonuna kullanıcıdan aldığımız kullanıcı adı verisi ile birleştirsin. Daha sonra
Kod:
if cevap.status_code == 200:
    print(f"[+]Facebook adresi bulundu, adres: {link+username}")
kodları ile de eğer siteye attığımız istekten dönen kod 200'e eşit ise Facebook hesabının bulunduğunu yazdırdık. Peki biz bunu dosyaya yazdıracaktık onu nasıl yapacağız bu blokta devam ederek
Kod:
with open("Adresi_bulunanlar.txt","w",encoding="utf-8") as dosya:
    dosya.write(link+username+"\n")
yazdık. os modülünü biraz biliyorsanız direk anlarsınız fakat temel anlatım yaptığım için anlatacağım burada başına dosya = open("dosya_ismi) yazabilirdik fakat daha düzenli ve işlevli olması için verdiğim şekilde kullandık. Daha sonra bu cevap 200 döndürürse Adresi_bulunanlar.txt dosyasını açacak (w, dosya yoksa oluşturacak ve üstüne yazdırması için. encoding=utf-8 yapmazsanız da harf hatası alabilirsiniz.) ve write fonksiyonu ile adresi ve kullanıcı adını yazdıracak. Sonunda +"\n" kullanmamın sebebi diğer adresleri de yazdıracağız ve dip dibe olmaması için. Peki bulamazsa ne yapacak? Onda da else durumuna geçiş yapacağız.
Kod:
else:
    print("[-]Facebook adresi bulunamadı.")
ile de böyle bir adresin bulunmadığını yazacak. Bunu birçok sosyal medya hesabında yapabilirsiniz ben en altta kodları vereceğim zaten oradan bakabilirsiniz.

Sosyal medya sitelerini ekledikten sonra bunları aynı anda çalıştırmak için Thread modülünün kullanımı.

Kod:
username = input("Kullanıcı adı giriniz: ")
Thread(target=facebook, args=(username,)).start()
kodu ile de ilk olarak kullanıcı adını aldık daha sonra Thread(target=facebook ile facebook değerini çağırmamıza yaramaktadır. args=(username) ile de username demetini kullandık ve .start ile de bu kodu çalıştırdık.

Kodun tamamı ve birçok sosyal medya sitesinin eklenmiş hali;

https://github.com/WhiteRedTHT/Social_Media_OSINT



Kodun çalışması

OSoiUv.gif



Verilerin Kaydedilmesi

SYb9HV.gif


Konuda ki en önemli modül ile tanışmama vesile olduğu için PALA hocaya teşekkürler :))

Konum bu kadardı arkadaşlar, bir sonraki konuda görüşmek üzere sağlıcakla..



 
Son düzenleme:
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.