Pupy es una nueva herramienta para administrar remotamente cualquier equipo (RAT), este software hará las delicias de cualquier administrador de sistemas y también de los expertos en seguridad ya que es software libre y está escrito en Python, por lo que podremos en cualquier momento incorporar nuevas características para controlar al detalle todo el sistema.
Pupy es un software multiplataforma, puede ejecutarse tanto en sistemas Microsoft Windows y GNU/Linux, tan sólo deberemos tener instalado Python en nuestro sistema operativo para poder ejecutarlo. Los desarrolladores de Pupy lo han probado en Windows 7, Kali Linux y también Ubuntu, por lo que en principio en cualquier distribución basada en Debian también sería compatible. Dependiendo del sistema operativo donde lo usemos, tendremos unas características de administración remota u otras.
Características de Pupy en sistemas Windows
Una de las características más interesantes de Pupy para sistemas Windows es que el payload (carga útil) está compilado como un DLL de reflexión mientras el intérprete de python está cargado en memoria, por lo tanto Pupy no toca el disco duro en ningún momento, ideal para evitar los análisis forenses. En este sistema operativo Pupy permite grabar las pulsaciones de teclado (keylogger), además también permitiría realizar capturas de pantalla del propio sistema, por último permite la migración tanto de arquitectura x86 a x64 y viceversa, además es persistente por lo que podremos ponerlo al inicio del sistema de tal forma que al reiniciar el equipo se pueda seguir ejecutando automáticamente.
Principales características de Pupy
Otras características de Pupy que son comunes en todos los sistemas operativos compatibles es que puede migrar reflexivamente a otros procesos, además puede importar remotamente y desde memoria paquetes python (.py, .pyc) e incluso Python compilados (.pyd). Los módulos Python importados no tocan el disco duro ya que están específicamente diseñados para ello, aunque los Python compilador actualmente solo funcionando en Windows ya que para Linux no se ha implementado todavía.
Todas las comunicaciones desde el origen hasta el destino y viceversa se realizan a través de conexiones TLS inversas, de esta manera evitaremos que usuarios malintencionados sean capaces de leer la información de nuestro sistema. Si administramos un gran número de máquinas en la misma red, podremos ejecutar una misma orden en todas ellas sin necesidad de ir una por una, además se pueden programar las tareas en background para que no haya que estar continuamente entrando en los sistemas.
Algunos de los módulos implementados actualmente son:
- Ejecución de comandos.
- Descarga de archivos
- Subida de archivos
- Proxy SOCKS5
- Reenvío de puertos local
- Shell interactiva (cmd.exe, /bin/sh, /bin/bash…)
- Shell interactiva de Python
Os recomendamos visitar el proyecto Pupy en el GitHub oficial donde encontraréis todo el código fuente y la última información sobre los desarrollos de más módulos.