如何发现黑客的“测试”行为

首先给大家科普几个安全测试行业的专业名词。

1、应急响应:发生入侵后,对攻击者的入侵手法进行判断、复盘、溯源等。安全测试行业中,应急响应是与安全测试相对立的一面,合格的安全测试工程师会根据自己的测试手段来进行判断处理。

2、Webshell:黑客以网站可执行的动态脚本形式存在的一种命令执行环境,也可以将其称做为一种网站后门。

3、ssh后门:攻击者对原ssh软件进行修改的恶意软件,不影响原有登录连接功能,但可以添加黑客想要的功能如特殊方式免密登录、记录明文用户名密码等。

4、Rootkit:Rootkit是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络链接等信息,比较多见到的是Rootkit一般都和木马、后门等其他恶意程序结合使用。

如何发现黑客的“测试”行为

如何进行初级的应急响应

一、Web服务

一般如果网络边界做好控制,通常对外开放的仅是Web服务,那么需要先找到Webshell,可以通过如下途径:

1)检查最近创建的php、jsp文件和上传目录

例如要查找24小时内被修改的JSP文件:

find ./ -mtime 0 -name "*.jsp"

2)使用Webshell查杀工具

3)与测试环境目录做对比

diff -r {生产dir} {测试dir}

二、SSH服务

查看登录信息

登录成功:

grep 'Accepted' /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr

或者last命令,它会读取位于/var/log/wtmp的文件,并把该文件记录的登录系统的用户名单,全部显示出来。

登录失败:

grep 'Failed' /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr

或者lastb命令,会读取位于/var/log/btmp的文件,并把该文件记录的登入系统失败的用户名单,全部显示出来。

检查SSH后门

1)比对ssh的版本

ssh -V

2)查看ssh配置文件和/usr/sbin/sshd的时间

stat /usr/sbin/sshd

3)strings检查/usr/sbin/sshd,看是否有邮箱信息

strings可以查看二进制文件中的字符串,在应急响应中是十分有用的。有些sshd后门会通过邮件发送登录信息,通过strings /usr/sbin/sshd可以查看到邮箱信息。

4)通过strace监控sshd进程读写文件的操作

一般的sshd后门都会将账户密码记录到文件,可以通过strace进程跟踪到ssh登录密码文件。

ps axu | grep sshd | grep -v grep

root 65530 0.0 0.1 48428 1260 ? Ss 13:43 0:00 /usr/sbin/sshd

strace -o aa -ff -p 65530

grep open aa* | grep -v -e No -e null -e denied| grep WR

aa.102586:open("/tmp/ilog", O_WRONLY|O_CREAT|O_APPEND, 0666) = 4

三、进程

检查是否存在可疑进程,需要注意如果攻击者获取到了Root权限,被植入内核或者系统层Rootkit的话,进程也会隐藏。

1)资源占用

Top然后找到CPU和MEM排序

2)启动时间

可疑与前面找到的Webshell时间点比对。

3)启动权限

这点很重要,比如某次应急中发现木马进程都是mysql权限执行的,如下所示:

上一页12下一页


留言