作为一名白帽子,要懂攻才能防,我们首先来了解一下什么是提权?
从低权限到高权限
从普通用户组到管理员用户组
什么是权限维持?
隐蔽攻击行为,并且达到长期控制目标的方式就叫做权限维持
一些常用的基础命令:
方法一:
比较简单的用法就是使用“$”符号添加一个隐藏的账户
一般操作:
创建隐藏用户后,提升为管理员权限
这个用户在命令窗口中使用net user 是查看不到的
但是使用net localgroup administrators或者“计算机管理” 就可以查看使用$创建的隐藏用户
虽然隐藏账户以及在“命令提示符”和“计算机管理”中隐藏了,但是有经验的系统管理员还是可以通过注册表编辑器删除隐藏账户
方法二:
新建普通用户
加入管理员用户
给管理员注册表操作权限
将隐藏账户替换为管理员
导出注册表用户文件
删除自己创建的用户
导入注册表文件
激活用户
查看账户隐藏后的结果
远程登陆验证
方法三:
系统漏洞提权
黑客一般都会有自己的入本地提权漏洞利用包
如:CVE-2019-0841、CVE-2020-0787等等
方法四:
无net提权
当管理员禁用net的时候
上传net.exe到一个执行权限大的目录。再执行net.exe user
方法五:
粘滞键后门
windows下连续按五次shift会调用
c:\windows\system32\sethc.exe
在我们已经登录系统时,这个程序是以我们自己的用户权限运行的。
但是当我们未登陆系统(停留在登陆界面)的时候 系统还不知道我们将以哪个用户登陆,所以在这个时候连续按5次shift后门的话系统将会以system用户(比管理员更高级别的权限)来运行sethc.exe这个程序
使用替换粘滞键触发程序植入CMD后门
在C:\windows\system32\目录下,找到sethc.exe程序,将同一个目录下的cmd.exe文件重命名为sethc.exe,并且替换原来的sethc.exe
ü 主要步骤:
ü 备份sethc.exe文件
ü 替换sethc.exe为cmd.exe
看完一些常见的手段,我们再来看看一些防护方法。
如何清除隐藏账户:
1、以$符号创建的账户可在计算机管理本地用户和组中查看,可直接删除。
2、修改注册表型隐藏账户可以到注册表中删除隐藏账户
HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names
开启登录事件审核功能:
进行登录审核后,可以对任何账户的登录操作进行记录,包括隐藏账户。这样就可以使用“计算机管理”中的“事件查看器”准确得知隐藏账户的名称,甚至登录的时间,即使入侵者将所有的登录日志删除,系统还会记录是 哪个账户删除了系统日志,这样隐藏账户就暴露无遗了。
运行窗口输入:gpedit.msc运行组策略
展开“计算机配置”——Windows设置——安全设置——本地策略——审核策略——审核策略更改——勾选“成功”——点击确定
对“审核登录事件”和“审核过程追踪”进行相同的操作