蓝队应急响应-Linux日志分析及常用命令总结

6fe4274ceda41f5900c96dc22f26eafa.gif  

7133bf6542e55390c6162fb3b7dc56b9.gif

玄机靶场地址:https://xj.edisec.net/

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

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

在 Linux 系统下,日志默认存放位置目录为:/var/log/

系统日志配置文件:/etc/rsyslog.conf

相关文件关系如下表:

日志文件

文件说明

/var/log/cron

记录了系统定时任务相关的日志。

/var/log/cups

记录打印信息的日志。

/var/log/dmesg

记录了系统在开机时内核自检的信息,也可以使用 dmesg 命令直接查看内核自检信息。

/var/log/maillog

记录邮件信息。

/var/log/message

记录系统重要信息的日志。这个日志文件中会记录 Linux 系统的绝大多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日志文件。

/var/log/btmp

记录错误登录日志,这个文件是二进制文件,不能直接 vim 查看,而要使用 lastb 命令查看。

/var/log/lastlog

记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文件,不能直接 vim ,而要使用 lastlog 命令查看。

/var/log/wtmp

永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。同样这个文件也是一个二进制文件,不能直接 vim ,而需要使用 last 命令来查看。

/var/run/utmp

记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不断变化,只记录当前登录用户的信息。同样这个文件不能直接 vim ,而要使用 w  , who , users等命令来查询。

/var/log/secure

记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,比如 SSH 登录,su 切换用户,sudo 授权,甚至添加用户和修改用户密码都会记录在这个日志文件中。

比较重要的几个日志:

登录失败记录:/var/log/btmp ,对应命令:lastb

最后一次登录:/var/log/lastlog ,对应命令:lastlog

登录成功记录:/var/log/wtmp ,对应命令:last

登录日志记录:/var/log/secure

目前登录用户信息:/var/run/utmp ,对应命令:w 、 who 、 users

历史命令记录:history ,其中仅清理当前用户:history -c

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

第一题是看有多少IP在爆破,这里我们需要查一下登录日志,可以查/var/log/secure或者auth.log,先进/var/log目录,看一下有auth.log和auth.log.1,查看一下发现auth.log里没有日志,应该是在auth.log.1里。另外,爆破的话在日志里会显示 "Failed password for root" 。所以我们可以搜索 "Failed password for root"  ,然后提取出用户名。这里需要用到grep、awk、sort、uniq等命令,这些命令具体用法后面有总结。

322bfc8fe1d9de2f326eeb5ef3447166.png

da8c472ff2a0404ce725974d05573700.png

bdda68974f1cb2104a9ff56694ac8dcc.png

699402c7c9ad32502baff8affd0e9b33.png

第一种方法

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

第二种方法

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

第三种方法

grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

grep参数:

-a 不要忽略二进制数据。

-i:在搜索的时候忽略大小写

-n:显示结果所在行号

-c:统计匹配到的行数,注意,是匹配到的总行数,不是匹配到的次数

-o:只显示符合条件的字符串,但是不整行显示,每个符合条件的字符串单独显示一行

-v:输出不带关键字的行(反向查询,反向匹配)

-w:匹配整个单词,如果是字符串中包含这个单词,则不作匹配

-Ax:在输出的时候包含结果所在行之后的指定行数,这里指之后的x行,A:after

-Bx:在输出的时候包含结果所在行之前的指定行数,这里指之前的x行,B:before

-Cx:在输出的时候包含结果所在行之前和之后的指定行数,这里指之前和之后的x行,C:context

-e:实现多个选项的匹配,逻辑or关系

-q:静默模式,不输出任何信息,当我们只关心有没有匹配到,却不关心匹配到什么内容时,我们可以使用此命令,然后,使用”echo $?”查看是否匹配到,0表示匹配到,1表示没有匹配到。

-P:表示使用兼容perl的正则引擎。

-E:使用扩展正则表达式,而不是基本正则表达式,在使用”-E”选项时,相当于使用egrep。

awk简介

awk是一种编程语言,用于linux下对文本和数据进行处理。数据可以来来自标准输入、一个或多个文件,或其他命令的输出。

更多作为脚本来使用。

awk处理数据的方式:逐行扫描文件,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定动作,则把匹配的行显示到标准输出(屏幕)。如果没有指定模式,则所有被操作所指定的行都被处理。

2、选项

选项 含义 备注

-f 从脚本文件中读取awk命令。 常用

-F 指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F: (–field-separator) 常用

-v 赋值一个用户定义变量。

开始使用 awk,以了解其工作原理。在命令行中输入以下命令:
$ awk '{ print }' /etc/passwd
您将会见到 /etc/passwd 文件的内容出现在眼前。现在,解释 awk 做了些什么。调用 awk 时,我们指定 /etc/passwd 作为输入文件。执行 awk 时,它依次对 /etc/passwd 中的每一行执行 print 命令。所有输出都发送到 stdout,所得到的结果与与执行catting /etc/passwd完全相同。
现在,解释 { print } 代码块。在 awk 中,花括号用于将几块代码组合到一起,这一点类似于 C 语言。在代码块中只有一条 print 命令。在 awk 中,如果只出现 print 命令,那么将打印当前行的全部内容。
这里是另一个 awk 示例,它的作用与上例完全相同:
$ awk '{ print $0 }' /etc/passwd
在 awk 中, $0 变量表示整个当前行,所以 print 和 print $0 的作用完全一样。
如果您愿意,可以创建一个 awk 程序,让它输出与输入数据完全无关的数据。以下是一个示例:
$ awk '{ print "" }' /etc/passwd
只要将 "" 字符串传递给 print 命令,它就会打印空白行。如果测试该脚本,将会发现对于 /etc/passwd 文件中的每一行,awk 都输出一个空白行。再次说明, awk 对输入文件中的每一行都执行这个脚本。以下是另一个示例:

$ awk '{ print "hiya" }' /etc/passwd

运行这个脚本将在您的屏幕上写满 hiya。

二. 多个字段

awk 非常善于处理分成多个逻辑字段的文本,而且让您可以毫不费力地引用 awk 脚本中每个独立的字段。以下脚本将打印出您的系统上所有用户帐户的列表:
$ awk -F":" '{ print $1 }' /etc/passwd  
上例中,在调用 awk 时,使用 -F 选项来指定 ":" 作为字段分隔符。awk 处理 print $1 命令时,它会打印出在输入文件中每一行中出现的第一个字段。以下是另一个示例: 
$ awk -F":" '{ print $1 $3 }' /etc/passwd
以下是该脚本输出的摘录:
halt7
operator11
root0
shutdown6
sync5
bin1
....etc.

如您所见,awk 打印出 /etc/passwd 文件的第一和第三个字段,它们正好分别是用户名和用户标识字段。现在,当脚本运行时,它并不理想 -- 在两个输出字段之间没有空格!如果习惯于使用 bash 或 python 进行编程,那么您会指望 print $1 $3 命令在两个字段之间插入空格。然而,当两个字符串在 awk 程序中彼此相邻时,awk 会连接它们但不在它们之间添加空格。以下命令会在这两个字段中插入空格:
$ awk -F":" '{ print $1 " " $3 }' /etc/passwd
以这种方式调用 print 时,它将连接 $1 、" " 和 $3 ,创建可读的输出。当然,如果需要的话,我们还可以插入一些文本标签:
$ awk -F":" '{ print "username: " $1 "/t/tuid:" $3" }' /etc/passwd
这将产生以下输出:
username: halt uid:7
username: operator uid:11
username: root uid:0
username: shutdown uid:6
username: sync uid:5
username: bin uid:1

Linux sort 命令用于将文本文件内容加以排序。

sort 

可针对文本文件的内容,以行为单位来排序。

语法

sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件][-k field1[,field2]]

参数说明

·-b 忽略每行前面开始出的空格字符。

·-c 检查文件是否已经按照顺序排序。

·-d 排序时,处理英文字母、数字及空格字符外,忽略其他的字符。

·-f 排序时,将小写字母视为大写字母。

·-i 排序时,除了040至176之间的ASCII字符外,忽略其他的字符。

·-m 将几个排序好的文件进行合并。

·-M 将前面3个字母依照月份的缩写进行排序。

·-n 依照数值的大小排序。

·-u 意味着是唯一的(unique),输出的结果是去完重了的。

·-o<输出文件> 将排序后的结果存入指定的文件。

·-r 以相反的顺序来排序。

·-t<分隔字符> 指定排序时所用的栏位分隔字符。

·+<起始栏位>-<结束栏位> 以指定的栏位来排序,范围由起始栏位到结束栏位的前一栏位。

·--help 显示帮助。

·--version 显示版本信息。

·[-k field1[,field2]] 按指定的列进行排序。

实例

在使用 sort 命令以默认的式对文件的行进行排序,使用的命令如下:

sort testfile

sort 命令将以默认的方式将文本文件的第一列以 ASCII 码的次序排列,并将结果输出到标准输出。

使用 cat 命令显示 testfile 文件可知其原有的排序如下:

$ cat testfile # testfile文件原有排序  

test 30  Hello 95  Linux 85 

使用 sort 命令重排后的结果如下:

$ sort testfile # 重排结果  Hello 95  Linux 85  

test 30 

使用-k 参数设置对第二列的值进行重排,结果如下:

$ sort testfile -k 2

test 30  Linux 85 Hello 95  

uniq命令

使用说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“- ”表示,则从标准输入读取。

该命令各选项含义如下:

-c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。

-d 只显示重复行。

-u 只显示文件中不重复的各行。

-n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。

+n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。

-fn 与- n相同,这里n是字段数。

-sn 与+n相同,这里n是字符数。

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

 

5de736fe6257b5255d95777b4dfb9cee.png

这题跟上题一样做法,爆破成功会留下accepted关键字,所以搜索这个就行了。

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

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

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

爆破得用户名字典,还是查关键字Failed password,这里注意后面不加root,因为黑客会爆破其他用户。

cat/var/log/auth.log.1 /var/log/auth.log | grep -a "Failed password" | perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'| uniq -c | sort -nr

grep -a "Failed password"  /var/log/auth.log.2|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr

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

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

07ff915325b9fd669d4d75bc2ca1c60b.png

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

登录成功的IP地址,在前面的语句里加一下,筛选出来192.168.200.2的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

 

96bcd8de624f53f4c40bdce888673f89.png


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

 这里可以查看/etc/passwd里面的用户,或者在auth.log里直接搜索是否添加用户,关键字useradd

54f4fed5578476a2936e7b483f51556f.png

b8dc265a57f0db376ec8f3175e038669.png

各位大佬们,我们入驻知识大陆啦!

经过2个月时间,帮会已有900+高价值干货笔记,且还在持续更新中

帮会简介

d73dcac7b813c0dd3aa93745a0709430.png

帮会专注于网安安全领域,每日分享行业最新资讯和前沿学习资料。同时还会不定期分享常用工具、教程等实用资源。

帮会中已发布900+各类安全攻防资源,所有发布的内容均精心挑选、成体系化,让你远离无用信息及零碎的知识点。

加入帮会,你可获得:

1.  各类网络安全攻防、CTF比赛信息、解题工具、技巧、书籍、靶场资源;

2.  攻防思维导图,0基础开启网络安全学习之路;

3.  遇到任何技术题都快速提问与讨论交流的思路;

4.  组织队伍参与各类CTF比赛;

5.  面试大厂心得及内推资格;

6.  学习规划、人生规划也可以探讨哦!

帮会内容和资源

1、攻防对抗

5a0a347e9481c7dafa71f90c1730fe5a.png

2、  分析研判

68649f972fa946478cc7f0ed5cf1876d.png

3、  渗透测试

c9160052f380664915e2e3ca4e011dcc.png

4、  帮会资源百宝箱

f38b12d2b39ea95e5f9ab69425f9b837.png

786cc1bc1c3d8fd35285d96edd9a3d50.png

5、社群

087cfa2d97ba1adaba5e7528823505a6.png

6bcff3e1bf5c732d5342b07f7697880f.png

e9c0c9759280f3d132351f5bb9591166.png

帮会技术保证

帮主:网络安全攻防实验室

● 「网络安全攻防实验室」的帮主

● 公众号“网络安全实验室”的作者

● 资深安全专家,15年网安经验

● 拥有丰富的HW、重大保障、应急响应、安全运营、网络交换等方面经验/独特见解

权益升级活动

原价59元年卡

现在59元享永久会员

微信扫码支付即可加入

⬇️

c94863cc12ac9a2e1d914dd8762d5f6e.jpeg

如果觉得有用,记得关注公众号、收藏文章哦!

关注公众号,回复“CTF”,领取CTF各方向学习/解题思维导图。回复“面试”,领取网安面试必考题及面试经验。

往期文章


CTF之misc杂项解题技巧总结(六)——视频、音频文件

CTF之misc杂项解题技巧总结(五)——图片文件

CTF入门必备之题型介绍

CTF之misc杂项解题技巧总结(四)——SWF游戏和取证分析

CTF之misc杂项解题技巧总结(三)——压缩文件

CTF之misc杂项解题技巧总结(二)——隐写术

CTF之misc杂项解题技巧总结(一)——编码与加密

干货|CTF工具资源库

11月全球CTF比赛时间汇总来了!

新手如何入门CTF?ctf比赛/学习资源整理,记得收藏!

CTF之web常见题型及解题技巧总结

CTF学习之CRYPTO(密码学)总结

CTF pwn 中最通俗易懂的堆入坑指南

CTF之misc杂项解题技巧总结(七)——流量分析、搜索引擎及

12月全球CTF比赛时间汇总来了!

ctf比赛/学习资源整理,记得收藏!文末有CTF群

CTF-REVERSE练习之逆向初探

CTF学习路线推荐,建议收藏

CTF解题基本思路步骤(misc和web)

Linux PWN从入门到熟练

Linux PWN从入门到熟练(二)

CTF apk 安卓逆向考点、例题及三款移动应用安全分析平台

CTF 六大方向基础工具合集

CTF-MISC基础-压缩包隐写总结及常见套路

建议收藏,CTF网络安全各方向入门知识汇总

超详细,手把手教你打造CTF动态靶场

移动安全入门教程--Xposed篇

基于Ubuntu搭建CTFd平台(全网最全)

年度总结,2022年CTF精华文章汇总

1月全球CTF比赛时间汇总来了!

CTF指南--隐写术总结

ctf杂项misc之文件修复,含文件结构修复、高度修复、标识修复

ctf杂项misc之音频隐写总结

CTF之web安全赛题解析

一道简单Chacha20_RC4算法CTF题目

CTF学习、项目、工具知识仓库

网络安全个人技能发展路线图

CTF-综合测试(高难度)【超详细】

CTFHUB--技能树--SSRF全解(上篇)

CTFHUB--技能树--SSRF全解(下篇)

网络安全初、中、高阶学习路线图,建议收藏!

2023年网络安全技术自学路线图及职业选择方向

逆向分析学习入门教程

CTF PWN新手入门篇,PWN学习总结

网络安全ctf比赛/学习资源整理,解题工具、思路、靶场、学习路线,推荐收藏!

网络安全思维导图

网络安全 CTF(加密, 解密)全过程解析

CTF网络安全之Misc-zip压缩包分析

CTF无线网络安全技术基础

2月国内外CTF比赛时间汇总来了!

网络安全面试题(含答案)

网络安全思维导图

Kali linux无线网络渗透详解笔记

数据库语法整理及WAF绕过方式

干货|网络安全渗透测试面试问题汇总,持续更新 建议收藏

几道ctf的密码入门题目

CTFer成长之路之CTF中的SQL注入

CTFer成长之路之命令执行漏洞

端口漏洞总结

ctf比赛linux渗透测试常用命令,记得收藏

2022年网络攻击事件盘点

1c9815737d3142bd51550e3e35c1ad54.gif

END

扫码关注

网络安全研究所

更多精彩等着你

46a30008c53fdad3cdfcf82b62dd2a31.jpeg

  • 14
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网络安全研究所

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值