登录靶机,我们的目的是分析 Apache 的日志,Apache+Linux 日志路径一般是以下三种:
-
/var/log/apache/access.log -
/var/log/apache2/access.log -
/var/log/httpd/access.log
这里我们可以发现/var/log
目录下有apache2
文件夹,也就是上面的第二种路径
切换到/var/log/apache2
路径,使用ls -l
列出当前路径下的所有文件,发现access.log
是空的,这里我们分析access.log.1
访问次数最多的 IP
这里手动查询出访问次数最多的 IP,命令如下,这个命令用于统计access.log.1
文件中每个独特的第一部分出现的次数,并显示出现次数最多的前 20 个,这里查询出的 IP 为192.168.200.2
cut -d- -f 1 access.log.1|uniq -c | sort -rn | head -20
查找指纹
第二个 Flag 要求我们查找攻击者的指纹,我们可以根据 IP 在日志中进行反查,所以我们在access.log.1
文件中匹配192.168.200.2
,提取出指纹为Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
,转为 md5 为2d6330f380f44ac20f3a02eed0958f66
cat access.log.1 |grep "192.168.200.2"
查看页面访问次数
第三个 Flag 是index.php
页面被访问的次数,首先在日志中识别/index.php
,之后使用管道符进行拼接,最后使用wc
(word count)命令进行计数,-l
参数就是只计算行数,最终结果为 27
grep "/index.php" access.log.1 |wc -l
查看 IP 访问次数
第四个 Flag 和第三个基本一致,差别在于如果直接使用grep "192.168.200.2"
会匹配到192.168.200.211
这个 IP,造成错误
所以这里我们使用-w
参数进行全匹配,这样就只查询192.168.200.2
的个数了,最终结果是6555
grep -w "192.168.200.2" access.log.1 |wc -l
查看时间段内的 IP
第五个 Flag 要求查看 2023年8月03日8时 这一个小时内有多少IP访问,这个时间段在日志中表示为03/Aug/2023:08:
这里使用grep
命令匹配这个时间段,之后使用awk
命令打印出匹配日志的第一个字段(IP 地址),最后使用sort
命令进行数字(-n
)逆序(-r
),使用 uniq -c
命令计算每个独特IP地址的出现次数
cat access.log.1 | grep "03/Aug/2023:08:" | awk '{print $1}' | sort -nr| uniq -c
最终查询出有五个 IP 在此时间段内进行访问
原文始发于微信公众号(天禧信安):【玄机】第二章-日志分析-Apache 日志分析
- 左青龙
- 微信扫一扫
- 右白虎
- 微信扫一扫
评论