首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏宋凯伦的技术小栈

    【工作中学习】CreateProcessAsUser失败,错误码:1314

    但却出现了问题,之前产品代码中会调用windows API - CreateProcessAsUser,来以另一个账号的身份启动另一个进程,另一个账号是通过UI单独提供的。    通过查询CreateProcessAsUser微软的官方文档可知,执行此API需要两个权限方可成功,如下:   1. SE_INCREASE_QUOTA_NAME   2.  CreateProcessAsUser function https://msdn.microsoft.com/en-us/library/windows/desktop/ms682429(v=vs.85

    2.3K60发布于 2018-01-04
  • 来自专栏有困难要上,没有困难创造困难也要上!

    Windows平台使用Python切换用户运行程序

    在Windows平台,如果需要以某个指定用户来运行程序,此时可以通过使用 Windows CreateProcessAsUser API来实现。但是要实现这个功能首先需要有要切换用户的用户名和密码。 win32process.STARTUPINFO() (hProcess, hThread, dwProcessId, dwThreadId) = \ win32process.CreateProcessAsUser 在用 CreateProcessAsUser API执行命令后,可以通过 GetExitCodeProcess api 来检查进程状态,如果返回结果是 win32con.STILL_ACTIVE,我们可以继续等待

    2.2K90发布于 2018-05-14
  • 来自专栏HACK学习

    实战 | 进程启动技术的思路和研究

    新访问令牌的模拟级别为SecurityIdentification,而且令牌类型为TokenPrimary,表示新令牌是可以在CreateProcessAsUser函数中使用的主令牌。 最后,根据新令牌调用CreateEnvironmentBlock函数创建一个环境块,用来传递给CreateProcessAsUser使用。 获取环境块之后,就可以调用CreateProcessAsUser来创建用户桌面进程了。 创建一个新进程及其主要线程,新进程在由指定令牌表示的用户的安全上下文中运行 BOOL WINAPI CreateProcessAsUser( _In_opt_ HANDLE 创建用户的session环境 ::CreateEnvironmentBlock(&lpEnvironment,hDuplicatedToken, FALSE) 再在复制的会话下面执行创建进程的操作 ::CreateProcessAsUser

    1.4K50发布于 2021-11-12
  • 来自专栏码客

    C# Windows服务开发

    ///

    /// Struct, Enum and P/Invoke Declarations for CreateProcessAsUser. /// < DllImport("ADVAPI32.DLL", SetLastError = true, CharSet = CharSet.Auto)] private static extern bool CreateProcessAsUser tStartUpInfo.cb = Marshal.SizeOf(typeof(STARTUPINFO)); bool ChildProcStarted = CreateProcessAsUser CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)] public static extern bool CreateProcessAsUser hProcess); return false; } // Security attibute structure used in DuplicateTokenEx and CreateProcessAsUser

    1.6K30编辑于 2022-05-23
  • 来自专栏.NET开发者社区

    C#/.NET基于Topshelf创建Windows服务的守护程序不显示UI界面的问题分析和解决方案

    S模式代替窗口消息 2、如果服务程序需要UI与用户交互的话,有两种方式: ①用WTSSendMessage来创建一个消息框与用户交互 ②使用一个代理(agent)来完成跟用户的交互,服务程序通过CreateProcessAsUser 在XP的FUS下能工作的服务程序将很可能可以在新版系统中工作,注意XP的FUS下的测试不能检测到在Session 0下跟视频驱动有关的问题 本文我们的服务程序将通过CreateProcessAsUser ; #endregion #region DllImports [DllImport("advapi32.dll", EntryPoint = "CreateProcessAsUser CreateProcessAsUser(hUserToken, appPath, // Application Name 参考资料 穿透Session 0 隔离(一) Windows中Session 0隔离对服务程序和驱动程序的影响 CreateProcessAsUser 源代码下载 本示例代码托管地址可以在原出处找到

    1.6K20发布于 2019-05-25
  • 来自专栏玄魂工作室

    Windows黑客编程技术详解 --第四章 木马启动技术(内含赠书福利)

    q 突破SESSION 0隔离创建进程:主要通过CreateProcessAsUser函数实现用户进程创建。 5.CreateProcessAsUser函数 创建一个新进程及主线程,新进程在由指定令牌表示的用户安全上下文中运行。 获取环境块后,就可以调用CreateProcessAsUser来创建用户桌面进程。CreateProcessAsUser函数的用法以及参数含义与CreateProcess函数的用法和参数含义类似。 该程序实现的关键是调用CreateProcessAsUser函数。需要程序创建并复制一个新的访问令牌,并获取访问令牌的进程环境块信息。 安全小贴士 可以通过挂钩CreateProcessAsUser函数监控进程创建。

    4.9K50发布于 2019-05-14
  • 来自专栏用户1175783的专栏

    从Win服务启动UI程序

    UI程序 涉及的Win32 API WTSGetActiveConsoleSessionId获取活动的Session ID WTSQueryUserToken根据Session ID获取用户Token CreateProcessAsUser bool CloseHandle(IntPtr hSnapshot); [DllImport("advapi32.dll")] public extern static bool CreateProcessAsUser lpStratupInfo.lpDesktop = @"winsta0\default"; PROCESS_INFORMATION lpProcessInfo; isOk=CreateProcessAsUser

    1.4K30发布于 2019-09-18
  • 来自专栏全栈程序员必看

    关于父进程和子进程的关系(UAC 绕过思路)

    AIS服务(AppInfo Service)调用的CreateProcessAsUser() 函数创建进程而且赋予恰当的管理员权限,在理论上说AIS服务(所在的进程)是提权后进程的父进程。 IceSworld,Process Explorer等) 查看时,会发现提权的进程的父进程是创建它的进程,这是由于AIS利用了CreateProcessAsUser() API中的一个新的功能,这里的新功能就是将提权进程的父进程设置成创建该进程的进程 这里微软的东东首推MSDN,以下去看下喽: 在MSDN中介绍的,假设是CreateProcessAsUser 的dwCreationFlags 的參数被设置为EXTENDED_STARTUPINFO_PRESENT

    2.2K30编辑于 2022-07-20
  • 来自专栏逆向技术

    系统权限服务创建桌面进程(进程也是系统权限)

    ps:(winxp下没有尝试是否能创建进程) 所以我们有了新的方法.不调用CreateProcess函数.而调用 CreateProcessAsUser函数. 并且进行一定的设置才可以. CreateProcessAsUser(TokenDup, szPath, NULL, NULL, NULL, FALSE, dwCreationFlags, pEnv, NULL, &si, &pi) ) { int error2 = GetLastError(); WriteLogString(L"RunRemoteControl CreateProcessAsUser \r\n")); } else { OutputDebugString(TEXT("CreateProcessAsUser false! CreateProcessAsUser(TokenDup, szPath, NULL, NULL, NULL, FALSE, dwCreationFlags, pEnv, NULL, &si, &pi)

    2.6K40发布于 2019-05-25
  • 来自专栏码农二狗

    JobObject实现对进程进行内存和运行时间限制

    ,这里不做过多介绍,详见CreateProcessAsUser,后续博文里可能会更详细的介绍. 创建新的工作对象大致经过如下步骤: 通过CreateJobObject创建一个工作对象; 通过SetInformationJobObject设置工作对象的参数,详见MSDN; 以CREATE_SUSPENDED方式启动进程,通过CreateProcessAsUser

    2.2K20发布于 2018-06-29
  • 来自专栏黑白天安全团队

    利用本地RPC接口的UAC Bypass

    调用CreateProcessAsUser()时,将显示扩展的_STARTUPINFO_以及步骤1和4的结果。 调用DeleteProcThreadAttributeList()。 Timeout, [out] struct APP_PROCESS_INFORMATION* ProcessInformation, [out] long *ElevationType ); 该函数的大部分参数与CreateProcessAsUser API类似,服务会使用CreateProcessAsUser来创建新的UAC进程。 此标志参数直接映射到CreateProcessAsUser的dwCreateFlags参数。

    2.1K20编辑于 2022-04-12
  • 来自专栏网络安全攻防

    Windows提权之PetitPotato

    . [+] CreateProcessAsUser OK.

    76410编辑于 2023-03-29
  • 来自专栏Chromium学习

    【Chromium】Base库的最佳实践 - 进程和线程

    CloseHandle(pi.hThread);     return true; } 管理员权限应用 启动 非管理员权限进程 针对这种场景,就是常说的降权运行进程的操作,这种有两种实现方式,一种是利用CreateProcessAsUser 传入用户态Token来实现用户权限启动进程,一种是explorer来代理进程启动,两种方法各有优劣 CreateProcessAsUser:通常,调用 CreateProcessAsUser函数的进程必须具有 CreateProcessAsUser简略实现如下,可自行适配调整使用 inline constexpr const wchar_t* SLowIntegritySid = L"S-1-16-4096" ::CreateProcessAsUser(token, NULL, (LPWSTR)commandLine.toStdWString().c_str(), NULL, NULL, FALSE, CREATE_PRESERVE_CODE_AUTHZ_LEVEL

    1.3K10编辑于 2024-06-10
  • 来自专栏专业duilib使用+业余界面开发

    服务进程里面去创建带窗口的进程(备忘)

    TCHAR szCmd[1024] = {0}; _sntprintf_s(szCmd,_countof(szCmd),_TRUNCATE,_T("%s"),lpCommand); if( CreateProcessAsUser

    98430发布于 2021-09-26
  • 来自专栏方亮

    WMI技术介绍和应用——Instance/Method Provider

    后来逆向了一下Win32_Process所以在的dll文件,发现其中启动进程是使用CreateProcessAsUser,且在此之前做了很多和用户有关的操作。 ProcessInformation; memset(&ProcessInformation, 0, sizeof(ProcessInformation)); BOOL bRet = CreateProcessAsUser

    1.2K30发布于 2019-01-16
  • 来自专栏FreeBuf

    如何使用S4UTomato通过Kerberos将服务账号提权为LocalSystem

    最后,攻击者将能够获取到这个令牌,然后使用CreateProcessWithToken()或CreateProcessAsUser()函数传递令牌,并创建一个新的进程来获取SYSTEM权限。

    58910编辑于 2023-12-13
  • 来自专栏ccf19881030的博客

    VC++中如何启动外部进程和关闭某个进程

    You can also create a process using the CreateProcessAsUser or CreateProcessWithLogonW function.

    3.5K20发布于 2020-05-27
  • 来自专栏鸿鹄实验室

    使用ReflectiveDLLInjection武装你的CobaltStrike

    然后需要更改的就是GetSystem函数,原来的exp,该函数是用来进行后续的CreateProcessAsUser操作的,我们这里用不到,把它改成下面这样就行了: BOOL GetSystem(HANDLE

    2.5K10发布于 2021-04-01
  • 来自专栏sylan215 的软件测试技术学习

    做软件测试到底要不要学编程?

    测试:「同样功能的 CreateProcessAsUser、CreateProcessWithLogon、CreateProcessWithToken 应该有类似的问题,可以一起搜一下看看都处理了没有。

    50240发布于 2020-03-03
  • 来自专栏全栈程序员必看

    14种DLL注入技术

    System\CurrentControlSet\Control\Session Manager\AppCertDlls下写入dll的路径,可以将此注册表项下的DLL加载到调用CreateProcess,CreateProcessAsUser

    6.5K41编辑于 2022-08-27
领券