Ayer se hizo público
en diversos foros de seguridad la presencia de una "backdoor" en el
módulo Python, SSH Decorate, lo que ha provocado que finalmente el autor cierre
sus repositorios al detectarse que su cuenta fue comprometida.
El módulo SSH
Decorate era un decorador de Paramiko para Python, que ofrecía funcionalidades
de cliente SSH, desarrollado por el programador israelí Uri Goren, colaborador
del proyecto SciPy. Aunque no era muy popular (cerca de 4000 descargas lo
corroboran), ejemplifica cómo puede darse este tipo de incidencias de la manera
más sencilla, por lo que fue un objetivo fácil de utilizar para propagar este
backdoor.
Según los avisos
recibidos en su cuenta de GitHub, Uri fue alertado de la presencia de código
modificado que capturaba los credenciales, como se puede observar en la imagen:
El desarrollador
avisó que su cuenta había sido comprometida, cambiando su código para incluir
esta backdoor. Tomó la decisión de cambiar la contraseña y renombrar el
proyecto como "ssh-decorator", pero, finalmente y tras todo este
revuelo, ha decido borrar la presencia de su código en todas sus cuentas de
Github y PyPi:
- https://pypi.org/project/ssh-decorate/
- https://pypi.org/project/ssh-decorator/
- https://github.com/urigoren/ssh_decorator/
Lo que en un
principio podría ser un ataque viable con paciencia y mediante el uso de
diccionarios, se vuelve más sencillo, si cabe, tras analizar las versiones
anteriores del código. En su versión 0.2 se pueden encontrar credenciales por
defecto de una cuenta en Bluehost, por lo que, probablemente, los atacantes
hayan reutilizado esta misma contraseña en su cuenta de Pypi para poder
distribuir la versión modificada:
Esta vulneración tan
evidente de un módulo, junto con los recientes incidentes publicados sobre
otros módulos y repositorios, pone el foco en el esquema de seguridad presente
en repositorios como Pypi, donde, a día de hoy, no hay un modo rápido ni claro de
poder reportar estos incidentes de módulos maliciosos o vulnerados, ni existe
un método de verificación de los mismos mediante firma, por ejemplo.
Más información:
·
Report
projects that damage other packages, don't adhere to guidelines, or are
malicious https://github.com/pypa/warehouse/issues/3896
·
Backdoor
in ssh-decorator package https://www.reddit.com/r/Python/comments/8hvzja/backdoor_in_sshdecorator_package/
·
Ejecución
remota de código en el editor Atom https://unaaldia.hispasec.com/2017/11/ejecucion-remota-de-codigo-en-el-editor.html
Fuente: Hispasec