Vista 和 Windows 7 操作系统为了加强安全增加叻 UAC(用户账户控制) 的机制,如果 UAC 被打开用户即使是以管理员权限登录,其应用程序默认情况下也无法对系统目录系统注册表等可能影响系统运行的设置进行写操作。这个机制大大增强了系统的安全性但对应用程序开发者来说,我们不能强迫用户去关闭UAC但有时我们开发嘚应用程序又需要以 Administrator 的方式运行,即
Vista 和 Windows 7 操作系统为了加强安全增加了 UAC(用户账户控制) 的机制,如果 UAC 被打开用户即使是以管理员权限登录,其应用程序默认情况下也无法对系统目录系统注册表等可能影响系统运行的设置进行写操作。这个机制大大增强了系统的安全性但對应用程序开发者来说,我们不能强迫用户去关闭UAC但有时我们开发的应用程序又需要以 Administrator
的方式运行,即 Win7 中 以 as administrator 方式运行那么我们怎么来實现这样的功能呢?
我们在 win7 下运行一些安装程序时会发现首先弹出一个对话框,让用户确认是否同意允许这个程序改变你的计算机配置但我们编写的应用程序默认是不会弹出这个提示的,也无法以管理员权限运行本文介绍了 C# 程序如何设置来提示用户以管理员权限运行。
我们可以看到这个配置中有一个 requestedExecutionLevel 项这个项用于配置当前应用请求的执行权限级别。这个项有3个值可供选择如下表所示:
asInvoker : 如果选这个,应用程序就是以当前的权限运行
highestAvailable: 这个是以当前用户可以获得的最高权限运行。
他们的区别在于如果我们不是以管理员帐号登录,那麼如果应用程序设置为 requireAdministrator 那么应用程序就直接运行失败,无法启动而如果设置为 highestAvailable,则应用程序可以运行成功,但是是以当前帐号的权限运荇而不是系统管理员权限运行如果我们希望程序在非管理员帐号登录时也可以运行(这种情况下应该某些功能受限制) ,那么建议采用
下媔是修改后的配置文件:
配置文件修改后我们运行应用程序,就会首先弹出这样一个提示框,点 Yes 后程序才可以继续运行,并且获得系统管理员的权限
下面再来看看程序如何知道当前运行在系统管理员权限还是非系统管理员权限:
}
Device)的缩写由其名称可以了解HID设備是直接与人交互的设备,例如键盘、鼠标与游戏杆等不过HID设备并不一定要有人机接口,只要符合HID类别规范的设备都是HID设备一般来讲針对HID的攻击主要集中在键盘鼠标上,因为只要控制了用户键盘基本上就等于控制了用户的电脑。攻击者会把攻击代码隐藏在一个正常嘚鼠标键盘中,当用户将含有攻击向量的鼠标或键盘插入电脑时恶意代码会被加载并执行。
第三步:查看?target?包含多少可选的目标选项使鼡以下参数查看:
第六步:设置攻击者-端口默认是:4444?也可以更改,这里我就直接使用默认端口:
2.可以看到这里有过windows?UAC的选项及相关操作选項。
5.从被动到主动主动/自动展开攻击,最终得到我们想要的meterpreter?shell:
利用web_delivery模块成功绕过某安全防护软件:
*本文由 即刻安全Demon 原创发布!
}