玄机:第一章 应急响应-Linux日志分析

linux常用日志路径:

Apache:/var/log/httpd/  /var/log/apache/  /var/log/apache2/
Nginx:/var/log/nginx/
MySQL:/var/log/mysql/  /var/log/mariadb/
PostgreSQL:/var/log/postgresql/
PHP:/var/log/php/
SSH(认证日志):/var/log/secure  /var/log/auth.log
系统日志:/var/log/messages

常用的linux文本处理命令:

cat 查看文件内容
cat filename       # 查看文件内容
cat > filename     # 重定向输出到文件,如果文件不存在则创建
cat file1 file2 > combined.txt  # 将两个文件合并到一个文件中

grep 搜索文件中的文本模式
grep 'pattern' filename  # 在文件中搜索包含pattern的行
grep -i 'pattern' filename  # 忽略大小写搜索
grep -a 'pattern' filename  # 以文本形式读取文件

awk 文本处理工具
awk '{print $1}' filename  # 打印文件中每一行的第一个字段
awk '$3 > 100' filename  # 打印第三个字段值大于100的行
awk 'NR % 2 == 0' filename  # 打印偶数行

sort 对文本文件的内容进行排序
sort filename  # 按升序对文件进行排序
sort -r filename  # 按降序排序
sort -n filename  # 按数值大小进行排序

uniq 过滤或合并文件中的重复行,通常与sort联合使用
sort filename | uniq  # 过滤文件中的重复行
sort filename | uniq -c  # 统计每行出现的频率
sort filename | uniq -d  # 只显示重复出现的行

简介

账号:root
密码:linuxrz
连接:ssh root@IP

问题

有多少IP在爆破主机ssh的root帐号,如果有多个使用","分割
ssh爆破成功登陆的IP是多少,如果有多个使用","分割
爆破用户名字典是什么?如果有多个使用","分割
登陆成功的IP共爆破了多少次
黑客登陆主机后新建了一个后门用户,用户名是多少

1.有多少IP在爆破主机ssh的root帐号,如果有多个使用","分割 小到大排序 例如flag{192.168.200.1,192.168.200.2}

linux登录相关的日志存储在 /var/log 路径下的 secure 或 auth.log 中;此处存在文件 auth.log 和 auth.log.1,auth 日志常见于 Debian 系;auth.log.1 文件,是因为系统的一个日志轮换机制,当日志文件达到一定大小或满足特定的时间条件时,auth.log 文件会轮转,旧的文件会被重命名为 auth.log.1;所以需要从 auth.log 和 auth.log.1 两个文件中获取内容

根据日志观察root用户登录的关键词,password for root

awk 命令默认根据空格排列,所以ip在第11列

统计次数用 uniq -c 命令

扫描二维码关注公众号,回复: 17473439 查看本文章

cat /var/log/auth.log /var/log/auth.log.1 | grep -a "password for root" | awk '{print $11}' | sort -nr | uniq -c

flag{192.168.200.2,192.168.200.31,192.168.200.32}

2.ssh爆破成功登陆的IP是多少,如果有多个使用","分割

日志中登录成功的关键词为:Accepted,ip依旧在11列

cat /var/log/auth.log /var/log/auth.log.1 | grep -a "Accepted" | awk '{print $11}' | sort -nr | uniq -c

flag{192.168.200.2}

3.爆破用户名字典是什么?如果有多个使用","分割

经过观察日志发现,登录的用户名出现在for 和 from之间,所以可以使用正则表达式判断

可以用sed命令提取,-n 阻止自动输出

s/.for (.) from.*/\1/p 这是一个 sed 的替换命令,用于查找匹配模式 for … from 并打印出 for 后面的内容

cat /var/log/auth.log /var/log/auth.log.1 | grep -a "Failed password" | sed -n 's/.*for \(.*\) from.*/\1/p' | uniq -c | sort -nr

flag{user,hello,root,test3,test2,test1}

4.成功登录 root 用户的 ip 一共爆破了多少次

在日志中提取关键词 Failed password,awk 提取黑客登录 ip,输出爆破次数

cat /var/log/auth.log.1 /var/log/auth.log | grep -a "Failed password" | awk '{if($11=="192.168.200.2") print $11}' | sort | uniq -c

flag{4}

5.黑客登陆主机后新建了一个后门用户,用户名是多少

新建用户关键词是new user,直接查找即可

cat /var/log/auth.log.1 /var/log/auth.log | grep -a "new user"

flag{test2}

猜你喜欢

转载自blog.csdn.net/weixin_68416970/article/details/142560872