Simple Honeypot en Python

  • 0 Respuestas
  • 2168 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Conectado Kirari

  • *
  • Colaborador
  • *
  • Mensajes: 144
  • Actividad:
    100%
  • Country: 00
  • Reputación 9
  • No dejes que el mundo te corrompa
    • Ver Perfil
    • Baúl para el público

Simple Honeypot en Python

  • en: Mayo 06, 2019, 06:28:04 pm
Buenas a todos! Quería compartirles una herramienta que hice en Python. Se tratá de un Honeypot (un sistema trampa para los atacantes). Como verán es de baja interacción, un script demasiado fácil de hacer. Permite abrir puertos de la maquina para simular un servicio (pj: ssh,ftp,etc). Aunque es más parecido a un IDS, sirve también como un señuelo. Acá les link para clonar el repositorio:

You are not allowed to view links. Register or Login

Y acá el código, para que lo vean mejor:

Código: Python
  1. #!/usr/bin/python
  2.  
  3. # Honeypot de baja interaccion
  4.  
  5. # Creado por Kirari
  6.  
  7. import os
  8. import sys
  9. import datetime
  10. import socket
  11.  
  12. def banner():
  13.    os.system('clear')
  14.  
  15.    print("\n          ___    __  __        ___  ___  _____ ")
  16.    print("   /\ /\/___\/\ \ \/__\/\_/\ / _ \/___\/__   \ ")
  17.    print("  / /_/ //  //  \/ /_\ \_ _// /_)//  //  / /\/")
  18.    print(" / __  / \_// /\ //__   / \/ ___/ \_//  / /   ")
  19.    print(" \/ /_/\___/\_\ \/\__/   \_/\/   \___/   \/    ")
  20.    print("\n       Creado por Kirari")
  21.  
  22.    print("\n\n<ul class="bbc_list"><li type="square"> Honeypot Activado!")[/li][/list]
  23.    print("[!] Te avisare si ocurre algo sospechoso.")
  24.                                              
  25.  
  26. def configuracion():
  27.    os.system('clear')
  28.    print('\a')
  29.    print("\n(CONFIGURAR HONEYPOT)")
  30.  
  31.    direccion = raw_input('\n\n[-] Ingrese IP address: ')
  32.    try:
  33.       puerto = input('[-] Ingrese puerto a emular (1-65535): ')
  34.  
  35.       if (puerto>=1 and puerto<=65535):
  36.          mensaje = raw_input("[-] Ingrese mensaje a enviar: ")
  37.          nombre_archivo = raw_input('[-] Nombre del log (Por default: Activity): ')
  38.          if(nombre_archivo==""): nombre_archivo = "Activity"
  39.          return (direccion,puerto,mensaje,nombre_archivo)
  40.       else:
  41.          print("</li><li type="square"> Numero de puerto incorrecto")[/li][/list]
  42.    except ValueError:
  43.       print("</li><li type="square"> El puerto ingresado debe ser un entero")[/li][/list]
  44.  
  45.  
  46. def honeypot(ip,port,msg,register):
  47.    servidor = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  48.    servidor.bind((ip, port))
  49.  
  50.    servidor.listen(5)
  51.  
  52.    alive = True
  53.  
  54.  
  55.    while(alive):
  56.       conexion, intruder = servidor.accept()
  57.       string = "\n</li><li type="square"> Intruso detectado desde {} en {}\n</li><li type="square"> Tiempo: {}\n".format(str(intruder[0]),intruder[1],datetime.datetime.now().strftime("%c"))[/li][/list]
  58.       print(string)
  59.  
  60.       try:
  61.          conexion.send("%s\n"%(msg))
  62.          activity = conexion.recv(2048)
  63.          register.write(string + '</li><li type="square"> Datos de paquetes: ' + activity + "\n\n")[/li][/list]
  64.          #print(activity)
  65.          conexion.close()
  66.       except socket.error:
  67.          pass
  68.  
  69.  
  70.  
  71.  
  72. if __name__ == '__main__':
  73.    try:
  74.       data = configuracion()
  75.       logs = open(data[3]+".log",'w')
  76.       if(data!=None): banner(); honeypot(data[0],data[1], data[2],logs);
  77.       else: print("</li><li type="square"> No hay suficiente datos proporcionados.")[/li][/list]
  78.    except KeyboardInterrupt:
  79.       logs.close()
  80.       print("Sesion honeypot terminada")
  81.  

Poco a poco, iré mejorandolo. Espero que les guste, saludos!
« Última modificación: Mayo 07, 2019, 12:04:04 pm por ANTRAX »
Jamás te contarán la verdadera versión, siempre te dirán la suya... Por eso... Si quieres saber la verdad, debes buscarla tú mismo...

 

ASWcrypter – script en python & bash para generar payloads indetectables

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2255
Último mensaje Septiembre 20, 2018, 11:59:16 am
por ANTRAX
-Framework en python-WMD (Weapon of Mass Destruction)

Iniciado por d0r127

Respuestas: 0
Vistas: 1971
Último mensaje Febrero 06, 2017, 01:07:30 pm
por d0r127
(Descarga) Pack de Scripts en python y perl.

Iniciado por morodog

Respuestas: 0
Vistas: 2778
Último mensaje Agosto 20, 2013, 02:33:58 pm
por morodog
[VIDEOTUTORIAL] Curso de Hacking con Python

Iniciado por graphixx

Respuestas: 9
Vistas: 8796
Último mensaje Octubre 07, 2018, 12:52:43 pm
por vilumbre
Hakku Framework - Simple Penetration Testing Framework

Iniciado por HATI

Respuestas: 0
Vistas: 2650
Último mensaje Enero 01, 2017, 03:34:17 pm
por HATI