常用工具
后门检测工具
系统急救恢复、后门分析取证
监控和告警任意系统文件的更改(IDS)
配置文件排查
Linux 开机自启
![[Linux技巧#Linux开机自启动]]
``/etc/fstab`
- 磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab 这个文件中,否则下次开机启动时仍然需要重新挂载。
shell 环境变量
![[Linux环境变量]]
定时任务 crontab
![[Linux原生命令#crontab]]
SUID 排查
![[SUID后门]]
SSH 后门排查
rpm 包完整性校验
1 2
| rpm -Vf 'type sshd' 'type ssh'
|
获取 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
|
文件属性及内容
预加载后门排查
系统环境变量检查
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 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
|
隐藏文件及目录
可写可执行权限