网络安全--wazuh环境配置及漏洞复现

这篇具有很好参考价值的文章主要介绍了网络安全--wazuh环境配置及漏洞复现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、wazuh配置

 二、wazuh案例复现


一、wazuh配置

1.1进入官网下载OVA启动软件

Virtual Machine (OVA) - Installation alternatives (wazuh.com)

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

 1.2点击启动部署,傻瓜式操作

1.3通过账号:wazuh-user,密码:wazuh进入wazuh

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

1.4将桥接模式更改为仅nat模式 1.5更改配置之后输入重新启动命令 service network restart

查看自身ip

ip a

1.6配置已好,本地开启小皮Apache直接访问

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

1.7有时会因为网络问题出现如下问题,我们采用重启wazuh即可

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

wazuh重启:

systemctl restart wazuh-manager

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

 二、wazuh案例复现

2.1wazuh初体验

当我们使用本地的cmd通过ssh一直连接wazuh的时候便会出现十级报错,此次在后台可以明显的看到有爆破的提示扫描,通过分析其具体的数据包以及对应的规则理解到wuzuh在外来访问的时候,会触发到解码器,其作用是用来抓取关键信息,其中核心便是正则表达式进行正则匹配,当数据来了之后,wazuh程序会分析我们的日志,把这些日志信息发到相对应的解码器去,通过解码器去进行解码,解码完后,再发送到相应的规则,然后把解码完的数据通过规则,再次进行匹配,最终展示到仪表盘的Modules里的Security events里

复现例图:

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

网络安全--wazuh环境配置及漏洞复现,网络安全,安全
 

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

2.2我们通过一道文件上传题举例其背后拦截的原理

2.2.1题目: 

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

2.2.2第一步:来到nginx目录下/var/www/html创建index.php并写入案例

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

 案例:

<?php
function fun($var): bool{
    $blacklist = ["\$_", "eval","copy" ,"assert","usort","include", "require", "$", "^", "~", "-", "%", "*","file","fopen","fwriter","fput","copy","curl","fread","fget","function_exists","dl","putenv","system","exec","shell_exec","passthru","proc_open","proc_close", "proc_get_status","checkdnsrr","getmxrr","getservbyname","getservbyport", "syslog","popen","show_source","highlight_file","`","chmod"];
 
    foreach($blacklist as $blackword){
        if(strstr($var, $blackword)) return True;
    }
 
    
    return False;
}
error_reporting(0);
//设置上传目录
define("UPLOAD_PATH", "./uploads");
$msg = "Upload Success!";
if (isset($_POST['submit'])) {
$temp_file = $_FILES['upload_file']['tmp_name'];
$file_name = $_FILES['upload_file']['name'];
$ext = pathinfo($file_name,PATHINFO_EXTENSION);
if(!preg_match("/php/i", strtolower($ext))){
die("只要好看的php");
}
 
$content = file_get_contents($temp_file);
if(fun($content)){
    die("诶,被我发现了吧");
}
$new_file_name = md5($file_name).".".$ext;
        $img_path = UPLOAD_PATH . '/' . $new_file_name;
 
 
        if (move_uploaded_file($temp_file, $img_path)){
            $is_upload = true;
        } else {
            $msg = 'Upload Failed!';
            die();
        }
        echo '<div style="color:#F00">'.$msg." Look here~ ".$img_path."</div>";
}

2.2.3这是咱们的前端页面

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <div class="light"><span class="glow">
            <form enctype="multipart/form-data" method="post" action="./index.php">
                嘿伙计,传个火,点支烟,快活人生?!
                <input class="input_file" type="file" name="upload_file" />
                <input class="button" type="submit" name="submit" value="upload" />
            </form>
    </span><span class="flare"></span>
    </div>
</body>
</html>

 2.2.4执行

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

 2.4.5分析

网络安全--wazuh环境配置及漏洞复现,网络安全,安全其中原因也就在这个循环判断和检测身上,而检测到底是检测什么,咱们继续往下看 

2.4.6额外补充(限制原因在此)

2.4.6.1  eval函数中的参数是字符

2.4.6.2  assert函数中的参数为表达式(不能在其中执行字符),非要用:好,上编码选择base64(原理:多加了一个eval函数)

2.4.6.3   异或取反绕过,百分号,变相取等,字符串拼接

而我们可以利用以上所说的为我们自身建造php后门进阶到shell反弹获取权限

抛出例题:

异或:

①因为代码中对字符"A"和字符"`"进行了异或操作。在PHP中,两个变量进行异或时,先会将字符串转换成ASCII值,再将ASCII值转换成二进制再进行异或,异或完,又将结果从二进制转换成了ASCII值,再将ASCII值转换成字符串

<?php
    echo "A"^"`";
?>

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

 ②抛出真正的异或来分析

<?php
    function B(){
        echo "Hello Angel_Kitty";
    }
    $_++;
    $__= "?" ^ "}";
    $__();
?>

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

$_++意思为下划线自增, $__="?"是跟我们①所说的一样异或运算,得到的结果进行赋值,知道这两个小东西相等那异或出B此进程也就结束,输出如上所示

其余的进阶都与这个小东西同理,换了大于小于号,其实换汤不换药,本质上都是变相取等让命令输出

异或失效:

那么当异或和取反也无法解决的代码升级问题呢:(下划线和$符禁止,自增异或取反失效)

代码如下:

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

<?php 

include'flag.php'; 

if(isset($_GET['code'])){ 
   $code=$_GET['code']; 
   if(strlen($code)>50){ 
       die("Too Long."); 
  } 
   if(preg_match("/[A-Za-z0-9_]+/",$code)){ 
       die("Not Allowed."); 
  } 
   @eval($code); 
}else{ 
   highlight_file(__FILE__); 
} 

本地输出示例: 

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

在看代码之前我们先了解一个东西:PHP7前是不允许($a)();这样的方法来执行动态函数的,但PHP7中增加了对此的支持。所以,我们可以通过(‘phpinfo’)();来执行函数;第一个括号可以是任意PHP表达式

举个栗子:

<?php
$str = 'phpinfo';
$res = urlencode(~$str);
echo $res;
?>

输出结果:

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

利用php的特性

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

根据这个小案例总结上面咱们提出例题的问题:

如何绕过?只要PHP上传过程中,自然会生成一个临时文件,这个临时文件在/tmp/目录一下,名字大概如(PHP(随机字符)),那么我在访问文件的时候,我就可以使用文件上传(咱们可以上传,但是主机不接收,但是临时文件还是会生成)

 而文件如何执行成为了当下的一个问题:在linux下我们执行文件可以用./但是要赋予文件相应权限,而还有一种方法可以执行,那便是(点  空格   /):

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

新的问题出现了,如何去匹配文件呢,那不得不说linux下文件名支持用glob通配符代替

那么便就可以是/???/???????,却会出现错误,因为我们是全局匹配,这样/bin/目录下的文件好像也符合要求,那么就该有请我们的ASCII表了,我们可以利用前面额外补充提到的取反这个东西去进行取反匹配,结果呢,总不尽人意会出现一大坨一大坨,那就证明有些东西还是无法排除的掉,而glob有一个有趣的写法,那便是支持【0-9】来表示一个范围,还有所有的文件名都是小写,那么我们离答案也越来越近了,我们只需要找到一个大写字母的“glob”通配符,就能精准的找到我们所要执行的文件(. /???/???????[@-[ ]),看图二可知,这样的匹配确实是可以匹配到东西的(不看其他啥,最后一个字母是大写就已经跟我们确认过眼神了),那这样一来,我们的实现就有办法了,那么理论形成,实践开始,关注图三:

一大坨:

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

 图二:

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

 图三:我们模拟一个临时上传就会发现文件是在/tmp/目录下面的

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

 接下来我们通过抓包,细致研究:

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

 首先code接受的参数是临时文件(code匹配的值还是要放回eval),一补两操作,一个接收pose一个接收code ,最终执行在eval,要注意的是匹配的时候空格是+(回忆sql注入)

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

 pass:小补充(使用unbentu的一定要看)调成false,就不会生成临时文件影响咱们匹配了

 vim /etc/systemd/system/multi-user.target.wants/apache2.service

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

 最后一个问题:怎么样去执行才好

PHP: eval - Manual

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

 重点:闭合标签,echo输出(=),注意到这两点加个访问标签即可(自此成功)

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

 写入端口密码,蚁剑直接连接,随便写文件(wazuh出来了,全盘监控会扫描到,接下来我们继续看向wazuh),然后反弹shell,接下来重要的是提权问题(利用find)

find /bin -perm -u=s -type f 2>/dev/null
find /usr -perm -u=s -type f 2>/dev/null
find / -perm -u=s -type f 2>/dev/null

三、防御案例

1.wazuh埋点,使用ubentu代理(添加代理)

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

2.复制生成的代码在ubentu底下 

网络安全--wazuh环境配置及漏洞复现,网络安全,安全 3.安装刚才的服务

dpkg -i wazuh-agent.deb

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

4.端点重启

sudo systemctl daemon-reload
sudo systemctl enable wazuh-agent
sudo systemctl start wazuh-agent

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

 5.配置完成的代表

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

6.埋点成功 

网络安全--wazuh环境配置及漏洞复现,网络安全,安全

 文章来源地址https://www.toymoban.com/news/detail-668882.html

到了这里,关于网络安全--wazuh环境配置及漏洞复现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【网络安全】CVE漏洞分析以及复现

    漏洞详情 Shiro 在路径控制的时候,未能对传入的 url 编码进行 decode 解码,导致攻击者可以绕过过滤器,访问被过滤的路径。 漏洞影响版本 Shiro 1.0.0-incubating 对应 Maven Repo 里面也有 【一一帮助安全学习,所有资源获取一一】 ①网络安全学习路线 ②20份渗透测试电子书 ③安全

    2024年02月06日
    浏览(46)
  • 网络安全 log4j漏洞复现

    前言: log4j被爆出“史诗级”漏洞。其危害非常大,影响非常广。该漏洞非常容易利用,可以执行任意代码。这个漏洞的影响可谓是重量级的。 漏洞描述: 由于Apache Log4j存在递归解析功能,未取得身份认证的用户,可以从远程发送数据请求输入数据日志,轻松触发漏洞,最

    2024年02月09日
    浏览(59)
  • 惠尔顿 网络安全审计系统 任意文件读取漏洞复现

    惠尔顿网络安全审计产品致力于满足军工四证、军工保密室建设、国家涉密网络建设的审计要求,规范网络行为,满足国家的规范;支持1-3线路的internet接入、1-3对网桥;含强大的上网行为管理、审计、监控模块;用户访问功能,内容过滤功能;流量控制功能、带宽管理功能

    2024年02月22日
    浏览(47)
  • debian12网络静态ip配置-OSSIM 安全漏洞扫描系统平台

    本配置适合于服务器上的静态ip配置,该方法简单可靠。 1 临时配置 ifconfig eth0 192.168.1.97 netmask 255.255.255.0 broadcast 192.168.1.255 ip route add default via 192.168.1.1 2 主要的网络配置文件 /etc/network/interfaces /etc/resolv.conf 3 配置ip、netmask和gateway 在/etc/network/interfaces里面加上: auto eth0 (这个

    2024年02月11日
    浏览(42)
  • 【网络安全】JWT安全漏洞

    Json Web Token(JWT) JSON Web Token(JWT)是一个非常轻巧的规范。这个规范允许我们使用JWT在两个组织之间传递安全可靠的信息。 JWT是一个有着简单的统一表达形式的字符串: 头部(Header) 头部用于描述关于该JWT的最基本的信息,例如其类型以及签名所用的算法等。 JSON内容要经

    2024年02月12日
    浏览(34)
  • wazuh初探系列一 : wazuh环境配置

    目录 方法一:一体化部署 安装先决条件 第一步、安装所有必需的软件包 第二步、安装Elasticsearch 1、添加 Elastic Stack 存储库 安装 GPG 密钥: 添加存储库: 更新源: 2、Elasticsearch安装和配置 安装 Elasticsearch 包: 下载配置文件/etc/elasticsearch/elasticsearch.yml 3、创建和部署证书 下

    2024年02月11日
    浏览(40)
  • 【网络安全】命令执行漏洞

    应用程序中有时候需要调用一些执行系统命令的函数,在php中常见的为 system 、 exec 、 shell_exec 、 passthru 、 proc_poen 、 popen 等函数用来执行系统命令。当黑客能控制这些函数的参数时,就可以讲恶意的系统命令拼接到正常的命令中,就会命令执行攻击,这就是命令执行漏洞。

    2024年02月03日
    浏览(37)
  • 【网络安全】Xss漏洞

    定义: XSS 攻击全称跨站脚本攻击,是为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为 XSS,XSS 是一种在 web 应用中的计算机安全漏洞,它允许恶意 web 用户将代码植入到 web 网站里面,供给其它用户访问,当用户访问到有恶意代码的网页就会产生

    2023年04月20日
    浏览(43)
  • 网络安全漏洞分类详解

    一、漏洞类型 缓冲区溢出、跨站脚本、DOS攻击、扫描、SQL注入、木马后门、病毒蠕虫、web攻击、僵尸网络、跨站请求伪造、文件包含、文件读取、目录遍历攻击、敏感信息泄露、暴力破解、代码执行漏洞、命令执行、弱口令、上传漏洞利用、webshell利用、配置不当/错误、逻辑

    2024年02月04日
    浏览(37)
  • 信息安全-网络安全漏洞防护技术原理与应用

    网络安全漏洞: 又称为脆弱性,简称漏洞。 漏洞 一般是 致使网络信息系统安全策略相冲突的缺陷 ,这种缺陷通常称为 安全隐患 安全漏洞的影响: 主要有机密性受损、完整性破坏、可用性降低、抗抵赖性缺失、可控制性下降、真实性不保等 根据已经公开的漏洞信息,网络

    2024年02月11日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包