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

admin 2024年8月24日21:21:38评论36 views字数 2407阅读8分1秒阅读模式

简介

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

知识点

日志文件 是Linux系统中极为重要的一部分,它们记录了系统和应用程序的各种活动信息。通过日志文件,系统管理员可以监控系统的运行状态、发现潜在的问题,并进行故障排除。

常见日志文件

Linux系统中的日志文件通常存储在 /var/log 目录下,常见的日志文件包括:

/var/log/syslog:记录系统的各种信息和错误。

/var/log/auth.log:记录身份验证相关的信息,如登录和认证失败。

/var/log/kern.log:记录内核生成的日志信息。

/var/log/dmesg:记录系统启动时内核产生的消息。

/var/log/boot.log:记录系统启动过程中的消息。

/var/log/messages:记录系统的广泛消息,包括启动和应用程序信息。

/var/log/secure:记录安全相关的消息。

/var/log/httpd/:记录Apache HTTP服务器的访问和错误日志(若安装了Apache)。

/var/log/nginx/:记录Nginx服务器的访问和错误日志(若安装了Nginx)。

复现

连接靶机

flag 1.有多少IP在爆破主机ssh的root帐号,如果有多个使用","分割

遇到这种问题我们首先要想到日志文件。通常上ssh登录的日志会储存在auth.log或备份文件(auth.log.1)里面

1.访问靶机的 var/log 目录 查找里面的日志文件

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

2.打开 auth.log.1 发现里面有很多的ssh登录日志

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

发现里面有很多日志 要进行筛选 发现 Failed password for root 为爆破root用户失败的特折

使用语句

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

命令分析

cat auth.log.1:
cat 命令用于显示 auth.log.1 文件的内容。
这里 auth.log.1 是一个日志文件,通常是系统日志的备份文件。
|:
管道符号,用于将前一个命令的输出作为下一个命令的输入。
grep -a "Failed password for root":

grep 命令用于在输入中搜索包含特定模式的行。
-a 选项表示将文件内容视为文本文件(此选项通常在处理二进制文件时使用,但对于纯文本文件,可以省略)。
"Failed password for root" 是搜索模式,即查找所有包含"Failed password for root"的行,这些行表示尝试登录root用户的失败尝试。
awk '{print $11}':

awk 是一个文本处理工具,用于按字段处理文本。
{print $11} 表示打印每行的第11个字段。假设日志格式为标准格式,第11个字段通常是IP地址。
sort:

sort 命令用于对输入行进行排序。
这里是对提取的IP地址进行排序。
uniq -c:

uniq 命令用于删除重复的行。
-c 选项表示对每个唯一的行计数,即统计每个IP地址的出现次数。
sort -nr:

sort 命令再次用于排序。
-n 选项表示按数值进行排序。
-r 选项表示按降序排序。
组合起来,即按出现次数从高到低排序。
more:

more 命令用于分页显示输出。

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

得到 爆破ip 提交flag

flag{192.168.200.2,192.168.200.31,192.168.200.32}

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

使用命令

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

Accepted 为登录成功的 语句

(这里忘记截图啦)

会有    2  192.168.200.2   的回显

提交flag

flag{192.168.200.2}

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

使用语句

cat auth.log.1 | grep -a "Failed password" |perl -e 'while($_=<>){ /for(.*?) from/; print "$1n";}'|uniq -c|sort -nr
cat auth.log.1 | grep -a "Failed password" | perl -e 'while($_=<>){ /for(.*?) from/; print "$1n";}'| uniq -c | sort -nr
cat auth.log.1 显示文件内容。
grep -a "Failed password" 在文件中搜索所有包含 "Failed password" 的行。
perl -e 'while($_=<>){ /for(.*?) from/; print "$1n";} ' 使用 Perl 正则表达式从每行日志中提取出 "for xxx from" 部分的字符串,即远程主机的 IP 地址。
uniq -c 统计每个 IP 地址出现的次数,并将其前缀显示到每行的开头。
sort -nr 对 IP 地址出现次数进行逆序排序。

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

得到flag

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

flag 4.登陆成功的IP共爆破了多少次

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

之前已经分析了次数,直接交flag

flag{2}

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

使用语句

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

添加新用户 会有 new user 的特征  利用这个特性 我们筛选日志

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

得到两个用户 经尝试

flag{test2}

原文始发于微信公众号(船山信安):玄机 第一章 应急响应-Linux日志分析

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年8月24日21:21:38
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   玄机 第一章 应急响应-Linux日志分析http://cn-sec.com/archives/3090898.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息