RSPET, una shell inversa que te ayudará en la post-explotación

RSPET (Reverse Shell and Post Exploitation Tool) es una shell inversa basada en Python y equipada con funcionalidades que ayudan en un escenario de post-explotación. Actualmente la incluyen las distros BlackArch Linux (desde 2016.04.28) y ArchStrike. Sus características actuales son:

- Ejecución remota de comandos
- Cifrado TLS de la comunicación cliente-servidor
- Transferencia de archivos/binarios (en ambos sentidos) sobre el tráfico cifrado enmascarado
- Herramienta de flooding UDP
- Herramienta de spooofing UDP: usa RAW_SOCKETS por lo que para utilizarla el cliente debe ejecutarse en un sistema operativo que los admita (la mayoría basados en Unix) y con privilegios de root. También hay que tener en cuenta que la mayoría de los ISP tienen implementaciones que eliminarán o reestructurarán los paquetes falsificados
- Administración de hosts; transferencias y flooding UDP desde varios o todos los hosts conectados
- Diseño de código modular para permitir una fácil personalización
- El script de cliente ha sido probado y es compatible con PyInstaller (se puede convertir en .exe)
- Soporte completo del plugins del lado del servidor (ver documentación online)
- Administración de plugins, incluida la capacidad de instalar (descargar) y cargar dinámicamente plugins.
- RESTful API para el módulo de servidor

Despliegue:

rspet_server.py se encuentra en la máquina del atacante y se ejecuta para aceptar conexiones
rspet_client.py se encuentra en la(s) máquina(s) infectada(s) e iniciará la conexión y esperará el input.

Instalación:

La ejecución de ./setup.py en la carpeta raíz del proyecto generará los certificados requeridos e instalará todos los componentes necesarios a través de pip.

Por supuesto, se puede instalar manualmente los paquetes pip requeridos ejecutando pip2 install Flask flask-cors. Y también se puede generar el conjunto de certificados de claves (simplemente hay que nombrarlos server.key & server.crt y colocarlos dentro de la carpeta del servidor).

Ejecución:

Servidor:
python rspet_server.py [-c #clients, --ip ipToBind, -p portToBind]
Por defecto max_connections es configurado a 5 sise deja en blanco

RESTful API:
python rspet_server_api.py [-c #clients, --ip ipToBind, -p portToBind]

Cliente:
python rspet_client.py [server_port]
 
Demo:
Proyecto: https://github.com/panagiks/RSPET

Comentarios

  1. Se parece a aesshell pero mucho más completito. Habra que probarla.

    ResponderEliminar

Publicar un comentario