serpentine Windows RAT con Servidor RESTful C2
serpentine Windows RAT con Servidor RESTful C2

serpentine: Windows RAT con Servidor RESTful C2

CRÉDITOS NO HEREDADOS

El siguiente contenido es una traducción no oficial del repositorio original (Github) citado al final del artículo. La única intención es la comprensión de la herramienta en idioma español.

serpentine es una Windows RAT (Herramienta de administración remota) que te permite interactuar con los clientes utilizando un servidor RESTful C2 multiplataforma.

Funcionalidades

  • Puesta en marcha
  • Obtener archivos
  • Colocar archivos
  • Keylogger (solo obtener el archivo %APPDATA%/svchost/log)
  • Shell inverso (Utilizándolo netcat como cliente, escucha en un puerto nc -l -p 5555 y solicita una conexión de shell inverso a ese puerto)
  • Proxy inverso (usando revp, carga revp al cliente y ejecútalo con un shell inverso)

Disección

client El directorio contiene la porción de Windows de la RAT hecha con C ++ y Boost.

server contiene la porción del servidor RESTful hecha con Java y Spring.

frontend puede contener cualquier cantidad de interfaces que consuman la API RESTful, pero actualmente solo tiene un cliente terminal hecho con Go.

Construir

serpentine compilar
serpentine compilar

Construye server con mvn package y luego ejecuta el JAR con 2 argumentos, primero el puerto de escucha del cliente y el segundo en el que se servirá la API RESTful del puerto. Ejemplo:

java -jar target/serpentine-0.1.0.jar 2222 8080
Compilar JAR serpentine
Compilar JAR serpentine

Compila client con Visual Studio y también incluye bibliotecas Boost: https://www.boost.org/doc/libs/1_73_0/more/getting_started/windows.html

Construye goserpentine frontend con go build y ejecutar el ejecutable resultante para ver la lista de opciones.

Build goserpentine frontend
Build goserpentine frontend

API

/client GET -> Devuelve la lista de clientes conectados actualmente (clientes que hicieron ping en los últimos 10 segundos)

/client POST -> Cambia el nombre asociado con un cliente

/file/{client} POST -> Obtiene un archivo de un cliente

/file/{client} PUT -> Sube un archivo a un cliente

/shell/{client} POST -> Hace que un cliente inicie una conexión de shell inversa

Más artículos
Disfrutar de PlayStation en PC o Mac
Cómo disfrutar de tu PlayStation en PC o Mac