[笔记] 关于CreateProcessWithLogonW函数创建进程

ops/2024/10/25 16:53:10/

函数介绍

https://learn.microsoft.com/zh-cn/windows/win32/api/winbase/nf-winbase-createprocesswithlogonw

BOOL CreateProcessWithLogonW([in]                LPCWSTR               lpUsername,[in, optional]      LPCWSTR               lpDomain,[in]                LPCWSTR               lpPassword,[in]                DWORD                 dwLogonFlags,[in, optional]      LPCWSTR               lpApplicationName,[in, out, optional] LPWSTR                lpCommandLine,[in]                DWORD                 dwCreationFlags,[in, optional]      LPVOID                lpEnvironment,[in, optional]      LPCWSTR               lpCurrentDirectory,[in]                LPSTARTUPINFOW        lpStartupInfo,[out]               LPPROCESS_INFORMATION lpProcessInformation
);

几种使用方法

使用存在的账号信息创建进程

在这里插入图片描述

使用空网络账号信息创建进程

在这里插入图片描述
所以即使账号信息实际不存在也可以创建进程,只是无权访问网络资源

if (!CreateProcessWithLogonW(L"MalseclogonUser", L"MalseclogonDomain", L"MalseclogonPwd", LOGON_NETCREDENTIALS_ONLY, NULL, cmdline, 0, NULL, NULL, &startInfo, &procInfo)) {printf("CreateProcessWithLogonW() failed with error code %d \n", GetLastError());
} else {// the returned handles in procInfo are wrong and duped into the spoofed parent process, so we can't close handles or wait for process end.printf("Spoofed process %S created correctly as child of PID %d using CreateProcessWithLogonW()!", cmdline, pid);
}

http://www.ppmy.cn/ops/128393.html

相关文章

微服务网关之Gateway

1.微服务网关介绍 什么是网关 API Gateway,是系统的唯一对外的入口,介于客户端和服务器端之间的中间层,处理非业务功能,提供路由请求、鉴权、监控、缓存、限流等功能统一接入 智能路由AB测试、灰度测试负载均衡、容灾处理日志埋点…

FastGPT学习(2)- 本地开发通过Navicat管理MongoDB、PostgreSQL数据库

1. 背景 前期已经完成FastGPT的本地化部署工作,通过Docker启动FastGPT的相关容器即可运行。(共6个容器) 2.本地化开发 2.1 前置依赖 2.2 源码拉取 git clone gitgithub.com:labring/FastGPT.git2.3 数据库管理 本地化运行的FastGPT使用…

深入拆解TomcatJetty——Tomcat生命周期与多层容器

深入拆解Tomcat&Jetty(三) 专栏地址:https://time.geekbang.org/column/intro/100027701 1 Tomcat组件生命周期 Tomcat如何如何实现一键式启停 Tomcat 架构图和请求处理流程如图所示: 对组件之间的关系进行分析,…

150+Premiere剪辑视频制作视频3D空间转场特效

特征: 11类视频无缝转场风格。 超轻:仅3MB。 混搭,为你的过渡打造无限造型 .PrProj格式文件,兼容Premiere Pro 2023及以上版本。 无需预渲染。 快速渲染时间。 易于使用的拖放。 包含的样式: 3D旋转投影仪过渡。 3D旋转…

Kafka高可用性原理深度解析

在分布式系统中,高可用(High Availability, HA)是指系统在面对硬件故障、网络分区、软件崩溃等异常情况时,仍能继续提供服务的能力。对于消息队列系统而言,高可用性尤为重要,因为它通常作为数据流通的中枢&…

docker 部署单节点的etcd以及 常用使用命令

docker部署etcd $ docker run -d --name etcd-server -p 2379:2379 -p 2380:2380 quay.io/coreos/etcd:v3.5.0 /usr/local/bin/etcd -name my-etcd-1 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -initial-advertise-peer-urls http…

数据分析-31-时间序列分析的卡尔曼滤波器平滑方法

1 卡尔曼滤波器估计系统状态 Kalman Filter(卡尔曼滤波器)算法是一种线性最小方差估计器,用于在存在噪声的情况下对随机过程或系统进行估计。它的基本思想是通过一系列的迭代步骤,不断优化对系统状态的估计。算法主要包含两个步骤:预测和更新。 1.1 卡尔曼滤波器的原理 …

【Linux】创建设备属性节点

在Linux驱动调试时,常常需要添加属性文件,sysfs属性节点可以实现用户空间与硬件或者驱动交互。 DEVICE_ATTR介绍 /* 路径:linux/device.h */ #define DEVICE_ATTR(_name, _mode, _show, _store) \struct device_attribute dev_attr_##_name…