linux定期检查suid或者sgid权限的文件
时间:2016-06-05 00:18 来源:linux.it.net.cn 作者:IT
linux系统中具有suid权限的文件,让人又爱又恨.suid带来的好处是可以在某些时候可以让user执行某些只能root执行的文件(如:passwd,ping,mount等),坏处就是万一这个suid的管理上有漏洞,就容易被有心人士利用,并控制主机.其实利用suid来提权,来放后门控制linux主机,在黑客界已经不是秘密,网上随便搜就能够搜到几篇文章,今天这里不讲怎么利用suid来攻击,只讲下怎么检查系统中的suid文件.
检查命令如下:
1
find / -perm +4000 -user root -type f -print
2
find / -perm +2000 -group root -type f -print
当然你也可以用下面的命令:
1
find / -uid 0 –perm -4000 –print
2
find / -type f -perm +6000
3
find / -path '/proc' -prune -or -perm -u+s -exec ls -l {} \;
以上这些命令都可以帮你检查,如果想定时检查,那么我推授下面的2个shell脚本,但这个有个小问题就是必须要你在新装的系统上先执行这2个命令:
1
find / -path '/proc' -prune -or -perm -u+s -exec ls -l {} \; > /tmp/suidlist-init
2
find / -type f -perm +6000 > /etc/sfilelist
然后才能定时使用这2个脚本:
cat /root/soft_shell/check-suid.sh
1
#!/bin/bash
2
OLD_LIST=/etc/sfilelist
3
for i in `find / -type f -perm +6000`
4
do
5
grep -F "$i" $OLD_LIST >/dev/null
6
[ $? -ne 0 ] && ls -lh $i
7
done
cat /root/soft_shell/checksuid.sh
1
#!/bin/bash
2
LOGFILE="/tmp/suidlist-`date +%Y-%m-%d`"
3
RESULTFILE="/tmp/suid_check_result-`date +%Y-%m-%d`"
4
5
find / -path '/proc' -prune -or -perm -u+s -exec ls -l {} \; > $LOGFILE
6
diff /tmp/suidlist-init "$LOGFILE" > $RESULTFILE
7
8
mutt -s "SUID CHECK RESULT" root < $RESULTFILE
然后定时计划里加入:
crontab -e
0 3 * * * /root/soft_shell/checksuid.sh
或者
0 3 * * * /root/soft_shell/check-suid.sh
这样就可以定时检查系统中suid文件了.
(责任编辑:IT)
linux系统中具有suid权限的文件,让人又爱又恨.suid带来的好处是可以在某些时候可以让user执行某些只能root执行的文件(如:passwd,ping,mount等),坏处就是万一这个suid的管理上有漏洞,就容易被有心人士利用,并控制主机.其实利用suid来提权,来放后门控制linux主机,在黑客界已经不是秘密,网上随便搜就能够搜到几篇文章,今天这里不讲怎么利用suid来攻击,只讲下怎么检查系统中的suid文件. 检查命令如下:
当然你也可以用下面的命令:
以上这些命令都可以帮你检查,如果想定时检查,那么我推授下面的2个shell脚本,但这个有个小问题就是必须要你在新装的系统上先执行这2个命令:
然后才能定时使用这2个脚本: cat /root/soft_shell/check-suid.sh
cat /root/soft_shell/checksuid.sh
然后定时计划里加入: crontab -e 0 3 * * * /root/soft_shell/checksuid.sh 或者 0 3 * * * /root/soft_shell/check-suid.sh 这样就可以定时检查系统中suid文件了. (责任编辑:IT) |