42

工控资产嗅探与分析实践

 5 years ago
source link: https://www.tuicool.com/articles/mIbAJnr
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

* 本工具仅供技术分享、交流讨论,严禁用于非法用途。

1.本文章结合作者在平时工作中经历,对工控资产嗅探所使用的工具进行简单分析与验证,工控资产地址可以通过shodan、fofa、zoomeye等网站进行收集。

2.利用Nmap工具可以对S7、modbus的plc设备进行扫描探测

Nmap 6.4 脚本目录位于:/usr/share/nmap/scripts, 共有448个脚本 如下所示:

VfEfy2f.jpg!web

脚本分类如下:

uM7baeR.jpg!web

脚本参数:

-sC: 等价于 –script=default,使用默认类别的脚本进行扫描。
–script=<Lua scripts>: <Lua scripts>使用某个或某类脚本进行扫描,支持通配符描述
–script-args=<n1=v1,[n2=v2,...]>: 为脚本提供默认参数
–script-args-file=filename: 使用文件来为脚本提供参数
–script-trace: 显示脚本执行过程中发送与接收的数据
–script-updatedb: 更新脚本数据库
–script-help=<Lua scripts>: 显示脚本的帮助信息,其中<Luascripts>部分可以逗号分隔的文件或脚本类别。

脚本使用方式:

执行单个脚本:nmap –script /path/to/script.nse <target>

执行多个脚本:nmap –script /path/to/script.nse,/another/path/script2.nse <target>

执行文件夹包含的所有脚本:nmap –script/path/to/folder/ <target>

描述:探测modbus协议的设备

输入:nmap -sV –script modbus-discover 166.169.57.136 -p 502

输出:

ZFF7VzZ.jpg!web

描述:探测EthernetIP协议的设备

输入:nmap -p 44818 –script enip-enumerate.nse 221.206.153.114

输出:

nEBRRj6.jpg!web

描述:探测CoDeSyS协议的设备

输入:nmap -p 1200,2455 –script codesys-v2-discover 178.242.1.44

输出:

aMJRvaV.jpg!web

描述:探测NiagaraFox协议的设备

输入:nmap -p 1911 –script fox-info 67.176.19.167

输出:

bQvUrab.jpg!web

描述:探测S7协议的设备

输入:nmap -p 102 –script s7-enumerate.nse 79.135.33.188

输出:

bAzMjaI.jpg!web

其它工控组件如下,使用参考: https://github.com/digitalbond/Redpoint#bacnet-discover-enumeratense

fAn63e6.jpg!web

3.用plcscan工具可以对S7、modbus的plc设备进行扫描探测

S7协议plc设备探测

第一步:新建ip.list,将要扫描的ip写入其中

第二步:在plcscan目录下输入python plcscan.py –hosts-list=ip.list –ports=102命令进行扫描并观察结果

N3Az6nv.jpg!web

备注:也可以通过输入python plcscan.py 178.139.130.34 –ports=102 进行指定ip扫描,如下图所示

j2An6zn.jpg!web

modbus协议设备探测

第一步:新建ip.list,将要扫描的ip写入其中

第二步:在plcscan目录下输入python plcscan.py –hosts-list=ip.list –ports=502命令进行扫描并观察结果

zARnYrR.jpg!web

备注:也可以通过输入python plcscan.py 178.139.130.34 –ports=502 进行指定ip扫描,如下图所示

ZzMzuqi.jpg!web

nS7和modbus协议设备探测

第一步:新建ip.list,将要扫描的ip写入其中

第二步:在plcscan目录下输入python plcscan.py –hosts-list=ip.list 命令进行扫描并观察结果

JVRjYrb.jpg!web

4.利用ISF工具对s7、cip、enip、profine-dcp协议工控设备进行资产探测

首先在isf目录下执行以下命令,并进入python环境,如下图所示:

j6jEJvv.jpg!web

S7

目标:扫描S7-300/S7-400设备(开放端口102)

第一步:输入 scanners/s7comm_scan 选择S7扫描插件

第二步:输入 show info 查看插件描述信息

第三步:输入 show options 查看插件使用信息

第四步:设定目标如set target ip

第五步:执行 run 命令开始扫描并查看扫描结果

操作过程如下图所示:

jY7F7vJ.jpg!web

em2yUf3.jpg!web

Vxworks6

目标:扫描vxworks 6.x 设备并且wdbrpc v2版本协议(开放端口17185)

目标:扫描Vxworks6设备

第一步:输入 scanners/vxworks_6_scan 选择vxworks扫描插件

第二步:输入 show info 查看插件描述信息

第三步:输入 show options 查看插件使用信息

第四步:设定目标如set target ip

第五步:执行 run 命令开始扫描并查看扫描结果

操作过程如下图所示:

NrQnIrE.jpg!web

EnthernetIP

目标:扫描ethernetIP协议设备(开放端口44818)

第一步:输入 scanners/cip_scan 选择cip_scan扫描插件

第二步:输入 show info 查看插件描述信息

第三步:输入 show options 查看插件使用信息

第四步:设定目标如set target ip

第五步:执行 run 命令开始扫描并查看扫描结果

操作过程如下图所示:

rmIvIbq.jpg!web

IBbERvn.jpg!web


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK