23 de septiembre de 2017

Posible detección de malware en repositorios oficiales de Python

SK-CSIRT ha identificado librerías que contienen software malicioso en el repositorio oficial de paquetes Python, PyPI. Dichos paquetes pueden haber sido descargados involuntariamente por desarrolladores o administradores por varios medios, incluyendo la utilidad "pip" (pip install urllib), catalogada de Importancia: 3 - Media
Recursos afectados:
Todas las versiones de Python para Windows, Linux y Mac OS.
Detalle e Impacto de la actualización
Se han detectado copias de varios paquetes de Python que fueron publicados bajo nombres ligeramente modificados, en el repositorio de paquetes Python oficial, PyPI. Estos paquetes contienen exactamente el mismo código que el paquete original por lo que su funcionalidad es la misma, pero el script de instalación setup.py se modifica para incluir código malicioso.
El código malicioso añadido al paquete falso se ejecuta cuando el desarrollador o administrador del sistema instala el paquete (habitualmente con privilegios de administrador).
El código ejecutado en las muestras identificadas sólo se usa para reportar la siguiente información, usando una solicitud HTTP a un servidor remoto en http://121.42.217.44:8080/:
1.    nombre y versión del paquete falso
2.    nombre del usuario que instala el paquete
3.    nombre de host
Recomendación
· SK-CSIRT contactó con los administradores del repositorio PyPI, y todos los paquetes se eliminaron inmediatamente.
· No obstante la solución es eliminar los paquetes falsos instalados. Para comprobar si los paquetes falsos están instalados en el sistema, ejecute el siguiente comando:
· pip list --format=legacy | egrep '^(acqusition|apidev-coop|bzip|crypt|django-server|pwd|setup-tools|telnet|urlib3|urllib$)'
· Si el comando muestra al menos un paquete, elimine cada paquete malicioso mostrado, ejecutando:
· pip uninstall
· La otra opción es eliminar el paquete del directorio del sistema directamente. Esta opción proporciona un poco más de seguridad al no ejecutar ningún código potecialmente malicioso en el proceso de eliminación.
Más información
·        skcsirt-sa-20170909-pypi  http://www.nbu.gov.sk/skcsirt-sa-20170909-pypi/
·        Pytosquatting  https://pytosquatting.org/
Fuente: INCIBE