5.2 持久化—Windows

2019-12-04  本文已影响0人  最酷的崽_ec69

5.2.1. 隐藏文件

5.2.2. 后门

5.2.2.1. sethc

  sethc.exe 是 Windows系统在用户按下五次shift后调用的粘滞键处理程序,当有写文件但是没有执行权限时,可以通过替换 sethc.exe 的方式留下后门,在密码输入页面输入五次shift即可获得权限。

5.2.2.2. 映像劫持)

  在高版本的Windows中,替换程序是受到系统保护的,需要使用其他的技巧来实现替换。
  具体操作为在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Option 下添加项 sethc.exe ,然后在 sethc.exe 这个项中添加 debugger 键,键值为恶意程序的路径。

5.2.2.3. 定时任务

  Windows下有 schtasksat 两种计划任务机制。 其中 at 在较高版本的Windows中已经弃用。

5.2.2.4. 登录脚本

  Windows可以在用户登录前执行脚本,使用 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Userinit 设置。

5.2.2.5. 屏幕保护程序

  Windows可以自定义屏幕保护程序,使用 HKEY_CURRENT_USER\Control Panel\Desktop 设置。

5.2.2.6. 隐藏用户

  Windows可以使用在用户名后加入 $ 来创建匿名用户,这种方式创建的用户只能通过注册表查看。

5.2.2.7. CLR

  CLR (Common Language Runtime Compilation) 公共语言运行时,是微软为.NET产品构建的运行环境,可以粗略地理解为.NET虚拟机。
  .NET程序的运行离不开CLR,因此可以通过劫持CLR的方式实现后门。

5.2.3. UAC

5.2.3.1. 简介

  UAC (User Account Control) 是Windows的一个安全机制,当一些敏感操作发生时,会跳出提示显式要求系统权限。
  当用户登陆Windows时,每个用户都会被授予一个access token,这个token中有security identifier (SID) 的信息,决定了用户的权限。

5.2.3.2. 会触发UAC的操作

5.2.4. 自启动

  通过在注册表中写入相应的键值可以实现程序的开机自启动,主要是 RunRunOnce ,其中RunOnce和Run区别在于RunOnce的键值只作用一次,执行完毕后会自动删除。

5.2.5. 权限提升

  权限提升有多重方式,有利用二进制漏洞、逻辑漏洞等技巧。利用二进制漏洞获取权限的方式是利用运行在内核态中的漏洞来执行代码。比如内核、驱动中的UAF或者其他类似的漏洞,以获得较高的权限。
  逻辑漏洞主要是利用系统的一些逻辑存在问题的机制,比如有些文件夹用户可以写入,但是会以管理员权限启动。

5.2.5.1. 任意写文件利用

  在Windows中用户可以写的敏感位置主要有以下这些

5.2.5.2. MOF

  MOF是Windows系统的一个文件( c:/windows/system32/wbem/mof/nullevt.mof )叫做"托管对象格式",其作用是每隔五秒就会去监控进程创建和死亡。
  当拥有文件上传的权限但是没有Shell时,可以上传定制的mof文件至相应的位置,一定时间后这个mof就会被执行。
  一般会采用在mof中加入一段添加管理员用户的命令的vbs脚本,当执行后就拥有了新的管理员账户。

5.2.5.3. 凭证窃取

5.2.5.4. 其他

上一篇下一篇

猜你喜欢

热点阅读