当前位置: 首页 > news >正文

产品介绍网站设计/重庆seo公司排名

产品介绍网站设计,重庆seo公司排名,网站微信认证费用,wordpress显示标签页关于ICSpector ICSpector是一款功能强大的开源工业PLC安全取证框架,该工具由微软的研究人员负责开发和维护,可以帮助广大研究人员轻松分析工业PLC元数据和项目文件。 ICSpector提供了方便的方式来扫描PLC并识别ICS环境中的可疑痕迹,可以用于…

关于ICSpector

ICSpector是一款功能强大的开源工业PLC安全取证框架,该工具由微软的研究人员负责开发和维护,可以帮助广大研究人员轻松分析工业PLC元数据和项目文件。

ICSpector提供了方便的方式来扫描PLC并识别ICS环境中的可疑痕迹,可以用于手动检查、自动监控任务或响应事件以检测受损设备。在该工具的帮助下,安全研究人员和取证分许人员可以轻松审查输出结果并根据自己的特定需求进行定制化开发。

工具要求

Python 3.9+

Microsoft Visual C++ 14.0

工具架构

工具安装

由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3.9+环境。接下来,广大研究人员可以直接使用下列命令将该项目源码克隆至本地:

git clone https://github.com/microsoft/ics-forensics-tools.git

然后切换到项目目录中,使用pip工具和项目提供的requirements.txt文件安装该工具所需的其他依赖组件:

cd ics-forensics-toolspip install -r requirements.txt

工具参数选项

常用应用程序参数选项

参数

描述

必选/可选

-h, --help

显示帮助信息和退出

可选

-s, --save-config

存储配置文件

可选

-c, --config

配置文件路径,默认为config.json

可选

-o, --output-dir

输出目录路径,默认为output

可选

-v, --verbose

Verbose模式

可选

-p, --multiprocess

以多进程模式运行

可选

特定插件参数选项

参数

描述

必选/可选

-h, --help

显示帮助信息和退出

可选

--ip

地址文件路径、CIDR或IP地址CSV文件路径

必选

--port

端口号

可选

--transport

tcp/udp

可选

--analyzer

要运行的分析器

可选

工具使用

工具命令行使用

python driver.py -s -v PluginName --ip ips.csv
python driver.py -s -v PluginName --ip ips.csv --analyzer AnalyzerName
python driver.py -s -v -c config.json --multiprocess

以代码库形式导入使用

from forensic.client.forensic_client import ForensicClientfrom forensic.interfaces.plugin import PluginConfigforensic = ForensicClient()plugin = PluginConfig.from_json({"name": "PluginName","port": 123,"transport": "tcp","addresses": [{"ip": "192.168.1.0/24"}, {"ip": "10.10.10.10"}],"parameters": {},"analyzers": []})forensic.scan([plugin])

添加插件

研究人员在根据实际需求进行本地自定义开发时,请确保将src目录标记为“Sources Root”。接下来,按照下列步骤开发即可:

1、在插件目录下使用插件名称创建一个新的目录;

2、使用插件名称创建一个新的Python文件;

3、使用下列模板代码开发自己的插件,并将其中的“General”替换为你的插件名称;

from pathlib import Pathfrom forensic.interfaces.plugin import PluginInterface, PluginConfig, PluginCLIfrom forensic.common.constants.constants import Transportclass GeneralCLI(PluginCLI):def __init__(self, folder_name):super().__init__(folder_name)self.name = "General"self.description = "General Plugin Description"self.port = 123self.transport = Transport.TCPdef flags(self, parser):self.base_flags(parser, self.port, self.transport)parser.add_argument('--general', help='General additional argument', metavar="")class General(PluginInterface):def __init__(self, config: PluginConfig, output_dir: Path, verbose: bool):super().__init__(config, output_dir, verbose)def connect(self, address):self.logger.info(f"{self.config.name} connect")def export(self, extracted):self.logger.info(f"{self.config.name} export")

添加分析器

1、在分析器目录下使用跟分析器相关的插件名创建一个新的目录;

2、使用分析器名称创建一个新的Python文件;

3、使用下列模板开发自己的分析器,并将其中的“General”替换为你的分析器名称;

from pathlib import Pathfrom forensic.interfaces.analyzer import AnalyzerInterface, AnalyzerConfigclass General(AnalyzerInterface):def __init__(self, config: AnalyzerConfig, output_dir: Path, verbose: bool):super().__init__(config, output_dir, verbose)self.plugin_name = 'General'self.create_output_dir(self.plugin_name)def analyze(self):pass

工具运行截图

许可证协议

本项目的开发与发布遵循MIT开源许可证协议。

项目地址

ICSpector:【GitHub传送门】

参考资料

Download Python | Python.org

Download Visual Studio Tools - Install Free for Windows, Mac, Linux

Microsoft Defender for IoT | Microsoft Security

Microsoft Security Response Center

ICS 2022: Deep Dive Into PLC Ladder Logic Forensic...

https://www.youtube.com/watch?v=g3KLq_IHId4&ab_channel=MicrosoftSecurityCommunity

相关文章:

ICSpector:一款功能强大的微软开源工业PLC安全取证框架

关于ICSpector ICSpector是一款功能强大的开源工业PLC安全取证框架,该工具由微软的研究人员负责开发和维护,可以帮助广大研究人员轻松分析工业PLC元数据和项目文件。 ICSpector提供了方便的方式来扫描PLC并识别ICS环境中的可疑痕迹,可以用于…...

HCIA——29HTTP、万维网、HTML、PPP、ICMP;万维网的工作过程;HTTP 的特点HTTP 的报文结构的选择、解答

学习目标: 计算机网络 1.掌握计算机网络的基本概念、基本原理和基本方法。 2.掌握计算机网络的体系结构和典型网络协议,了解典型网络设备的组成和特点,理解典型网络设备的工作原理。 3.能够运用计算机网络的基本概念、基本原理和基本方法进行…...

面试经典题---3.无重复字符的最长子串

3.无重复字符的最长子串 我的解法: 滑动窗口: 维护一个[left, right)的滑动窗口,其中[left, right - 1]都是不重复子串;每轮while循环都计算一个滑动窗口的无重复子串长度len,每轮也让right后移一步; 内部…...

使用Robot Framework实现多平台自动化测试

基于Robot Framework、Jenkins、Appium、Selenium、Requests、AutoIt等开源框架和技术,成功打造了通用自动化测试持续集成管理平台(以下简称“平台”),显著提高了测试质量和测试用例的执行效率。 01、设计目标 平台通用且支持不…...

Java基础进阶02-xml

目录 一、XML(可拓展标记语言) 1.学习网站: 2.作用 3.XML标签 4.XML语法 5.解析XML (1)常见解析思想DOM 6.常见的解析工具 7.DOM4j的使用 8.文档约束 (1)概述 (2&#xf…...

《开始使用PyQT》 第01章 PyQT入门 03 用户界面介绍

03 用户界面介绍 《开始使用PyQT》 第01章 PyQT入门 03 用户界面介绍 The user interface (UI) has become a key part of our everyday lives, becoming the intermediary between us and our ever-growing number of machines. A UI is designed to facilitate in human-co…...

HTML-列表

列表 abbr&#xff1a; li : list item ol : orderd list ul : unordered list dl : definition list dt : definition title dd : definition description 1.有序列表(order list) 概念&#xff1a;有顺序或侧重顺序的列表 <h2>要把大象放冰箱总共分几步</h2> &…...

OceanBase创建租户

租户是集群之上的递进概念&#xff0c;OceanBase 数据库采用了多租户架构。 集群偏部署层面的物理概念&#xff0c;是 Zone 和节点的集合&#xff0c;租户则偏向于资源层面的逻辑概念&#xff0c;是在物理节点上划分的资源单元&#xff0c;可以指定其资源规格&#xff0c;包括…...

Java中Integer(127)==Integer(127)为True,Integer(128)==Integer(128)却为False,这是为什么?

文章目录 1.前言2. 源码解析3.总结 1.前言 相信大家职业生涯中或多或少的碰到过Java比较变态的笔试题&#xff0c;下面这道题目大家应该不陌生&#xff1a; Integer i 127; Integer j 127;Integer m 128; Integer n 128;System.out.println(i j); // 输出为 true System.o…...

【Unity】粒子贴图异常白边问题

从PS制作的黑底&#xff0c;白光的贴图。放入Unity粒子中&#xff0c;拉远看会有很严重的白边&#xff0c;像马赛克一样。 材质使用&#xff1a;Mobile/Particles/Additive 经测试只使用一张黑色的图片&#xff0c;也会有白边。 解决方案&#xff1a; 关闭黑色底&#xf…...

bxCAN接收处理

接收处理 为了接收 CAN 消息&#xff0c;提供了构成 FIFO(First Input First Output) 的三个邮箱。为了节约 CPU 负载&#xff0c;简化软件并保证数据一致性&#xff0c;FIFO 完全由硬件进行管理。应用程序通过 FIFO 输出邮箱访问 FIFO 中所存储的消息。 有效消息 当消息依据…...

前端面试题-(浏览器内核,CSS选择器优先级,盒子模型,CSS硬件加速,CSS扩展)

前端面试题-(浏览器内核&#xff0c;CSS选择器优先级&#xff0c;盒子模型&#xff0c;CSS硬件加速&#xff0c;CSS扩展&#xff09; 常见的浏览器内核CSS选择器优先级盒子模型CSS硬件加速CSS扩展 常见的浏览器内核 内核描述Trident(IE内核)主要用在window系统中的IE浏览器中&…...

WEB前端标签的使用

图片标签 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><!-- img标签就是用来将图片显示在页面上的标签 --><img src"图片路径"><!-- 可用路径&#…...

739. 每日温度

提示给定一个整数数组 temperatures &#xff0c;表示每天的温度&#xff0c;返回一个数组 answer &#xff0c;其中 answer[i] 是指对于第 i 天&#xff0c;下一个更高温度出现在几天后。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 示例 1: 输入: tempe…...

stm32F103C8T6简介及标准库和HAL库的区别

什么是单片机 单片机是一种集成电路芯片&#xff0c;把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O和中断系统、定时器/计数器等功能&#xff08;可能还包括显示驱动电路、脉宽调制电路、模拟多路转换电路、A\D转换器等电路&#xff09;集成到一…...

操作系统(3)---操作系统引导

在安装操作系统后&#xff0c;磁盘的分布如下&#xff1a; C盘是这个磁盘的活动分区&#xff08;又称主分区&#xff09;&#xff0c;安装了操作系统 开机过程如下&#xff1a; 1.计算机的主存由RAM和ROM组成&#xff0c;RAM关机数据消失&#xff0c;而ROM&#xff08;Basic In…...

Vue3+Ts:实现paypal按钮

Vue3Ts&#xff1a;实现paypal按钮 一、前端页面按钮实现第一步&#xff1a;下载paypal.js依赖第二步&#xff1a;引入要使用的vue页面&#xff0c;并调用。 二、实现逻辑研究第一点&#xff1a;了解下Buttons自带的style属性第二点&#xff1a;了解下Buttons自带的处理方法第三…...

.[Decipher@mailfence.com].faust 勒索病毒数据怎么处理|数据解密恢复

尊敬的读者&#xff1a; 随着网络技术的发展&#xff0c;勒索病毒已经成为数字时代中一种极具破坏性的威胁。[support2022cock.li].faust [tsai.shenmailfence.com].faust [Encrypteddmailfence.com].faust[Deciphermailfence.com].faust 勒索病毒是其中的一种&#xff0c;它以…...

【UE Niagara】制作星光飘落效果

效果 步骤 1. 新建一个Niagara系统 选择模板“Fountain” 这里命名为“NS_Flare” 打开“NS_Flare”&#xff0c;选中Sprite渲染器&#xff0c;设置材质为上一篇文章中&#xff08;【UE 材质】闪烁的星星材质&#xff09;制作的材质“M_Flare” 2. 由于要在Niagara中调整粒子的…...

SLAM初学

昨天组长布置了任务&#xff0c;要求看香港大学的一篇论文&#xff0c;一打开&#xff0c;好家伙&#xff0c;纯英文&#xff0c;直接翻译着看 几个读不懂的概念&#xff1a; 体素&#xff1a;体素是三维空间中的体积像素的简称。它类似于二维图像中的像素&#xff0c;但在三…...

腾讯云轻量应用服务器Docker如何一键搭建属于自己的幻兽帕鲁服务器?

幻兽帕鲁/Palworld是一款2024年Pocketpair开发的开放世界生存制作游戏&#xff0c;在帕鲁的世界&#xff0c;玩家可以选择与神奇的生物“帕鲁”一同享受悠闲的生活&#xff0c;也可以投身于与偷猎者进行生死搏斗的冒险。而帕鲁可以进行战斗、繁殖、协助玩家做农活&#xff0c;也…...

win10+elasticsearch8.12 安装教程

Elasticsearch是一种搜索引擎&#xff0c;本地安装完成之后&#xff0c;可使用其他编程语言&#xff08;例如python&#xff09;与elasticsearch建立连接&#xff0c;然后使用python脚本搜索elasticsearch中的数据 1下载 elasticsearch elasticsearch最新版官网下载链接 点击…...

经典面试题-死锁

目录 1.什么是死锁&#xff1f; 2.形成死锁的四个必要条件 3.死锁的三种情况 第一种情况&#xff1a; 举例&#xff1a; 举例&#xff1a; 第二种情况&#xff1a;两个线程 两把锁 举例&#xff1a; 第三种情况&#xff1a;N个线程 M把锁 哲学家进餐问题 1.什么是死锁&…...

mysql面试题合集-基础

前言 工作很忙&#xff0c;本质还是自己比较懒惰&#xff0c;很久没更新博客了。近期打算面试&#xff0c;换个工作环境&#xff0c;那就先从面试题开始吧&#xff0c;后续也会逐渐更新自己在工作中的一些经验感悟。接下来切入主题&#xff0c;由于长期做前台开发工作&#xf…...

点灯大师(STM32)

这段代码是用于STM32F10x系列微控制器的C语言程序&#xff0c;目的是初始化GPIOC的Pin 13为输出&#xff0c;并设置其输出高电平。以下是对代码的逐行解释&#xff1a; #include "stm32f10x.h" 这一行引入了STM32F10x设备的头文件&#xff0c;包含了用于STM32F10x系…...

@EnableEurekaServer

定义&#xff1a;EnableEurekaServer注解是Spring Cloud中的一个注解&#xff0c;用于将Spring Boot应用程序指定为Eureka服务器。 Eureka服务器是一个服务注册中心&#xff0c;也被称为发现服务器&#xff0c;管理和协调微服务。保存有关所有客户端服务应用程序的信息。 每个…...

Java中的接口

六. 接口 特性1 - 解决单继承 语法如下 interface A {public default void a() {} }interface B {public default void b() {} }// C 从 A, B 两个接口重用方法 a() 和 b() class C implements A, B {}解决之前的问题 public class TestInterface1 {public static void mai…...

Linux笔记之bash脚本中的-e、和

Linux笔记之bash脚本中的-e、&和&& code review! 文章目录 Linux笔记之bash脚本中的-e、&和&&1.&和&&2.-e 1.&和&& 在Linux bash脚本中&#xff0c;&符号有几个不同的用途&#xff0c;这里列举了一些常见的情况&#xf…...

mapstruct自定义转换,怎样将String转化为List

源码&#xff1a;https://gitee.com/cao_wen_bin/test 最近在公司遇到了这样一个为题&#xff0c;前端传过来的是一个List<Manager>,往数据库中保存到时候是String&#xff0c;这个String使用谷歌的json转化器。 当查询的时候在将这个数据库中String的数据以List<Mana…...

torch.matmul和torch.bmm区别

torch.matmul可用于4维数组的相乘&#xff0c;而torch.bmm只能用户3维数组的相乘&#xff0c;以/home/tiger/.local/lib/python3.9/site-packages/transformers/models/vit/modeling_vit.py中的ViTSelfAttention实现为例&#xff0c;在transpose_for_scores之前的shape是(batch…...