?
3.1 攻击者的"隐身术"
典型的系统攻击者一般会采用以下策略来隐藏自己的真实IP地址:
- 从已经取得控制权的主机上通过 telnet或
rsh 跳跃
- 从 windows 主机上通过 wingates 等服务进行跳跃
- 利用配置不当的
代理服务器进行跳跃
当发现你的网络有被扫描的模式,而这些扫描来自被攻破的主机或代理时,建议您通过电话联系他们的系统管理员反映掌握的问题情况。不要使用email联系,因为攻击者们可以拦截所有发给管理员的email。
一些经验老道的攻击者会利用电话交换技巧来入侵,他们可能会采用以下技巧:
- 通过“800号”个人电话交换服务,使用被“破解”的帐号连入ISP来跳跃;
- 先通过拨号找寻并连入某台主机,然后通过这台主机再联入internet来跳跃。
追踪利用电话网络跳跃技巧连入internet的攻击者是极端困难的,因为他们可能来自世界上任何角落。如果攻击者能成功使用“800号”拨号跳跃,他简直可以从世界上任何地方拨入而不用担心长途电话费用。
3.2 网络查探和信息收集
在从internet上攻击任何网络前,一个熟练的攻击者会对企业在internet上的主机预先进行侦察。在攻击者试图获取内网和外网主机资料时,会采用以下办法:
- 用nslookup进行“
ls $#@60;子网或域>” 查询请求
- 查看WEB主机上的HTML
源码来搜寻其他
主机名或IP地址
- 查看
FTP服务器上的有关文档
- 连接邮件服务器,作“expn $#@60;user>”查询请求
- 在外部主机上使用Finger服务来查找用户
攻击者一般会实现搜集网络自身的结构信息,然后才试图找出可能存在的特定弱点。
在上述查询所得的结果的基础上,攻击者们很容易就可以获取企业内网中一批主机名和地址列表,并可开始了解他们之间的关系。
当进行这些预扫描时,一些典型的攻击者也可能会犯下一些小错误,即在连接到被攻击的主机的某些端口来获取操作系统版本或其他资料时,使用了自己真实的IP地址。
所以当您发觉自己的主机被攻击时,一个好方法是:通过检查您的FTP和HTTPD记录,找出那些不适当的请求。
3.3 确定被信任网络结点
攻击者会选择被信任的网络结点作为攻击对象,被信任的结点通常会是管理者的机器,或者被认为安全的服务器。
? 击者最初会查找您机器上运行的nfsd或mountd所输出的NFS信息,因为您的机器上的一些关键目录(比如 /
usr/bin, /
etc和/home等)可能可以被
mount在那些被信任的机器上。
finger守护服务通常会被滥用作确定被信任的主机或用户的工具,因为一般来说特定的用户总是从特定的主机上登录。
然后攻击者会尝试找出其他类型的信任关系,比如当一个攻击者能够成功
利用CGI的漏洞对主机进行攻击时,他就可以访问到主机的
/etc/hosts.allow文件。
当详细分析以上获得的数据后,攻击者就可以确定选择被攻击主机间的信任关系,下一步就是找出那些被信任的主机可能存在的漏洞,为后续的远程攻击准备。
3.4 确定有弱点网络部件
当攻击者们建立了对企业网络结构的认识后,他就会使用一些linux的程序,如AMDhack, mscan,
nmap和其他一些小扫描程序,对特定主机进行适合远程攻击的弱点扫描。
通常,这些扫描都是在那些具有快速光纤连接的机器上进行。AMDhack在linux上运行时需要root的权限,所以一个攻击者通常会使用那些已经被他攻入并安装了“rootkit”的机器来进行扫描。这些“rootkit”可以利用一些关键系统程序的后门或漏洞对系统进行未授权且不被发觉的访问。
那些启动扫描程序的主机的管理员通常根本不知道自己的机器正在对别人的企业网进行扫描,因为看似正常的“ps”或“netstat”等进程其实正是掩盖扫描进程的木马。
其他程序,比如mscan不需要
root权限,所以能从任何linux(或其他操作平台,当使用nmap时)机器上有效地扫描远程机器的弱点,虽然通常这些扫描会比较慢,而且一般不会隐藏得很好(因为不像AMDhack,攻击者不需要获得root的权限)。
AMDhack和mscan都会对远程主机进行下列几种扫描:
- 主机的TCP
端口扫描
- portmapper提供的正在运行的
RPC服务
- nfsd提供的外输目录表
-
samba或netbios提供的共享目录表
- 多次finger来确定默认帐户存在
- CGI程序
漏洞扫描
- 找寻主机运行的操作系统版本的系统守护程序的漏洞,包括
sendmail,
IMAP,POP3,RPC status和RPC mountd。
现在攻击者们很少会使用SATAN,因为它太慢,而且只查找一些过期的漏洞。
当对企业外网主机进行扫描后,攻击者可清楚的了解哪台主机安全,哪台主机有漏洞。
当企业使用的路由器,且路由器能够使用
SNMP时,一些攻击高手会利用攻击性SNMP扫描,并对路由器进行字符串“暴力攻击”来获取设备
的公共和私有名。
3.5 利用网络部件的"弱项"
攻击者能够找出外网主机间的任何信任关系,也能够找出外网主机的“弱项”。如果他确实找到了某一网络节点的漏洞,他就会尝试控制您的主机。
一个耐心的攻击者不会在正常
上班时间攻击您的机器,他通常会在晚上9点到第二天早上6点间进行攻击,这样会减少被发现的机会,也给攻击者充裕的时间在主机安装后门、嗅侦器或木马而不用担心被系统管理员当场识破。
大多数攻击者周末都很有空,所以一般攻击也是在那时发生。
攻击者会尝试控制一部被信任的外部主机,作为对企业内部
网络攻击的跳板。视乎企业在外网和内网主机间安装的
网络过滤器的效果,这种攻击方法可能有效,也可能无效。
当攻击者控制了一台外部的邮件服务器,从而获得了企业内部各个网段的访问权后,他就能开始把自己深深地嵌在你的网络中。
为了控制网络的枢纽部件,攻击者们会利用一些程序从远程对企业外部主机的系统守护程序的弱点和漏洞进行扫描,比如一些具有漏洞的
sendmail,IMAP,POP3版本,以及有缺陷的
RPC服务如statd,mountd和pcnfsd。
大多数远程攻击是从已经被攻击者控制的机器上发动的,在某些情况下攻击程序需要在被与被攻击主机相同的系统平下重新编译。
当在远程执行对您外网主机系统守护程序攻击的程序时,攻击者通常会尝试获得系统主机的root权限,从而用其访问到企业的内部网络。
3.6 控制有漏洞的网络结点
当成功控制系统守护程序后,攻击者们会“
打扫战场”,修改主机访问
日志,在系统服务
程序安装后门,从而使自己能够在日后进入而不被发觉。
首先他会安装后门,使自己能够在日后访问。攻击者们用的
后门程序大多已预编译,攻击者可以使用一些技巧改变安装了后门的程序的日期和
访问权限设置,有时甚至加了后门的文件的长度也可以改到与原文件一样。如果攻击者对FTP
日志文件有忧虑,他可以使用“rcp”程序来将后门程序放到主机上。
当然这些攻击者不会修复企业网络的安全漏洞,他一般只会在关键的系统文件上安装后门或
木马程序,比如“ps”、“netstat”等,以隐藏自己在主机上的活动。
在Solaris 2.x系统,攻击者通常会在下面一些关键的文件安装后门。
/usr/bin/login
/usr/sbin/
ping
/usr/sbin/in.telnetd
/usr/sbin/in.rshd
/usr/sbin/in.rlogind
据说有些攻击者会在 /usr/bin目录下放上.rhos
ts文件,以允许远程的程序可以通过rsh或csh的交互环境来启动。
攻击者们下一步一般会检查系统的日志系统,看看自己的连接和攻击过程是否被记录,然后他会将所有自己访问系统的记录从机器种删除。如果某台机器很有可能成为攻击的目标,则建议把日志直接输出行式
打印机,因为攻击者几乎不可能将自己的访问记录从打印的日志中删除。
当确认自己的连接没有被任何日志系统记录后,攻击者就会开始对企业网络进行攻击。如果攻击者取得了企业内网的访问权,一般来说他们就不会再去攻击其他的外网主机。
4.1 下载敏感信息
如果攻击者的目标是从企业内网的WEB服务器或FTP服务器上下载敏感信息,他可以通过将外网的机器配置成连接内网和企业内网的“网桥”来达到目的。
然而,如果攻击者的目标是企业内某台机器内的敏感信息,他可能会利用已经控制了的外网机器,尝试通过机器间的信任关系来获得那台机器的访问权。
4.2 攻击其他被信任的网络
许多攻击者只是重复3.2,3.3,3.4和3.5节中的步骤来查探内网资料,获取内网访问权。视乎攻击者想要达到的目的,他或许会在内网安装后门或木马。
如果攻击者想要完全获得内部网络主机的访问权,他可能利用3.6节介绍的方法安装木马或后门并将自己的访问记录删除。攻击者也会在主机上安装嗅侦器,在4.3节中会对此详细介绍。
如果攻击者只是想从特定的服务器上下载数据的话,他可能会采取其他方法来获得内部主机的访问权,比如找出那台服务器所信任的主机,然后试图控制那台主机。
4.3 安装嗅侦器
攻击者们一个十分快速和有效地获得大量内部网络主机的用户名机器密码的方法是使用“以太网嗅侦器”(ethernet
sniffer)程序。但由于这些嗅侦器只有当攻击者和被攻击者在同一个以太网段内才有效,所以在充当网桥的外网主机上运行嗅侦器不会有用。
要“嗅侦”内网中的数据流,攻击者必须取得一台内网主机的root权限,而且这台主机必须与其他主机在同一个网段上。在攻击时可采用3.2,3.3,3.4,3.5和3.6节中介绍的方法,因为攻击者必须成功在主机上取得控制权并安装后门软件,以保证嗅侦程序能正确安装和运行。
只有当取得控制权,安装了后门,并在“ps”和“netstat”上安装木马后,攻击者才能在主机上安装“以太网嗅侦器”。在Solaris 2.x中,这些嗅侦程序通常会被安装在/usr/bin或/dev目录下,然后修改程序的属性以使它看起来象其他安装的系统程序一样。
大多数“以太网嗅侦器”是在背景运行,将结果的输出到本地机器的日志文件中。值得一提的是,攻击者通常会修改“ps”,使嗅侦的进程不被发觉。
“以太网嗅侦器”程序将网络接口卡设置成为“无选择”模式,使之侦听用户名,密码和其他有用的数据,并将其存入嗅侦器的日志文件。攻击者可用这些侦听到的数据来获得到其他主机的访问权。
因为“以太网嗅侦器”是安装在以太网上,所以它可以侦听到所有在同一 网段中的数据流,而不仅仅是从宿主主机发出或发往该主机的数据。
攻击者通常会在一个星期后返回,下载嗅侦程序建立的日志文件。在这种情况下,企业内网的某个分支里潜伏的嗅侦程序会设置得很完善,除非企业实施了很好的网络安全措施,否则这种嗅侦器很难被发觉。
对于关心网络安全的系统管理员,有一个很好的工具叫作Tripwire,可以从COAST中得到(见5.2节)。Tripwire在您的
文件系统中制作一个MD5的“
指纹”,并能监控恶意用户或攻击者对您的文件系统进行的任何修改。
要查找“无选择”模式的网卡(通常意味着被安装嗅侦器),CERT提供的“cpm”工具十分有效。可以http://www.cert.org/ftp/tools/cpm/查找更多的信息。
4.4 使网络瘫痪
一些服务器运行着十分重要的应用程序,比如数据库、
网络操作系统和其他执行“关键任务”的程序。一旦攻击者获得了这些服务器的控制权,就可以很轻易地将网络瘫痪很长一段时间。
一个攻击者不常用,但是十分残忍的摧毁网络的方法,是在运行关键服务的主机上运行“
rm -rf / &”命令(译注:删除机器上所有文件)。视乎系统的网络备份措施是否完善,这种攻击可以使网络瘫痪几个钟头到几个月。
如果攻击者的目的是为了进入内部网络,它可能会利用现有路由器存在的安全漏洞,比如在Cisco,Bay和Ascend等品牌的路由器中的漏洞。在某些情况下,攻击者可以从远方重启路由器,甚至完全关掉路由器直至系统管理员重新启动。这样对网络的机能会造成极大程度的破坏,因为当攻击者针对一系列执行关键网络功能的路由器(比如用来构建企业骨干网的路由器)的漏洞进行攻击时,他可以很轻易地将网络功能瘫痪相当一段时间。
所以,对于执行“关键任务”的路由器和服务器应该经常进行升级,并且采取一切措施确保其安全。
5.1 参考阅读
有许多好的文章可以帮助您维护您的内网、外网、主机、服务器等的安全。我们推荐您访问以下站点,如果希望对大型网络和主机的安全有更深入的了解,阅读以下书籍:
http://www.antionline.com/archives/documents/advanced/
http://www.rootshell.com/beta/documentation.html
http://seclab.
cs.ucdavis.edu/papers.html
http://rhino9.ml.org/textware/
Practical Unix & Internet
Security
如果您以前没有读过Unix和internet安全方面的书籍,这本书是一个好的开始。
Simson Garfinkel and Gene Spafford
OReilly & Associates, Inc.
ISBN 1-56592-148-8
US $39.95
CAN $56.95 (UK around 30 pounds)
5.2 推荐工具和程序
已经有许多免费的
系统安全程序可以运行在主流的操作系统上,比如:Solaris, IRIX, Linux,
AIX, HP-UX 和 Windows NT,
要获取这些免费工具软件和程序的更多资料,我们推荐您访问以下站点:
ftp://coast.cs.purdue.edu/pub/tools/unix/
http://www.alw.nih.gov/Security/prog-full.html
http://rhino9.ml.org/software/
网络安全方案公司(
Network Security Solutions Ltd.)现在也正在开发一种基于Unix和Windows平台的网络安全工具,预计在未来几个月后将推出。在此期间请访问
http://www.ns2.co.uk , 并看看我们其他“精”版的
免费软件!