首页
社区
课程
招聘
[原创] Rust写的父进程PID欺骗工具
发表于: 2023-1-9 11:19 8922

[原创] Rust写的父进程PID欺骗工具

2023-1-9 11:19
8922

父进程 PID 伪造技术测试用工具,rust 编写。

 

项目地址:https://github.com/0xlane/ppspoofing

使用方式

1
2
cargo build
cargo run -- <pid> <commandline>

在 powershell 可以这么用:

1
ppspoofing.exe (Get-Process -Name winlogon)[0].Id notepad.exe

x

利用原理

  1. 首先通过 OpenProcess 获取到目标进程句柄,访问权限 PROCESS_ALL_ACCESS
  2. 创建 STARTUPINFOEXA,调用 InitializeProcThreadAttributeList 初始化
  3. 调用 UpdateProcThreadAttribute 将第一步获取的句柄值更新到 PROC_THREAD_ATTRIBUTE_PARENT_PROCESS
  4. 调用 CreateProcess 创建进程,创建标志为 CREATE_UNICODE_ENVIRONMENT | EXTENDED_STARTUPINFO_PRESENT

存在的问题

  1. 在第一步,administrator 用户也无法获取到所有访问权限的 PPL 进程,影响不大,怎么解决自己研究一下
  2. 某些进程作为父进程时,创建的 cmd.exe 进程会闪退,没查原因,创建notepad.exe 就不会有问题

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 4
支持
分享
最新回复 (5)
雪    币: 562
活跃值: (4190)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
能不能用c++....
2023-1-9 14:04
0
雪    币: 14633
活跃值: (17729)
能力值: ( LV12,RANK:290 )
在线值:
发帖
回帖
粉丝
3
DirtyAngle 能不能用c++....
rust速度更快,内存安全性更好
2023-1-9 14:14
0
雪    币: 246
活跃值: (4497)
能力值: ( LV4,RANK:45 )
在线值:
发帖
回帖
粉丝
4
pureGavin rust速度更快,内存安全性更好
这种进去就是unsafe肯定是不如用纯C写的,楼主估计只是学习一下rust
2023-1-9 14:49
0
雪    币: 2324
活跃值: (5063)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
pureGavin rust速度更快,内存安全性更好
速度更快是不可能的,有些地方还没有优化,比如RVO。
2023-1-9 21:57
0
雪    币: 6073
活跃值: (1552)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
6
pureGavin rust速度更快,内存安全性更好

主要是由于有些东西用C不如rust方便,速度对于这种程序来讲不重要,主要还是易用性方面还有编译出来的文件大小考虑。

最后于 2023-1-17 17:00 被techliu编辑 ,原因:
2023-1-17 16:58
0
游客
登录 | 注册 方可回帖
返回
//