windows权限维持

一、权限维持

a、粘滞键后门

介绍:

windows 系统下连续按 5 次 shift 可调出其程序,但使用可能有一部分人不太了解,毕竟这个功能一般我们都用不到,粘滞键是为了那些按钮有困难的人设计的,也可理解为残疾,就是按键困难,一次只能按一个键的这种需求,那么如果用 ctrl+c,ctrl+v 这种快捷键或者其他需要组合的键时,就会有困难,不具备一次按两个或多个键的能力,那么此时就可以单按 5 下 shift 键来启动粘滞键功能,粘滞键启动后,多个组合键就可以依次单个按下来实现,例如复制,就可以先按一下 ctrl,然后再按一下 c 即可,这就是粘滞键功能。

move sethc.exe sethc1.exe
copy cmd.exe sethc.exe

注册表位置: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

如果我们成功拿到权限,并且目标也存在3389服务,但是并没有开启,那我们就可以使用msf自带的3389开启模块,模块名如下
post/windows/manage/enable_rdp

b、注册表logon scripts后门

Windows登录脚本,当用户登录时触发,Logon Scripts能够优先于杀毒软件执行,绕过杀毒软件对敏感操作的拦截。
注册表位置:HKEY_CURRENT_USER\Environment

REG ADD"HKEY_CURRENT_USER\Environment" /v UserInitMprLogonScript /t REG_SZ /d "C:\666.exe"

c、注册表自启动后门

位置一:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
添加键test,值为后门程序路径。

REG ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /v test1 /t REG_SZ /d "C:\666.exe"

位置二:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon
无需管理员权限路径:
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnceimage.png

d、屏幕保护程序后门

屏幕保护是Windows功能的一部分,使用户可以在一段时间不活动后放置屏幕消息或图形动画。Windows的此功能被威胁参与者滥用为持久性方法。这是因为屏幕保护程序是具有.scr文件扩展名的可执行文件,并通过scrnsave.scr实用程序执行。
注册表位置:HKEY_CURRENT_USER\Control Panel\Desktop

SCRNSAVE.EXE为默认的屏保程序,我们可将此键值设置为我们要利用的恶意程序。在本质上,.scr文件是可执行文件。

ScreenSaveActive表示屏保状态,1为启动,0为关闭。

ScreenSaverTimeout表示屏幕保护程序启动前系统的空闲事件,单位为秒,默认为900(15分钟)。

ScreenSaverIsSecure默认参数为0,标识不需要密码即可解锁。


修改SCRASAVE.EXE的值为后门程序路径,等待屏保时间自动运行。

reg add"HKEY_CURRENT_USER\Control Panel\Desktop" /v SCRNSAVE.EXE /t REG_SZ /d "c:\666.exe" /f

e、计划任务后门

schtasks命令设定计划自动启动后门程序。

schtasks /Create /tn Updater /tr c:\666.exe /sc minute /mo 5   #每5分钟自动执行666.exe

schetasks /create /sc minute /mo 1 /tn "mysqlstart" /tr c:\windows\test.exe /ru system
/create 就是创建计划任务
/sc 指定模式,这里minute代表以分钟为时间模式
/mo 指定时长,我这里设置为1,配合前面的模式就代表每分钟执行1次(设为2就是2分钟执行一次)
/tn 指定计划任务名称,像我这里的名称就是“mysqlstart”
/tr 指定你要启动的目标程序,就指定木马就可以
/ru 指定以哪个权限启动,我这里选择的是system权限

mintue hour day month week command

image.png

f、服务自启动后门

自启动服务一般是在电脑启动后在后台加载指定的服务程序,我们可以将exe文件注册为服务,也可以将dll文件注册为服务。

sc create test binpath= c:\666.exe    (注意等号后面有空格)#创建服务
sc config test start= auto    #设置服务为自动启动
net start test

sc create 服务名称 binpath="cmd.exe /k 要执行的文件路径" start="启动方式" obj="指定权限" 
sc start mysql2008

image.png
LocalSystem 和 System 都是 Windows 操作系统内置的特殊账户,但它们之间还是有一些区别的。
System 账户是操作系统内置的一个特殊账户,拥有更高的权限,可以访问许多资源,如系统文件、注册表、服务等。System 账户通常用于系统级别的操作,如服务、备份、还原等。但是,System 账户也有一些限制,比如不能访问网络资源,不能与用户交互等。
LocalSystem 账户是一个本地账户,也是一个内置账户,它拥有和 System 账户一样的权限,但是它可以访问网络资源,可以与用户交互。因此,在创建 Windows 服务时,如果需要服务能够访问网络资源或与用户交互,建议使用 LocalSystem 账户作为服务的运行账户。
综上所述,如果你的服务需要访问网络资源或与用户交互,就应该使用 LocalSystem 账户作为服务的运行账户。如果你的服务只需要进行系统级别的操作,可以使用 System 账户作为服务的运行账户

g、文件关联

1、原理讲解
文件关联就是将一种类型的文件与一个可以打开他的程序建立起一种关系
简单讲就是例如访问txt文件,
ftype textfile
image.png
就说明txtfile文件打开时是用这个程序打开的
也就相当于txtfile文件与wordpad这个程序关联,打开textfile就会用wordpad来进行打开,所以肯定是执行了这个notepad程序的
既然执行了这个程序,那我们以攻击的思路来想,如果我们把textfile文件对应的启动程序改为我们的木马程序,那是不是每次用户打开txt文件时,系统就会执行我们设置好的木马呢?所以关联文件来做权限维持也就是这个原理
2、操作演示
那么例如上面这种txtfile与notepad程序的关联关系在哪修改呢?同样是在我们的注册表里面
例如textfile关联文件的注册表项目录如下
计算机\HKEY_CLASSES_ROOT\txtfile\shell\open\command
image.png
可以看到这个默认键值中的值就是txtfile所关联的启动程序,每次运行txtfile文件就是用这个值对应的应用打开
我们把它改为我们的恶意文件(为了方便这里的恶意文件我们直接用cmd代替了,换成木马文件也是同理)
image.png
可以看到双击txt文件直接就打开了cmd,如果是木马文件就会直接执行了,并反弹权限,达到权限维持的目的
参考文章:
https://www.aqtd.com/nd.jsp?id=737
https://www.cnblogs.com/seizer/p/17038559.html
http://www.mchz.com.cn/cn/service/safety-lab/info_26.aspx?itemid=4028&ezeip=es515pfuwaihdff3mzwbdg=%3D
https://blog.csdn.net/weixin_43722879/article/details/126354420

posted @ 2024-03-29 11:04  小新07  阅读(41)  评论(0编辑  收藏  举报