关于本地提权的学习笔记(一):Administrator提权到System
2017-01-19 22:35
555 查看
关于本地提权的学习笔记(一):Administrator提权到System
这篇文章是本人在学习过程中做的小笔记以便日后的查看,有何不足望各位大牛指出~
先说Windows吧,其用户一般分为3大类,即普通用户User、管理员Administrator和系统用户System。System和Administrator的权限并不是包含的,两者之间各有不同的地方,因而有时候即使有管理员Administrator的权限还是无法利用需要System用户才能使用的进程等,所以就需要提权了。
为了方便在Windows命令行中查看当前用户,可以使用whoami命令,但是需要先将whoami.exe程序放置在C盘中的system32目录中。对于该程序可以在Kali Linux中获得,具体路径为:
1、通过at命令(在Windows XP、2003等系统可行,win7之后该命令被删除):
查看at命令的参数:
在指定时间运行at命令中参数cmd命令(xx:xx表示几时几分,如10:12):
此时从任务管理器可看出cmd命令的用户名是System,接着在该启动的cmd窗口中启动的程序都是以System用户名启动的。但是除了System启动的进程之外,界面还是Administrator用户,为了更方便一些,可以用以下方法实现将界面的操作都转化为用户System的:在System的命令行输入taskmgr命令来用System用户打开任务管理器,将其中Administrator用户的explorer进程终止掉,此时可发现界面背景等都没了,再在任务管理器中的<文件>选项中新建explorer进程,此时的界面就是System用户的界面了。
2、通过sc命令来创建服务(服务都通过System账号操作):
在命令行输入:
接着需要在命令行输入以下命令启动服务:
也可以通过界面来启动该服务即可。
图示中已创建了该服务因而显示创建失败
3、通过SysInternal Suite工具实现提权:
从网站下载相应的套件即Suite。将其中的PsExec工具放入system32目录中,在命令行中输入PsExec命令来确定参数i交互和s用System用户,输入该命令即可:
另外一些小知识,关于命令行中用户名的几个命令:
修改相应的用户的密码:
查看所有的用户:
查看当前账号的基本情况:
当然方法还有很多种,限于知识面不足就无法一一陈述,有新的收获就会继续做笔记。
这篇文章是本人在学习过程中做的小笔记以便日后的查看,有何不足望各位大牛指出~
先说Windows吧,其用户一般分为3大类,即普通用户User、管理员Administrator和系统用户System。System和Administrator的权限并不是包含的,两者之间各有不同的地方,因而有时候即使有管理员Administrator的权限还是无法利用需要System用户才能使用的进程等,所以就需要提权了。
为了方便在Windows命令行中查看当前用户,可以使用whoami命令,但是需要先将whoami.exe程序放置在C盘中的system32目录中。对于该程序可以在Kali Linux中获得,具体路径为:
/usr/share/windows-binaries/
1、通过at命令(在Windows XP、2003等系统可行,win7之后该命令被删除):
查看at命令的参数:
at /?找到有/interactive参数,即以交互的方式执行命令,可以看到该命令的执行结果,否则命令在后台执行而看不到。
在指定时间运行at命令中参数cmd命令(xx:xx表示几时几分,如10:12):
at xx:xx /interactive cmd
此时从任务管理器可看出cmd命令的用户名是System,接着在该启动的cmd窗口中启动的程序都是以System用户名启动的。但是除了System启动的进程之外,界面还是Administrator用户,为了更方便一些,可以用以下方法实现将界面的操作都转化为用户System的:在System的命令行输入taskmgr命令来用System用户打开任务管理器,将其中Administrator用户的explorer进程终止掉,此时可发现界面背景等都没了,再在任务管理器中的<文件>选项中新建explorer进程,此时的界面就是System用户的界面了。
2、通过sc命令来创建服务(服务都通过System账号操作):
在命令行输入:
sc Create syscmd binPath= ”cmd /k start” type= own type= interact这样就创建了名为syscmd、类型为交互的、功能为打开新的cmd窗口的服务。需要注意的一点是,在后面的三个参数中等号的后面必须加一个空格,否则无法正常创建服务。可在Run中输入services.msc来查看该服务。
接着需要在命令行输入以下命令启动服务:
sc start syscmd
也可以通过界面来启动该服务即可。
图示中已创建了该服务因而显示创建失败
3、通过SysInternal Suite工具实现提权:
从网站下载相应的套件即Suite。将其中的PsExec工具放入system32目录中,在命令行中输入PsExec命令来确定参数i交互和s用System用户,输入该命令即可:
PsExec -i -s cmd
另外一些小知识,关于命令行中用户名的几个命令:
修改相应的用户的密码:
net user <用户名> *
查看所有的用户:
net user
查看当前账号的基本情况:
net user <用户名>
当然方法还有很多种,限于知识面不足就无法一一陈述,有新的收获就会继续做笔记。
相关文章推荐
- 关于本地提权的学习笔记(二):注入进程和利用漏洞提权
- Java学习笔记(二十七):关于System.getProperty("user.dir")
- Java学习笔记之关于System.out.println()的括号中的内容
- JAVA学习笔记--关于System.out.println()
- 【安全牛学习笔记】 本地提权
- 【安全牛学习笔记】本地提权
- Spring学习笔记:关于Interceptor
- 关于SQL的学习笔记
- System.Text.Encoding 学习笔记
- 学习笔记:关于科学方法在社会科学中的局限性
- 关于用jsp实现http认证安全登陆的学习笔记。(正在原创ing)
- 关于JDBC学习笔记(一)
- 关于C++标准库泛型算法merge的学习笔记
- System.Collections.Generic.LinkedList 学习笔记
- java学习笔记,关于java的一些基础知识,适用于初学者,第一节
- java学习笔记,试用初学者,第二节,关于内存地址分配问题
- RTTI关于dynamic_cast的学习笔记(1)
- System.Object 学习笔记
- C++ Primer 学习笔记关于练习题6.12
- 学习笔记:关于对下属的批评和赞扬