¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!
OffensivePipeline — OfensivePipeline te permite descargar y compilar herramientas C#, aplicando ciertas modificaciones para mejorar su evasión en ejercicios de Red Team. | Kitploit
OffensivePipeline te permite descargar y compilar herramientas en C#, aplicando ciertas modificaciones para mejorar su evasión en ejercicios de Red Team.
Un uso común de OffensivePipeline es descargar una herramienta de un repositorio Git, aleatorizar ciertos valores en el proyecto, compilarlo, ofuscar el binario resultante y generar un shellcode.
Características
Actualmente solo soporta proyectos de C# (.Net Framework)
Permite clonar repositorios git públicos y privados (necesitarás credenciales :D)
Permite trabajar con carpetas locales
Aleatoriza los GUIDs de los proyectos
Aleatoriza la información de la aplicación contenida en AssemblyInfo
Compila proyectos de C#
Ofusca los binarios generados
Genera shellcodes a partir de binarios
Hay 79 herramientas parametrizadas en plantillas YML (no todas pueden funcionar :D)
Se pueden añadir nuevas herramientas usando plantillas YML
Debería ser fácil añadir nuevos complementos...
Novedades en la versión 2.0
Reescritura casi completa del código (¿nuevos errores?)
Clonación desde repositorios privados posible (autenticación mediante GitHub authToken)
Posibilidad de copiar una carpeta local en lugar de clonar desde un repositorio remoto
Raw Payload: C:\OffensivePipeline\Output\Rubeus_vh00nc50xud\ConfuserEx\Donut\Rubeus.bin
B64 Payload: C:\OffensivePipeline\Output\Rubeus_vh00nc50xud\ConfuserEx\Donut\Rubeus.bin.b64
root@kitploit:~
[+] No errors!
[+] Generating Sha256 hashes
Output file: C:\OffensivePipeline\Output\Rubeus_vh00nc50xud
root@kitploit:~
SUMMARY
Rubeus
- RandomGuid: OK
- RandomAssemblyInfo: OK
- BuildCsharp: OK
- ConfuserEx: OK
- Donut: OK
root@kitploit:~
## Complementos
- **RandomGuid**: aleatorizar el GUID en los archivos *.sln*, *.csproj* y *AssemblyInfo.cs*
- **RandomAssemblyInfo**: aleatorizar los valores definidos en *AssemblyInfo.cs*
- **BuildCsharp**: compilar proyecto C#
- **ConfuserEx**: ofuscar herramientas C#
- **Donut**: usar Donut para generar shellcodes. El shellcode generado no tiene parámetros; en futuras versiones esto podría cambiar.
## Añadir una herramienta desde un git remoto
Los scripts para descargar las herramientas están en la carpeta **Tools** en formato ***yml***. Se pueden añadir nuevas herramientas creando nuevos archivos *yml* con el siguiente formato:
- *Rubeus.yml* archivo:```yml
tool:
- name: Rubeus
description: Rubeus is a C# toolset for raw Kerberos interaction and abuses
gitLink: https://github.com/GhostPack/Rubeus
solutionPath: Rubeus\Rubeus.sln
language: c#
plugins: RandomGuid, RandomAssemblyInfo, BuildCsharp, ConfuserEx, Donut
authUser:
authToken:
toolArguments:
Donde:
Name: nombre de la herramienta
Description: descripción de la herramienta
GitLink: enlace de git para clonar
SolutionPath: ruta de la solución (archivo .sln)
Language: lenguaje utilizado (actualmente solo se admite c#)
Plugins: plugins a utilizar en el proceso de compilación de esta herramienta
AuthUser: nombre de usuario de github (no utilizado para repositorios públicos)
AuthToken: token de autenticación de github (no utilizado para repositorios públicos)
Donde:
- Name: nombre de la herramienta
- Description: descripción de la herramienta
- GitLink: enlace de git para clonar
- SolutionPath: ruta de la solución (*.sln*)
- Language: lenguaje utilizado (actualmente solo se admite C#)
- Plugins: complementos a utilizar en el proceso de compilación de esta herramienta
- AuthUser: nombre de usuario de GitHub
- AuthToken: token de autenticación de GitHub (documentado en GitHub: [crear un token de acceso personal](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token
))
- toolArguments: argumentos a incrustar en el shellcode de donut
## Añadir una herramienta desde una carpeta de git local```yml
tool:
- name: SeatbeltLocal
description: Seatbelt is a C# project that performs a number of security oriented host-survey "safety checks" relevant from both offensive and defensive security perspectives.
gitLink: C:\Users\alpha\Desktop\SeatbeltLocal
solutionPath: SeatbeltLocal\Seatbelt.sln
language: c#
plugins: RandomGuid, RandomAssemblyInfo, BuildCsharp, ConfuserEx, Donut
authUser:
authToken:
toolArguments:
Donde:
Name: nombre de la herramienta
Description: descripción de la herramienta
GitLink: ruta donde se encuentra la herramienta
SolutionPath: ruta de la solución (archivo sln)
Language: lenguaje utilizado (actualmente solo se admite c#)
Plugins: plugins a utilizar en el proceso de compilación de esta herramienta
AuthUser: nombre de usuario de github (no se usa para repositorios locales)
AuthToken: token de autenticación de github (no se usa para repositorios locales)
toolArguments: argumentos a incrustar en el shellcode donut
Requisitos para la versión de lanzamiento (no se requiere Visual Studio 2019/2022)
Descripción: Una herramienta para escalar privilegios en una red de Active Directory forzando la autenticación desde cuentas de máquina (Petitpotam) y retransmitiendo al servicio de certificados.
Descripción: Esta bifurcación modificada de SafetyKatz obtiene dinámicamente la última versión precompilada de Mimikatz directamente desde el repositorio de GitHub de gentilkiwi, parchea en tiempo de ejecución las firmas detectadas y utiliza SharpSploit DInvoke para cargarla en memoria.
Descripción: ¡Herramienta en C# para instalar una impresora de red compartida abusando del bug PrinterNightmare para permitir que otras máquinas de la red escalen privilegios fácilmente!
Descripción: Enumerate Domain Data está diseñado para ser similar a PowerView pero en .NET. PowerView es esencialmente la herramienta definitiva de enumeración de dominios, y queríamos una implementación en .NET en la que trabajáramos nosotros mismos. Esta herramienta se armó en gran medida observando implementaciones de diferentes funcionalidades en una amplia gama de proyectos existentes y combinándolas en EDD.
Descripción: Una pequeña herramienta de Prueba de Concepto que permite autenticarse contra un servidor LDAP/S con un certificado para realizar diferentes acciones de ataque
Descripción: PurpleSharp es una herramienta de simulación de adversarios de código abierto escrita en C# que ejecuta técnicas de adversario en entornos Windows Active Directory
Descripción: SafetyKatz es una combinación de una versión ligeramente modificada del proyecto Mimikatz de @gentilkiwi y el cargador .NET PE de @subtee.
Descripción: SauronEye es una herramienta de búsqueda diseñada para ayudar a equipos rojos a encontrar archivos que contengan palabras clave específicas.
Descripción: Seatbelt es un proyecto en C# que realiza una serie de "comprobaciones de seguridad" orientadas a la seguridad del host, relevantes tanto desde perspectivas ofensivas como defensivas.
Descripción: SharpChromium es un proyecto CLR .NET 4.0+ para recuperar datos de Google Chrome, Microsoft Edge y Microsoft Edge Beta. Actualmente, puede extraer
Descripción: SharpCloud es una utilidad simple en C# para verificar la existencia de archivos de credenciales relacionados con Amazon Web Services, Microsoft Azure y Google Compute.
Descripción: SharpDir es un conjunto de código simple para buscar archivos en sistemas de archivos locales y remotos utilizando el mismo proceso SMB que dir.exe, que usa el puerto TCP 445
Descripción: Comprueba procesos en ejecución, metadatos de procesos, DLLs cargadas en tu proceso actual y metadatos de cada DLL, directorios de instalación comunes, servicios instalados y metadatos de sus binarios, controladores instalados y metadatos de cada controlador, todo en busca de productos defensivos conocidos como AV, EDR y herramientas de registro.
Descripción: SharpGPOAbuse es una aplicación .NET escrita en C# que se puede utilizar para aprovechar los derechos de edición de un usuario en un Objeto de Directiva de Grupo (GPO) con el fin de comprometer los objetos controlados por ese GPO.
Descripción: Este proyecto reutiliza manejadores abiertos a lsass para analizar o volcar minidump de lsass, por lo tanto no necesitas usar tu propio manejador de lsass para interactuar con él. (Versión Dinvoke)
Descripción: SharpHose es una herramienta de pulverización de contraseñas en C# diseñada para ser rápida, segura y utilizable sobre execute-assembly de Cobalt Strike.
Descripción: Este ejecutable está diseñado para ser ejecutado dentro de una sesión de Cobalt Strike usando execute-assembly. Recuperará la contraseña de LAPS del Active Directory.
Descripción: Crea un minidump del proceso LSASS desde la memoria (Windows 10 - Windows Server 2016). Todo el proceso utiliza llamadas API dinámicas, syscall directa y desenganchado de Native API para evadir la detección de AV/EDR.
Descripción: Este proyecto es una herramienta en C# para usar Pass-the-Hash para la autenticación en una Named Pipe local para suplantación de usuarios. Necesitas derechos de administrador local o SEImpersonate para usarlo.
Descripción: SharpReg es un conjunto de código simple para interactuar con la API del servicio de Registro Remoto utilizando el mismo proceso SMB que reg.exe, que usa el puerto TCP 445
Descripción: SharpSCCM es una herramienta de post-explotación diseñada para aprovechar Microsoft Endpoint Configuration Manager (también conocido como ConfigMgr, anteriormente SCCM) para movimiento lateral y recolección de credenciales sin requerir acceso a la GUI de la consola de administración de SCCM.
Descripción: Binario rápido y sencillo para listar información de recursos compartidos de red de todas las máquinas en el dominio actual y si son legibles.
Descripción: SharpSphere brinda a los equipos rojos la capacidad de interactuar fácilmente con los sistemas operativos invitados de máquinas virtuales administradas por vCenter
Descripción: SharpSpray es un conjunto de código simple para realizar un ataque de pulverización de contraseñas contra todos los usuarios de un dominio usando LDAP y es compatible con Cobalt Strike.
Descripción: SharpSvc es un conjunto de código simple para interactuar con la API del Administrador de SC usando el mismo proceso DCERPC que sc.exe, que se abre con el puerto TCP 135 y es seguido por el uso de un puerto TCP efímero
Descripción: SharpTask es un conjunto de código simple para interactuar con la API del servicio Programador de tareas usando el mismo proceso DCERPC que schtasks.exe, que se abre con el puerto TCP 135 y es seguido por el uso de un puerto TCP efímero.
Descripción: Un exploit para CVE-2020-1472, también conocido como Zerologon. Esta herramienta explota una vulnerabilidad criptográfica en Netlogon para lograr una omisión de autenticación.
Descripción: Si bien el controlador de Sysmon se puede renombrar en la instalación, siempre se carga en altitud 385201. El objetivo de esta herramienta es desafiar la suposición de que nuestras herramientas defensivas siempre están recopilando eventos.
Descripción: Snaffler es una herramienta para pentesters y equipos rojos para ayudar a encontrar deliciosas agujas de caramelo (credenciales principalmente, pero es flexible) en un montón de pajares aburridos (un entorno masivo de Windows/AD).
Descripción: Whisker es una herramienta en C# para tomar el control de cuentas de usuario y equipo de Active Directory manipulando su atributo msDS-KeyCredentialLink, agregando efectivamente "Shadow Credentials" a la cuenta objetivo.
Descripción: Whisker es una herramienta en C# para tomar el control de cuentas de usuario y equipo de Active Directory manipulando su atributo msDS-KeyCredentialLink.