网站入侵应急响应指南(Linux篇)

发布时间:22天前热度: 259 ℃评论数:

最近挂黑页的网站越来越多,应急响应的活就多了起来,小菜分享一些遇到的应急响应思路,大牛勿喷。

这次主要阐述Linux服务器应急响应,后续会有Windows篇


需要在服务器上查看的内容:


(1)先从脚本入手,查看服务器是否存在网页木马,可以将网站打包下载,使用D盾等webshell查杀工具扫描,也可以搜索关键字手动查杀木马

linux搜索webshell常用命令:

find  /site/* -type f -name "*.jsp"  |xargs grep "exec("

在根目录下搜索,命令的意思是,搜索/site/目录下所有后缀为.jsp的文件,查看内容是否有"exec(","exec("是jsp函数,很多一句话木马和大马都有这个函数

其他脚本的网站类似:

find /site/* -type f -name “*.php” |xargs grep "eval("  

find /site/* -type f -name “*.asp” |xargs grep "execute("

find /site/* -type f -name “*.aspx” |xargs grep "eval("


如果木马做了免杀处理,可以查看是否使用加密函数

find /site/* -type f -name “*.php” |xargs grep "base64_decode"

查看是否做了拼接处理

find /site/* -type f -name “*.php” |xargs grep "@$"


对搜索到的内容,手动查看是否是木马,可以在本地打开脚本文件,查看网页生成时间等。


(2)查杀系统后门

1、chkrootkit

下载:wget –c ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz

编译:tar xvzf chkrootkit.tar.gz

      cd chkrootkit-xx

    make sense

开始检测:./chkrootkit -q

如果出现INFECTED,说明检测出系统后门

可以直接使用./chkrootkit -q | grep INFECTED命令检测并筛选出存在INFECTED的内容

2、Rootkit Hunter

安装Rootkit Hunter:

tar xvzf rkhunter-xx.tar.gz

cd rkhunter-xx

./install.sh --layout default --install

开始检测:

rkhunter -check

3、手工查杀

查看系统进程,查找 login -h XXX.XXX.XXX.XXX的字样。

备份linux系统命令,应急时,使用命令md5sum对现有文件做作校验,与以前的值做比较。


(3)查看系统文件和日志文件


linux用户信息:

/var/log/messages:记录整体系统信息,其中也记录某个用户切换到root权限的日志。 

/var/log/secure:记录验证和授权方面信息。例如sshd会将所有信息记录(其中包括失败登录)在这里。

/var/log/lastlog:记录所有用户的最近信息。二进制文件,因此需要用lastlog命令查看内容。 

/var/log/btmp:记录所有失败登录信息。使用last命令可查看btmp文件。例如“last -f /var/log/btmp | more”。

/var/log/maillog:记录来着系统运行电子邮件服务器的日志信息。例如sendmail日志信息就送到这个文件中。

/var/log/mail/:记录包含邮件服务器的额外日志。

/var/log/wtmp或/var/log/utmp:记录登录信息。二进制文件,须用last来读取内容

/etc/passwd:记录用户信息,查看是否存在可疑账号。

/etc/shadow:记录用户密码,查看是否存在可疑账号。

.bash_history:shell日志,查看之前使用过的命令。

/var/log/cron:记录计划任务。


linux查看当前状态命令:

users:显示当前登陆用户信息。

Who:显示谁正在使用系统本地节点的信息。

Last:显示系统曾经被登陆的用户和TTYS。

w:查看谁登陆到系统中,且在做什么操作。

netstat -anp:查看端口对应的进程关系。

lsof -p PID:查看进程对应的文件,配合netstat -anp查看端口进程文件之间的关系,可以找到可以端口进程对应的文件。

lsof -i:查看实时的进程、服务与端口信息。

ps -aux:查看进程。

chkconfig -list:查看服务启动信息。

find / -perm -004000 -type f:输出所有设置了SUID的文件。

rpm -Va:列举全部软件包的变化情况。


web日志分析:

日志文件位置:

Apache日志位置配置在httpd.conf中。

IIS日志默认存放在%systemroot%\system32\LogFiles\W3SVC目录,如果没有,可以通过配置文件查找,WEB站点—属性—网站—W3C扩展日志文件格式—属性—日志文件目录

日志分析可以通过grep强大的搜索功能,通过管理员确定被入侵网站的拓扑位置,网站后台、FTP服务等限制访问的地址,入侵时间,缩短日志搜索范围

日志分析示例:

1、注入漏洞记录

grep -i select%20 *.log  | grep 500 | grep -i \.php  查找后缀为".log" 文件,搜索关键字为"select%20",筛选存在"500"的行

grep -i sqlmap *.log sqlmap默认User-Agent是sqlmap/1.0-dev-xxxxxxx (http://sqlmap.org),查看存在sqlmap的行,可以发现sqlmap拖库的痕迹。

2、跨站漏洞记录

grep -i "script" *.log 查找存在script的行。

3、扫描器扫描

grep -i acunetix *.log AWVS扫描时,会发送大量含有“acunetix”的数据包。

4、搜索特定时间的日志

grep \[07/Jul/2016:24:00:* *.log 可以结合入侵时间搜索,文件修改时间不可作为依据,菜刀上就可以修改文件时间属性。

5、搜索特定IP地址的日志

grep ^192.168.1.* *.log 搜索包含“192.168.1.”字符串开头的行 

grep -v ^192.168.10.* *.log 不搜索包含“192.168.10.”字符串开头的行 

可以结合网站、网络安全策略搜索能访问网站后台、FTP服务等的IP地址。

手机扫码访问