管理员组获取系统权限的完美解决方案
日期:2008年5月11日 作者: 查看:[大字体 中字体 小字体]-
关于管理员组(administrators)获取系统(SYSTEM)权限的方法其实已经有很多种了.
小四哥就提到了一些:"MSDN系列(3)--Administrator用户直接获取SYSTEM权限"和"远程线程注入版获取SYSTEM权限".
这里,我先踩在前辈的肩上列一些可行的方法:
1. "利用ZwCreateToken()自己创建一个SYSTEM令牌(Token)"
2. HOOK掉创建进程的函数ZwCreateProcess(Ex),用winlogon ID 创建
3. 远线程插入,插入线程到系统进程,创建一新进程
这上面三种方法都是scz提到的,也存在一些问题.其实除此这外,我们还可以:
4. 将程序做成服务,带参数运行新进程
做为服务来讲就是SYSTEM了,再创建的进程也是SYSTEM权限.
当然,这里我都不会用到上面提到的方法.因为网上都能找到现成的实现代码.而且考虑一些复杂性以及存在的一些问题都不是很好的解决方案.
这里,我拿出两种新的方案来实现该功能:
第一种方法.我们先来看一下系统是如何进行权限检测的,
举个例子,在调用了OpenProcessToken,我们知道会进行权限的验证:
OpenProcessToken->NtOpenProcessToken->PsOpenTokenOfProcess->PsReferencePrimaryToken->找到这一句Token = Process->Token;
->ObOpenObjectByPointer调用上面返回的TOKEN进行检查
也就是说,系统在检测权限时仅仅通过从进程的EPROCESS结构种拿出Token项进行操作.因此我们不需要继续往ObOpenObjectByPointer里面跟进了。
思路已经很明显:直接将System进程的Token拿过来,放到我们进程的Token位置。那么系统就认为我们是SYSTEM权限.
而这时我们的进程创建的子进程也就是SYSTEM权限了。(以上分析过程请参考WINDOWS源代码...^_^)
实现代码:
===========================================================================================================
#include<windows.h>
#include<stdio.h>
#include<Accctrl.h>
#include<Aclapi.h>
#define TOKEN_OFFSET 0xc8 //In windows 2003, it's 0xc8, if others' version, change it
#define NT_SUCCESS(Status) ((NTSTATUS)(Status) >= 0)
#define STATUS_INFO_LENGTH_MISMATCH ((NTSTATUS)0xC0000004L)
#define STATUS_ACCESS_DENIED ((NTSTATUS)0xC0000022L)
typedef LONG NTSTATUS;
typedef struct _IO_STATUS_BLOCK
{
NTSTATUS Status;
ULONG Information;
} IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;
typedef struct _UNICODE_STRING
{
USHORT Length;
USHORT MaximumLength;
PWSTR Buffer; - [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] 下一页
-
- 管理员组获取系统权限的完美解决方案 相关文章:
- ·网管秘籍 审核网络安全的十大必备工具
- ·Fedora 8下Apache配置与管理
- ·Cisco管理需要了解的默认路由
- ·BPEL的异常管理
- ·网管必读 黑客通过什么方式入侵网吧
- ·网吧网管必读 网吧被入侵后如何解决
- ·学好Word文档管理
- ·KV网络版技术升级 离线管理全网漏洞
- ·初级网管或黑客必需撑握的8个DOS命令
- ·windows服务器的管理途径
- 管理员组获取系统权限的完美解决方案 相关软件
- ·公司企业网站管理系统模板功能强大版
- ·学校源码管理系统超靓版V2008
- ·秦林新作《管好你的嘴》
- ·《奇异管道》益智连线试玩
- ·NDS《旋风管家》模拟器
- ·SOFTMAY田径运动会编排管理系统专业版v8.3
- ·《中国的总管家---周恩来》
- ·掌握中国人性的管理方法
- ·沟通管理学(exe、chm版)
- ·管理者必知的22个硬道理
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:连战北大演讲全文
下一篇:破解网络尖兵
精品推荐
热点TOP10
- ·管理员组获取系统权限的完美解决方案
- ·BAT批处理文件语法
- ·SNS(全称SNS个人社会网络)
- ·瑞星个人防火墙安装与使用
- ·最全最新的mp3芯片介绍
- ·Gmail 重要資訊和技巧摘要整理
- ·Linux阅读材料
- ·杀毒技巧系列:杀毒、防恶意代码、脚本病毒的不完全合集
- ·HP和IBM的机型比较
- ·Windows系统自启动方式大全
- ·手把手教你录制属于自己的歌曲
- ·苹果机中如何安装Windows系统
- ·让BT下载的速度狂飚起来
- ·十四种Java开发工具点评
- ·故障恢复控制台命令全攻略
- ·创建 SvcHost.exe 调用的服务原理与实践
- ·微软ping程序源代码完整版
- ·dvdrip、dvdscr、tc版等的区别
- ·最全面的WindowsXP修改大全
- ·NetBSD安装手册
特别推荐
- ·用net start 可以启动的服务命令一览
- ·Linux阅读材料
- ·掌握IP地址知识 子网掩码与子网划分
- ·ADSL共享方案及实例操作
- ·2000/XP中无法删除文件的解决办法
- ·最全面的密码破解以及抗击手段大曝光
- ·两台电脑直连的方法
- ·电子邮件头解析
- ·密码遗忘通关手册
- ·Regsvr32的特殊作用
- ·收藏经典:windows消息大全
- ·nslookup-ipconfig基础网络命令
- ·网络硬盘数据保护及还原精灵实战
- ·巧用net命令进行局域网文件批量同步更新
- ·打造WIN2000/XP/2003系统万能克隆
- ·菜鸟必知 shift键十大密招大公开
- ·快速批量绑定MAC与IP地址
- ·98/2000/XP密码恢复方法
- ·还原精灵之另类破解
- ·查看内存是否处于双通道模式
