个人感觉这个靶场主要考验对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日志分析的更多相关文章

  1. 6.【应急响应】Linux入侵排查思路

    0x01 入侵排查思路 一.账号安全 基本使用: 1.用户信息文件/etc/passwd root:x:0:0:root:/root:/bin/bash account:password:UID:GI ...

  2. 【应急响应】Linux安全加固

    一.补丁管理 1.查看系统信息 uname -a 2.配置yun源 CentosOS 可以直接升级 RHEL系列可以配置使用CentosOS源 3.升级软件包 yum –y update 二.安全工具 ...

  3. Linux安全事件应急响应排查方法总结

    Linux安全事件应急响应排查方法总结 Linux是服务器操作系统中最常用的操作系统,因为其拥有高性能.高扩展性.高安全性,受到了越来越多的运维人员追捧.但是针对Linux服务器操作系统的安全事件也非 ...

  4. 红蓝对抗 - 蓝队手册(BTFM)(转载)

    本文已发表在嘶吼RoarTalk,未经授权,请勿转载! http://www.4hou.com/technology/10173.html 最佳阅读体验版:https://stackedit.io/v ...

  5. Linux应急响应(三):挖矿病毒

    0x00 前言 ​ 随着虚拟货币的疯狂炒作,利用挖矿脚本来实现流量变现,使得挖矿病毒成为不法分子利用最为频繁的攻击方式.新的挖矿攻击展现出了类似蠕虫的行为,并结合了高级攻击技术,以增加对目标服务器感染 ...

  6. Window应急响应(四):挖矿病毒

    0x00 前言 ​ 随着虚拟货币的疯狂炒作,挖矿病毒已经成为不法分子利用最为频繁的攻击方式之一.病毒传播者可以利用个人电脑或服务器进行挖矿,具体现象为电脑CPU占用率高,C盘可使用空间骤降,电脑温度升 ...

  7. Linux应急响应入侵排查思路

    0x00 前言 ​ 当企业发生黑客入侵.系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解 ...

  8. Linux应急响应(一):SSH暴力破解

    0x00 前言 ​ SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全.SSH口令长度太短或者复杂度不够,如仅包含数字,或仅包 ...

  9. Linux应急响应思路详谈

    一.主机篇: 1.自动化初筛,建议使用RootkitHunter (1)安装 $sudo wget https://jaist.dl.sourceforge.net/project/rkhunter/ ...

  10. 最全Linux应急响应技巧 【转】

    概述 Linux环境下处理应急响应事件往往会更加的棘手,因为相比于Windows,Linux没有像Autorun.procexp这样的应急响应利器,也没有统一的应急响应处理流程.所以,这篇文章将会对L ...

随机推荐

  1. 如何查看docker容器的volume挂载情况

    准备在docker容器当中编写个日常维护的脚本,但容器里连yum和vim命令都没有,所以就想到通过容器映射在本机的volume里编写脚本这样在容器中不就可以直接用了吗,那么在这之前你首先得知道dock ...

  2. Ubuntu 22.04扩容LVM空间

    今天为了编译ThingsBoard的源代码,发现原来给虚拟机分配的40个G不够用了.于是乎在VMWare Workstation中扩容了40G的磁盘空间.但是此时lvm是不会自动扩容的,因此我们需要手 ...

  3. Power BI实用技巧:轻松打造专业级甘特图

    Power BI实用技巧:轻松打造专业级甘特图 大家好,今天我们要一起探索Power BI中一个既实用又强大的功能--制作甘特图.甘特图以其直观展示项目时间线和任务进度的特点,在项目管理中扮演着重要角 ...

  4. map端join和reduce端join的区别

    MapReduce Join MapJoin和ReduceJoin区别及优化 maptask处理后写到本地,如果再到reduce,又涉及到网络的拷贝. map端join最大优势,可以提前过滤不需要的数 ...

  5. PromQL全方位解读:监控与性能分析的关键技术

    本文全面探索PromQL,从基础语法到高级操作,详细介绍了数据聚合.时间序列分析及内置函数应用,旨在提升用户构建复杂监控策略和性能分析的能力. 关注[TechLeadCloud],分享互联网架构.云服 ...

  6. CF1800E 题解

    发现一个神奇的事实:显然不限制交换次数可以实现交换任意字符. 因此可以直接判断字符集是否相等. 在考虑哪些地方可以交换. 根据题意可知可以交换的区间为 \([1,n - k]\) 以及 \([k + ...

  7. 2023年台州市初赛Misc

    2023年台州市初赛Misc 这是神马 冰蝎流量,找到key <?php @error_reporting(0); session_start(); $key="144a6b22963 ...

  8. MyBatis xml文件头

    <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC & ...

  9. JDK9之后 Eureka依赖

    <!--Eureka添加依赖开始--> <dependency> <groupId>javax.xml.bind</groupId> <artif ...

  10. CvT:微软提出结合CNN的ViT架构 | 2021 arxiv

    CvT将Transformer与CNN在图像识别任务中的优势相结合,从CNN中借鉴了多阶段的层级结构设计,同时引入了Convolutional Token Embedding和Convolutiona ...