一般完整的攻击过程都是先隐藏自身,在隐藏好自己后再进行预攻击探测,检测目标机器的各种属性和具备的被攻击条件,然后采取相应的攻击方法进行破坏,达到自己的目的,之后攻击者会删除自己的行为日志。
1 隐藏自己
常见的攻击者隐藏自身的方式有以下几种:
从已经取得控制权的主机上通过telnet或rsh跳跃。
从windows主机上通过wingates等服务进行跳跃。
利用配置不当的代理服务器进行跳跃。
利用电话交换技术先通过拨号找寻并连入某台主机,然后通过这台主机再连入internet来跳跃。
2 预攻击探测
这步的主要任务是收集有关要攻击目标的有用的的信息。这些信息包括目标计算机的硬件信息、目标计算机的用户信息、存在的漏洞等。
通常是从已经攻入的系统中的.rhosts和.netrc文件中将所列的机器挑选出来,从系统的/etc/hosts文件中可以得到一个很全的主机列表。但大多数情况下,选定一个攻击目标是一个比较盲目的过程,除非攻击者有很明确的目的和动机。攻击者也可能找到dns表,通过dns可以知道机器名、ip地址、机器类型、甚至还可以知道机器的主人和单位。
3 采取攻击行为
在攻击探测中如果攻击者发现目标机器系统有可以被利用的漏洞或弱点,则立即采取攻击行为。在此过程中具体采用的攻击行为要视目标机器系统而定,目前较流行的手段有暴力破解、缓冲区益出、跨站脚本、拒绝服务、欺骗等。
4 清除痕迹
攻击者清除攻击痕迹的方法主要是清除系统和服务日志。有些工具可以清除日志,如THC提供的cleara.c。cleara.c可以清除utmp/utmpx,wtmp/wtmpx,修复lastlog让其仍然显示该用户的上次登陆信息。有时攻击者会自己对日志文件进行修改,不同的unix版本的日志存储位置不同。