Rustredops

Rustredops es un repositorio que alberga varias herramientas y proyectos relacionados con las operaciones de equipo rojo, desarrollado en Rust. Este repositorio se dedica a proporcionar herramientas efectivas y eficientes para profesionales de la seguridad y probadores de penetración que desean realizar evaluaciones de seguridad y pruebas de intrusión.
Tabla de contenido
- Contenido
- Recursos
- Otros proyectos de óxido
- Requisitos
- Compilar
- Compilación del proyecto
- Agregar arquitecturas de destino
- Compilación de una arquitectura específica
- Cómo empezar
- Contribuyendo a rustredops
- Referencias
- Licencia
Contenido
El repositorio se organiza en varios proyectos, cada uno con su propio propósito y funcionalidad. Aquí hay algunos ejemplos de los proyectos incluidos:
Inyección APC
- Este proyecto explota la técnica de inyección de código asíncrono (APC) para ejecutar código malicioso en los procesos de destino.
Enganche de la API
- Demostración sobre el enganche API, que es una técnica de programación que le permite interceptar y manipular llamadas a las funciones de la API de Windows.
Anti-debug
API martillo
- La martillo de API consiste en llevar a cabo varias acciones para retrasar el malware.
Anti-análisis
- Técnicas contra el análisis.
Información binaria
- Esta es solo una demostración simple en caso de que desee incluir metadatos en su binario de óxido o cambiar el icono asociado.
Política de DLL de bloqueo
- Evitando la carga de DLL no firmadas por Microsoft.
Crear controlador
- Es un proyecto para demostrar cómo crear un controlador simple usando óxido.
Crear dll
- Es un proyecto para demostrar cómo crear DLL usando óxido.
Ejecución del código de devolución de llamada
- Demostración de la ejecución de shellcode a través de la devolución de llamada.
Crear UEFI
- Es un proyecto para demostrar cómo crear UEFI usando óxido.
Compilar Cifry String
- Cifrar cadenas en el momento de la compilación y descifrarlas en tiempo de ejecución.
Extraer wifi
- Extraer contraseñas WiFi usando Winapis es una forma personalizada del comando NetSH.
Inyección de APC de pájaros temprano
- Se centra en una variación de la inyección de APC, ejecutando código antes de que comience el proceso principal.
Cifrado (shellcode)
- Cifrar / descifrar un código de shell usando AES y RC4.
Proceso de enumeración
- Procesos enumeradores con óxido.
Habilitar todas las fichas
- Habilitando todos los tokens de privilegios.
Comando ejecutar
- Ejecutando comandos con óxido.
Puerta Hells / Halos / Tartarus
- Recuperando SSN a través de las técnicas de puerta Hells / Halos / Tartarus
IAT Ofuscación
- IAT Ofuscation reemplazando GetProcaddress y GetModuleHandle.
Camuflaje IAT
- Técnica para exportar API (sin ejecutarlas) para camuflar el IAT y evitar una apariencia maliciosa.
Ldrloaddll Desenglar
- Una prueba de concepto para inyectar un trampolín para evitar los ganchos EDR y usar ldrloaddll.
Ejecución de carga útil local
- Este proyecto aborda la ejecución directa de las cargas útiles maliciosas en el entorno local de un sistema.
Inyección de mapeo local
- Realización de inyección de código malicioso a través de la asignación de memoria en procesos locales.
Función local inyección pisando
- Se centra en reemplazar las funciones locales con código malicioso, cambiando su comportamiento predeterminado.
Secuestro de hilos locales
- Este proyecto trata de secuestrar los hilos de procesos que se ejecutan en el sistema local para ejecutar código malicioso.
Inyección local de PE
- Ejecutar un archivo PE en la memoria.
Minidump-rs
- Doblando el proceso lSass.exe.
Módulo pisoteo
- La técnica de pisoteo del módulo se centra en inyectar un código de carcasa en el punto de entrada del DLL asignado o cargado.
Ntdll sin cohusión
- Ejecutando NTDLL Descansar a través de un proceso suspendido.
Servidor de tuberías con nombre / cliente
- Un proyecto simple que muestra cómo podemos comunicarnos entre procesos utilizando tuberías con nombre.
Sobrecarga del módulo
- La sobrecarga de módulos es una técnica que mapea una DLL de destino y reemplaza su contenido con un archivo EXE / DLL y luego lo ejecuta.
Descuidado de ofuscación
- ShellCode Ofuscation utilizando IPv4, IPv6, Mac y Uuids.
PSOGING PPID
- Demostrando la técnica de platificación PPID.
Partidos de PE analizados
- El código se centra en analizar el encabezado PE de cualquier archivo ejecutable de Windows.
Patch ETW
Parche amsi
Control de ejecución de carga útil
- Controlar la ejecución de la carga útil a través de Mutex, eventos y semáforos.
Palacería de argumentos de proceso
- Explota la técnica de enmascarar o alterar los argumentos de un proceso para ocultar la actividad maliciosa.
Inyección de proceso (DLL)
- Se centra en inyectar bibliotecas de enlaces dinámicos (DLL) en procesos en ejecución para ejecutar código malicioso.
Inyección de proceso (shellcode)
- Explota la inyección del código de carcasa directamente en procesos en ejecución para controlar o ejecutar tareas maliciosas.
Colocación de carga útil
- Almacenamiento de un código de shell en la sección .Text y luego ejecutándolo.
Proceso hipnosis
- Esta técnica se centra en controlar el flujo de ejecución de un programa que se está depurando y obtener información relevante de él, como la creación de nuevos hilos, módulos cargados, excepciones y mucho más. O incluso ejecutar un código de shell.
Fibras de ejecución de carga útil
- Ejecutando shellcode usando fibras.
Estadificación de carga útil
- Este proyecto se centra en demostrar cómo realizar la recuperación de shellcode utilizando una solicitud HTTP y una clave de registro
Procesar fantasma
- Carga de un archivo PE utilizando la técnica de fantasma del proceso.
Proceso Hirpaderping
- Obsconando las intenciones de un proceso modificando el contenido del disco después de que se haya mapeado la imagen.
Secuestro de hilos remotos
- Aborda el secuestro de hilos en procesos de sistema remoto para llevar a cabo acciones maliciosas.
Inyección de la función remota de la función
- Explota la sustitución de funciones en sistemas remotos para llevar a cabo actividades maliciosas.
Inyección de mapeo remoto
- Realización de la inyección de código malicioso a través de la asignación de memoria en procesos remotos.
Eliminar CRT
- Se centra en minimizar el uso de la Biblioteca CRT (C de ejecución C) durante el tiempo de ejecución y aplicar banderas adicionales para eliminar la información innecesaria del binario.
Autoiminación
- Técnica para eliminar el binario en ejecución.
Chaveta
- Creación de hash de cadena para realizar la ocultación.
Syscalls
- Ejecutando SYSCALL directo e indirecto.
Inyección sin hilo
- Realizar inyección sin hilos usando óxido.
WMI
- Ejecutando consultas WMI (instrumentación de administración de Windows).
WebAssembly shellcode
- Ejecutar ShellCode a través de WebAssembly.
Otros proyectos de óxido
Aquí hay otros ejemplos de proyectos que he hecho con Rust:
- Windows Kernel rootkit
- Cargador
- Ejecutando .NET
Recursos
- Cada proyecto individual puede incluir una sección de características que detalla las principales características y funcionalidades del proyecto.
- Puede ver las instrucciones de instalación, el uso y los ejemplos para cada proyecto en sus respectivos directorios.
Requisitos
- Rust: Rust es un lenguaje de programación moderno y seguro utilizado para desarrollar las herramientas en este repositorio.
- Cargo: la carga es el administrador y compilador de paquetes de Rust, esencial para compilar y ejecutar proyectos.
Compilar
Compilación del proyecto
Para iniciar la compilación, use el siguiente comando:
Agregar arquitecturas de destino
Si está utilizando un sistema operativo diferente o necesita compilar una arquitectura específica, puede enumerar todas las arquitecturas de destino disponibles con el siguiente comando:
Una vez que haya identificado la arquitectura objetivo deseada, agréguela usando Rustup:
rustup target add < arch >
Reemplace con la arquitectura deseada, como X86_64-PC-Windows-GNU.
Compilación de una arquitectura específica
Luego compile el proyecto para la arquitectura específica:
cargo build --release --target < arch >
Cómo empezar
Siga estos pasos para comenzar a usar los proyectos en este repositorio:
- Clon este repositorio en su máquina local:
git clone https://github.com/joaoviictorti/RustRedOps.git
- Navegue al directorio del proyecto que le interesa:
cd RustRedOps/ < name-project >
- Siga las instrucciones de instalación y uso específicas del proyecto como se describe en el ReadMe dentro de este directorio.
Contribuyendo a rustredops
Para contribuir a Rustredops , siga estos pasos:
- Bifurca este repositorio.
- Crear una rama:
git checkout -b <branch_name> . - Haga sus cambios y confídalos:
git commit -m '<commit_message>' . - Empuje sus cambios a su rama:
git push origin <branch_name> . - Crear una solicitud de extracción.
Alternativamente, consulte la documentación de GitHub sobre cómo crear una solicitud de extracción.
Referencias
Me gustaría expresar mi sincera gratitud a los creadores de proyectos notables y técnicas fascinantes, que me proporcionaron las herramientas e inspiración necesarias para crear este extraordinario repositorio.
- https://github.com/memn0ps
- https://github.com/hasherezade
- https://github.com/vxundroground
- https://github.com/nul0x4c
- https://github.com/mrd0x
- https://github.com/cracked5pider
- https://github.com/trickster0
- https://github.com/blwasp
- https://balwurk.com/shellcode-evasion-using-webassembly-and rust
- https://github.com/janoglezcampos/rust_syscalls
- https://github.com/microsoft
- https://ired.team
- https://github.com/rust-osdev/uefi-rs
- https://github.com/stephanvanschaik/windows-kernel-rs
- https://discord.gg/rust-langcommunity (Comunidad de Discord que ayudó mucho)
- https://github.com/ccob
- https://github.com/anvie/litcrypt.rs
Licencia
Este proyecto tiene licencia bajo la licencia MIT