💻
My Personal Hacking Path
  • 👓Wellcome
    • My Personal Hacking Path
      • Whoami
  • 📚Mi Metodología de Pentesting
    • Tipos de evaluaciones
      • El día a día en pentesting
    • Metodología Propia
      • OWASP
      • OSSTMM
      • PTES
      • CEH Hacking Metodology (CHM)
      • Cyber Kill Chain
      • MITRE Att&ck
    • Fase 0 - Pre Evalaución
    • Fase 1 - Reconocimiento
      • Web / Host
      • SubDominios
      • Descubrimiento de correos electrónicos
      • Escaneo de Puertos
      • Credenciales y brechas de seguridad
      • ¿Sin Ideas?
    • Fase 2 - Explotación
      • Shells
        • Diferencia entre una WebShell y Reverse Shell
      • Payload
      • Network Penetration Services
        • 20|21 - FTP
        • 22 - SSH
        • 139|445- SMB
        • 80|443 - HTTP/HTTPS
    • Fase 3 - Post Explotación
      • Enumeración
      • Linux
        • Enumeración
        • Privilege Escalation
      • Windows
        • Revershell
        • Windows Enum
        • Privilege Escalation
    • Fase 4 - Reporting
      • CVSS
        • v4.0
      • Toma de notas
  • 👾Malware
    • Malware DevOps
    • Arquitectura de Windows
      • Windows API
      • Procesos de Windows
      • Estructuras no documentadas
    • PE
      • DLL
    • Almacenamiento del Payload
      • .data & .rdata
      • .text
      • .rsrc
    • Cifrado de Payload
      • XOR
      • RC4
      • AES
    • Ofuscación de Payload
      • IPv4/IPv6Fuscation
      • MACFucscation
      • UUIDFuscation
    • Process Injectión
      • DLL Injection
      • Shellcode Injection
      • APC Injection
  • 🌐Web-Pentesting
    • Metodología para Pentesting Web
    • Footprinting
      • Identificación Tecnologías web
        • WordPress
        • Joomla
        • Drupal
        • Magento
      • Fuzzing
      • Validación de los certificados
    • Vulnerabilidades comunes
      • File Upload
      • SQL Injection
      • Cross-site scripting
      • XXE Injection
      • LFI - Local File Inclusion
        • Log Poisoning
      • RFI - Remote File Inclusión
      • CSRF - Cross-Site Request Forgery
      • SSRF - Server-Side Request Forgery
      • SSTI - Server-Side Template Injection
      • CSTI - Client-Side Template Injection
      • Padding Oracle Attack
      • NoSQL Injection
      • LDAP Injection
    • Laboratorios
  • ☁️AWS Pentesting
    • Introducción a Amazon Web Services AWS
    • Acceso Inicial
    • IAM
      • Políticas de IAM
      • Enumeraciones
      • Privesc-Paths
        • Permisos de IAM
        • Permisos sobre políticas
        • AssumeRolePolicy Update
        • IAM:PassRole*
          • PassExistingRoleToCloudFormation
    • S3
      • Enumeración
      • S3_public
      • OSINT
    • Lambda
      • Enum Lambda
      • Enum API Gateway
      • Privesc-Paths
        • RCE sobre Lambda
        • PassExistingRoleToNewLambdaThenInvoke
        • PassRoleToNewLambdaThenTrigger
        • EditExistingLambdaFunctionWithRole
    • EC2
      • Enumeración
      • Privesc-Paths
        • EC2_SSRF
        • CreateEC2WhithExistingIP
        • PassExistingRoleToNewGlueDevEndpoint
        • ECS_takeover
    • VPC
      • Enumeración
      • PivotingInTheCloud
    • Bases de Datos
      • RDS
        • Enumeración
      • DynamoDB
        • Enumeración
    • ECS
      • Enum ECR
      • Enum ECS
      • Enum EKS
    • AWS Secrets Manager
      • Enumeración
    • Análisis de vulnerabilidades Automatizado
    • Blue Team AWS
      • CloudTrail
      • CloudWatch
      • GuardDuty
      • AWS Inspector
      • AWS Shield
      • Web Application Firewall
    • Notas
      • Terraform
  • 🔫Red_Team
    • Introducción a Red Team
      • Assume breach
    • ¿Qué es MITRE ATT&CK?
      • Guia de uso de Invoke-AtomicRedTeam
    • C2 Comando y control
      • Sliver C2
        • Instalación
        • Beacons y Sesiones
        • Perfiles
        • mTLS y WiewGuard
        • HTTP / HTTPS
        • DNS
        • Stagers: Basics
        • Stagers: Proccess Injection
        • Basics de Implates
        • Ejecución de Assembly
        • Sideload
        • SpawnDLL
        • Sliver Extensions
  • 💾Active Directory
    • Teoria
      • Componentes Físicos
      • Componentes Lógicos
      • GPO VS ACL
      • Kerberos
        • Funcionamiento de Kerberos
      • Usuarios por defecto
    • Enumeraciones
      • ¿Por qué enumerar?
      • Enumeración manual
      • Enumeración con PowerView
    • Ataques en AD
      • Mimikats
        • Comandos
      • Password Spraying
      • LLMNR Poisoning
      • Relay Attacks
        • NTLM
      • Kerberoasting
    • Tools
      • AuxRecon
      • Powershell
      • PowerView.ps1
      • ADPeas
      • Mimikatz
        • Comandos
    • AD Lab
  • 🌩️Azure Coud Pentesting
    • Introducción a Azure y Office 365
    • Introducción a Microsoft Indentity Services
    • Enumeración
    • Azure Files
      • Encontrar Fuga de Datos
    • Microsoft Graph
    • Notas
  • 📱Mobile Pentesting
    • Análisis de Aplicaciones Móviles en MobSF
    • ¿Cómo interceptar tráfico de una aplicación Flutter Android con Burp?
  • 📶Wireless
    • Terminología
    • Tipos de Wireless Networks
    • Formas de Autenticación
    • Cifrados
      • WEP
      • WPA
      • WPA2
      • WPA3
    • Ataques
  • 😎Extras
    • Docker
      • Port Forward y volúmenes
      • Docker Compose
      • Container Breakouts
    • Comandos Utiles
    • Fliper Zero
    • Páginas útiles
  • Kali Set Up
Con tecnología de GitBook
En esta página

Última actualización hace 1 año

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 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 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

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

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:

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).

La descarga de los binarios compilados se realiza desde su repositorio github en la sección de . 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:

Compilar sliver desde el código fuente es fácil. Sólo tienes que seguir los pasos descritos en su .

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 .

Asegúrese de seguir después de la compilación los pasos descrito en descrito previamente en este blog.

curl -s https://api.github.com/repos/BishopFox/sliver/releases/latest \
    | jq -r '.assets | .[] | .browser_download_url' \
    | grep -E '(sliver-server_linux|sliver-client_linux)$'
https://github.com/BishopFox/sliver/releases/download/v1.5.41/sliver-client_linux
https://github.com/BishopFox/sliver/releases/download/v1.5.41/sliver-server_linux
sliver-server
wget -O /usr/local/bin/sliver-server \
https://github.com/BishopFox/sliver/releases/download/v1.5.41/sliver-server_linux && \
chmod 755 /usr/local/bin/sliver-server
sliver-client
wget -O /usr/local/bin/sliver \
https://github.com/BishopFox/sliver/releases/download/v1.5.41/sliver-client_linux && \
chmod 755 /usr/local/bin/sliver
sliver-server unpack --force
sudo touch /etc/systemd/system/sliver.service && sudo chmod 600 /etc/systemd/system/sliver.service
/etc/systemd/system/sliver.service
[Unit]
Description=Sliver
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=on-failure
RestartSec=3
User=root
ExecStart=/usr/local/bin/sliver-server daemon

[Install]
WantedBy=multi-user.target
┌──(root㉿kali)-[~]
└─# netstat -antop | grep 31337
tcp6    0   0 :::31337    :::*    LISTEN    4706/sliver-server   off (0.00/0/0)
sudo sliver-server operator --name kali --lhost localhost --save /tmp
┌──(root㉿kali)-[~]
└─# cat /tmp/kali_localhost.cfg  | jq
{
  "operator": "kali",
  "token": "4700ca860f06ed4e47ad50fc5a58ff22280272ccac437614667520ee31142c28",
  "lhost": "localhost",
  "lport": 31337,
  "ca_certificate": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n",
  "private_key": "-----BEGIN EC PRIVATE KEY-----\n...\n-----END EC PRIVATE KEY-----\n",
  "certificate": "-----BEGIN CERTIFICATE-----\n...-----END CERTIFICATE-----\n"
}
mkdir -p /home/kali/.sliver-client/configs && mv /tmp/kali_localhost.cfg /home/kali/.sliver-client/configs/ && chown -R kali:kali /home/kali/.sliver-client/ && chmod 600 /home/kali/.sliver-client/configs/kali_localhost.cfg
┌──(kali㉿kali)-[~]
└─$ sliver
Connecting to localhost:31337 ...

    ███████╗██╗     ██╗██╗   ██╗███████╗██████╗
    ██╔════╝██║     ██║██║   ██║██╔════╝██╔══██╗
    ███████╗██║     ██║██║   ██║█████╗  ██████╔╝
    ╚════██║██║     ██║╚██╗ ██╔╝██╔══╝  ██╔══██╗
    ███████║███████╗██║ ╚████╔╝ ███████╗██║  ██║
    ╚══════╝╚══════╝╚═╝  ╚═══╝  ╚══════╝╚═╝  ╚═╝

All hackers gain indestructible
[*] Server v1.5.41 - kali
[*] Welcome to the sliver shell, please type 'help' for options

[server] sliver > version

[*] Client 1.5.41 - kali - linux/amd64
    Compiled at 2023-08-29 04:38:25 -0600 CST
    Compiled with go version go1.21.0 linux/amd64


[*] Server v1.5.41 - kali - linux/amd64
    Compiled at 2023-08-29 04:38:25 -0600 CST
git clone https://github.com/BishopFox/sliver && cd sliver 
sudo bash ./go-assets.sh
┌──(root㉿kali)-[~/github/sliver]
└─# make        
...

┌──(root㉿kali)-[~/github/sliver]
└─# file sliver-server 
sliver-server: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3c42b0bbc6d3077929e87f3c1c170d680eb6f8b2, for GNU/Linux 3.2.0, stripped
                                                                                                                                                                                                                    
┌──(root㉿kali)-[~/github/sliver]
└─# file sliver-client 
sliver-client: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=7add139c2d119c72b533778f08897ed575b3f15e, for GNU/Linux 3.2.0, stripped
  1. 🔫Red_Team
  2. C2 Comando y control
  3. Sliver C2

Instalación

AnteriorSliver C2SiguienteBeacons y Sesiones
  • Introducción
  • Preparación
  • Instalación desde script
  • Instalación de binarios release
  • Creación Operadores
  • Compilar el código fuente
apt-get install -y build-essential mingw-w64 binutils-mingw-w64 g++-mingw-w64
curl https://sliver.sh/install | sudo bash
Sliver C2
script de instalación
releases
wiki
garble
Instalación de binarios