Saltar al contenido
Underc0de /foro

[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.

Avatar de phr4ckl0t
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)
...
WhatsApp Telegram

7 respuestas

Avatar de Once
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!







Los enlaces son solo para miembros. Registrate o iniciá sesión

Avatar de phr4ckl0t
Estaré probando como me has dicho @Once, no se me habia ocurrido, y tanto que he leido eso en CTF's aquí.
Gracias, un abrazo.

Avatar de noxonsoftwares
Cita de: phr4ckl0t en Diciembre 08, 2016, 01:04:46 AM
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.


Avatar de Once
Hola @noxonsoftwares, 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 Los enlaces son solo para miembros. Registrate o iniciá sesión se pude recuperar el código original:

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


Saludos!







Los enlaces son solo para miembros. Registrate o iniciá sesión

Avatar de noxonsoftwares
Cita de: Once en Diciembre 08, 2016, 05:21:10 PM
Hola @noxonsoftwares, 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 Los enlaces son solo para miembros. Registrate o iniciá sesión 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


Avatar de phr4ckl0t
Muchas gracias @noxonsoftwares, 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ó @Once 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.

Avatar de Tatoluckyfox
¿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'))
...

🔗 Temas relacionados

¿Te quedó una duda sobre Dudas y pedidos generales?

Preguntala y te responde la comunidad (y el asistente Underc0de IA si nadie llega antes). Es gratis y tarda un minuto.

Ya tengo cuenta
Guardamos tu pregunta en este navegador: después de entrar la publicás con un clic.
Grupo de WhatsApp