Linux日志取证

2022-09-28 18:57:10 浏览数 (1)

[TOC]

登录痕迹

(1)history和last与w命令中用户登录痕迹:

代码语言:javascript复制
[root@master bash-5.0]$history
422  2019-08-02 17:03:43 192.168.1.88 root # history

[root@master bash-5.0]$w
16:01:52 up  1:11,  1 user,  load average: 0.00, 0.01, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.1.88    14:53    0.00s  0.31s  0.00s w


[root@master bash-5.0]$last
root     pts/0        192.168.1.88    Fri Aug  2 14:53   still logged in
reboot   system boot  3.10.0-957.12.2. Fri Aug  2 14:51 - 16:01  (01:10)
root     pts/1        192.168.1.88    Fri Aug  2 14:43 - down   (00:06)

(2)发现隐匿的ssh登录行为 如果是隐匿的ssh正在进行可以通过lsof 或者 netstat 或者ps 命令发现

代码语言:javascript复制
#lsof方法
lsof -i:22 | grep EST
sshd    5923 root    3u  IPv4  32629      0t0  TCP master:ssh->192.168.1.88:53505 (ESTABLISHED)
sshd    5925 root    3u  IPv4  32692      0t0  TCP master:ssh->192.168.1.88:53506 (ESTABLISHED)

#ps方法
ps aux | grep "notty"
root      5925  0.0  0.3 161456  6296 ?        Ss   14:53   0:00 sshd: root@notty

#netstat方法
netstat -atlnp | grep "sshd"
tcp        0      0 10.10.107.222:22        192.168.1.88:53506     ESTABLISHED 5925/sshd: root@not
tcp        0     48 10.10.107.222:22        192.168.1.88:53505     ESTABLISHED 5923/sshd: root@pts

(3)历史ssh 隐匿登录行为通过分析/var/log/secure 日志(有的系统是/var/log/auth.log)

代码语言:javascript复制
#通过分析/var/log/secure 日志有的系统是/var/log/auth.log
从 Accepted publickey for root from 192.168.12.54 一行可以得出ssh的登录时间 #Disconnect
从 Disconnected from 192.168.12.54 port 43000 一行可以得出ssh的退出时间

如果系统配置了/etc/bash.bashrc、~/.bashrc记录执行记录,就可以记录到bash -i的执行记录(交互式会话会读取bashrc配置并执行)

(4) 主要用到strace、strings、grep利用操作系统自身的工具手工快速查找后门

代码语言:javascript复制
#通过openssh后门功能中会记录正常用户登录账号密码,因此猜测会用到open系统调用
strace –o ssh –ff–p pid  #用strace跟踪sshd打开的系统调用,然后过滤open,就应该能获取到记录密码的文件及路径。

0 人点赞