1.网络分析 netstat -pantl
查看tcp链接相关信息
--参数含义:
Print Network connections 。routing tables。interface statistics。masquerade connections。(无效链接)muticast memberships。(多播成员)
--Established:已建立连接
kill -9 pid
关闭可疑进程的链接
2.进程分析 ps -aux / lsof -i <port>
联合 | grep 进行查找进程信息
grep -v 不要所选内容
3.登陆分析last -i / w
利用last -i | grep -v 0.0.0.0 排除本地登录
pts:(pseudo-terminal slave)远程链接后的“伪终端”
4.异常用户登录分析 /etc/passwd
cat /etc/passwd(用户信息文件) grep检查0:0(root权限即uid为0,gid也为0)
ls -l 监测/etc/passwd更改时间 ctfsc
--检测空密码用户awk -F <截断符号> <判断条件:'$x==条件 {print $y}'> <path>
从第一个截断符号左边为编号1,依此类推。
-例如 查/etc/passwd的root权限用户
#cat /etc/passwd aa:x:0:0... ... #awk -F : '$3==0 {print $1}' /etc/passwd //会显示上面那一条aa
-查/etc/shadow的空密码用户
若用户名后面是感叹号代表没密码。
awk -F: '$2=="!" {print $1}' /etc/shadow
5.历史命令分析history ,cat /root/.bash_history
注意关键词 :
wget(http / https) ssh (链接内网主机) tar zip
也要关注系统配置命令修改等 以防ps netstat的屏蔽
6.计划任务排查 crontab
crontab
参数:-l 查看计划任务 -r 删除计划任务 -e编辑设定计划任务
7.开机自启动项排查 /etc/init.d/
--状态查看/etc/init.d/<Program Name> status
--启动服务 /etc/init.d/<Program Name> start
--开机自启动、关闭自启动 :update-rc.d <program name> enable/disable
8.path变量异常
echo $PATH
--path修改
临时修改:
仅当前shell管用 export PATH=$PATH:/usr/local/new/bin 重启以后没有任何用
永久生效:
/etc/profile 或者 /home/.bashrc (source ~/.bashrc)永久生效 (~./是当前登录用户的主目录)
9.后门排查 rkhunter --check
使用场景:
替换用户程序文件(也就是常用的ls pwd等命令的文件),通常这样的替换不会引起注意,且不容易排查,在用户程序中,通过添加私货,来达到维持权限的目的(配合其他攻击使用)
这类被替换的文件就叫 rootkit
rootkit简介
rootkit主要有两种类型:文件级别和内核级别。
文件级别的rootkit: 一般是通过程序漏洞或者系统漏洞进入系统后,通过修改系统的重要文件来达到隐藏自己的目的。在系统遭受rootkit攻击后,合法的文件被木马程序替代,变成了外壳程序,而其内部是隐藏着的后门程序。通常容易被rootkit替换的系统程序有login、ls、ps、ifconfig、du、find、netstat等。文件级别的rootkit,对系统维护很大,目前最有效的防御方法是定期对系统重要文件的完整性进行检查,如Tripwire、aide等。
内核级rootkit: 是比文件级rootkit更高级的一种入侵方式,它可以使攻击者获得对系统底层的完全控制权,此时攻击者可以修改系统内核,进而截获运行程序向内核提交的命令,并将其重定向到入侵者所选择的程序并运行此程序。内核级rootkit主要依附在内核上,它并不对系统文件做任何修改。以防范
为主。