Rustredops

A Rustredops é um repositório que abriga várias ferramentas e projetos relacionados às operações da equipe vermelha, desenvolvida em Rust. Esse repositório é dedicado a fornecer ferramentas eficazes e eficientes para profissionais de segurança e testadores de penetração que desejam realizar avaliações de segurança e testes de intrusão.
Índice
- Conteúdo
- Recursos
- Outros projetos de ferrugem
- Requisitos
- Compilar
- Compilando o projeto
- Adicionando arquiteturas de destino
- Compilando para uma arquitetura específica
- Como começar
- Contribuindo para Rustredops
- Referências
- Licença
Conteúdo
O repositório é organizado em vários projetos, cada um com seu próprio objetivo e funcionalidade. Aqui estão alguns exemplos dos projetos incluídos:
Injeção de APC
- Este projeto explora a técnica de injeção de código assíncrona (APC) para executar o código malicioso nos processos de destino.
API Behing
- Demonstração na Tira da API, que é uma técnica de programação que permite interceptar e manipular chamadas para as funções da API do Windows.
Anti-debug
API Hammering
- A API Hammering consiste em realizar várias ações para adiar o malware.
Anti-análise
Informações binárias
- Esta é apenas uma demonstração simples, caso você queira incluir metadados em seu binário de ferrugem ou alterar o ícone associado.
Política de DLL de bloqueio
- Evitando o carregamento de DLLs não assinadas pela Microsoft.
Criar driver
- É um projeto demonstrar como criar um driver simples usando ferrugem.
Crie DLL
- É um projeto demonstrar como criar DLL usando ferrugem.
Execução do código de retorno de chamada
- Demonstração da execução do código de shell por retorno de chamada.
Crie UEFI
- É um projeto demonstrar como criar UEFI usando a ferrugem.
Compilar a string criptografada
- Criptografar seqüências de cordas no momento da compilação e descriptografá -las em tempo de execução.
Extrair wifi
- Extrair senhas WiFi usando o WinApis é um formulário personalizado do comando netsh.
Injeção de APC de pássaro precoce
- Ele se concentra em uma variação da injeção de APC, executando o código antes do início do processo principal.
Criptografia (código shell)
- Criptografar / descriptografar um código de shell usando AES e RC4.
Processo de enumeração
- Processos de enumeração com ferrugem.
Ativar todos os tokens
- Permitindo todos os tokens de privilégio.
Executar comando
- Executando comandos com ferrugem.
Hells / Halos / Tartarus Gate
- Recuperando o SSN através das técnicas Hells / Halos / Tartarus Gate
OBFUSCAÇÃO IAT
- OBFUSCAÇÃO IAT substituindo GetProcaddress e GetModuleHandle.
Camuflagem IAT
- Técnica para exportar APIs (sem executá -las) para camuflar o IAT e evitar uma aparência maliciosa.
Ldrloaddll solto
- Uma prova de conceito para injetar um trampolim para ignorar os ganchos EDR e usar o LDRLOADDLL.
Execução local da carga útil
- Este projeto aborda a execução direta de cargas úteis maliciosas no ambiente local de um sistema.
Injeção de mapeamento local
- Executando a injeção de código maliciosa via mapeamento de memória em processos locais.
Função local pisando injeção
- Ele se concentra em substituir funções em execução localmente por código malicioso, alterando seu comportamento padrão.
Seqüestro de tópico local
- Este projeto lida com seqüestrar os threads de processos em execução no sistema local para executar código malicioso.
Injeção local de PE
- Executando um arquivo PE na memória.
Minidump-rs
- Despejando o processo lsass.exe.
Módulo Stomping
- A técnica de pisoteamento do módulo concentra -se em injetar um código de shell no ponto de entrada da DLL mapeada ou carregada.
Ntdll inflamando
- Executando o NTDLL solucionando um processo suspenso.
Nomeado Pipe Server / Client
- Um projeto simples mostrando como podemos nos comunicar entre processos usando tubos nomeados.
Sobrecarga do módulo
- A sobrecarga do módulo é uma técnica que mapeia uma DLL de destino e substitui seu conteúdo por um arquivo EXE / DLL e o executa.
Ofuscation shellcode
- O ofusco do shellcode usando IPv4, IPv6, Mac e Uuids.
Falsificação de ppid
- Demonstrando a técnica de falsificação do PPID.
Analisando os cabeçalhos do PE
- O código está focado em analisar o cabeçalho do PE de qualquer arquivo executável do Windows.
Patch etw
Patch amsi
Controle de execução da carga útil
- Controlar a execução da carga útil por meio de mutex, eventos e semáforos.
Processar argumento falsificação
- Explora a técnica de mascarar ou alterar os argumentos de um processo para ocultar atividades maliciosas.
Injeção de processo (DLL)
- Ele se concentra na injeção de bibliotecas de links dinâmicos (DLL) em processos de execução para executar código malicioso.
Injeção de processo (código de shell)
- Ele explora a injeção de código de shell diretamente nos processos de execução para controlar ou executar tarefas maliciosas.
Colocação de carga útil
- Armazenando um código de shell na seção .text e executando -o.
Hipnose do processo
- Essa técnica se concentra no controle do fluxo de execução de um programa que está sendo depurado e obtendo informações relevantes, como a criação de novos threads, módulos carregados, exceções e muito mais. Ou mesmo execute um código de shell.
Fibras de execução da carga útil
- Executando shellcode usando fibras.
Estadiamento da carga útil
- Este projeto se concentra em demonstrar como executar a recuperação do código de shell usando uma solicitação HTTP e uma chave de registro
Processar fantasmas
- Carregando um arquivo PE usando a técnica de fantasma do processo.
Processar herpaderping
- Obscurecendo as intenções de um processo modificando o conteúdo do disco após o mapeado da imagem.
Seqüestro de tópico remoto
- Ele aborda o seqüestro de threads em processos de sistema remoto para realizar ações maliciosas.
Função remota pisando injeção
- Ele explora a substituição de funções em sistemas remotos para realizar atividades maliciosas.
Injeção de mapeamento remoto
- Executando a injeção de código maliciosa via mapeamento de memória em processos remotos.
Remova o CRT
- Ele se concentra em minimizar o uso do CRT (C Library de tempo de execução) durante o tempo de execução e na aplicação de sinalizadores adicionais para retirar informações desnecessárias do binário.
Auto -deleção
- Técnica para excluir o binário em execução.
Hash de cordas
- Criando hashes de string para executar o esconderijo.
Syscalls
- Executando syscall direto e indireto.
Injeção sem rosca
- Realizando injeção sem rosca usando ferrugem.
WMI
- Consultas de WMI (Windows Management Instrumentation) em execução.
WebAssembly ShellCode
- Executando o shellcode através do WebAssembly.
Outros projetos de ferrugem
Aqui estão alguns outros exemplos de projetos que fiz com Rust:
- Windows Kernel Rootkit
- Carregador de caixão
- Executando .net
Recursos
- Cada projeto individual pode incluir uma seção de recursos que detalha os principais recursos e funcionalidades do projeto.
- Você pode visualizar as instruções de instalação, uso e exemplos de cada projeto em seus respectivos diretórios.
Requisitos
- Rust: Rust é uma linguagem de programação moderna e segura usada para desenvolver as ferramentas neste repositório.
- Carga: Cargo é gerente de pacotes e compilador da Rust, essencial para compilar e executar projetos.
Compilar
Compilando o projeto
Para iniciar a compilação, use o seguinte comando:
Adicionando arquiteturas de destino
Se você estiver usando um sistema operacional diferente ou precisar compilar para uma arquitetura específica, poderá listar todas as arquiteturas de destino disponíveis com o seguinte comando:
Depois de identificar a arquitetura de destino desejada, adicione -a usando Rustup:
rustup target add < arch >
Substitua pela arquitetura desejada, como X86_64-PC-Windows-GNU.
Compilando para uma arquitetura específica
Em seguida, compila o projeto para a arquitetura específica:
cargo build --release --target < arch >
Como começar
Siga estas etapas para começar a usar os projetos neste repositório:
- Clone este repositório em sua máquina local:
git clone https://github.com/joaoviictorti/RustRedOps.git
- Navegue até o diretório do projeto em que você está interessado:
cd RustRedOps/ < name-project >
- Siga as instruções de instalação e uso específicas do projeto, conforme descrito no ReadMe dentro deste diretório.
Contribuindo para Rustredops
Para contribuir com o Rustredops , siga estas etapas:
- Fork este repositório.
- Crie uma ramificação:
git checkout -b <branch_name> . - Faça suas alterações e cometê -las:
git commit -m '<commit_message>' . - Empurre suas alterações na sua filial:
git push origin <branch_name> . - Crie uma solicitação de tração.
Como alternativa, consulte a documentação do GitHub sobre como criar uma solicitação de tração.
Referências
Gostaria de expressar minha sincera gratidão aos criadores de projetos notáveis e técnicas fascinantes, que me forneceram as ferramentas e a inspiração necessárias para criar esse repositório extraordinário.
- https://github.com/memn0ps
- https://github.com/hasherezade
- https://github.com/vxunderground
- 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-lang-comunity (Comunidade Discord que ajudou muito)
- https://github.com/ccob
- https://github.com/anvie/litcrypt.rs
Licença
Este projeto está licenciado sob a licença do MIT