基于[陇剑杯 2021]初学流量、日志分析

工具准备:Wireshark

Wireshark 基本语法,基本使用方法,及包过虑规则_wireshark语法-CSDN博客

在线修复PCAC流量包工具:

pcapfix - online pcap / pcapng repair service

学习参考:

流量包分析简介 - CTF Wiki

电子取证-Windows日志分析 | W4rnIn9

HTTP与TCP协议

TCP/IP协议、HTTP协议-CSDN博客

http协议是应用层协议,建立在TCP协议基础之上,基于TCP/IP通信协议来传递数据

HTTP协议是超文本传输协议(Hyper Text Transfer Protocol),是用于从万维网服务器传输超文本到本地浏览器的传送协议。

tcp协议主要用于数据传输控制
http协议主要用于应用层的数据交换
http连接是无状态连接;建立的时间非常端
tcp连接是有状态连接;

[陇剑杯 2021]签到

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

下载附件,打开流量包→统计→协议分级

发现TCP协议占比最多,其中HTTP协议占大部分

筛选http流量,发现很多状态码为403的失败请求,故判断为http协议攻击。

[陇剑杯 2021]jwt

题目描述:

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

解题参考:

陇剑杯_[陇剑杯 2021]jwt-CSDN博客

https://www.cnblogs.com/lhqrusht0p/p/18008847

什么是JWT?(细致讲解)-CSDN博客

对JSON的简单理解-CSDN博客

了解jwt

JWT (全称:Json Web Token):一种认证机制,让后台知道该请求是来自于受信的客户端。

JWT的数据结构

JWT 一般是一个字符串,分为三个部分,以 “.” 隔开,通过base64进行加密

xxxxx.yyyyy.zzzzz
头   有效载荷 签名

第一部分 header,包含 算法名称(HS256等)和token的类型(“JWT”)

最后,使用 Base64 URL 算法将JSON 对象转换为字符串保存。

{
    "alg": "HS256",             //alg 属性:表示签名使用的算法,默认为 HMAC SHA256(写为HS256)
    "typ": "JWT"                //typ 属性:表示令牌的类型,JWT 令牌统一写为JWT
}

第二部分 payload,包含 需要传递的不敏感数据

默认情况下 JWT 是未加密的,任何人都可以解读其内容,因此一些敏感信息不要存放于此,以防信息泄露。

还包含七个默认的字段供选择:
    iss (issuer):签发人/发行人
    sub (subject):主题
    aud (audience):用户
    exp (expiration time):过期时间
    nbf (Not Before):生效时间,在此之前是无效的
    iat (Issued At):签发时间
    jti (JWT ID):用于标识该 JWT
//payload是一个 Json 对象,使用 Base64 URL 算法转换为字符串后保存
可如下定义:
{    
    "sub":"主题123",              //默认字段
    "name":"LLINELL",             //自定义字段
    "password":"666",
    "loginTime":"2024-08-07 12:00:00"
}

第三部分 signature,根据不公开的秘钥secretKey加上header中声明的算法,将Header、Payload生成特定的签名。

最终三部分组合起来即形成了token,发送给客户端。

jwt解密/加密 - bejson在线工具

问1 该网站使用了___认证方式。

网站使用的认证方式主要有: 
    Session机制
    JWT
    OAuth2
    Cookie
    HTTP Basic Auth
    OpenID Connect
    双因素认证

下载附件,打开流量包→追踪tcp流

在第1个流发现了请求头中有eyJ开头的token,故该网站使用了jwt认证方式

问2 黑客绕过验证使用的jwt中,id和username是___。(中间使用#号隔开,例如1#admin)

whoami命令:用于快速查看当前操作系统会话中的用户身份信息。

用于显示当前登录的用户信息。

  • Unix/Linux 中,whoami命令 会简单地显示当前有效用户的用户名。
  • Windows 系统中,whoami命令 显示当前用户的用户名和用户组成员资格信息。
在命令行中,whoami 不需要任何参数或选项,只需输入命令即可。

在 Unix/Linux 终端中执行 whoami:
    $ whoami username                //username 就是当前登录用户的用户名。

在 Windows 命令提示符中执行 whoami:
    C:\> whoami domain\username

在第3个流中id是10086,username是admin,执行whoami命令时返回的结果为没有权限

在第10个流中id是10087,username是admin,执行whoami命令时返回的结果是root 

也可直接检索whoami字符串,追踪tcp流。

故答案为10087#admin

问3 黑客获取webshell之后,权限是____?。

在问2弹窗信息中,可以知道,权限为root

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

在Linux或Unix系统中,>符号通常用作重定向操作符
  1. 输出重定向
    >跟在一个命令后面使用时,它会将命令的输出重定向到一个文件中,覆盖该文件的原有内容(如果文件存在)。例如,命令ls > file.txt会列出当前目录下的文件和目录,并将输出保存到file.txt文件中,如果file.txt文件已存在,其内容将被覆盖。

  2. 追加重定向
    使用>>可以将命令的输出追加到文件的末尾,而不是覆盖文件。例如,echo "Hello, World!" >> file.txt会将文本追加到file.txt文件的末尾。

  3. 错误重定向
    错误输出通常被发送到标准错误输出(stderr),可以使用2>重定向错误输出到一个文件,或者使用&>将标准输出和错误输出都重定向到同一个文件。

  4. 输入重定向
    虽然不常用,<可以用于输入重定向,从一个文件读取输入,而不是从标准输入(stdin)。例如,cat < file.txt会读取file.txt的内容并输出。

  5. 管道操作
    管道|不是>的用途,但与重定向密切相关。它用于将一个命令的输出作为另一个命令的输入。例如,ls | grep ".txt"会列出包含".txt"的文件和目录名。

PAM(Pluggable Authentication Modules):

是一种可扩展的认证框架,允许系统管理员通过配置文件来组合多种认证方法。

Temp一般是临时文件夹:

平时使用程序时通常会临时保存用户的工作结果,以防止意外情况造成损失。

在第13、14个流中可以发现黑客应该是操作了1.c文件,判断上传的恶意文件就是1.c。

中间红色那段表示:
字符串被编码并通过URL传递,然后被解码并执行。

|base64 -d 表示将字符串进行Base64解码。
>/tmp/1.c 表示解码后的结果将被写入到临时目录下的1.c文件中。

#可以将1.c的内容base64解码看看

这段代码实现了一个简单的 PAM 认证模块,它在认证过程中收集并存储了用户的用户名和密码

问5 黑客在服务器上编译的恶意so文件,文件名是___。(请提交带有文件后缀的文件名,例如x.so)。

http contains ".so"

题目已经给提示文件后缀名为.so,故可直接用命令 http contains ".so" 查找,在第21流中找到黑客上传的so文件的名字为looter.so

问6 黑客在服务器上修改了一个配置文件,文件的绝对路径为___。

继续分析流量内容

第22个流将将looter.so复制到/lib/x86_64-linux-gnu/security/路径下

第23个流执行ls命令查看目录 /lib/x86_64-linux-gnu/security/

第24、25个流直接输出字符串

第26个流将输出的字符串 auth optional looter.so 追加到 /etc/pam.d/common-auth 内容的末尾。故路径为 /etc/pam.d/common-auth

法二:

在问4中能确认该系统为linux系统,/etc为linux中默认的系统配置文件存放目录

故可通过查看http协议中包含/etc的流量包,来发现黑客修改的配置文件及绝对路径。

http contains "/etc"

[陇剑杯 2021]webshell

https://www.cnblogs.com/summer14/p/17261624.html

题目描述:

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

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

过滤请求login的页面
//wireshark过滤
http.request.uri contains "login"

分析流量包,在第6个流发现一个登录账号密码 Admin123!@#

问2 黑客修改了一个日志文件,文件的绝对路径为___。

找到webshell执行的网页:
http.request.method == "POST"

根据题目提示日志文件,进行关键词log查找

得到日志文件的相对路径  data/Runtime/Logs/Home/21_08_07.log

可根据常见服务器根目录/var/www/html,拼接成绝对路径。

pwd 命令:显示当前用户的工作目录的绝对路径名称。

由上图value可见第3个system执行了pwd命令,追踪tcp流

发现在第31个流中执行pwd命令并成功回显200,返回的信息中包含了根目录/var/www/html

故文件的绝对路径为 /var/www/html/data/Runtime/Logs/Home/21_08_07.log

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

搜索关键字whoami命令快速查看当前操作系统会话中的用户身份信息

http contains "whoami"

追踪HTTP流→发现执行whoami命令成功→搜索 user/group,得到回显的用户 www-data

[陇剑杯 2021]简单日志分析

题目描述:

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

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

分析日志,可知参数内容为user

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

 日志中有3串上传的base64编码,分别解码。在第二串发现路径 /Th4s_IS_VERY_Import_Fi1e

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

将第三串URL解码后,再base64解码得端口 192.168.2.197:8888

[陇剑杯 2021]日志分析

[陇剑杯 2021]日志分析-CSDN博客

题目描述:

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

问1 网络存在源码泄漏,源码文件名是___。(请提交带有文件后缀的文件名,例如x.txt)。

成功访问网站,服务器会响应200并返回数据。

%2e 为URL编码的符号 "." 

分析日志,猜测黑客使用工具对网站目录进行了扫描,可直接搜索状态码为200查看成功访问的日志信息。

发现成功访问了网站以及index.php(默认网站首页);

此外,还有通过GET方式对www.zip的访问记录,猜测该文件为网站泄露的源码信息。

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

%2F 为URL编码的符号 "/"  

使用多个../../../../这种路径表示法通常是为了从当前目录回溯到更高层级的目录。这种做法常见于尝试访问或引用不在当前目录下,而是在更高层级目录中的文件或资源。

直接搜索tmp发现文件名为 sess_car

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

splfileobject:

splfileobject 是PHP5中新加入的一个文件访问类,它继承于php标准库(SPL)中的Iterator和SeekableIterator接口,并提供了对文件的高效访问和处理。splfileobject中的分页方法可以实现分批读取文件内容,对于大文件的处理非常有用。

URL解码可知其中包含了一段序列化后的字符串,可以看出其中内容,黑客尝试使用类 SplFileObject 读取/flag中的内容。

  • 8
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值