玄机蓝队靶场_应急响应_01:linux日志分析
个人感觉这个靶场主要考验对linux的命令的基础掌握,对日志路径的基本了解。
一:解题
(1)ssh连接靶场,先用命令lsb_release -a看看是什么系统。然后发现是Debian GNU/Linux 10 (buster),不太熟悉,结合AI,了解到linux系统日志基本是在/var/log路径,结合搜索,登录相关日志基本上在auth和secure文件中,但是debian没有secure日志。
cd /var/log
ls -al
##发现两个文件auth.log和auth.log.1,.1肯定是日志备份文件。
##又因为auth.log只有本机连接靶机的记录,所以应该看auth.log.1,
##原本应该很顺利对auth.log.1文件进行grep搜索,结果莫名其妙报错说二进制文件不支持,
##后面看别人WP没有这个问题好像,在这上面卡了挺久
##结合AI找到了解决办法:
xxd -p ./auth2.log | tr -d '\n' | sed 's/../& /g' | xxd -r -p | tr -cd '\11\12\15\40-\176' > ascii_output.txt
##把二进制变成ASCII编码保存,然后再cat再grep就没事了。
##查看对root爆破的ip的命令:
grep -E "root" ./ascii_output.txt | sort | uniq -c | sort -nr
##或者这个
grep -E "pam_unix\(sshd:auth\): authentication failure" ./ascii_output.txt | sort | uniq -c | sort -nr
(2)这个就一个,简单
(3)这个账户名字典卡了半个多钟,
test1,test2,test3,user,hello,root
没想到是按照出现频率来排列。
(4)刚开始觉得是19,错了之后意识到IP只算爆破root账户的次数,那就是4.
(5)没用日志分析,直接
cat /etc/passwd
发现两个账户,debian和test2.
正确姿势:
grep -a "new user" auth.log.1
二:收获
(1):了解到自己对linux命令还是不够熟悉:
使用到的命令:
lsb_release -a
xxd -p ./auth2.log | tr -d '\n' | sed 's/../& /g' | xxd -r -p | tr -cd '\11\12\15\40-\176' > ascii_output.txt
grep -E "sshd.*Accepted password|pam_unix\(sshd:auth\): authentication failure" /var/log/auth.log* /var/log/secure* /var/log/auth.log /var/log/audit/audit.log 2>/dev/null | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr
grep -E "root" ./ascii_output.txt | sort | uniq -c | sort -nr
grep -E "pam_unix\(sshd:auth\): authentication failure" ./ascii_output.txt | sort | uniq -c | sort -nr
grep -a "Failed password for root" /var/log/auth.log.1 | awk '{print $11}'| sort | uniq
grep -a "new user" auth.log.1
对于grep命令:
-E 用于扩展正则表达式,允许更复杂的模式匹配。
-a 用于将二进制文件视为文本,确保能够读取和处理其中的文本行。(直接代替那个xxd重新ASCII编码了)
对于uniq:
-c:输出每一行及其出现的次数。
对于sort
-n:表示按照数字进行排序。这个选项会将输入的内容当作数字进行排序,而不是字母或字符的排序。
-r:表示以递减(降序)顺序进行排序。默认情况下,sort 是按升序排序的,加上 -r 选项后,会以相反的顺序排列。
另外还有:
awk '{ print $1, $3 }' file.txt ##打印第1和第3列
| awk '{print $11}' ##打印对应的第11列
(2)对于linux文件系统结构中日志文件存放路径不清晰:
根目录(/): 所有目录和文件的起始点。根目录包含了整个文件系统的基本结构。
/bin: 存放系统命令(二进制文件)的目录。这里包含了许多用户和系统都需要使用的基本命令,如ls、cp、mv等。
/boot: 存放启动系统所需的文件,包括内核文件和引导加载程序(Bootloader)。
/dev: 包含设备文件,每个硬件设备在这个目录下都有相应的文件表示。
/etc: 存放系统配置文件的目录。这里包含了许多系统的配置文件,如网络配置、用户配置等。
/home: 用户的主目录。每个用户在这个目录下都有一个独立的子目录,用于存放个人文件和配置。
/lib和/lib64: 存放系统和应用程序所需的共享库文件。
/mnt: 用于挂载其他文件系统的临时挂载点。
/opt: 用于存放第三方软件的安装目录。
/proc: 虚拟文件系统,提供了内核和进程的信息,可以通过读取这里的文件获取系统状态。
/root: 超级用户(root)的主目录。
/sbin: 存放系统命令(二进制文件),与/bin类似,不过这里的命令通常是供超级用户使用的。
/tmp: 用于存放临时文件的目录。
/usr: 存放系统用户和系统管理器命令的目录,也包含了一些共享的系统资源。
/var: 存放经常变化的文件,如日志文件、缓存文件等。
其中日志文件路径通常在:
/var/log/auth.log* /var/log/secure* /var/log/auth.log /var/log/audit/audit.log
可以参考:https://mp.weixin.qq.com/s/oYkXES5vXecBJyk64ghxoQ
另外,关于这类好用的日志分析工具,听说有个splunk,没用过,有机会试试。
玄机蓝队靶场_应急响应_01:linux日志分析的更多相关文章
- 6.【应急响应】Linux入侵排查思路
0x01 入侵排查思路 一.账号安全 基本使用: 1.用户信息文件/etc/passwd root:x:0:0:root:/root:/bin/bash account:password:UID:GI ...
- 【应急响应】Linux安全加固
一.补丁管理 1.查看系统信息 uname -a 2.配置yun源 CentosOS 可以直接升级 RHEL系列可以配置使用CentosOS源 3.升级软件包 yum –y update 二.安全工具 ...
- Linux安全事件应急响应排查方法总结
Linux安全事件应急响应排查方法总结 Linux是服务器操作系统中最常用的操作系统,因为其拥有高性能.高扩展性.高安全性,受到了越来越多的运维人员追捧.但是针对Linux服务器操作系统的安全事件也非 ...
- 红蓝对抗 - 蓝队手册(BTFM)(转载)
本文已发表在嘶吼RoarTalk,未经授权,请勿转载! http://www.4hou.com/technology/10173.html 最佳阅读体验版:https://stackedit.io/v ...
- Linux应急响应(三):挖矿病毒
0x00 前言 随着虚拟货币的疯狂炒作,利用挖矿脚本来实现流量变现,使得挖矿病毒成为不法分子利用最为频繁的攻击方式.新的挖矿攻击展现出了类似蠕虫的行为,并结合了高级攻击技术,以增加对目标服务器感染 ...
- Window应急响应(四):挖矿病毒
0x00 前言 随着虚拟货币的疯狂炒作,挖矿病毒已经成为不法分子利用最为频繁的攻击方式之一.病毒传播者可以利用个人电脑或服务器进行挖矿,具体现象为电脑CPU占用率高,C盘可使用空间骤降,电脑温度升 ...
- Linux应急响应入侵排查思路
0x00 前言 当企业发生黑客入侵.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解 ...
- Linux应急响应(一):SSH暴力破解
0x00 前言 SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全.SSH口令长度太短或者复杂度不够,如仅包含数字,或仅包 ...
- Linux应急响应思路详谈
一.主机篇: 1.自动化初筛,建议使用RootkitHunter (1)安装 $sudo wget https://jaist.dl.sourceforge.net/project/rkhunter/ ...
- 最全Linux应急响应技巧 【转】
概述 Linux环境下处理应急响应事件往往会更加的棘手,因为相比于Windows,Linux没有像Autorun.procexp这样的应急响应利器,也没有统一的应急响应处理流程.所以,这篇文章将会对L ...
随机推荐
- 动环监控方案,为什么推荐79元全志T113-i国产平台?
什么是动环监控系统? 通信电源及机房环境监控系统(简称"动环监控系统"),是对分布在各机房的电源柜.UPS.空调.蓄电池等多种动力设备,及门磁.红外.窗破.水浸.温湿度.烟感等机房 ...
- 手把手教你解决spring boot导入swagger2版本冲突问题,刘老师教编程
手把手教你解决spring boot导入swagger2版本冲突问题 本文仅为个人理解,欢迎大家批评指错 首先Spring Boot 3 和 Swagger 2 不兼容.在 Spring Boot 3 ...
- mysql 授权远程连接
解决方案 改表法 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 &quo ...
- react懒加载,减少首屏加载时间
最近在写一个react-ant-admin的集成框架用于快速搭载中后台项目.其中遇到很多问题,最重要的应该是访问速度了.我就想 react 可不可以和 vue 一样用路由懒加载来减少首页渲染所花费的时 ...
- 使用pyqt5制作简单计分桌面应用
这是一个自己写的使用pyqt5制作简单计分桌面应用的实例,希望对大家有所帮助.制作这个小程序的起因是因为有个艺术类比赛需要设计这个一个桌面程序,方便统分. (此程序尚存在部分小bug,请慎用,公开代码 ...
- MySQL中为什么要使用索引合并(Index Merge)?
本文分享自华为云社区<[华为云MySQL技术专栏]MySQL中为什么要使用索引合并(Index Merge)?>,作者:GaussDB 数据库. 在生产环境中,MySQL语句的where查 ...
- 18B20的CRC官方讲解
理解和运用MAXIM IBUTTON产品中的循环冗余校验(CRC) 摘要 : 全部1-Wire器件,包括iButton器件,都具有唯一的8字节注册码,储存在只读存储器(ROM)中.该注册码在1-Wir ...
- Codeforces Round 953 (Div. 2)
Codeforces Round 953 (Div. 2) 闲来无事水题解. A . B . C 显然 \(k\) 是偶数.考虑 \(k\) 的上界,\(p_{1}=n,p_{n}=1\),产生 \( ...
- 【Java】JDBC Part2 工具类封装实现
JDBC 工具类封装实现 - 注册和配置都放在静态代码块完成 - 静态方法获取连接,和释放资源 - 本类不产生实例 - 5版本 + 已经可以实现无驱动注册,所以驱动部分注释了 package cn.d ...
- 【微信小程序】02 常用标签组件
轮播标签: 轮播图 <swiper> <!-- 轮播项 --> <swiper-item>1</swiper-item> <swiper-item ...