Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell\runas]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\*\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" &&icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" &&icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\exefile\shell\runas2]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\exefile\shell\runas2\command]
@="cmd.exe /c takeown /f \"%1\" &&icacls \"%1\" /grant administrators:F"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" &&icacls \"%1\" /grant administrators:F"
[HKEY_CLASSES_ROOT\Directory\shell\runas]
@="管理员取得所有权"
"NoWorkingDirectory"=""
[HKEY_CLASSES_ROOT\Directory\shell\runas\command]
@="cmd.exe /c takeown /f \"%1\" /r /d y &&icacls \"%1\" /grant administrators:F /t"
"IsolatedCommand"="cmd.exe /c takeown /f \"%1\" /r /d y &&icacls \"%1\" /grant administrators:F /t"
分类: 电脑/网络 >> *** 作系统/系统故障问题描述:
我在域里面只有一个普通账户.不知道域管理员的账户和密码.用什么方法可以将普通账户提升至域管理员账户?问题采纳将有重奖!
解析:
因为设计缺陷,Windows桌面应用程序处理通过keybd_event() function函数发送的键盘事件时存在溢出错误,攻击者可以通过向以更高权限运行的桌面应用程序(如explorer.exe)发送恶意的键盘事件,使用管理员权限执行任意代码。这一漏洞可以使一个普通用户权限的账户使用管理员权限对系统进行任意 *** 作。该漏洞影响的系统:Windows 2000,Windows XP,Windows2003。
准备好入侵工具
pulist:一款进程PID查看器,可以在命令提示符下查看当前系统进程的PID值。 keybd:键盘事件权限提升漏洞的溢出工具,通过它可以取得系统管理员权限。 nc:黑客入侵的“瑞士军刀”,系统端口监听利器,功能相当强大。
入侵过程
一、获得进程PID值
根据漏洞特点,我们需要获取一个桌面应用程序(如explorer.exe)的进程PID值。在系统的“任务管理器”中,我们是看不到进程的PID值的,所以我们需要借助一款可以查看系统进程PID值的小工具——pulist。在“命令提示符”中运行“pulist.exe”,即可显示当前系统进程的PID值,我们在其中找到“explorer.exe”进程的PID,这里是“1716”(如图)。
此主题相关图片如下:
小知识:进程的PID值指的是代表各进程的ID值。PID就是对各进程的身份标志,每个进程都有自己唯一的PID值。
二、提升账户权限
信息收集完毕,我们使用一个名为“888”的普通用户权限账户进行漏洞测试。我们运行“命令提示符”,输入“runas /user:888 cmd.exe”这个命令的意思是以用户“888”的权限运行一个命令提示符窗口,回车后系统会出现一个新的命令提示符窗口,其窗口标题为“cmd.exe(运行为888)”。这个命令提示符中我们的权限只是普通用户级别的,很多 *** 作不能进行,例如添加删除用户等。当试图用该账户进行用户的添加删除 *** 作时将会出现错误。
将下载回来的漏洞利用程序keybd解压到某个目录中,例如“c:”。此外我们还要用到远程监听工具nc,将它与keybd放在同一目录中。在命令提示符中进入keybd所在的文件夹,输入命令 “keybd.exe 1716”。回车,这时系统会跳出一个新的命令提示符窗口,表示keybd.exe已经溢出成功。
小提示:溢出时要保证系统的默认输入法为“英文”,否则将会使溢出失败。
溢出成功后,就该nc出马了。在命令提示符中进入nc所在的目录,然后输入“nc -vv localhost 65535”,回车后便出现了欢迎界面。这表示888账户已经获得管理员权限。我们接着输入“ user piao 123456 /add”新建一个账户名为piao,密码为123456的用户。然后输入“ localgroup administrators piao /add”,将账户piao加入系统的管理员组。这两个只有管理员权限才可以执行的命令都可以成功完成,入侵成功。
小提示:我们获取的管理员权限依赖于执行“keybd.exe”后d出的命令提示符窗口,如果把这个d出的命令提示符窗口关闭,以888账户运行的命令提示符会立刻回到普通用户权限,所以在执行命令的时候一定不可以将之关闭。
危害虽小,仍须防范
由于该漏洞是因为本地系统设计上的缺陷造成的,所以只能用于本地用户的权限提升,而且必须是本地登录的用户。但是不管漏洞如何之小,存在肯定会对系统造成严重的安全隐患,我们还是要修复漏洞,以防别有用心之人。
要利用漏洞就需要使用到“命令提示符”,我们可以通过限制“命令提示符”的运行权限使攻击者无从下手。首先在资源管理器中点击“工具”按钮,选择“文件夹选项”,切换到“查看”标签,去掉“使用简单文件共享(推荐)”前面的钩,这一步是为了让文件的属性菜单中显示“安全”标签。然后我们进入“c:windowssystem32”,找到“cmd.exe”,点右键选择“属性”,切换到“安全”标签,将其中“组或用户名称”中除了管理员外的所有用户都删除,完成后点“确定”,这样当普通用户想运行“命令提示符”的时候将会出现“拒绝访问”的警告框
你域账户登录后,在系统-用户里就有该域账户的登录信息啦.这时你可以在"我的电脑"右键-"管理"-"用户和组"的"组"里双击administrators组.然后添加你的域账户进去就行啦.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)