木马、WebShell攻击防范排查

手动排查Linux、Tomcat、nginx、Windows是否存在木马、webshell的案例
(1)Linux操作系统排查
查看系统登录日志:last
last
lastlog
查看系统登录失败日志:lastb
lastb
查看系统当前登录用户:who
who
查看系统安全日志:cat /var/log/secure
cat /var/log/secure
查看是否有异常的系统用户
cat /etc/passwd
查看是否产生了新用户,UID和GID为0的用户:grep "0" /etc/passwd
grep "0"/etc/passwd
查看passwd的修改时间,判断是否在不知的情况下添加用户:ls -l /etc/passwd
ls -l /etc/passwd
查看是否存在特权用户awk -F: '$3==0 {print $1}' /etc/passwd
awk -F: '$3==0 {print $1}'/etc/passwd
查看是否存在空口令帐户awk -F: 'length($2)==0 {print $1}' /etc/shadow
awk -F: 'length($2)==0 {print $1}'/etc/shadow
检查异常进程ps -ef命令查看进程,注意UID为0的进程
ps -ef
察看该进程所打开的端口和文件lsof -p pid命令查看
检查隐藏进程
[root@localhost ~]# ps -ef | awk '{print }' | sort -n | uniq >1
ps -ef | awk '{print }'| sort -n | uniq >1
[root@localhost ~]# ls /porc |sort -n|uniq >2
[root@localhost ~]# diff 1 2
检查异常系统文件
find / -uid 0 -perm -4000 -print
find / -size +10000k -print
find / -name "…"-print
find / -name "…"-print
find / -name ".."-print
find / -name "."-print
find / -name " "-print
检查系统文件完整性
rpm -qf /bin/ls
rpm -qf /bin/login
md5sum -b 文件名(可与相同版本的正常机器进行比较,判断是否被篡改过文件)
md5sum -t 文件名(可与相同版本的正常机器进行比较,判断是否被篡改过文件)
检查RPM的完整性
rpm -Va #注意相关的/sbin,/bin,/usr/sbin,/usr/bin
rpm -Va
输出格式说明:
S – File size differs
M – Mode differs (permissions)
5 – MD5 sum differs
D – Device number mismatch
L – readLink path mismatch
U – user ownership differs
G – group ownership differs
T – modification time differs
检查网络
ip link | grep PROMISC (正常网卡不该在promisc模式,可能存在sniffer)
ip link | grep PROMISC
lsof -i
lsof -i
netstat -nap(察看不正常打开的TCP/UDP端口)
netstat -nap
arp -a
arp -a
检查系统计划任务
crontab -u root -l
crontab -u root -l
cat /etc/crontab
cat /etc/crontab
ls /etc/cron.*
ls /etc/cron.*
检查系统后门
cat /etc/crontab
cat /etc/crontab
ls /var/spool/cron/
ls /var/spool/cron/
cat /etc/rc.d/rc.local
cat /etc/rc.d/rc.local
ls /etc/rc.d
ls /etc/rc.d
ls /etc/rc3.d
ls /etc/rc3.d
检查系统服务
chkconfig --list
chkconfig --list
rpcinfo -p(查看RPC服务)
rpcinfo -p
检查rootkit
rkhunter -c
chkrootkit -q
在/home下查最近两天内改动过的文件
find /home -mtime -2
导出现场关键信息:
查看用户,看是否有可以账号
cat /etc/passwd > /sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"_etc_passwd.txt
查看tcp连接,看是否有可疑连接
netstat -atpn|grep "ESTABLISHED">/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"_net_established.txt
查看history命令,看是否有可疑命令执行
cat ~/.bash_history >/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"_his.txt
查看登录信息,看是否有可疑账号登录
last > /sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"_last.txt
查看进程信息,看是否有可疑进程
ps -ef > /sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:"_ps.txt
禁用/锁定用户登录系统的方法
usermod -L username 锁定用户
usermod -U username 解锁
passwd -l username 锁定用户
passwd -u username 解锁
修改用户的shell类型为/sbin/nologin(/etc/passwd文件里修改)
在/etc/下创建空文件nologin,这样就锁定了除root之外的全部用户
服务器在怀疑入侵之后,所做的一切操作,一定要留有记录,不管是通过堡垒机亦或是通过ssh工具,留下处理的记录,以备后查。
(2)关于Tomcat:
①查看tomcat的应用是否有可疑应用,如果有,通知我。主要查看tomcat部署的应用目录
②ps -ef|grep java查看存活的tomcat是否有可以的进程
③查看tomcat的应用包,除了业务应用是否有其他自带应用,如example,docs,manager,root等
④扔到webshell查杀工具中,进行扫描(D盾webshell和深信服webshell)
⑤查询tomcat应用日志可疑信息,cd到tomcat应用日志,执行:
grep -i 'cmd'.log
grep -i 'wget'.log
grep -i 'asp'.log
grep -i 'php'.log
grep -i 'curl'.log
netstat -ano|grep ESTABLISHE
egrep -v "^192.168.2.|^172.16.."_access*
grep -i .*\.sh *.log*
grep -i .*\.py *.log*
grep -i .*\.pl *.log*
grep -i 'select'.log
grep -i 'delete'.log
grep -i 'my.cnf'.log
(3)关于nginx:
nginx参考Tomcat的方式进行排查,主要看是否有可疑文件和grep查询日志。
(4)关于数据库:
①查看是否存在可疑账户和可疑数据库
②应用使用账户和应用ip排查
③当前连接数据库的ip、客户端查询
④取消应用用户drop权限
(5)windows服务器
①查看网络、内存、CPU的使用情况是否异常,查看占用资源靠前的进程是否可疑。
②netstat -nao|findstr ESTABLISHED
③net use

您可以选择一种方式赞助本站

支付宝转账赞助

支付宝扫一扫赞助

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

图片 表情