Linux 关键文件安全性排查(红蓝对抗)

常用工具

后门检测工具

  • chkrootkit
  • rkhunter

系统急救恢复、后门分析取证

  • LiveCD

监控和告警任意系统文件的更改(IDS)

  • Tripwire

配置文件排查

Linux 开机自启

![[Linux技巧#Linux开机自启动]]

``/etc/fstab`

  • 磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab 这个文件中,否则下次开机启动时仍然需要重新挂载。

shell 环境变量

![[Linux环境变量]]

定时任务 crontab

![[Linux原生命令#crontab]]

SUID 排查

![[SUID后门]]

SSH 后门排查

rpm 包完整性校验

1
2
rpm -Vf 'type sshd' 'type ssh'
//S = 大小 / M = 权限 / 5=MD5 / T=时间 / L=链接

获取 sshd 进程 pid 并跟踪系统调用

1
strace -o out.txt -ff -p pid

获取 ssh 进程 pid 传给 strace 进行监控

1
2
ps -ef | grep -vE 'sshd|grep' | grep ssh | awk '{print $2}' |xargs
strace -o out.txt -f -p 2>&1

通过文件操作特征跟踪后门

1
grep open out.txt\* | grep -e APPEND

pam 后门排查

pam 配置文件检查

1
2
stat /etc/pam.d/sshd
cat /etc/pam.d/sshd

so 文件加载排查

so 文件是 Linux 下的程序函数库,即编译好的可以供其他程序使用的代码和数据

1
2
ps -ef |grep sshd |grep pts
pmap pid |grep security

sshd 进程操作跟踪

1
2
strace -o out -ff -p pid
cat out\* |grep APPEND

ssh 公钥排查

公钥文件配置

/etc/ssh/sshd\_config 是 sshd 的配置文件

1
grep AuthorizedKeysFile /etc/ssh/sshd\_config

公钥文件搜索

1
find / -name authorized\_keys

文件属性及内容

1
stat authorized\_keys

预加载后门排查

系统环境变量检查

LD\_PRELOAD,是个环境变量,用于动态库的加载,动态库加载的优先级最高,一般情况下,其加载顺序为:
LD\_PRELOAD>LD\_LIBRARY\_PATH>/etc/ld.so.cache>/lib>/usr/lib
当调用一些外部库的函数时,如果通过动态链接库 LD_PRELOAD 预加载另一个同名的函数,其使用的就是 LD_PRELOAD 生成的库文件,这样就会造成劫持。这个劫持当然首先可以想到的是[[提权]],其次其也可以用于软件破解和功能增加。

1
2
echo $LD\_PRELOAD
unset LD\_PRELOAD

绕过后门 hook 隐藏

1
cat /etc/ld.so.preload

跟踪文件系统调用

1
2
./strace -f -e trace=file /bin/cat
acess("/etc/ld.so.preload", R\_OK)

后门配置文件清理

1
2
lsattr /etc/ld.so.preload
echo > /etc/ld.so.preload  

strace 后门排查

strace 是一个可用于诊断、调试和教学的 Linux 用户空间跟踪器。我们用它来监控用户空间进程和内核的交互,比如系统调用、信号传递、进程状态变更等。

系统进程筛查

  • 进程名称、命令参数

strace 跟踪

1
2
strace -o out.txt -ff -p pid
调用内核ptrace特性来实现功能

alias 命令排查

module 后门排查

中间件配置排查

  • 控制器及模块加载配置

模块文件排查

  • 文件修改时间排序

strings evil.so |grep -e exec

已加载模块确认

pamp -q pid |grep auth

内核后门排查

驱动加载

1
2
lsmod / modinfo / modprobe -l
cat /proc/modules

网络层排查

1
2
正向: nmap -sV -PN -T4 -p-
反向:tcpdump -i eth0 src host hostname -w send.cap

系统文件排查

1
2
linux PE / LiveCD (Porteus)
fdisk -l /mount /dev/mapper/VolGroup

常见目录

驻留文件及目录

1
2
3
/etc/crontab
/etc/init.d
/etc/rc.local

隐藏文件及目录

1
2
3
/tmp/.evil
/tmp/
./

可写可执行权限

1
2
3
/tmp
/var/tmp
/dev/shm  
Author

Resek4

Posted on

2021-05-11

Updated on

2023-01-27

Licensed under

Comments