-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHoneypot.py
47 lines (39 loc) · 1.23 KB
/
Honeypot.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import socket
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import time
##Configuración->
#-Socket
ip = "" #IP a la que bindear el socket
puerto = 83 #Puerto a escuchar
#-Mail
mail = "@gmail.com" #Email desde el que se envía el aviso
mailPw = "" #Contraseña
mailR = "@gmail.com" #Email que recivirá el aviso
smtpIp = "smtp.gmail.com"
smtpPuerto = 587
aTitulo = "El Honeypot ha recibido una conexión" #Título del email de aviso
aContenido = "Conexión recibida en el honeypot desde " #Contenido del email de aviso, a continuación se adjunta la IP
espera = 60 #Segundos a esperar para volver a aceptar conexiones después de enviar el aviso
##<-Configuración
def avisoMail():
m = MIMEMultipart()
m['From'] = mail
m['To'] = mailR
m['Subject'] = aTitulo
m.attach(MIMEText(aContenido + str(addr), 'plain'))
sesion = smtplib.SMTP(smtpIp, smtpPuerto)
sesion.starttls()
sesion.login(mail, mailPw)
text = m.as_string()
sesion.sendmail(mail, mailR, text)
sesion.quit()
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((ip, puerto))
s.listen(5)
while True:
c, addr = s.accept()
avisoMail()
c.close()
time.sleep(espera)