vb6编写用户权限_服务器权限维持 Windows篇

前言

对于后渗透阶段权限维持还是比较重要的一个环节,所以想总结一下在 Windows 、Linux 、 Webshell 下权限维持的姿势,并试着编写出后门检测脚本。文章内有错误的地方还请表哥们指出谢谢。

List
  1. 账户隐藏

  2. 注册表开机自动启动项

  3. DLL劫持

  4. 计划任务

  5. 文件夹启动

  6. 映像劫持

  7. RID 劫持

  8. 快捷方式劫持

  9. 辅助功能权限维持

  10. 权限维持辅助脚本编写


0x1 账户隐藏

1.1 隐藏用户

net user administrator$ AdminPassw0ad!@ /add && net localgroup administrators administrator$ /add

1.2 激活 Guest用户

控制面板所有控制面板项用户帐户管理帐户启用来宾帐户

net user guest woaijiushi && net localgroup administrators guest /addnet user guest /active:yes

0x2 注册表开机自动启动项

2.1 Run键

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\RunHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run

Tips: 其下的所有程序在每次启动登录时都会按顺序自动执行。

2.2 RunOnce键

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnceHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce

Tips: 与Run键不同的是,RunOnce下的程序仅会被自动执行一次。

2.3 RunServicesOnce键

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesOnceHKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce

Tips: 其中的程序会在系统加载时自动启动执行一次。

2.4 RunServices键

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServicesHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServices

Tips: RunServices是继RunServicesOnce之后启动的程序。

2.5 RunOnceEx键

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceExHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

Tips: 该键是 Windows XP/2003 特有的自启动注册表项。

2.6 Load键

HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\CurrentVersion\Windows

2f43bbf07a2ca1de778fdfa907edc378.png

Tips: Load 键值的程序也可以自启动。

2.7 Winlogon键

HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinlogonHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon

Tips: 注意下面的 Notify、Userinit、Shell键值也会有自启动的程序,而且其键值可以用逗号分隔,从而实现登录的时候启动多个程序。

2.8 其他注册表位置

还有一些其他键值,程序会自动运行。

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\ShellHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ShellServiceObjectDelayLoadHKEY_CURRENT_USER\Software\Policies\Microsoft\Windows\System\ScriptsHKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\System\Scripts

Tips: 注册表的 HKEY_LOCAL_MACHINE 和 HKEY_CURRENT_USER 键的区别:前者对所有用户有效,后者只对当前用户有效。


0x3 DLL劫持

3.1 概述

在加载DLL过程中,系统都是先在程序目录加载DLL,如果没有找到就按照规定的顺序去搜索,但如果DLL的路径没有在system32中,攻击者就有可能伪造一个dll被程序加载。

系统在使用DLL搜索顺序取决于是否启用安全的DLL搜索模式。

Tips: Windows XP默认情况下禁用安全DLL搜索模式。之后默认启用安全DLL搜索模式。

若要使用此功能,需修改以下注册表值,0为禁止,1为启用。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SafeDllSearchMode

3.2 SafeDLLSearchMode启用后DLL搜索顺序

  1. 从其中加载应用程序的目录。

  2. 系统目录。使用GetSystemDirectory函数获取此目录的路径。

  3. 16位系统目录。没有获取此目录的路径的函数,但会搜索它。

  4. Windows目录。使用GetWindowsDirectory函数获取此目录。

  5. 当前目录。

  6. PATH环境变量中列出的目录。

3.3 SafeDLLSearchMode禁用后DLL搜索顺序

  1. 从其中加载应用程序的目录。

  2. 当前目录。

  3. 系统目录。使用GetSystemDirectory函数获取此目录的路径。

  4. 16位系统目录。没有获取此目录的路径的函数,但会搜索它。

  5. Windows目录。使用GetWindowsDirectory函数获取此目录。

  6. PATH环境变量中列出的目录。

3.4 DLL 劫持简易流程图

DLL 劫持利用搜索顺序来加载恶意DLL以代替合法DLL。如果应用程序使用Windows的DLL搜索来查找DLL,且攻击者可以将同名DLL的顺序置于比合法DLL更高的位置,则应用程序将加载恶意DLL。
(可以用来劫持系统程序,也可以劫持用户程序。劫持系统程序具有兼容性,劫持用户程序则有针对性)。

c07ac797e825a9738975b8c53da35ae7.png

编译后劫持用的DLL文件改成原DLL文件的名字,原DLL文件改为代码中调用DLL文件的名字。(为了保证应用程序的正常运行,需要在执行恶意DLL文件后继续加载应用程序缺失的DLL文件)。


0x4 计划任务

schtasks /create /sc ONLOGON /mo modifier /tr C:\Windows\System32\cmd.exe /tn test

4.1 命令解析

创建新的计划任务。

schtasks /create

指定计划类型。有效值为 MINUTEHOURLYDAILYWEEKLYMONTHLYONCEONSTARTONLOGONONIDLE

/sc schedule

指定任务在其计划类型内的运行频率。这个参数对于 MONTHLY 计划是必需的。对于 MINUTEHOURLYDAILY 或 WEEKLY 计划,这个参数有效,但也可选。默认值为 1。

/sc schedule

指定任务在其计划类型内的运行频率。这个参数对于 MONTHLY 计划是必需的。对于 MINUTEHOURLYDAILY 或 WEEKLY 计划,这个参数有效,但也可选。默认值为 1。

/mo modifier

指定任务运行的程序或命令。如果忽略该路径,SchTasks.exe 将假定文件在 Systemroot\System32 目录下。

/tr <TaskRun>

指定任务的名称。

/tn 

4.2 常用命令

每分钟执行一次任务。

schtasks /create /sc MINUTE /mo 1 /tn calc_update /tr  "C:\\Users\\liuxueshuo\\AppData\\Local\\Temp\\calc_update.exe"

85f85f7555e69f71a36be3671f2144ff.png

每小时执行一次任务。

schtasks /create /sc HOURLY /mo 1 /tn calc_update /tr  "C:\\Users\\liuxueshuo\\AppData\\Local\\Temp\\calc_update.exe"

每天执行一次任务。

schtasks /create /sc DAILY /mo 1 /tn calc_update /tr  "C:\\Users\\liuxueshuo\\AppData\\Local\\Temp\\calc_update.exe"

每周执行一次任务。

schtasks /create /sc WEEKLY /mo 1 /tn calc_update /tr  "C:\\Users\\liuxueshuo\\AppData\\Local\\Temp\\calc_update.exe"

删除计划任务。

schtasks /Delete /TN 任务名称 /F

参考引用:schtasks命令详解


0x5 文件夹启动

在每次开机或重启的时候就会运行启动文件夹下的程序。

C:\Users\{UserName}\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\StartupC:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

16ab1ad4bae2413f0304f887f96fd4a7.png


0x6 映像劫持

在下面注册表路径下创建一个子项,子项的名称为你要劫持的exe名称,比如 cmd.exe然后创建一个值,键名为Debugger, 值为要执行的恶意脚本。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

4c7d860e789423cec45c0f48f239d1be.png

运行 cmd.exe 时执行成功运行 calc.exe

Tips:测试时安全软件拦截,所以要先退出杀软。


0x7 RID 劫持

新建一个普通用户 admin ,在下面注册表中。

HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names

找到 admin 对于Windows系统来说,注册表下包含当前系统的所有帐户列表,每个帐户的默认键值对应该帐户详细信息的注册表位置 (即RID的十六进制表示)。

51375b1b5fd5e290cd1916798c2fa521.png

Tips:SAM下的注册表选项需要获得system权限才能读取

查看 administrator 对应键值,数值名称为F ,数值内容 0030 的位置复制到 admin 对应键值,数值名称为F ,数值内容 0030 的位置。

80dcc61dad14bdc420b6f78eb799d308.png

eb2f398a490f3e75a1d9f2f20bac88a8.png

点击确定然后关机重启,登陆 admin 用户。

1d3632d9fd6eea5ab3c0852a374a094b.png


0x8 快捷方式劫持

Windows快捷方式包含对系统上安装的软件或文件位置(网络或本地)的引用。快捷方式的文件扩展名是.LNK,它为 红队提供了很多机会来执行各种格式的代码 exevbsPowershellscriptlet等。

如下案例,powershell 并没有做任何处理只做演示学习。

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -c "invoke-item 'C:\Program Files\ChromeCore\ChromeCoreLauncher.exe'; invoke-item c:\Users\liuxueshuo\AppData\Local\Temp\calc_update.exe"

0ffecb5e8e4c623bbb7b998c356e9afe.png

8f8527eaaf98e563b31c5ef3a76b1be8.png

Tips: 调用Powershell程序事图标会更改为相应程序(Powershell)的图标,注意修改图标。


0x9 辅助功能权限维持

辅助功能提供了其他选项(屏幕键盘、放大镜、屏幕阅读等),可以帮助残疾人更轻松地使用 Windows操作系统但是,此功能可能会被滥用,以在已启用RDP且已获得管理员级别权限的主机上实现持久性。

9.1 常用的辅助功能

  1. shift 后门

  2. 放大镜后门

  3. 屏幕键盘后门

  4. ...


0x10 权限维持辅助脚本编写

后门检测及后门放置自动化,懒放放再写。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值