在上篇文章中,埋埋通过win7运行msf.exe,kali接收到一个session,但这个session权限只是普通权限,无法做更多的 *** 作。
权限提升
1.提高程序运行级别
2.UAC绕过
3.利用提权漏洞进行提权
提高程序运行级别
msf模块>exploit/windows/local/ask
但会触发UAC,只有当用户同意是才能获得更高权限弯困蚂
可以看到session 5只是普通权限,这时候利用ask模块进行提权,该模块需要设置要用来提权的session,以及启动程序的名称
ask模块设置完成后,就可以使用了,运行exploit,回到win7,可以看见d出一个execl.exe程序框,如果你点击是,则kali会获得一个新的session,如果点击否,则kali会得到失败信息。
Win7 截图:
win7 点击 否,kali返回信息:
win7 点击 是,kali获取到新的session
使用background退出这个meterpreter
使用sessions,查看session
使用sessions -i 6,进入新获取的session
使用getuid查看该session权限
发现还是普通权限
这时候使用getsystem,获得系统权限
再使用getuid查看
UAC绕过
msf模块
exploit/windows/local/bypassuac
exploit/windows/local/bypassuac_injection
exploit/windows/local/bypassuac_vbs
这里使用第一尺逗个模块进行绕过UAC提权
利用提权漏洞进行提权
exploit/windows/local/ms14_058_track_popup_menu
等等
这里使用
exploit/windows/local/ms16_014_wmi_recv_notif
这个模块,同样使用info和show options查看信息,只需要设置一个session就可以使用
攻击成功会直接返回一个shell,使用whoami查看权限
成功提权
用以下命令进行权限升级:net localgroup administrators USER /add
其中,USER为你当前要用的用户名。
因为设计缺陷,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账户已经获得管理员权限。我们接着输入“net user piao 123456 /add”新建一个账户名为piao,密码为123456的用户。然后输入“net localgroup administrators piao /add”,将账户piao加入系统的管理员组。这两个只有管理员权限才可以执行的命令都可以成功完成,入侵成功。
小提示:我们获取的管理员权限依赖于执行“keybd.exe”后d出的命令提示符窗口,如果把这个d出的命令提示符窗口关闭,以888账户运行的命令提示符会立刻回到普通用户权限,所以在执行命令的时候一定不可以将之关闭。
危害虽小,仍须防范
由于该漏洞是因为本地系统设计上的缺陷造成的,所以只能用于本地用户的权限提升,而且必须是本地登录的用户。但是不管漏洞如何之小,存在肯定会对系统造成严重的安全隐患,我们还是要修复漏洞,以防别有用心之人。
要利用漏洞就需要使用到“命令提示符”,我悉搜们可以通过限制“命令提示符”的运行权限使攻击者无从下手。首先在资源管理器中点击“工具”按钮,选择“文件夹选项”,切换到“查看”标签,去掉“使用简单文件共享(推荐)”前面的钩,这一步是为了让文件的属性菜单中显示“安全”标签。然后我们搭陆御进入“c:windowssystem32”,找到“cmd.exe”,点右键选择“属性”,切换到“安全”标签,将其中“组或用户名称”中除了管理员外的所有用户都删除,完成后点“确定”,这样当普通用户想运行“命令提示符”的时候将会出现“拒绝访问”的警告框。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)