Instalación
Introducción
En esta entrada se cubrirá la instalación desde diferentes enfoques:
Instalación de binarios.
Compilar el codigo por uno mismo.
Como se mencionó en el post anterior Sliver C2 cuenta con una arquitectura de cliente servidor, donde múltiples clientes son llamados "operadores" o "players" conectado al mismo servidor para colaborar en diversas actividades . En consecuencia, se tiene que que configurar el servidor y, a continuación, distribuir la aplicación cliente junto con las credenciales a todos los operadores. Para facilitar las cosas, utilizaré una sola máquina virtual Kali. Ejecutar el servidor Sliver como root y cada jugador puede ser configurado como un usuario dedicado del sistema Linux.
Recomiendo instalar Sliver dentro de una máquina virtual (VM). Esto facilitará la posterior adición de otras máquinas a la configuración, como una segunda VM que sirva de objetivo para los ataques. Todas tus máquinas virtuales pueden funcionar dentro de una red virtual para simular varios entornos.
Preparación
Antes de instalar sliver, si se quiere que la herramienta realice compilaciones cross-compile de ejecutables y DLLs se requieren los siguientes paquetes:
Instalación desde script
Sliver provee un script de instalación el cual hace que la instalación y configuración no tome mucho tiempo, solamente ejecute el siguiente comando:
Sin embargo, es entendible no querer ejecutar código de 3ros con máximos privilegios, en lo personal por mas que se confié en los creadores, es recomendable hacer la instalación manual.
Instalación de binarios release
La descarga de los binarios compilados se realiza desde su repositorio github en la sección de releases. Existen dos binarios, sliver-client y sliver-server, seleccione la arquitectura deseada para su descarga, o ejecute el siguiente comando para visualizar la versión mas resiente para su sistema:
Esto generará un output como el siguiente (tenga en cuenta que las versiones pueden ser diferentes a las de este blog):
Después, para descargar los binarios, se puede mediante la interfaz web o con los siguientes comandos:
Estos comandos asumen que se tiene la ubicación /usr/local/bin/
en el path. A continuación se tiene que ejecutar el siguiente comando con el servidor para extraer todos los assets necesarios, este comando creará una carpeta con archivo en el archivo ~/.sliver
y lo más importante es que generará una versión personalizada de go dedicada a Sliver en la carpeta ~/.sliver/go
.
Finalmente, recomiendo la creación de un servicio en systemd para sliver server.
Este archivo permite iniciar el servicio systemctl start sliver
el cual inicia sliver-server en modo demonio con escucha en el puerto 31337 para la conexión a los operadores.
Creación Operadores
Los operadores se autentican en el servidor mediante TLS mutuo (mTLS). Los certificados de cliente pueden ser emitidos por el servidor utilizando el comando operador
. A continuación, se creará un nuevo operador llamado hacker1
, que se conecta al servidor directamente desde localhost:
Esto creará un archivo de configuración json con los certificados necesarios para la conexión:
Este archivo debe esta en la carpeta ~/.sliver-client/configs
:
Si todo se configuró correctamente solo se tiene que ejecutar el comando sliver
o sliver-client
y se tendrá una shell como esta:
Compilar el código fuente
Compilar sliver desde el código fuente es fácil. Sólo tienes que seguir los pasos descritos en su wiki.
Para compilar desde el código fuente, necesitas tener Go instalado. Instale los paquetes con apt-get install -y golang
. A continuación, obtener el código fuente de GitHub. Clone el repositorio en cualquier lugar de tu máquina con:
Ahora, se tiene que ejecutar el script go-assets.sh
para descargar todas las utilidades que ocupa sliver, como es el ofuscador de binarios de golang garble.
Finalmente, se ejecuta el comando make
, el cual empezará a compilar los binarios y los dejará en la carpeta raíz de proyecto de git, antes de compilar se puede realiza modificaciones al código fuente. Tome en cuenta que puede compilar los binarios para diferentes plataformas (Windows, Linux, Max).
Asegúrese de seguir después de la compilación los pasos descrito en Instalación de binarios descrito previamente en este blog.
Última actualización