从劫持的角度看权限维持
2022-7-13 15:0:26 Author: 雷神众测(查看原文) 阅读量:15 收藏

STATEMENT

声明

由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测及文章作者不为此承担任何责任。

雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。

前言

在windows中运行文件会有相对应的exe程序打开它。例如打开txt时,系统会使用notepad.exe执行,Windows 知道它需要使用 notepad.exe 来打开 txt 文件,因为 .txt扩展名(以及许多其他扩展名)映射到可以在位于 Windows 注册表中打开这些文件的应用程序,运行->regedit,计算机\HKEY_CLASSES_ROOT。

通过查看执行过程发现,可劫持文件扩展名并使其在实际文件打开之前执行恶意程序,达到权限维持的效果。
在这里我们需要实现劫持.txt 扩展名的同时使受害用户仍然能够打开原始 .txt 文件而不受影响。

探寻

首先我们需要知道windows所储存的.txt的运行方式
.txt 扩展处理程序在以下注册表项中定义:
计算机\HKEY_CLASSES_ROOT\txtfile\shell\open\command

从注册的定义来看 .txt 文件的命令是 notepad.exe %1,其中 %1是 notepad.exe 的参数,它指定了记事本应该打开的文件名及路径

劫持利用

创建一个恶意文件(这里用calc.exe代替),当用户尝试打开良性文件 test.txt 时,我们希望执行该恶意文件。
劫持方法我们使用简单的 Windows 批处理文件,将它放置于 C:\Users\Public\shell.cmd
calc.exe存在于系统变量中,恶意程序需绝对路径。

start calc.exestart notepad.exe %1

双击执行txt后, c:\tools\shell.cmd将启动calc以及一个带有 test.txt文件作为参数。
通过修改 .txt 注册表中数值数据来劫持 .txt 文件扩展名
计算机\HKEY_CLASSES_ROOT\txtfile\shell\open\command 至 c:\tools\shell.cmd %1

实验测试

双击运行后,成功执行了恶意程序,并正常打开了.txt文件
从红队权限维持的角度看,当我们使用此种方式维权时,需要找到管理员常打开的文件,劫持相应的拓展名
C:\Users[User]\AppData\Roaming\Microsoft\Windows\Recent 目录下为最近打开文件
相对于定时任务,劫持维权可控性较差,不能自动触发返回,需要管理员触发。

防御

防御者可监控注册表文件扩展名命令的更改,尤其是当数据字段包含位于不寻常位置的二进制文件。

安恒信息

杭州亚运会网络安全服务官方合作伙伴

成都大运会网络信息安全类官方赞助商

武汉军运会、北京一带一路峰会

青岛上合峰会、上海进博会

厦门金砖峰会、G20杭州峰会

支撑单位北京奥运会等近百场国家级

重大活动网络安保支撑单位

END

长按识别二维码关注我们


文章来源: http://mp.weixin.qq.com/s?__biz=MzI0NzEwOTM0MA==&mid=2652498599&idx=1&sn=0257fdb9c4683dafb552547e9b715fdc&chksm=f2584914c52fc0020d3b81c480459e4908a681ad1dbf7cffb518765d42106bdfe7aa952e4fda#rd
如有侵权请联系:admin#unsafe.sh