挖矿入侵Linux系统排查步骤( 三 )


4. 应用日志文件说明
HTTP /var/log/httpd/.log #或者是HTTP服务器配置文件中的日志路径
FTP /var/log/vsftp.log #或者是同路径下的
Squid /var/log/squid #或者是squid..log
NFS /var/log/nfs
/var/log//……
Samba /var/log/samba
DNS /var/log/
DHCP /var/log/ #或者/var/lib/dhcp/db/dhcpd.
Mail /var/log/
5. 特殊日志打开方式
/var/log/wtmp
/var/run/utmp
/var/log/btmp
可配合more和grep命令共同使用
6.日志排查方法
定位有多少IP在爆破主机的root帐号:
grep "for root" /var/log/ | awk '{print $11}' | sort | uniq -c | sort -nr | more定位有哪些IP在爆破:
grep " " /var/log/|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).(25[0-5]|2[0- 4][0-9]|[01]?[0-9][0-9]?)"|uniq -c定位爆破用户名字典:
grep " " /var/log/|perl -e 'while($_=){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr定位登录成功的IP:
grep " " /var/log/ | awk '{print $11}' | sort | uniq -c | sort -nr | more定位登录成功的日期、用户名、IP:
grep " " /var/log/ | awk '{print $1,$2,$3,$9,$11}'定位:
find /var/www/ -name "*.php" | xargs egrep ' || c99sh || eval | \(| \( |_bc ||| \(\$\_\POST\[|eval\( | .chr\c|\$\{\"\_P|eval\C\$\_R | \C\.\*\$\_ | '脚本文件定位打包:
find /var/www/html/ |grep -E ".asp$|.aspx$|.jsp$|.jspx$|.jspf$|.php$|.php3$|.php4$|.php5$|.inc$|.phtml$|.jar$|.war$|.pl$|.py$|.cer$|.asa$|.cdx$|.ashx$|.ascx$|.cfm$|.cgi$ "|xargs tar zcvf /tmp/.tar.gz
7.文件属性排查
stat:
可以确定文件的访问、修改时间文件的时间戳 , inode中一共有以下3个:a.time, 最后一次访问的时间 , 只是访问 , 并没有修改 。比如cat , head , tail之类的 。b.time, 最后一次修改文件内容的时间 。c.time, 最后一次修改文件属性的时间 , 比如权限 , 大小之类的 。ls -lh:
可以确定文件的大小避免部分文件的大小与实际空间大小不符合查看最近都有哪些文件发生了变动
find / -mtime -2 - | xargs -0 ls -lt例如:2天内产生更改的文件孤儿文件查询:
find / - -print查看系统上的孤儿文件 , 这些文件可能是由攻击者创建的临时账户产生的文件查找的相关命令:
sudo find / -mtime(atime/ctime) -x#按照创建、修改时间查找
sudo find ./ -perm 4777 #按照权限查找文件
find ./ -mtime -1 -type f #按照文件类型查找