2。隐藏踪迹
攻击者在获得系统最高管理员权限之后就可以随意修改系统上的文件了(只对常规Unix系统而言),包括日志文件,所以一般黑客想要隐藏自己的踪迹的话,就会对日志进行修改。最简单的方法当然就是删除日志文件了,但这样做虽然避免了系统管理员根据IP追踪到自己,但也明确无误地告诉了管理员,系统己经被人侵了。所以最常用的办法是只对日志文件中有关自己的那一部分做修改。关于修改方法的具体细节根据不同的操作系统有所区别,网络上有许多此类功能的程序,例如zap、wipe等,其主要做法就是清除utmp、wtmp、Lastlog和Pacct等日志文件中某一用户的信息,使得当使用w、who、last等命令查看日志文件时,隐藏掉此用户的信息。
管理员想要避免日志系统被黑客修改,应该采取一定的措施,例如用打印机实时记录网络日志信息。但这样做也有弊端,黑客一旦了解到你的做法就会不停地向日志里写入无用的信息,使得打印机不停地打印日志,直到所有的纸用光为止。所以比较好的避免日志被修改的办法是把所有日志文件发送到一台比较安全的主机上,即使用loghost。即使是这样也不能完全避免日志被修改的可能性,因为黑客既然能攻入这台主机,也很可能攻入loghost。
只修改日志是不够的,因为百密必有一漏,即使自认为修改了所有的日志,仍然会留下一些蛛丝马迹的。例如安装了某些后门程序,运行后也可能被管理员发现。所以,黑客高手可以通过替换一些系统程序的方法来进一步隐藏踪迹。这种用来替换正常系统程序的黑客程序叫做rootkit,这类程序在一些黑客网站可以找到,比较常见的有LinuxRootKit,现在已经发展到了5。0版本了。它可以替换系统的ls、ps、netstat、inetd等等一系列重要的系统程序,当替换了ls后,就可以隐藏指定的文件,使得管理员在使用ls命令时无法看到这些文件,从而达到隐藏自己的目的。
3。后门
一般黑客都会在攻入系统后不只一次地进入该系统。为了下次再进入系统时方便一点,黑客会留下一个后门,特洛伊木马就是后门的最好范例。Unix中留后门的方法有很多种,下面介绍几种常见的后门,供网络管理员参考防范。
<1>密码破解后门
这是入侵者使用的最早也是最老的方法,它不仅可以获得对Unix机器的访问,而且可以通过破解密码制造后门。这就是破解口令薄弱的帐号。以后即使管理员封了入侵者的当前帐号,这些新的帐号仍然可能是重新侵入的后门。多数情况下,入侵者寻找口令薄弱的未使用帐号,然后将口令改的难些。当管理员寻找口令薄弱的帐号是,也不会发现这些密码已修改的帐号。因而管理员很难确定查封哪个帐号。
<2>Rhosts++后门
在连网的Unix机器中,象Rsh和Rlogin这样的服务是基于rhosts文件里的主机名使用简单的认证方法。用户可以轻易的改变设置而不需口令就能进入。入侵者只要向可以访问的某用户的rhosts文件中输入"++",就可以允许任何人从任何地方无须口令便能进入这个帐号。特别当home目录通过NFS向外共享时,入侵者更热中于此。这些帐号也成了入侵者再次侵入的后门。许多人更喜欢使用Rsh,因为它通常缺少日志能力。许多管理员经常检查"++",所以入侵者实际上多设置来自网上的另一个帐号的主机名和用户名,从而不易被发现。
<3>校验和及时间戳后门
早期,许多入侵者用自己的trojan程序替代二进制文件。系统管理员便依靠时间戳和系统校验和的程序辨别一个二进制文件是否已被改变,如Unix里的sum程序。入侵者又发展了使trojan文件和原文件时间戳同步的新技术。它是这样实现的:先将系统时钟拨回到原文件时间,然后调整trojan文件的时间为系统时间。一旦二进制trojan文件与原来的精确同步,就可以把系统时间设回当前时间。Sum程序是基于CRC校验,很容易骗过。入侵者设计出了可以将trojan的校验和调整到原文件的校验和的程序。MD5是被大多数人推荐的,MD5使用的算法目前还没人能骗过。
<4>Login后门
在Unix里,login程序通常用来对telnet来的用户进行口令验证。入侵者获取login。c的原代码并修改,使它在比较输入口令与存储口令时先检查后门口令。如果用户敲入后门口令,它将忽视管理员设置的口令让你长驱直入。这将允许入侵者进入任何帐号,甚至是root。由于后门口令是在用户真实登录并被日志记录到utmp和wtmp前产生一个访问的,所以入侵者可以登录获取shell却不会暴露该帐号。管理员注意到这种后门后,便用"strings"命令搜索login程序以寻找文本信息。许多情况下后门口令会原形毕露。入侵者就开始加密或者更好的隐藏口令,使strings命令失效。所以更多的管理员是用MD5校验和检测这种后门的。
<5>Telnetd后门
当用户telnet到系统,监听端口的inetd服务接受连接随后递给in。telnetd,由它运行login。一些入侵者知道管理员会检查login是否被修改,就着手修改in。telnetd。在in。telnetd内部有一些对用户信息的检验,比如用户使用了何种终端。典型的终端设置是Xterm或者VT100。入侵者可以做这样的后门,当终端设置为"letmein"时产生一个不要任何验证的shell。入侵者已对某些服务作了后门,对来自特定源端口的连接产生一个shell。
<6>服务后门
几乎所有网络服务曾被入侵者作过后门。Finger,rsh,rexec,rlogin,ftp,甚至inetd等等的作了的版本随处多是。有的只是连接到某个TCP端口的shell,通过后门口令就能获取访问。这些程序有时用刺娲□?Ucp这样不用的服务,或者被加入inetd。conf作为一个新的服务,管理员应该非常注意那些服务正在运行,并用MD5对原服务程序做校验。
<7>Cronjob后门
Unix上的Cronjob可以按时间表调度特定程序的运行。入侵者可以加入后门shell程序使它在1AM到2AM之间运行,那么每晚有一个小时可以获得访问。也可以查看cronjob中经常运行的合法程序,同时置入后门。
<8>库后门
几乎所有的UNIX系统使用共享库,共享库用于相同函数的重用而减少代码长度。一些入侵者在象crypt。c和_crypt。c这些函数里作了后门;象login。c这样的程序调用了crypt()。当使用后门口令时产生一个shell。因此,即使管理员用MD5检查login程序,仍然能产生一个后门函数,而且许多管理员并不会检查库是否被做了后门。对于许多入侵者来说有一个问题:一些管理员对所有东西多作了MD5校验,有一种办法是入侵者对open()和文件访问函数做后门。后门函数读原文件但执行trojan后门程序。所以当MD5读这些文件时,校验和一切正常,但当系统运行时将执行trojan版本的,即使trojan库本身也可躲过MD5校验,对于管理员来说有一种方法可以找到后门,就是静态编连MD5校验程序然后运行,静态连接程序不会使用trojan共享库。
<9>内核后门
内核是Unix工作的核心,用于库躲过MD5校验的方法同样适用于内核级别,甚至连静态连接多不能识别。一个后门作的很好的内核是最难被管理员查找的,所幸的是内核的后门程序还不是随手可得,每人知道它事实上传播有多广。
<10>文件系统后门
入侵者需要在服务器上存储他们的掠夺品或数据,并不能被管理员发现,入侵者的文章常是包括exploit脚本工具,后门集,sniffer日志,email的备分,原代码,等等!有时为了防止管理员发现这么大的文件,入侵者需要修补"ls","du","fsck"以隐匿特定的目录和文件,在很低的级别,入侵者做这样的漏洞:以专有的格式在硬盘上割出一部分,且表示为坏的扇区。因此入侵者只能用特别的工具访问这些隐藏的文件,对于普通的管理员来说,很难发现这些"坏扇区"里的文件系统,而它又确实存在。
<11>Boot块后门
在PC世界里,许多病毒藏匿与根区,而杀病毒软件就是检查根区是否被改变。Unix下,多数管理员没有检查根区的软件,所以一些入侵者将一些后门留在根区。
<12>隐匿进程后门
入侵者通常想隐匿他们运行的程序,这样的程序一般是口令破解程序和监听程序(sniffer),有许多办法可以实现,这里是较通用的:编写程序时修改自己的argv[]使它看起来象其他进程名。可以将sniffer程序改名类似in。syslog再执行,因此当管理员用"ps"检查运行进程时,出现的是标准服务名。可以修改库函数致使"ps"不能显示所有进程,可以将一个后门或程序嵌入中断驱动程序使它不会在进程表显现。使用这个技术的一个后门例子是
amod。tar。gz:
http://star。niimm。spb。su/~maillist/bugtraq。1/0777。html网络通行。这些网络通行后门有时允许入侵者通过防火墙进行访问。有许多网络后门程序允许入侵者建立某个端口号并不用通过普通服务就能实现访问。因为这是通过非标准网络端口的通行,管理员可能忽视入侵者的足迹。这种后门通常使用TCP,UDP和ICMP,但也可能是其他类型报文。
<14>TCPShell后门
入侵者可能在防火墙没有阻塞的高位TCP端口建立这些TCPShell后门。许多情况下,他们用口令进行保护以免管理员连接上后立即看到是shell访问。管理员可以用netstat命令查看当前的连接状态,那些端口在侦听,目前连接的来龙去脉。通常这些后门可以让入侵者躲过TCPWrapper技术。这些后门可以放在SMTP端口,许多防火墙允许e-mail通行的。
<15>UDPShell后门
管理员经常注意TCP连接并观察其怪异情况,而UDPShell后门没有这样的连接,所以netstat不能显示入侵者的访问痕迹,许多防火墙设置成允许类似DNS的UDP报文的通行,通常入侵者将UDPShell放置在这个端口,允许穿越防火墙。
<16>ICMPShell后门
Ping是通过发送和接受ICMP包检测机器活动状态的通用办法之一。许多防火墙允许外界ping它内部的机器,入侵者可以放数据入Ping的ICMP包,在ping的机器间形成一个shell通道,管理员也许会注意到Ping包暴风,但除了他查看包内数据,否者入侵者不会暴露。
<17>加密连接
管理员可能建立一个sniffer试图某个访问的数据,但当入侵者给网络通行后门加密后,就不可能被判定两台机器间的传输内容了。
.分页: [1] [2]
- 上一篇:僵尸网络的演变与防御措施
- 下一篇:判断电脑中毒的一些常见方法