2021陇剑杯部分wp

2021陇剑杯

全是流量分析。麻了。只做了一部分。

参考链接

陇剑杯 个人 ’WriteUp‘-魔法少女雪殇 (snowywar.top)

陇剑杯Writeup(部分) - 惊觉 (leheavengame.com)

1.签到

题目描述:

网关小王在上网途中发现自己的网络访问异常缓慢,于是对网络出口捕获了流量,请您分析流量后进行回答:

1.1:

    #### 题目:

    此时正在进行的可能是http 协议的网络攻击。(如有字母请全部使用小写,填写样例:http、dns、ftp)

    #### 题解:

2.jwt

题目描述:

昨天,单位流量系统捕获了黑客攻击流量,请您分析流量后进行回答:

2.1

题目 :

    该网站使用了 ____** ** 认证方式(如有字母请全部使用小写)

题解:

    jwt

2.2

题目:

    黑客绕过验证使用的jwt中,id和username是____。

题解:

    10087#admin

    解析jwt的token如下

2.3

题目:

    黑客获取webshell之后,权限是___

题解:

    root

    看流量,执行命令whoami。输出alert(‘root’),所以是root

2.4

题目:

    黑客上传的恶意文件文件名是 ___。(请提交带有文件后缀的文件名,如x.txt)

题解:

    /tem/1.c

    继续分析流量,发现这里写入的文件是1.c

2.5

题目:

    黑客在服务器上编译的恶意so文件,文件名是

题解:

    looter.so

    继续分析,解析编码,发现文件时looter.so

2.6

题目:

    黑客在服务器上修改了一个配置文件,文件的绝对路径为____。(请确认绝对路径后再提交)

题解:

    /etc/pam.d/common-auth

    分析流量可以知道,最后的路径是/etc/pam.d/common-auth

3.webshell

题目详情:

单位网站被黑客挂马,请您从流量中分析出webshell,进行回答:

3.1

题目:

    黑客登录系统使用的密码是___。

题解:

    Admin123!@#

    由流量分析可知,登录密码是Admin123!@#。

    使用http.request.method=="POST"来进行筛选

3.2

题目:

    黑客修改了一个日志文件,文件的绝对路径为___。(请确认绝对路径后再提交)

题解:

    /var/www/html/data/Runtime/Logs/Home/21_08_07.log

    简单方法:分组字节流-搜索.log,再拼接根目录即可。

    复杂点:

        绝对路径分为两个部分,一个是网站根目录,一个是相对路径。又因所问为日志文件,所以只需要找到phpinfo(),查找根目录和日志文件拼接即可。

        导出所有的HTTP对象,在index(34).php%3fm=home&a=assign_resume_tpl文件中发现phpinfo页面,修改后缀为html。打开。

        查找根目录

        查找日志文件

        拼接即是绝对路径。

3.3

题目:

    黑客获取webshell之后,权限是

题解:

    www-data

    317这里执行了whoami命令

    319这里有回包,显示是www-data

3.4

题目:

    黑客写入的webshell文件名是

题解:

    1.php

3.5

题目:

    黑客上传的代理工具客户端名字是

题解:

     frpc

    344包发送的信息

    url解码得到如下结果

    可以看到

$f=base64_decode(substr($_POST["j68071301598f"],2))

    是从第二位开始取。解码j68071301598f得到

    也可以从这里看

    这个不会的人是真不会。学习了其他师傅的wp。

3.6

题目:

    黑客代理工具的回连服务端ip是

题解:

    192.168.239.123

    继续解码344的包。把xa5d606e67883a的值解密得

5B636F6D6D6F6E5D0A7365727665725F61646472203D203139322E3136382E3233392E3132330A7365727665725F706F7274203D20373737380A746F6B656E3D586133424A66326C35656E6D4E365A3741386D760A0A5B746573745F736F636B355D0A74797065203D207463700A72656D6F74655F706F7274203D383131310A706C7567696E203D20736F636B73350A706C7567696E5F75736572203D2030484446743136634C514A0A706C7567696E5F706173737764203D204A544E32373647700A7573655F656E6372797074696F6E203D20747275650A7573655F636F6D7072657373696F6E203D20747275650A

3.7

题目:

    黑客得socks5得连接账号、密码是

题解:

    0HDFt16cLQJ&JTN276Gp

    这个题在上一步3.6解码中有

4. 日志分析

题目描述:

单位某应用程序被攻击,请分析日志,进行作答:

4.1

题目:

    网络存在源码泄露,源码文件名是

题解:

    www.zip

    这里我们直接搜索返回状态为200的流量,发现www.zip

4.2

题目:

    分析攻击流量,黑客往/tmp目录写入一个文件,文件名为

题解:

    sess_car

    直接查找tmp即可看到。

4.3

题目:

    分析攻击流量,黑客使用的是__类读取了秘密文件。

题解:

    SplFileObject

    同样的,在目录穿越反序列化的时候,已经显示出来了。

5. 流量分析 后续补上

陇剑杯-1 | The blog of mklkx

题目描述:

5.1

题目:

    攻击者的IP是

题解:

    172.18.0.125

    这里看大佬博客,发现是猜的。具体做法

    唯有85号追踪流的分布与其他的完全不同,且比较均匀。攻击ip只有一个,于是猜测流量分布应该也与其他混淆流量不同,提交过后发现正确。

    

    这个题不太懂,看了大佬得wp。似懂非懂,这里记录一下。

    [[2021陇剑杯部分WP_Y-Y-K的博客-CSDN博客

    分析流量包,主机ip应该是172.18.0.1。都是UDP的包。看包的内容时,注意到UDP包头都是P05=,有的跟base64,有的跟乱码。P05=后面都是00 00 00 00 或者01 00 00 00,其中00的长度是32,01的长度是16,可能是认证过程。

    根据长度16猜测可能是aes,用长度16的base64,即P05=后面是01 00 00 00的,作为aes key解密,02 00 00 00对应的包里面有一个可见字符,其中受害IP为172.18.0.125

6.内存分析

题目描述:

网关小王制作了一个虚拟机,让您来分析后作答

6.1

题目:

    虚拟机的密码是__。(密码中为flag{xxxx},含有空格,提交时不要去掉)

题解:

    flag{W31C0M3 T0 THiS 34SY F0R3NSiCX}

    使用volatility工具进行分析

    imageinfo获取系统信息

    使用lsadump命令查看最后登录的用户,得到flag

    flag{W31C0M3 T0 THiS 34SY F0R3NSiCX}

6.2

题目:

    虚拟机中有一个华为收集的备份文件,文件里的图片的字符串为___。(解题过程中需要用到上一题答案中flag{}内的内容进行处理。本题的格式也是flag{xxxx},含有空格,提交时不要去掉)

题解:

    flag{TH4NK Y0U FOR DECRYPTING MY DATA}

    

    题目说是华为收集,那么直接使用grep命令来搜集有关于HUAWEI的信息。命令: filescan|grep -E “HUAWEI”

    然后把文件dump下来,使用命令

    dumpfiles -Q fileid -D 导出的文件夹

    导出来一个exe文件,我们改一下后缀名,运行看一下,是一个自解压文件。

    这时候需要对解压出来的文件进行解密,需要使用github上解密华为的工具。工具地址是: https://github.com/RealityNet/kobackupdec.git

    使用命令:

     python kobackupdec.py -vvv W31C0M3_T0_THiS_34SY_F0R3NSiCX HUAWEI ./jiemi

    在生成的文件中的解压包中,发现flag图片

7.简单日志分析

题目描述:

某应用程序被攻击,请分析日志后作答:

7.1

题目:

    黑客攻击的参数是___。(如有字母请全部使用小写)

题解:

    user

    翻看日志,发现GET传递的参数为user

7.2

题目:

    黑客查看的秘密文件的绝对路径是___。

题解:

    /Th4s_IS_VERY_Import_Fi1e

    base64解码传递的参数,得到秘密文件

    ### 7.3

题目:

    黑客反弹shell的ip和端口是___。(格式使用"ip:端口",例如127.0.0.1:2333)

题解:

    192.168.2.197:8888

    解码传递的最后一个参数,得到ip和端口

8.SQL注入

这里贴一个脚本,以后做到这类题可以直接上脚本,比一个一个看好。

import re
from urllib.parse import unquote
file_name = "access_1.log"
pattern_string = "select%20flag%20from%20sqli.flag"
#file_name = input("输入文件名,文件记得要在当前脚本目录下:")
#pattern_string = input("复制个特征值过来,比如select,flag啥的:")
flag = ''

# 打开文件以及读取行数
get_File = open(file_name, "r+")
get_line = get_File.readline()

while get_line:
    get_Data = re.search(pattern_string, get_line)
    if get_Data:
        get_Data_Num = re.search(r'4[7-8][0-1]?.*', get_Data.string)
        if get_Data_Num:
            flag += (re.findall(r"%20=%20\'(.+?)\'", get_Data_Num.string))[0]
            print(unquote(flag[:-1], 'utf-8'))
    get_line = get_File.readline()
  
get_File.close()



题目描述:

某程序被攻击,请分析日志后作答

8.1

题目:

    黑客在注入过程中采用的注入手法叫__。(格式为4个汉字,例如:“拼搏努力”)

题解:

    布尔盲注

8.2

题目:

    黑客在注入过程中,最终获取flag的数据库名、表名和字段名是___。(格式为"数据库名#表名#字段名",例如:database#table#column)

题解:

    sqli#flag#flag

    查看日志,即可发现

8.3

题目:

    黑客最后获取到的flag字符串为

题解:

    flag{deddcd67-bcfd-487e-b940-1217e668c7db}

    查看日志,发现每次当数据库位数进行变化时,前一个字母的拼接结果就是flag

9.wifi

题目描述:

服务器、客户端、vmem

9.1

题目:

    小王往upload-labs上传木马后进行了cat /flag,flag内容为___。(压缩包里有解压密码的提示,需要额外添加花括号)

题解:

    flag{5db5b7b0bb74babb66e1522f3a6b1b12}

    

    分析vmem文件。

    在客户端的流量包中,发现wifi名称为My_Wifi

    然后在镜像中查找My_Wifi,发现了个zip。

    导出zip文件

    volatility -f 1.vmem --profile=Win7SP1x86_23418 dumpfiles -Q 0x000000003fdc38c8 -n --dump-dir=./fileout

    解压发现password提示密码是自己wifi的GUID。网上搜索GUID在interfaces里面

    这样的com格式的字符串在注册表中。我们可以使用volatility中的interfaces去定位。得到GUID,{529B7D2A-05D1-4F21-A001-8F4FF817FC3A}。

    得到wifi密码233@114514_qwe,可以用来解密客户端加密流量。

    这里使用airdecap-ng来解密客户端流量

    这里解出来一个流量包文件,打开流量包,导出HTTP文件。

    将pass的值解密,先url解密,再base64解密,得到明文,判断为哥斯拉流量。加密方式是xor_base64。流量密码是

    $pass=‘key’;

    $key=‘3c6e0b8a9c15224a’;

    这里有个解密脚本

<?php
function encode($D,$K){
    
    
    for($i=0;$i<strlen($D);$i++) {
    
    
        $c = $K[$i+1&15];
        $D[$i] = $D[$i]^$c;
    }
    return $D;
}
$pass='key';
$payloadName='payload';
$key='3c6e0b8a9c15224a';

echo gzdecode(encode(base64_decode('流量'),$key));
?>

    得到flag

10.iOS

题目描述:

一位ios安全研究员在家中使用手机联网被黑,不仅被窃密还丢失比特币若干,请你通过流量和日志分析后作答

10.1

题目:

    黑客所控制的C&C服务器IP是___。

题解:

    3.128.156.159

    首先分析access.log文件,发现上传了个一句话木马。然后就没什么了。然后发现keylog.txt文件是对流量包进行RSA解密所需的密钥,先不管。

    查看流量包,然后导出所有的HTTP文件

    查看文件,发现了一个ios_agent参数。还有链接github.com和一个ip。

    然后在流量包的分组字节流中搜索ios_agent参数。

    然后追踪TCP流,发现黑客首先执行了ls,然后从github上执行了wget下载ios_agent 并赋予777权限,然后执行ios_agent命令。

    通过最后执行的这个命令,我们可以看到,黑客控制的C&C服务器ip是3.128.156.159

10.2

题目:

    黑客利用的Github开源项目的名字是___。(如有字母请全部使用小写)

题解:

    stowaway

    在上一问中有看到。

10.3

题目:

    通讯加密密钥的明文是___。

题解:

    hack4sec

    通过10.1中执行命令这条我们可以看到,-s后面跟的参数就是加密密钥。

10.4

题目:

    黑客通过sql盲注拿到了一个敏感数据,内容是___。

题解:

    746558f3-c841-456b-85d7-d6c0f2edabb2

    存在很多http协议,查看http2发现存在sql注入,查看每一位最后的请求值,会得到一个uuid值。

    部分存在TLS加密的流量需要用到密钥进行解密,当浏览器访问https站点时使用SSL/TLS协议。必须拥有服务器私钥,才能得到用于对称加密的密钥,然后真正解开加密的数据。

    我们需要导入TLS协议所需的keylog.txt文件。然后就可以查看http2,也就是https协议了。

    然后搜索select,就可以发现含有select的语句。再像之前那样找sql语句即可,最后hex转一下

10.5

题目:

    黑客端口扫描的扫描器范围是___。(格式使用“开始端口-结束端口”,例如1-65535)

题解:

    10-499

    端口扫描涉及到rst报文和连续端口访问,我们打开专家信息找到rst。然后可以看到是从10开始到499结束。

    

10.6

题目:

    黑客访问/攻击了内网的几个服务器,IP地址为___。(多个IP之间按从小到大排序,使用#来分隔,例如127.0.0.1#192.168.0.1)

题解:

    172.28.0.2#192.168.1.12

    总共有两个。

    在access.log里面很清楚的看到有一个ip地址,然后再在https保温中看到一个攻击的内网服务器地址,也就是进行sql注入攻击的ip地址。

10.7

题目:

    黑客写入了一个webshell,其密码为__。

题解:

    fxxk

    查看access.log里面传的一句话木马。

猜你喜欢

转载自blog.csdn.net/qq_41636200/article/details/121096990