[SOLUCIONADO] Cifrar password para login SMTP en Python

Iniciado por phr4ckl0t, Diciembre 08, 2016, 01:04:46 AM

Tema anterior - Siguiente tema

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

Diciembre 08, 2016, 01:04:46 AM Ultima modificación: Diciembre 09, 2016, 04:27:18 AM por Stiuvert
Cordial saludo muchachos, he estado probando el modulo smtplib de python para un pequeño keylogger que tengo en mente, y todo de  va maravilla, he podido enviar textos y archivos adjuntos sin problema, pero hay un inconveniente, a la hora de enviar las credenciales al servidor SMTP, tengo que poner el usuario y el pass. y pues poner la contraceña y el usuario en plano no me parece correcto, he mirado la documentacion a ver si depronto acepta algun tipo de cifrado como base64 o que se yo, pero no lo mencionan, me gustaria saber si depronto alguno de ustedes conoce una forma de no hacer las credenciales legibles en el codigo y que el server la reconozca. Muchas gracias de antemano.

Código: python

USER = 'mi_usuario'
PASSWORD = 'mi_contraceña'
SMTP_SERVER = 'smtp.gmail.com'

conn = SMTP_SSL(SMTP_SERVER)
conn.set_debuglevel(1)
conn.login(USER,PASSWORD)
...

Lo único que se me ocurre es que ofusques de alguna forma el usuario y la contraseña, pero para cualquiera que sepa leer el script sería muy fácil desofuscar los datos, así que lo mejor sería ofuscar por completo el script.

Saludos!







No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Estaré probando como me has dicho @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, no se me habia ocurrido, y tanto que he leido eso en CTF's aquí.
Gracias, un abrazo.

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Cordial saludo muchachos, he estado probando el modulo smtplib de python para un pequeño keylogger que tengo en mente, y todo de  va maravilla, he podido enviar textos y archivos adjuntos sin problema, pero hay un inconveniente, a la hora de enviar las credenciales al servidor SMTP, tengo que poner el usuario y el pass. y pues poner la contraceña y el usuario en plano no me parece correcto, he mirado la documentacion a ver si depronto acepta algun tipo de cifrado como base64 o que se yo, pero no lo mencionan, me gustaria saber si depronto alguno de ustedes conoce una forma de no hacer las credenciales legibles en el codigo y que el server la reconozca. Muchas gracias de antemano.

Código: python

USER = 'mi_usuario'
PASSWORD = 'mi_contraceña'
SMTP_SERVER = 'smtp.gmail.com'

conn = SMTP_SSL(SMTP_SERVER)
conn.set_debuglevel(1)
conn.login(USER,PASSWORD)
...



Si lo que quieres es justamente evitar que se lea el codigo fuentes lo que puedes hacer es lo que muestro en el siguiente video.


Hola @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, ese "truco" no encripta sino que compila el script (*.pyc) que puede ser leído e interpretado por la máquina virtual de Python, pero de ninguna forma encripta el script. Además, usando la libreria No tienes permitido ver los links. Registrarse o Entrar a mi cuenta se pude recuperar el código original:

Código: python
python -m unpyclib.application -Dq keylogger.pyc


Saludos!







No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta
Hola @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, ese "truco" no encripta sino que compila el script (*.pyc) que puede ser leído e interpretado por la máquina virtual de Python, pero de ninguna forma encripta el script. Además, usando la libreria No tienes permitido ver los links. Registrarse o Entrar a mi cuenta se pude recuperar el código original:

Código: python
python -m unpyclib.application -Dq keylogger.pyc


Saludos!
gracias Once. no sabía eso.

Enviado desde mi LG-H440AR mediante Tapatalk


Muchas gracias @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta, creo que me puede ser util, la idea que es no se pueda leer a primera, estuve también leyendo la opción que me planteó @No tienes permitido ver los links. Registrarse o Entrar a mi cuenta pero vi que al ofuscar el código, cambiaban las variables, pero las cadenas que es lo que no quiero que se vean, quedaban intactas, no se si quizá no investigué lo suficiente o que, en fin, muchas gracias a ambos, creo que compilaré el script por ahora, seguiré investigando otras formas.

¿Y por qué no codificas las variables en, por ejemplo, rot13?

Aunque no sea tampoco ilegible, no está demás poner esta pequeña barrera para obstaculizar un poco.

Código: python
USER = 'zv_hfhnevb' # mi_usuario  codificada en rot13
PASSWORD = 'zv_pbagenfravn' # mi_contrasenia  codificada en rot13
SMTP_SERVER = 'smtp.gmail.com'

conn = SMTP_SSL(SMTP_SERVER)
conn.set_debuglevel(1)
conn.login(USER.decode('rot13'),PASSWORD.decode('rot13'))
...