Linux木马-应急响应(六)

1.1 溯源

1.1.1 查看当前登录的用户

w是一个命令行工具,它可以展示当前登录用户信息,并且每个用户正在做什么,它同时展示以下信息:系统已经运行多长时间、当前时间和系统负载。

[root@test ~]# w
 09:11:44 up 3 days, 17:03,  2 users,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.1.74     Fri14    0.00s  0.58s  0.00s w
root     pts/1    192.168.1.74     Fri16    2days  0.04s  0.04s –bash
  • 第一行展示的信息和uptime命令运行结果一样,它包含了下列信息:
  • 09:11:44:系统当前时间
  • up 3 days, 17:03:系统运行时间
  • 2 users:登录用户数目
  • load average: 0.00, 0.01, 0.05:过去1分钟,5分钟和15分钟内系统负载平均值,这个值是对正在运行或者等待磁盘I/0 操作的任务数目的一个考量,它基本上是告诉你过去的一段时间系统有多忙。
  • 第二行包括以下信息:
  • USER:登录用户名
  • TTY:登录用户使用的终端名称
  • FROM:来自登录用户的主机名或者IP
  • LOGIN@:用户登录时间
  • IDLE:从用户上次和终端交互到现在的时间,即空闲时间
  • JCPU:依附于tty的所有进程的使用时间
  • PCPU:用户当前进程的使用时间。当前进程名称显示在WHAT
  • WHAT:用户当前进程和选项/参数

1.1.2 查看用户最近一次登录

lastlog命令用于显示系统中所有用户最近一次登录信息。

lastlog文件在每次有用户登录时被查询。可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log/lastlog的内容,它根据UID排序显示登录名、端口号(tty) 和上次登录时间,如果一个用户从未登录过,lastlog显示**Never logged in**。注意需要以root身份运行该命令。

[root@test ~]# lastlog
Username         Port     From             Latest
root             pts/1    192.168.1.74     Fri Jul 29 16:09:44 +0800 2022
bin                                        **Never logged in**
daemon                                     **Never logged in**
adm                                        **Never logged in**
lp                                         **Never logged in**
sync                                       **Never logged in**
shutdown                                   **Never logged in**
halt                                       **Never logged in**
mail                                       **Never logged in**
operator                                   **Never logged in**
games                                      **Never logged in**
ftp                                        **Never logged in**
nobody                                     **Never logged in**
systemd-network                            **Never logged in**
dbus                                       **Never logged in**
polkitd                                    **Never logged in**
tss                                        **Never logged in**
abrt                                       **Never logged in**
sshd                                       **Never logged in**
postfix                                    **Never logged in**
chrony                                     **Never logged in**
java                                       **Never logged in**

[root@test ~]# lastlog | grep -v "Never logged in"
Username         Port     From             Latest
root             pts/1    192.168.1.74     Fri Jul 29 16:09:44 +0800 2022

1.1.3 查看历史登陆用户

last可以查看所有成功登录到系统的用户记录,lastb 查看登录成功和失败的用户记录。

单独执行last指令时,它会读取位于/var/log/wtmp的文件,并把该给文件的内容记录的登录系统的用户名单全部显示出来。

单独执行lastb指令时,它会读取位于/var/log/btmp的文件,并把该文件内容记录的登入系统失败的用户名单全部显示出来。

[root@test ~]# last
root     pts/1        192.168.1.74     Fri Jul 29 16:09   still logged in
root     pts/0        192.168.1.74     Fri Jul 29 14:00   still logged in
root     pts/1        192.168.1.29     Thu Jul 28 16:49 - 01:45  (08:56)
root     pts/0        192.168.1.74     Thu Jul 28 16:09 - 18:56  (02:46)
reboot   system boot  3.10.0-957.el7.x Thu Jul 28 16:08 - 10:42 (3+18:33)
root     pts/1        192.168.1.74     Thu Jul 28 16:04 - down   (00:02)
root     pts/0        192.168.1.74     Thu Jul 28 16:02 - down   (00:04)
reboot   system boot  3.10.0-957.el7.x Thu Jul 28 16:02 - 16:07  (00:04)
root     pts/0        192.168.1.74     Thu Jul 28 15:47 - down   (00:03)
root     tty1                          Thu Jul 28 15:46 - 15:47  (00:00)
reboot   system boot  3.10.0-957.el7.x Thu Jul 28 15:46 - 15:50  (00:04)

wtmp begins Thu Jul 28 15:46:41 2022
[root@test ~]# lastb
root     ssh:notty    192.168.1.74     Mon Aug  1 11:01 - 11:01  (00:00)

btmp begins Mon Aug  1 11:01:44 2022
# 登录失败的请求更重要的是ip地址信息,所以我们只取ip地址进行统计
[root@test ~]# lastb -a|egrep -v "btmp|^$"| awk '{print $NF}'|sort|uniq -c|sort -nr
      1 192.168.1.74

1.1.4 查看历史命令

历史命令很多时候多配合其他命令一起使用,比如more或grep,如果某个用户被黑客登录过了就一定要查看该用户的所有历史命令信息,重点关注黑客修改了哪些文件,另外默认的历史命令中仅仅记录历史命令,不会记录额外的信息帮助我们分析。

1.1.4.1 记录命令历史详细信息

自定义历史命令输出格式:在最后添加以下配置到/etc/ profile:

[root@test ~]# vim /etc/profile
# 记录登陆者IP地址who命令可以查看当前登录信息。
USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' |sed -e 's/[()]//g'`
HISTDIR=/var/log/history    # 日志文件存放路径
DT=`date +%Y-%m-%d`         # 设置日期

# 判断用户IP地址如果不存在或者为.则用户IP用本机主机名代替。
if [ -z $USER_IP ];then
    USER_IP=`hostname`
fi
pdf="."
if [[ ! $USER_IP == *${pdf}* ]];then
    USER_IP=`hostname`
fi

# 创建对应日期的日志文件
if [ ! -d $HISTDIR/${DT} ];then
    mkdir -p $HISTDIR/${DT}
    chmod 773 $HISTDIR/${DT}
fi

export HISTFILESIZE=10000      # 指定日志存放数量的总数
export HISTSIZE=10000          # 配置history命令输出的总数
DT2=`date +%Y%m%d_%H:%M:%S`    # 配置文件具体时间
# 拼接文件名/var/log/history/日期2021-09-08 /当前用户名@用户ip_当前时间
export HISTFILE="$HISTDIR/${DT}/${LOGNAME}@${USER_IP}_$DT2"
# 设置历史命令中的时间戳,history命令有效,文件中显示时间戳
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "
[root@test ~]# source /etc/profile

1.1.4.2 查看命令历史记录

[root@test ~]# history 5
   17  2022-08-01 14:10:06 cd
   18  2022-08-01 14:10:08 ls
   19  2022-08-01 14:10:14 vim /etc/profile
   20  2022-08-01 14:10:24 source /etc/profile
   21  2022-08-01 14:10:34 history 5
# 文件名中记录了用户名-ip-时间,文件内容中记录了详细的命令以及命令执行的时间戳
[root@test ~]# ll -h /var/log/history/2022-08-01/[email protected]_20220801_14\:00\:50
-rw------- 1 root root 1.6K Aug  1 14:02 /var/log/history/2022-08-01/[email protected]_20220801_14:00:50

1.1.5 Linux检查系统用户

Linux系统用户主要存放于/etc/passwd、/etc/shadow和/etc/group文件中。

[root@test ~]# head -1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
  • 每一列的解释如下:
  1. 用户名。
  2. 密码(已经加密)
  3. UID用户标识,操作系统自己用的
  4. GID组标识。
  5. 用户全名或本地帐号
  6. 家目录
  7. 登录使用的Shell,就是对登录命令进行解析的工具

/etc/passwd文件存放的是用户的信息,root 用户的用户表示为0,如果一个普通用户的UID修改为0,那么这个用户就成为了root用户。

[root@test ~]# useradd test
[root@test ~]# vim /etc/passwd
test:x:0:1001::/home/test:/bin/bash
[root@test ~]# id test
uid=0(root) gid=0(root) groups=0(root)
# 查找用户uid=0的用户
[root@test ~]# awk -F ':' '$3==0 {print $1}' /etc/passwd
root
test

1.1.6 检查服务器已经建立的网络连接

[root@test ~]# netstat -anutp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      3133/sshd
tcp        0     52 192.168.10.82:22        192.168.1.74:12965      ESTABLISHED 24136/sshd: root@pt
tcp6       0      0 :::22                   :::*                    LISTEN      3133/sshd
udp        0      0 127.0.0.1:323           0.0.0.0:*                           2888/chronyd
udp6       0      0 ::1:323                 :::*                                2888/chronyd
  • 每列的意义:
  • Proto:协议类型
  • Recv-Q:接收消息队列.
  • Send-Q:发送消息队列
  • Local Address:本地ip和端口
  • Foreign Address:远程ip和端口
  • State:网络连接状态.
  • PID/Program name:进程pid和进程名称
  • State列的值:
  • LISTEN:本地服务侦听状态
  • ESTABLISHED:已经建立链接双方正在通讯状态
  • CLOSE_ WAIT:对方主动关闭连接或者网络异常导致连接中断,这时我方的状态会变成CLOSE_ WAIT,此时我方要调用close()来使得连接正确关闭
  • TIME WAIT:我方主动调用close()断开连接,收到对方确认后状态变为TIME WAIT
  • SYN SENT:半连接状态,原理同SYN Flood攻击,攻击者发送SYN后服务器端口进入SYN SENT状态等待用户返回SYN+ ACK。

1.2 系统日志排查

1.2.1 常用系统日志

  • /var/log/message:包括整体系统信息
  • /var/log/auth.log:包含系统授权信息,包括用户登录和使用的权限机制等
  • /var/log/userlog:记录所有等级用户信息的日志
  • /var/log/cron:记录crontab命令是否被正确的执行
  • /var/log/vsftpd.log:记录Linux FTP日志
  • /var/log/lastlog:记录登录的用户,可以使用命令lastlog 查看
  • /var/log/secure:记录大多数应用输入的账号与密码,登录成功与否
  • /var/log/wtmp:记录登录系统成功的账户信息,等同于命令last
  • /var/log/btmp:记录记录的登入系统失败的用户名单,等同于命令lastb
  • /var/log/faillog:记录登录系统不成功的账号信息,一般会被黑客删除

1.2.2 SSH登录日志分析

1.2.2.1 登录失败

[root@test ~]# grep -i "failed" /var/log/secure*
/var/log/secure:Aug  1 11:01:44 test sshd[23696]: Failed password for root from 192.168.1.74 port 6264 ssh2

1.2.2.2 登录成功

[root@test ~]# grep -i "accepted" /var/log/secure*
/var/log/secure:Aug  1 10:59:51 test sshd[23581]: Accepted password for root from 192.168.1.74 port 6236 ssh2
/var/log/secure:Aug  1 11:00:57 test sshd[23614]: Accepted password for root from 192.168.1.74 port 6253 ssh2
/var/log/secure:Aug  1 11:01:02 test sshd[23649]: Accepted password for root from 192.168.1.74 port 6254 ssh2
/var/log/secure:Aug  1 11:01:19 test sshd[23672]: Accepted password for root from 192.168.1.74 port 6258 ssh2
/var/log/secure-20220731:Jul 28 15:47:39 test sshd[3743]: Accepted password for root from 192.168.1.74 port 9555 ssh2
/var/log/secure-20220731:Jul 28 16:02:38 test sshd[3664]: Accepted password for root from 192.168.1.74 port 9728 ssh2
/var/log/secure-20220731:Jul 28 16:04:57 test sshd[3745]: Accepted password for root from 192.168.1.74 port 9757 ssh2
/var/log/secure-20220731:Jul 28 16:09:56 test sshd[3311]: Accepted password for root from 192.168.1.74 port 9836 ssh2
/var/log/secure-20220731:Jul 28 16:49:08 test sshd[3502]: Accepted password for root from 192.168.1.29 port 6874 ssh2
/var/log/secure-20220731:Jul 29 14:00:06 test sshd[20162]: Accepted password for root from 192.168.1.74 port 8609 ssh2
/var/log/secure-20220731:Jul 29 16:09:44 test sshd[23697]: Accepted password for root from 192.168.1.74 port 10119 ssh2

1.2.3 计划任务日志

所有执行过的计划任务都会存在在/var/log/cron文件中。

1.2.3.1 查看所有执行过的计划任务

[root@test ~]# cat /var/log/cron* | awk -F':' '{print $NF}'|grep CMD|sort|uniq -c|sort -nr
    565  (root) CMD (/usr/lib64/sa/sa1 1 1)
     94  (root) CMD (run-parts /etc/cron.hourly)
      4  (root) CMD (/usr/lib64/sa/sa2 -A)
      4  (root) CMD (/bin/bash /server/scripts/del_cache.sh > /dev/null 2>&1)

1.2.3.2 查看所有用户的计划任务

【用户级别计划任务】:

[root@test ~]# cat /etc/passwd | cut -f 1 -d : | xargs -i crontab -l -u {}
00 12 * * * /bin/bash /server/scripts/del_cache.sh > /dev/null 2>&1
no crontab for bin
no crontab for daemon
no crontab for adm
no crontab for lp
no crontab for sync
……

【系统级别计划任务】:

[root@test ~]# find /etc/cron* -type f  # 查看系统级别的计划任务文件名
/etc/cron.d/0hourly
/etc/cron.d/sysstat
/etc/cron.daily/logrotate
/etc/cron.daily/man-db.cron
/etc/cron.daily/rkhunter
/etc/cron.deny
/etc/cron.hourly/0anacron
/etc/crontab

1.2.4 中间件日志分析

缺点:日志中可以看到POST请求,但是日志不保存POST中的data数据段的,所以看不到攻击细节,一般安全防火墙设备中会提供完整报文。

1.2.4.1 查询访问网站最多的10个IP地址

[root@web httpd]# awk '{print $1}' /var/log/httpd/access_log|sort|uniq -c|sort -nr|head
  51913 192.168.10.180
    163 ::1
    122 192.168.1.74
     88 192.168.10.157

1.2.4.2 批量查找写入webshell的日志

原理很简单,查找到文件之后通过awk取出文件名Is –l 和awk取出文件日期,通过grep过滤日志中和webshell相同日期的记录。

[root@web ~]# find /var/www/html/DVWA/hackable/uploads -type f|xargs grep "eval"|awk '{print $3}'|xargs ls -l|awk '{print $8}'|xargs -i grep {} /var/log/httpd/access_log-20220710

1.2.4.3 查找一段时间内修改的文件

该参数中的mt实就表示mtime,同样还存在:-newerat、 -newerct

[root@web ~]# find /var/www/html/DVWA/hackable/uploads/ -type f -newermt '2022-07-18' ! -newermt '2022-07-22' | xargs ls -l
-rw-r--r-- 1 apache apache  4 Jul 20 15:57 /var/www/html/DVWA/hackable/uploads/1.jpg
-rw-r--r-- 1 apache apache 34 Jul 20 15:57 /var/www/html/DVWA/hackable/uploads/4rv0XdKl.php
-rw-r--r-- 1 apache apache  4 Jul 20 08:56 /var/www/html/DVWA/hackable/uploads/dummyFile.txt
-rw-r--r-- 1 apache apache  0 Jul 20 09:02 /var/www/html/DVWA/hackable/uploads/zip.zip

1.2.5 使用systemd-journald分析日志

systemd-journald是一个收集并存储各类日志数据的系统服务,它创建并维护一个带有索引的、结构化的日志数据库,并可以收集来自各种不同渠道的日志。

systemd是内核启动后的第一个用户进程,PID为1,是所有其它用户进程的父进程,所有服务的启动运行日志都可以记录到systemd-journald中,日志守护进程会以安全且不可伪造的方式自动收集每条日志的元数据,默认情况日志是存储在内存中的,系统重启后都会丢失。

黑客入侵系统后一般会将系统日志清空,以达到清理痕迹的作用,如果日志被黑客清空我们就无法通过日志来分析黑客入侵系统后都做了哪些事情,在很多情况下黑客在清理日志的时候都会忽略内存中的日志。

1.2.5.1 配置systemd-journald持久化

由于日志默认存储在内存中重启就会失效,可以通过持久化配置将日志保存到本地。

缺点:文件体积大,也容易被发现。

# 新建一个配置文档,模板文件我们就不修改了
[root@test ~]# mkdir -p /etc/systemd/journald.conf.d
[root@test ~]# vim /etc/systemd/journald.conf.d/99-prophet.conf
[Journal]
# 持久化保存到磁盘
Storage=persistent

# 压缩历史日志
Compress=yes

SyncIntervalSec=5m
RateLimitInterval=30s
RateLimitBurst=1000

# 最大占用空间1G
SystemMaxUse=1G

# 单日志文件最大200M
SystemMaxFileSize=200M

# 日志保存时间2周
MaxRetentionSec=2week

# 不将日志转发到syslog
ForwardToSyslog=no
[root@test ~]# systemctl restart systemd-journald
[root@test ~]# ll /var/log/journal/
total 0
drwxr-xr-x 2 root root 28 Aug  1 16:59 a8ae3b21b573458d9791a0a9f9f112bf
  • Storage参数详解:
  • volatile:表示仅保存在内存中,也就是仅保存在/run/log/journal目录中
  • persistent:表示优先保存在磁盘上,也就是优先保存在 /var/log/journal目录中,但若失败(例如在系统启动早期/var尚未挂载),则转而保存在 /run/log/journal目录中
  • auto:与persistent类似,但不自动创建 /var/log/journal目录,因此可以根据该目录的存在与否决定日志的保存位置
  • none:表示不保存任何日志,直接丢弃所有收集到的日志,但日志转发不受影响
  • 默认值是auto

1.2.5.2 配置日志记录用户命令

[root@test ~]# vim /etc/profile
export PROMPT_COMMAND='RETRN_VAL=$?;logger -p local6.debug "$(whoami)[$$]:$(history 1|sed -e "s/^[ ]*[0-9]\+[ ]*//")[$RETRN_VAL]"'
readonly PROMPT_COMMAND
[root@test ~]# source /etc/profile

1.2.5.3 查询日志

[root@test ~]# journalctl
-- Logs begin at Thu 2022-07-28 16:08:39 CST, end at Mon 2022-08-01 17:01:01 CST. --
Jul 28 16:08:39 test systemd-journal[105]: Runtime journal is using 8.0M (max allowed 197.5M, trying to leave 296.2M free of 1.9G available → current limit 197.5M).
Jul 28 16:08:39 test kernel: Initializing cgroup subsys cpuset
Jul 28 16:08:39 test kernel: Initializing cgroup subsys cpu
Jul 28 16:08:39 test kernel: Initializing cgroup subsys cpuacct
……
[root@test ~]# journalctl -r        # 从新到旧查看日志
-- Logs begin at Thu 2022-07-28 16:08:39 CST, end at Mon 2022-08-01 17:01:01 CST. --
Aug 01 17:01:01 test run-parts(/etc/cron.hourly)[28511]: finished 0anacron
Aug 01 17:01:01 test run-parts(/etc/cron.hourly)[28505]: starting 0anacron
Aug 01 17:01:01 test CROND[28502]: (root) CMD (run-parts /etc/cron.hourly)
……
[root@test ~]# journalctl -u sshd   # 查看指定服务日志
-- Logs begin at Thu 2022-07-28 16:08:39 CST, end at Mon 2022-08-01 17:01:01 CST. --
Jul 28 16:08:42 test systemd[1]: Starting OpenSSH server daemon...
Jul 28 16:08:42 test sshd[3133]: Server listening on 0.0.0.0 port 22.
Jul 28 16:08:42 test sshd[3133]: Server listening on :: port 22.
Jul 28 16:08:42 test systemd[1]: Started OpenSSH server daemon.
……
[root@test ~]# journalctl -f        # 实时查看日志
-- Logs begin at Thu 2022-07-28 16:08:39 CST. --
Aug 01 16:59:40 test systemd[1]: Starting Flush Journal to Persistent Storage...
Aug 01 16:59:40 test rsyslogd[3134]: imjournal: journal reloaded... [v8.24.0-34.el7 try http://www.rsyslog.com/e/0 ]
Aug 01 16:59:40 test polkitd[2880]: Unregistered Authentication Agent for unix-process:28406:34866163 (system bus name :1.1407, object path /org/freedesktop/PolicyKit1/AuthenticationAgent,locale en_US.UTF-8) (disconnected from bus)
……
[root@test ~]# journalctl --since "2022-07-30" --until "2022-08-01"     # 指定查询时间
-- Logs begin at Thu 2022-07-28 16:08:39 CST, end at Mon 2022-08-01 17:07:31 CST. --
Jul 30 00:00:01 test systemd[1]: Started Session 230 of user root.
Jul 30 00:00:01 test CROND[8994]: (root) CMD (/usr/lib64/sa/sa1 1 1)
……
[root@test ~]# journalctl -o short-precise  # 指定输出格式,输出的时间更加精细,日志信息简洁
-- Logs begin at Thu 2022-07-28 16:08:39 CST, end at Mon 2022-08-01 17:07:31 CST. --
Jul 28 16:08:39.610710 test systemd-journal[105]: Runtime journal is using 8.0M (max allowed 197.5M, trying to leave 296.2M free of 1.9G available → current limit 197.5M).
Jul 28 16:08:39.610768 test kernel: Initializing cgroup subsys cpuset
Jul 28 16:08:39.610778 test kernel: Initializing cgroup subsys cpu
Jul 28 16:08:39.610794 test kernel: Initializing cgroup subsys cpuacct
……
[root@test ~]# journalctl -o verbose    # 输出详细信息
-- Logs begin at Thu 2022-07-28 16:08:39 CST, end at Mon 2022-08-01 17:07:31 CST. --
Thu 2022-07-28 16:08:39.610710 CST [s=6886765b1988489dbab58c62f1666ee3;i=1;b=8bc5627f9dcd4c8898b7472634a477b3;m=80681;t=5e4d90a8d2156;x=947b5c0b7a2c1dee]
    PRIORITY=6
_TRANSPORT=driver
……
# 可信字段是指名称以下划线开头的字段,这些字段由日志守护进程添加,客户端无法掌控这些字段的内容,因此是"可信的",详细信息中的字段都可以作为查询条件使用
[root@test ~]# journalctl _UID=0 -n 5   # 通过可信字段查询指定用户的日志,可信字段必须带有下划线
-- Logs begin at Thu 2022-07-28 16:08:39 CST, end at Mon 2022-08-01 17:10:01 CST. --
Aug 01 17:07:31 test systemd-logind[2878]: New session 697 of user root.
Aug 01 17:07:31 test systemd[1]: Started Session 697 of user root.
Aug 01 17:07:31 test sshd[28844]: pam_unix(sshd:session): session opened for user root by (uid=0)
Aug 01 17:10:01 test systemd[1]: Started Session 698 of user root.
Aug 01 17:10:01 test CROND[29003]: (root) CMD (/usr/lib64/sa/sa1 1 1)

1.3 实战:系统日志被清理后使用journald分析日志

1.3.1 模拟黑客入侵并清理系统日志

[root@test ~]# passwd test
$ ssh [email protected]
[root@test ~]# echo "I hacked your system success"
I hacked your system success
[root@test ~]# > /var/log/secure
[root@test ~]# > /var/log/messages
[root@test ~]# > /var/log/lastlog
[root@test ~]# > /var/log/wtmp
[root@test ~]# > /var/log/btmp

1.3.2 运维登录系统进行排查

1.3.2.1 进行常规日志排查

可以看到日志都被删除了无法得知黑客做了什么:

[root@test ~]# last

wtmp begins Mon Aug  1 17:24:05 2022
[root@test ~]# lastlog
Username         Port     From             Latest
root                                       **Never logged in**
bin                                        **Never logged in**
daemon                                     **Never logged in**
adm                                        **Never logged in**
lp                                         **Never logged in**
sync                                       **Never logged in**
shutdown                                   **Never logged in**
halt                                       **Never logged in**
mail                                       **Never logged in**
operator                                   **Never logged in**
games                                      **Never logged in**
ftp                                        **Never logged in**
nobody                                     **Never logged in**
systemd-network                            **Never logged in**
dbus                                       **Never logged in**
polkitd                                    **Never logged in**
tss                                        **Never logged in**
abrt                                       **Never logged in**
sshd                                       **Never logged in**
postfix                                    **Never logged in**
chrony                                     **Never logged in**
java                                       **Never logged in**
test                                       **Never logged in**

1.3.2.2 查看日志修改时间

得知文件是2022-08-03 14:04:32被修改:

[root@test ~]# stat /var/log/secure
   File: ‘/var/log/secure’
  Size: 275         Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d  Inode: 708405      Links: 1
Access: (0600/-rw-------)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2022-08-01 16:33:01.408263640 +0800
Modify: 2022-08-03 14:04:32.218002931 +0800
Change: 2022-08-03 14:04:32.218002931 +0800
 Birth: -

1.3.2.3 查询日志被修改时间范围内的日志

查询14:04前所有日志,避免误差,加一分钟14:05,实战中前后信息都要看,查看文件时间只能确认这个时间内这个文件被修改了并不是绝对时间:

[root@test ~]# journalctl --until "2022-08-03 14:05:00" -o short-precise –r

图片[1]|Linux木马-应急响应(六)|leon的博客

可以看到黑客通在192.168.10.180通过ssh服务登录test用户,test用户具有root权限(uid=0)然后清空了日志。

温馨提示:本文最后更新于2022-12-20 20:57:33,已超过483天没有更新。某些文章具有时效性,若文章内容或图片资源有错误或已失效,请联系站长。谢谢!
转载请注明本文链接:https://blog.leonshadow.cn/763482/2896.html
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享