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
- 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
Demo:
Proyecto: https://github.com/panagiks/RSPET
Se parece a aesshell pero mucho más completito. Habra que probarla.
ResponderEliminar