个人感觉这个靶场主要考验对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. Centos7或Ubuntu 磁盘扩容

    准备 切换到root用户(获取root权限) 安装: [root]# install lvm2 -y 查看当前信息: # 查看根分区大小 $ df -h Filesystem Size Used Av ...

  2. nginx 添加 模块

    --- title: nginx 添加 模块 date: 2019-10-31 11:21:46 categories: tags: - config - nginx --- 说明: 已经安装好的Ng ...

  3. FFmpeg新旧接口对照使用一览

    背景 根据例程学习调用ffmpeg 库方法的时候,发现了一堆警告. main.cpp:81:37: warning: 'AVStream::codec' is deprecated [-Wdeprec ...

  4. Solo 开发者周刊 (第7期):Sora出世,或许又一行业将会消失?

    这里会整合 Solo 社区每周推广内容.产品模块或活动投稿,每周五发布.在这期周刊中,我们将深入探讨开源软件产品的开发旅程,分享来自一线独立开发者的经验和见解.本杂志开源,欢迎投稿. 好文推荐 sor ...

  5. java.net.UnknownHostException: api.weixin.qq.com解决办法

    java.net.UnknownHostException: api.weixin.qq.com at java.net.AbstractPlainSocketImpl.connect(Abstrac ...

  6. UE4 WebUI使用指南2-通信

    前面一篇WebUI的文章讲述的WebUI插件的下载,开启,在UE中创建,加载网页等. 本文继续讲述通过WebUI,UE和网页实现双向通信的实现思路. 一点说明 由于WebUI 使用的浏览器内核并不是最 ...

  7. 使用PHP实现字符串的上标和下标,比如:M²和Log₂FC

    要在PHP中实现字符串的上标和下标效果,并直接在命令行或网页中正确显示,你可以分别使用Unicode转义序列或HTML实体来表示上标(UPER)和下标(SUB)字符.对于打印到网页的情况,可以使用HT ...

  8. Django DRF @action 装饰器

    @action 装饰器在Django REST Framework (DRF) 中非常有用,它可以帮助你在ViewSet中创建自定义的动作,而不仅仅是依赖标准的CRUD操作(Create, Read, ...

  9. oeasy教您玩转vim - 8 - # 追加文本

    追加文本 回忆上节课内容 我们这次深入了 i 命令 i 在当前的光标之前插入 I 在本行文本的最前面插入 还有一些常用的编辑命令 . 重做 u 撤销 ctrl+r 还原 关于插入,还有什么讲究吗? 类 ...

  10. oeasy教您玩转vim - 84 - # 命令command

    ​ 命令 command 回忆 关于 函数function 可以调用别的函数 :call append(0,"oeasy o2z o3z") 还可以执行表达式 :call exec ...