浏览模式: 普通 | 列表

推荐日志 安防策略 即时剖解防范DOS攻击

[ 2007-03-25 03:33:36 | 作者: sun ]
意用户越来越猖獗的今天,网络中不再是风平浪静,作为一名保卫计算机安全的管理人员,了解恶意用户的攻击手段与原理是必然的,知已知彼方能更好将安全系数提升至另一个境界,而DOS、DDOS攻击类型方式的兴起,也让网管员再次忙活了起来……
DOS攻击原理详探
DOS攻击可以使被攻击目标达到无法正常访问并不能面对用户提供正常提供服务,其攻击方式是一对一式的通常称为点对点式,采用消耗资源、服务中止和物理破坏形式,但当被攻击机器的性能优越于攻击者机器时,DOS无明显效果。此时分布式拒绝服务攻击手法DDOS应运而生,此攻击是在DOS基础上利用大量计算机一起发动大规模攻击,从而导至目标机资淅耗尽而崩溃,因为DDOS式攻击可让恶意用户控制傀儡机进行跨机攻击,隐匿性非常强,所以受害机往往很难查出真正发起攻击的恶意用户到底是来自那个地区,后果非常糟糕也十分可怕。

常见DOS攻击及防范
目前网络中流行的其DOS类攻击有很多种,而下面的四种却是恶意用户最常用的攻击手法,其危害大、操作相对简单。

一、UDP Flood攻击
此种攻击方法也是让目标机产生拒绝服务的手段之一,此UDP连接无需任何协议技持即可进行远程数据传输,当恶意用户向目标机发送4字节的数据包时,此时将会产生UDP淹没攻击,目标计算机接收数据包的应用程序,并进行等待确定,一但发现端口中不存在等待连接的应用程序,此时将产生一个目的地址无法连接的ICMP数据包发送给该伪造的源地址,随着数据包往复发送的次数变多,此时目标机的处理能力慢慢变低,最终将导至计算机无法提供正常服务系统崩溃。

针对此种攻击的网络管理人员要充分利用硬件产品与计算机安全策略相互交错运行,禁用或者过滤监控和响应服务,并过滤或禁用其它的UDP服务,对指定的UDP服务可以通过其代理机制来实行网络访问。

二、SYN FLOOD攻击原理防法方案
此攻击方法利用了TCP协议中三次握手中的缺憾,并因此为传输依据向目标主机发送大量伪造的TCP连接请求,重复一次又一次的SYN报文后依次中断,让目标机接收的连接请求保存在一个有限空间缓存队列中,并越聚越多,从而使目标机出现CPU满载运行与内存资源耗尽,无法及时回应并处理正常的服务请求,导至服务器不停地处理大量虚假SYN包 ,使堆栈溢出陷入崩溃边缘,从而造成服务器的拒绝服务。

由于SYN Flood攻击的效果取决于目标机上的半连接数,这个值等于SYN攻击的频度乘以SYN Timeout,所以通过缩短SYN Timeout时间以确定报文无效并丢弃该连接即可抵御,其修改方法如下:首先在计算机运行项里输入regedit.exe调出注册表项,并依次展开HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Tcpip\parameters键值,并在右侧窗体中建立DWORD值名为SynAttackProtect,设置其键值范围为2(提示:此值减少SYN攻击时采取的保护措施,0为无保护)并再次建立DWORD值命名为TcpMaxHalfOpen,此值的设置要根据实际情况进行设定,用以控制系统允许打开的半连接数,最后再次建立DWORD名为TcpMaxHalfOpenRetriec,此值决定系统于何种情况下自动打开SYN攻击保护,修改注册表键值将针对攻击频率不高的SYN Flood攻击产生效果。

三、ICMP Flood攻击原理及防法
ICMP攻击是通过Ping产生的大量数据包,使目标计算机的CPU占用率满载继而当机,此类的攻击方法更加简单,恶意用户只要在DOS窗体中输入ping -t -l 65500 IP地址即可实现向目标计算机发送一个65500的ICMP报文,此时目标用户即受到ICMP洪水攻击,计算机因此逐渐变慢,从而死机。

用户或管理人员可以通过在运行菜单中输入regedit.exe调出注册表,打开HKEY_LOCAL_Machine/System/CurrentControlSt/Services?TCPIP/Paramters键值并在其右窗口中创建DWORD键值命名为EnableICMPRedirects键值数为0,此时即可禁止计算机响应ICMP得定向报文,以达保护目的,而还有一种方法是通过修改注册表禁止响应ICMP路由通告报文,来守护此类攻击,依次打开注册表如下键值HKEY_LOCAL_Machine/System/CurrentControlSt/Services?TCPIP/Paramters/Interfaces在右侧窗体中创建DWORD值命名为PerformRouterDiscovery其键值为0即可停止响应。

DDOS攻击
DDoS是英文Distributed Denial of Service的缩写(网络统称为:分布式拒绝服务)。其原理是主攻击利用所控制的N台中间人计算机(傀儡主机)一起向目标机器发送大量看似合法的数据包,造成目标机网络阻塞或服务器资源耗尽而导致拒绝服务产生,导至合法的网络数据包被虚假的网络数据包淹没而无法到达主机,形成合法用户无法正常访问,也可以通过大量的攻击数据包导至主机的CPU满裁、内存耗尽造成目标机也无法对正常用户提供网络服务,威力更加庞大。

了解了DOS及DDOS的几类攻击手法后,那么用户或管理人员如何才能做到有效地防备呢?首先要安装专业抗DDOS防火墙,安装完成对利用端口扫描软件对本机进行扫描,发现高危端口时使用新建防火墙规则,对其进行拦截或过滤某些特定的数据包,在系统安全上要经常打上最新的安全补丁程序,建立备份机制删除多余用户,禁止不必要的网络服务,并建立路由器、防火墙等负载均衡设备策略,当网络被恶意用户DDOS时最先崩溃的是路由器,此时当一台路由器被攻击死机时,另一台则马上进行工作,而内部计算机在其保护之下完好无损,崩溃的路由器经重启很快便于能进入替补角色,从而最大程度的削减了DDOS的攻击,做到防危滴漏!

防御后记
网络用户在以后的网络中遇上此类攻击,相信在了解其原理的情况下,能即时应对所发生的突发事件,在情节处理上要做到稳而不乱,忙而能静的攻守原则,在硬件上下下功夫做好防火墙与策略的把关工作,定能大事化小小事化了

推荐日志 轻松查杀网页木马

[ 2007-03-25 03:33:23 | 作者: sun ]
木马取自古希腊神话的特洛伊木马记,是一种基于远程控制的黑客工具,具有很强的隐藏性和危害性。为了达到控制服务端主机的目的,木马往往要采用各种手段达到激活自己,加载运行的目的。这里,我们简要的介绍一下木马通用的激活方式,它们的藏身地,并通过一些实例来让您体会一下手动清除木马的方法。

●在Win.ini中启动木马:

在Win.ini的[Windows]小节中有启动命令“load=”和“run=”,在一般的情况下“=”后面是空的,如果后面跟有程序,比如:



run=C:\Windows ile.exe
load=C:\Windows ile.exe



则这个file.exe很有可能就是木马程序。
●在Windows XP注册表中修改文件关联:

修改注册表中的文件关联是木马常用的手段,如何修改的方法已在本系列的前几文中有过阐述。举个例子,在正常情况下txt文件的打开方式为Notepad.exe(记事本),但一旦感染了文件关联木马,则txt文件就变成条用木马程序打开了。如著名的国产木马“冰河”,就是将注册表HKEY_CLASSES_ROOT xtfileshellopencommand子键分支下的键值项“默认”的键值“C:\Windows otepad.exe %1”修改为“C:\WindowsSystemSysexplr.exe”,这样,当你双击一个txt文件时,原本应该用记事本打开的文件,现在就成了启动木马程序了。当然,不仅是txt 文件,其它类型的文件,如htm、exe、zip、com等文件也都是木马程序的目标,要小心。

对这类木马程序,只能检查注册表中的HKEY_CLASSES_ROOT中的文件类型shellopencommand子键分支,查看其值是否正常。

●在Windows XP系统中捆绑木马文件:

实现这种触发条件首先要控制端和服务端已通过木马建立连接,控制端用户使用工具软件将木马文件和某一应用程序捆绑在一起,上传到服务端覆盖原有文件,这样即使木马被删除了,只要运行捆绑了木马的应用程序,木马又会被重新安装了。如果捆绑在系统文件上,则每次Windows XP启动都会启动木马。

关闭注册表,打开C:\Autoexec.bat文件,删除如下两行:



@echo off copy c:\sys.lon C:\WindowsStart MenuStartup Items
Del c:\win.reg



保存并关闭Autoexec.exe文件。
●IndocTrination v0.1-v0.11注册表清除实例:

在注册表中打开如下子键:



HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunServices
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunOnce
HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunServices Once



将这些子键右边窗口中的如下键值项删除:
Msgsrv16=“Msgsrv16”,关闭注册表后重启Windows,删除C:\WindowsSystemmsgserv16.exe文件。


●SubSeven-Introduction v1.8注册表清除实例:

打开HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun子键分支和HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunServices子键分支,在右窗口中查找到含有“C:\WindowsSystem.ini”的键值项数据,将它删除。

打开Win.ini文件,将其中的“run=kernel16.dl”改为“run=”,保存并关闭Win.ini文件。

打开System.ini文件,将其中的“shell=explorer.exe kernel32.dl”改为“shell=explorer.exe”,保存并关闭System.ini文件,重启Windows,删除C:\Windowskernel16.dl文件。

●广外女生注册表清除实例:

退到MS-DOS模式下,删除System目录下的diagcfg.exe。由于该病毒关联的是exe文件,因此,现在删除它后Windows环境下任何exe文件都将无法运行。我们先找到Windows目录下的注册表编辑器“Regedit.exe”,将其改名为“Regedit.com”。

回到Windows模式下,运行“Regedit.com”。打开HKEY_CLASSES_ROOTexefileshellopencommand,将其默认值改为“%1 %*”,删除HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionRunServices下的键值项“Diagnostic Configuration”。关闭注册表。

回到Windows目录,将“Regedit.com”改回“Regedit.exe”。

●Netbull(网络公牛)注册表清除实例:

该病毒在Windows 9X下:捆绑notepad.exe、writre.exe、regedit.exe、winmine.exe和winhelp.exe。在Windows NT/2000下捆绑:notepad.exe、regedit.exe、regedt32.exe、drwtsn32.exe和winmine.exe。打开:



HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun
HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRunServices
HKEY_USERS.DEFAULTSoftwareMicrosoftWindowsCurrentVersionRun



在这些子键下删除键值项“CheckDll.exe”=“C:\WindowsSystemCheckDll..exe”。
另外,要察看自己的机器是否中了该病毒,可以察看上面列出的文件,如果发现该文件长度发生变化(大约增加了40K左右),就删除它们。然后点击[开始]|[附件]|[系统工具]|[系统文件检查器],在弹出的对话框中选择“从安装软盘提取一个文件”,在框中填入要提取的文件(前面你删除的),点“确定”,按屏幕提示将这些文件恢复即可。如果是开机时自动运行的第三方软件,如realplay.exe、QQ等被捆绑上了,那就必须把这些文件删除后重新安装了。

●聪明基因注册表清除实例:

删除C:\Windows下的MBBManager.exe和Explore32.exe,再删除C:\WindowsSystem下的editor.exe文件。如果服务端已经运行,则要先用进程管理软件终止MBBManager.exe这个进程后才能将它删除。

打开HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionRun,删除键值项“MainBroad BackManager”。将HKEY_CLASSES_ROOT xtfileshellopencommand的默认值改为“C:\WindowsNotepad.exe %1”,恢复txt文件关联。将HKEY_CLASSES_ROOThlpfileshellopencommand的默认值改为“C:\Windowswinhlp32.exe %1”,恢复hlp文件关联。

以上是一些比较典型的手动清除特洛伊木马操作步骤,希望大家能在动手的过程中得到启发,慢慢摸索木马的藏身和激活规律,以达到以不变应万变的境地。

推荐日志 菜鸟电脑安全防范技巧

[ 2007-03-25 03:33:10 | 作者: sun ]
大家好,今天是我第一次写点东西给大家分享有点紧张。如果哪里写的不对请高手给予指正。

今天我所讲的一切都是关于个人计算机安全,也都是我所知道的知识。我想大家都有过这样的经历,我们都是研究HACK技术的,经常会有一少部分人会给我们下木马病毒(损人不利己的事)!很多人都会黑某些WEB主机、攻击/入侵对方计算机。但是做同样的事情的也有别人,在我们攻击别人的时候,也会有人在攻击我们的电脑,我想那些人也不是吃素的,一般的杀毒软件、防火墙,我想对他们来说也是可以轻松突破的。

毕竟世界上没有绝对完美的防御。没有什么电脑可以一点漏洞都没有。所以我们大家都会入侵某某网站、个人计算机。但是相对于我们这方面的技术,欠缺的是防御自己计算机方面的方法与意识。今天我就把我个人知道的一些方法和知识写出来,和大家一起分享。

安全软件:杀毒软件、防火墙、病毒木马专杀软件、流氓软件清理类。(Windows系统上最好安装上这些安全产品)

Windows 的系统更新对于计算机安全来说由为重要,系统更新一定要打开,以及时修补计算机漏洞。

必要的计算机设置,比如:关闭潜在危险的服务telnet、ftp、3389、netbios等;给管理员用户设置一个强度密码,不要使用弱口令;删除其他无用的用户帐号、禁用guest用户、删除默认共享 $admin $c\d\e\f $ipc。

还有一些安全常识,要知道:有些木马病毒的隐藏性很好,而且事先一定做好了病毒免杀,所以不要把系统的安全全部放在杀毒软件上,也不要过分依赖于软件,要学会手动查杀计算机病毒木马。一般来说计算机病毒木马程序分为:键盘记录、远程控制、后门类等。因为杀毒软件的隐藏性都很好,一般是加载到启动项,这样系统在下次启动的时候就可以秘密的启动病毒木马程序。现在我要说一下病毒木马的几种启动方式:加载到win.ini、注册表启动项、引导扇区,一般来说就算病毒木马经过了免杀处理也就是:改变程序的入口点、插入进程技术等。使用病毒木马专杀工具就可以很有效的清除病毒木马程序。但是如果上面的方式都无法清除病毒木马程序的话,你可以尝试手动清理的方式,经常听见大家说手动清理病毒木马程序,但是有很多朋友还是不知道怎么清理。今天我就为大家介绍如何实现手动清理病毒木马程序。有几个病毒木马程序隐藏的地方我先告诉大家:注册表、引导扇区、win.ini、system32目录等,都是病毒木马程序隐藏的地方。一般来说首先要先删除病毒木马程序的启动项,然后再删除病毒木马程序的源文件,清理一下引导扇区、内存就可以了。

入侵一般是冲着你电脑里的重要资料来的,或者是广泛的入侵(大范围扫描)。所以之前最好对自己电脑里的数据资料做加密处理,这样才能有效的保护好你的资料不被其他人下载和阅读。

还有就是大家最好都有些安全意识。比如你的电脑感染了木马程序(这里指键盘记录程序),首先你运行了某些程序之后大概过了几分钟之后你的程序突然掉了,那就不要在登陆帐号了,因为很有可能你的电脑已经感染了病毒木马,感染这类木马你也不需要太过担心只要你不登陆帐号你也不怕什么的,有些木马程序是全局范围的,只要你在Windows上的text框输入字符木马程序都会记录下来并发送出去。而有些木马则是记录指定程序的,你不运行指定程序的时候那木马是不会工作的。

在你怀疑自己电脑感染了病毒木马程序的时候首先你可以先用专杀工具查杀一便,也可以看看有没有什么可疑进程在运行,有没有开放可疑端口。一般隐藏好的木马这两点是不会暴露的。找到了可疑木马病毒程序你可以在注册表和计算机的系统盘搜索一下,把注册表启动项目删除,再把分区内的源文件删除。然后再检测一下内存、引导扇区,应该没问题了。

还有一些是针对黑客入侵,大家都知道HACK技术入侵之前要做的事情。先会扫描我们计算机是否存在漏洞,我们可以先用安全工具检测一下自己的电脑是否也存在安全漏洞。比如默认共享要关闭、IPC共享、ADMIN共享。还有文件和打印机共享。此漏洞存在远程缓冲区溢出漏洞。

系统管理员密码最好是高强度密码,千万不要使用弱口令。远程连接服务不需要的话也一定要关闭:telnet、ftp、3389之类的。

因为我不经常使用那些软件,我的爱好是计算机编程。虽然我现在还在学习阶段,也不经常用软件。我建议大家不要过分依赖于软件。有的人使用了好几年的软件最后还都不知道软件实现的原理。

如果你要是学会了一门计算机语言那对你以后学习HACK技术会有很大帮助,只是会用工具、对黑客来说会有很大的局限性,做的事也很受限制。

再回到计算机防御上来说吧,防御好自己的计算机一点都不简单,我上面所说的也只是针对一般性的入侵。但对于真正的黑客我想可能也是没用的,我相信真正的黑客一定掌握着一种以上没被发现的漏洞。因为他没有公布所以很少人知道此漏洞。MS也不知道吧?

下面介绍一下常见的病毒木马欺骗的方法,以提高大家的安全意识。

WEB挂马,我想大家也都知道有些站点被黑客入侵以后首页被挂上了木马程序。只要用户打开对应的页面,木马就会利用浏览器的漏洞自动下载并执行。(所以本地电脑最好把杀毒软件的WEB监视功能打开)。

不要轻易接受陌生网友传送过来的文件和图片,软件有可能被恶意捆绑木马病毒程序。

尽量要去一些大型、专业的网站下载软件,打开软件之前要先查毒。

要禁得住诱惑!要知道天上没掉馅饼的时候,不要轻易去点别人发给你的连接地址(地址很有可能已经被挂上了木马病毒程序)。

因为现在大部分的漏洞也都是针对IE,如果不是很有必要就不要使用IE了,个人推荐使用Firefox浏览器。

把杀毒软件的下载更新打开、或者定期下载杀毒软件的更新补丁,以保持杀毒软件的最新病毒库。不然你的杀毒软件就行同虚设。



一些病毒木马在注册表的启动项键值:



1、HEKY_LOCAL_MACHINE\SOFTWAER\MICROSOFT\Windows\CURRENTVERSION\RUN
2、HKEY_CURRENT_USER\SOFTWAER\MICROSOFT\Windows\CURRENTVERSION\RUN
3、HKEY_USERS\.DEFAULT\SOFTWAER\MICROSOFT\Windows\CURRENTVERSION\RUN

IP欺骗攻击

IP欺骗技术就是通过伪造某台主机的IP地址骗取特权从而进行攻击的技术。许多应用程序认为如果数据包能够使其自身沿着路由到达目的地,而且应答包也可以回到源地,那么源IP地址一定是有效的,而这正是使源IP地址欺骗攻击成为可能的前提。

假设同一网段内有两台主机A、B,另一网段内有主机X。B 授予A某些特权。X 为获得与A相同的特权,所做欺骗攻击如下:首先,X冒充A,向主机 B发送一个带有随机序列号的SYN包。主机B响应,回送一个应答包给A,该应答号等于原序 列号加1。然而,此时主机A已被主机X利用拒绝服务攻击 “淹没”了,导致主机A服务失效。结果,主机A将B发来的包丢弃。为了完成三次握手,X还需要向B回送一个应答包,其应答号等于B向A发送数据 包的序列号加1。此时主机X 并不能检测到主机B的数据包(因为不在同一网段),只有利用TCP顺序号估算法来预测应答包的顺序号并将其发送给目标机B。如果猜测正确,B则认为收到的ACK是来自内部主机A。此时,X即获得了主机A在主机B上所享有的特权,并开始对这些服务实施攻击。

要防止源IP地址欺骗行为,可以采取以下措施来尽可能地保护系统免受这类攻击:

·抛弃基于地址的信任策略: 阻止这类攻击的一种非常容易的办法就是放弃以地址为基础的验证。不允许r类远程调用命令的使用;删除.rhosts 文件;清空/etc/hosts.equiv 文件。这将迫使所有用户使用其它远程通信手段,如telnet、ssh、skey等等。

·使用加密方法: 在包发送到 网络上之前,我们可以对它进行加密。虽然加密过程要求适当改变目前的网络环境,但它将保证数据的完整性和真实性。

·进行包过滤:可以配置路由器使其能够拒绝网络外部与本网内具有相同IP地址的连接请求。而且,当包的IP地址不在本网内时,路由器不应该把本网主机的包发送出去。

有一点要注意,路由器虽然可以封锁试图到达内部网络的特定类型的包。但它们也是通过分析测试源地址来实现操作的。因此,它们仅能对声称是来自于内部网络的外来包进行过滤,若你的网络存在外部可信任主机,那么路由器将无法防止别人冒充这些主机进行IP欺骗。

ARP欺骗攻击

在局域网中,通信前必须通过ARP协议来完成IP地址转换为第二层物理地址(即MAC地址)。ARP协议对网络安全具有重要的意义,但是当初ARP方式的设计没有考虑到过多的安全问题,给ARP留下很多的隐患,ARP欺骗就是其中一个例子。而ARP欺骗攻击就是利用该协议漏洞,通过伪造IP地址和MAC地址实现ARP欺骗的攻击技术。

我们假设有三台主机A,B,C位于同一个交换式局域网中,监听者处于主机A,而主机B,C正在通信。现在A希望能嗅探到B->C的数据, 于是A就可以伪装成C对B做ARP欺骗——向B发送伪造的ARP应答包,应答包中IP地址为C的IP地址而MAC地址为A的MAC地址。 这个应答包会刷新B的ARP缓存,让B认为A就是C,说详细点,就是让B认为C的IP地址映射到的MAC地址为主机A的MAC地址。 这样,B想要发送给C的数据实际上却发送给了A,就达到了嗅探的目的。我们在嗅探到数据后,还必须将此数据转发给C, 这样就可以保证B,C的通信不被中断。

以上就是基于ARP欺骗的嗅探基本原理,在这种嗅探方法中,嗅探者A实际上是插入到了B->C中, B的数据先发送给了A,然后再由A转发给C,其数据传输关系如下所示:


B----->A----->C
B<----A<------C


于是A就成功于截获到了它B发给C的数据。上面这就是一个简单的ARP欺骗的例子。

ARP欺骗攻击有两种可能,一种是对路由器ARP表的欺骗;另一种是对内网电脑ARP表的欺骗,当然也可能两种攻击同时进行。但不管怎么样,欺骗发送后,电脑和路由器之间发送的数据可能就被送到错误的MAC地址上。

防范ARP欺骗攻击可以采取如下措施:

·在客户端使用arp命令绑定网关的真实MAC地址命令

·在交换机上做端口与MAC地址的静态绑定。

·在路由器上做IP地址与MAC地址的静态绑定

·使用“ARP SERVER”按一定的时间间隔广播网段内所有主机的正确IP-MAC映射表。

DNS欺骗攻击

DNS欺骗即域名信息欺骗是最常见的DNS安全问题。当一个DNS服务器掉入陷阱,使用了来自一个恶意DNS服务器的错误信息,那么该DNS服务器就被欺骗了。DNS欺骗会使那些易受攻击的DNS服务器产生许多安全问题,例如:将用户引导到错误的互联网站点,或者发送一个电子邮件到一个未经授权的邮件服务器。网络攻击者通常通过以下几种方法进行DNS欺骗。

(1)缓存感染

黑客会熟练的使用DNS请求,将数据放入一个没有设防的DNS服务器的缓存当中。这些缓存信息会在客户进行DNS访问时返回给客户,从而将客户引导到入侵者所设置的运行木马的Web服务器或邮件服务器上,然后黑客从这些服务器上获取用户信息。

(2)DNS信息劫持

入侵者通过监听客户端和DNS服务器的对话,通过猜测服务器响应给客户端的DNS查询ID。每个DNS报文包括一个相关联的16位ID号,DNS服务器根据这个ID号获取请求源位置。黑客在DNS服务器之前将虚假的响应交给用户,从而欺骗客户端去访问恶意的网站。

(3)DNS重定向

攻击者能够将DNS名称查询重定向到恶意DNS服务器。这样攻击者可以获得DNS服务器的写权限。

防范DNS欺骗攻击可采取如下措施

·直接用IP访问重要的服务,这样至少可以避开DNS欺骗攻击。但这需要你记住要访问的IP地址。

·加密所有对外的数据流,对服务器来说就是尽量使用SSH之类的有加密支持的协议,对一般用户应该用PGP之类的软件加密所有发到网络上的数据。这也并不是怎么容易的事情。

源路由欺骗攻击

通过指定路由,以假冒身份与其他主机进行合法通信或发送假报文,使受攻击主机出现错误动作,这就是源路由攻击。在通常情况下,信息包从起点到终点走过的路径是由位于此两点间的路由器决定的,数据包本身只知道去往何处,但不知道该如何去。源路由可使信息包的发送者将此数据包要经过的路径写在数据包里,使数据包循着一个对方不可预料的路径到达目的主机。下面仍以上述源IP欺骗中的例子给出这种攻击的形式:

主机A享有主机B的某些特权,主机X想冒充主机A从主机B(假设IP为aaa.bbb.ccc.ddd)获得某些服务。首先,攻击者修改距离X最近的路由器,使得到达此路由器且包含目的地址aaa.bbb.ccc.ddd的数据包以主机X所在的网络为目的地;然后,攻击者X利用IP欺骗向主机B发送源路由(指定最近的路由器)数据包。当B回送数据包时,就传送到被更改过的路由器。这就使一个入侵者可以假冒一个主机的名义通过一个特殊的路径来获得某些被保护数据。

为了防范源路由欺骗攻击,一般采用下面两种措施:

·对付这种攻击最好的办法是配置好路由器,使它抛弃那些由外部网进来的却声称是内部主机的报文。

·在路由器上关闭源路由。用命令no ip source-route。

推荐日志 认清木马的原理

[ 2007-03-25 03:32:31 | 作者: sun ]
一、基础知识


在介绍木马的原理之前有一些木马构成的基础知识我们要事先加以说明,因为下面有很多地方会提到这些内容。

一个完整的木马系统由硬件部分、软件部分和具体连接部分组成。

1.硬件部分

建立木马连接所必须的硬件实体。

控制端:对服务端进行远程控制的一方。

服务端:被控制端远程控制的一方。

INTERNET:控制端对服务端进行远程控制,数据传输的网络载体。

2.软件部分

实现远程控制所必须的软件程序。

控制端程序:控制端用以远程控制服务端的程序。

木马程序:潜入服务端内部,获取其操作权限的程序。

木马配置程序:设置木马程序的端口号,触发条件,木马名称等,使其在服务端藏得更隐蔽的程序。

3.具体连接部分

通过INTERNET在服务端和控制端之间建立一条木马通道所必须的元素。

控制端IP,服务端IP:即控制端,服务端的网络地址,也是木马进行数据传输的目的地。

控制端端口,木马端口:即控制端,服务端的数据入口,通过这个入口,数据可直达控制端程序或木马程序。

二、特洛伊木马的攻击步骤

用木马这种黑客工具进行网络入侵,从过程上看大致可分为六步,下面我们就按这六步来详细阐述木马的攻击原理。

1. 配置木马

一般来说一个设计成熟的木马都有木马配置程序,从具体的配置内容看,主要是为了实现以下两方面功能:

(1)木马伪装:木马配置程序为了在服务端尽可能好的隐藏木马,会采用多种伪装手段,如修改图标、捆绑文件、定制端口、自我销毁等等。

(2)信息反馈:木马配置程序将就信息反馈的方式或地址进行设置,如设置信息反馈的邮件地址、IRC号、ICQ号等。

2. 传播木马

(1)传播方式

木马的传播方式主要有两种:一种是通过E-MAIL,控制端将木马程序以附件的形式夹在邮件中发送出去,收信人只要打开附件系统就会感染木马;另一种是软件下载,一些非正规的网站以提供软件下载为名义,将木马捆绑在软件安装程序上,下载后,只要一运行这些程序,木马就会自动安装。

(2)伪装方式

鉴于木马的危害性,很多人对木马知识还是有一定了解的,这对木马的传播起了一定的抑制作用,这是木马设计者所不愿见到的。因此他们开发了多种功能来伪装木马,以达到降低用户警觉,欺骗用户的目的。一般来说有以下几种:

◆修改图标

也许你会在E-MAIL的附件中看到一个很平常的文本图标,但是我不得不告诉你,这也有可能是个木马程序,现在已经有木马可以将木马服务端程序的图标改成HTML、TXT、ZIP等各种文件的图标,这有相当大的迷惑性,但是目前提供这种功能的木马还不多见,并且这种伪装也不是无懈可击的,所以不必整天提心吊胆、疑神疑鬼的。

◆捆绑文件

这种伪装手段是将木马捆绑到一个安装程序上,当安装程序运行时,木马在用户毫无察觉的情况下,偷偷的进入了系统。至于被捆绑的文件一般是可执行文件,即EXE、COM一类的文件。

◆出错显示

有一定木马知识的人都知道,如果打开一个文件,没有任何反应,这很可能就是个木马程序,木马的设计者也意识到了这个缺陷,所以已经有木马提供了一个叫做出错显示的功能。当服务端用户打开木马程序时,会弹出一个错误提示框——这当然是假的,错误内容可自由定义,大多会定制成一些诸如“文件已破坏,无法打开的!”之类的信息,当服务端用户信以为真时,木马却悄悄侵入了系统。

◆定制端口

很多老式的木马端口都是固定的,这给判断是否感染了木马带来了方便,只要查一下特定的端口就知道感染了什么木马,所以现在很多新式的木马都加入了定制端口的功能,控制端用户可以在1024——65535之间任选一个端口作为木马端口。一般不选1024以下的端口,这样就给判断所感染木马类型带来了麻烦。

◆自我销毁

这项功能是为了弥补木马的一个缺陷。我们知道当服务端用户打开含有木马的文件后,木马会将自己拷贝到WINDOWS的系统文件的C:\WINDOWS或C:\WINDOWS\SYSTEM目录下,一般来说原木马文件和系统文件夹中的木马文件的大小是一样的,捆绑文件的木马除外。那么中了木马的朋友只要在近来收到的信件和下载的软件中找到原木马文件,然后根据原木马的大小去系统文件夹找相同大小的文件, 判断一下哪个是木马就行了。而木马的自我销毁功能是指安装完木马后,原木马文件将自动销毁,这样服务端用户就很难找到木马的来源,在没有查杀木马的工具帮助下,就很难删除木马了。

◆木马更名

安装到系统文件夹中的木马的文件名一般是固定的,那么只要根据一些查杀木马的文章,按图索骥在系统文件夹查找特定的文件,就可以断定中了什么木马。所以现在有很多木马都允许控 制端用户自由定制安装后的木马文件名,这样很难判断所感染的木马类型了。

3.运行木马

服务端用户运行木马或捆绑木马的程序后,木马就会自动进行安装。首先将自身拷贝到WINDOWS的系统文件夹中C:\WINDOWS或C:\WINDOWS\SYSTEM目录下。然后在注册表、启动组、非启动组中设置好木马的触发条件,这样木马的安装就完成了。安装后就可以启动木马了。

由触发条件激活木马

触发条件是指启动木马的条件,大致出现在下面八个地方:

◆注册表

打开HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\下的五个以Run和RunServices主键,在其中寻找可能是启动木马的键值。

◆WIN.INI

C:\WINDOWS目录下有一个配置文件win.ini,用文本方式打开,在windows字段中有启动命令load=和run=,在一般情况下是空白的,如果有启动程序,可能是木马。

◆SYSTEM.INI

C:\WINDOWS目录下有个配置文件system.ini,用文本方式打开,在386Enh、mic、drivers32中有命令行,在其中寻找木马的启动命令。

◆Autoexec.bat和Config.sys

在C盘根目录下的这两个文件也可以启动木马。但这种加载方式一般都需要控制端用户与服务端建立连接后,将已添加木马启动命令的同名文件上传到服务端覆盖这两个文件才行。

◆*.INI

即应用程序的启动配置文件,控制端利用这些文件能启动程序的特点,将制作好的带有木马启动命令的同名文件上传到服务端覆盖这同名文件,这样就可以达到启动木马的目的了。

◆注册表

打开HKEY_CLASSES_ROOT\文件类型\shell\open\command主键,查看其键值。举个例子,国产木马“冰河”就是修改HKEY_CLASSES_ROOT\txtfile\shell\open\command下的键值,将“C:\WINDOWS \NOTEPAD.EXE %1”改为“C:\WINDOWS\SYSTEM\SYSEXPLR.EXE %1”,这时你双击一个TXT文件后,原本应用NOTEPAD打开文件的,现在却变成启动木马程序了。还要说明的是不光是TXT文件,通过修改HTML、EXE、ZIP等文件的启动命令的键值都可以启动木马,不同之处只在于“文件类型”这个主键的差别,TXT是txtfile,ZIP是WINZIP,大家可以试着去找一下。

◆捆绑文件

实现这种触发条件首先要控制端和服务端通过木马建立连接,然后控制端用户用工具软件将木马文件和某一应用程序捆绑在一起,然后上传到服务端覆盖原文件,这样即使木马被删除了,只要运行捆绑了木马的应用程序,木马又会被安装上去了。

◆启动菜单

在“开始—程序—启动”选项下也可能有木马的触发条件。

推荐日志 口令攻击的主要方式及相关防护手段

[ 2007-03-25 03:32:16 | 作者: sun ]
口令是网络系统的第一道防线。当前的网络系统都是通过口令来验证用户身份、实施访问控制的。口令攻击是指黑客以口令为攻击目标,破解合法用户的口令,或避开口令验证过程,然后冒充合法用户潜入目标网络系统,夺取目标系统控制权的过程。

  如果口令攻击成功黑客进入了目标网络系统,他就能够随心所欲地窃取、破坏和篡改被侵入方的信息,直至完全控制被侵入方。所以,口令攻击是黑客实施网络攻击的最基本、最重要、最有效的方法之一。

  口令攻击的主要方法

  1、社会工程学(social Engineering),通过人际交往这一非技术手段以欺骗、套取的方式来获得口令。避免此类攻击的对策是加强用户意识。

  2、猜测攻击。首先使用口令猜测程序进行攻击。口令猜测程序往往根据用户定义口令的习惯猜测用户口令,像名字缩写、生日、宠物名、部门名等。在详细了解用户的社会背景之后,黑客可以列举出几百种可能的口令,并在很短的时间内就可以完成猜测攻击。

  3、字典攻击。如果猜测攻击不成功,入侵者会继续扩大攻击范围,对所有英文单词进行尝试,程序将按序取出一个又一个的单词,进行一次又一次尝试,直到成功。据有的传媒报导,对于一个有8万个英文单词的集合来说,入侵者不到一分半钟就可试完。所以,如果用户的口令不太长或是单词、短语,那么很快就会被破译出来。

  4、穷举攻击。如果字典攻击仍然不能够成功,入侵者会采取穷举攻击。一般从长度为1的口令开始,按长度递增进行尝试攻击。由于人们往往偏爱简单易记的口令,穷举攻击的成功率很高。如果每千分之一秒检查一个口令,那么86%的口令可以在一周内破译出来。

  5、混合攻击,结合了字典攻击和穷举攻击,先字典攻击,再暴力攻击。

  避免以上四类攻击的对策是加强口令策略。

  6、直接破解系统口令文件。所有的攻击都不能够奏效,入侵者会寻找目标主机的安全漏洞和薄弱环节,饲机偷走存放系统口令的文件,然后破译加密的口令,以便冒充合法用户访问这台主机。

  7:网络嗅探(sniffer),通过嗅探器在局域网内嗅探明文传输的口令字符串。避免此类攻击的对策是网络传输采用加密传输的方式进行。

  8:键盘记录,在目标系统中安装键盘记录后门,记录操作员输入的口令字符串,如很多间谍软件,木马等都可能会盗取你的口述。

  9:其他攻击方式,中间人攻击、重放攻击、生日攻击、时间攻击。

  避免以上几类攻击的对策是加强用户安全意识,采用安全的密码系统,注意系统安全,避免感染间谍软件、木马等恶意程序。

  口令攻击的防护手段

  要有效防范口令攻击,我们要选择一个好口令,并且要注意保护口令的安全。

  1、好口令是防范口令攻击的最基本、最有效的方法。最好采用字母、数字、还有标点符号、特殊字符的组合,同时有大小写字母,长度最好达到8个以上,最好容易记忆,不必把口令写下来,绝对不要用自己或亲友的生日、手机号码等易于被他人获知的信息作密码。

  2、注意保护口令安全。不要将口令记在纸上或存储于计算机文件中;最好不要告诉别人你的口令;不要在不同的系统中使用相同的口令;在输入口令时应确保无人在身边窥视;在公共上网场所如网吧等处最好先确认系统是否安全;定期更改口令,至少六个月更改一次,这会使自己遭受口令攻击的风险降到最低,要永远不要对自己的口令过于自信.

推荐日志 对网络安全技术及其方案对策的分析

[ 2007-03-25 03:32:03 | 作者: sun ]
内部网

  目前的局域网基本上都采用以广播为技术基础的以太网,任何两个节点之间的通信数据包,不仅为这两个节点的网卡所接收,也同时为处在同一以太网上的任何一个节点的网卡所截取。因此,黑客只要接入以太网上的任一节点进行侦听,就可以捕获发生在这个以太网上的所有数据包,对其进行解包分析,从而窃取关键信息,这就是以太网所固有的安全隐患。

  A.局域网安全

  事实上,Internet上许多免费的黑客工具,如SATAN、ISS、NETCAT等等,都把以太网侦听作为其最基本的手段。

  当前,局域网安全的解决办法有以下几种:

  1.网络分段

  网络分段通常被认为是控制网络广播风暴的一种基本手段,但其实也是保证网络安全的一项重要措施。其目的就是将非法用户与敏感的网络资源相互隔离,从而防止可能的非法侦听,网络分段可分为物理分段和逻辑分段两种方式。

  目前,海关的局域网大多采用以交换机为中心、路由器为边界的网络格局,应重点挖掘中心交换机的访问控制功能和三层交换功能,综合应用物理分段与逻辑分段两种方法,来实现对局域网的安全控制。例如:在海关系统中普遍使用的DEC MultiSwitch 900的入侵检测功能,其实就是一种基于MAC地址的访问控制,也就是上述的基于数据链路层的物理分段。

  2.以交换式集线器代替共享式集线器

  对局域网的中心交换机进行网络分段后,以太网侦听的危险仍然存在。这是因为网络最终用户的接入往往是通过分支集线器而不是中心交换机,而使用最广泛的分支集线器通常是共享式集线器。这样,当用户与主机进行数据通信时,两台机器之间的数据包(称为单播包Unicast Packet)还是会被同一台集线器上的其他用户所侦听。一种很危险的情况是:用户TELNET到一台主机上,由于TELNET程序本身缺乏加密功能,用户所键入的每一个字符(包括用户名、密码等重要信息),都将被明文发送,这就给黑客提供了机会。

  因此,应该以交换式集线器代替共享式集线器,使单播包仅在两个节点之间传送,从而防止非法侦听。当然,交换式集线器只能控制单播包而无法控制广播包(Broadcast Packet)和多播包(Multicast Packet)。所幸的是,广播包和多播包内的关键信息,要远远少于单播包。

  3.VLAN的划分

  为了克服以太网的广播问题,除了上述方法外,还可以运用VLAN(虚拟局域网)技术,将以太网通信变为点到点通信,防止大部分基于网络侦听的入侵。

  目前的VLAN技术主要有三种:基于交换机端口的VLAN、基于节点MAC地址的VLAN和基于应用协议的VLAN。基于端口的VLAN虽然稍欠灵活,但却比较成熟,在实际应用中效果显著,广受欢迎。基于MAC地址的VLAN为移动计算提供了可能性,但同时也潜藏着遭受MAC欺诈攻击的隐患。而基于协议的VLAN,理论上非常理想,但实际应用却尚不成熟。

  在集中式网络环境下,我们通常将中心的所有主机系统集中到一个VLAN里,在这个VLAN里不允许有任何用户节点,从而较好地保护敏感的主机资源。在分布式网络环境下,我们可以按机构或部门的设置来划分VLAN。各部门内部的所有服务器和用户节点都在各自的VLAN内,互不侵扰。

  VLAN内部的连接采用交换实现,而VLAN与VLAN之间的连接则采用路由实现。目前,大多数的交换机(包括海关内部普遍采用的DEC MultiSwitch 900)都支持RIP和OSPF这两种国际标准的路由协议。如果有特殊需要,必须使用其他路由协议(如CISCO公司的EIGRP或支持DECnet的IS-IS),也可以用外接的多以太网口路由器来代替交换机,实现VLAN之间的路由功能。当然,这种情况下,路由转发的效率会有所下降。

  无论是交换式集线器还是VLAN交换机,都是以交换技术为核心,它们在控制广播、防止黑客上相当有效,但同时也给一些基于广播原理的入侵监控技术和协议分析技术带来了麻烦。因此,如果局域网内存在这样的入侵监控设备或协议分析设备,就必须选用特殊的带有SPAN(Switch Port Analyzer)功能的交换机。这种交换机允许系统管理员将全部或某些交换端口的数据包映射到指定的端口上,提供给接在这一端口上的入侵监控设备或协议分析设备。笔者在厦门海关外部网设计中,就选用了Cisco公司的具备SPAN功能的Catalyst系列交换机,既得到了交换技术的好处,又使原有的Sniffer协议分析仪“英雄有用武之地”。

广域网


  B.广域网安全

  由于广域网大多采用公网来进行数据传输,信息在广域网上传输时被截取和利用的可能性就比局域网要大得多。如果没有专用的软件对数据进行控制,只要使用Internet上免费下载的“包检测”工具软件,就可以很容易地对通信数据进行截取和破译。

  因此,必须采取手段,使得在广域网上发送和接收信息时能够保证:

  ①除了发送方和接收方外,其他人是无法知悉的(隐私性);

  ②传输过程中不被篡改(真实性);

  ③发送方能确知接收方不是假冒的(非伪装性);

  ④发送方不能否认自己的发送行为(不可抵赖性)。

  为了达到以上安全目的,广域网通常采用以下安全解决办法:

  1.加密技术

  加密型网络安全技术的基本思想是不依赖于网络中数据通道的安全性来实现网络系统的安全,而是通过对网络数据的加密来保障网络的安全可靠性。数据加密技术可以分为三类,即对称型加密、不对称型加密和不可逆加密。

  其中不可逆加密算法不存在密钥保管和分发问题,适用于分布式网络系统,但是其加密计算量相当可观,所以通常用于数据量有限的情形下使用。计算机系统中的口令就是利用不可逆加密算法加密的。近年来,随着计算机系统性能的不断提高,不可逆加密算法的应用逐渐增加,常用的如RSA公司的MD5和美国国家标准局的SHS。在海关系统中广泛使用的Cisco路由器,有两种口令加密方式:Enable Secret和Enable Password。其中,Enable Secret就采用了MD5不可逆加密算法,因而目前尚未发现破解方法(除非使用字典攻击法)。而Enable Password则采用了非常脆弱的加密算法(即简单地将口令与一个常数进行XOR与或运算),目前至少已有两种破解软件。因此,最好不用Enable Password。

  2.VPN技术

  VPN(虚拟专网)技术的核心是采用隧道技术,将企业专网的数据加密封装后,透过虚拟的公网隧道进行传输,从而防止敏感数据的被窃。VPN可以在Internet、服务提供商的IP、帧中继或ATM网上建立。企业通过公网建立VPN,就如同通过自己的专用网建立内部网一样,享有较高的安全性、优先性、可靠性和可管理性,而其建立周期、投入资金和维护费用却大大降低,同时还为移动计算提供了可能。因此,VPN技术一经推出,便红遍全球。

  但应该指出的是,目前VPN技术的许多核心协议,如L2TP、IPSec等,都还未形成通用标准。这就使得不同的VPN服务提供商之间、VPN设备之间的互操作性成为问题。因此,企业在VPN建网选型时,一定要慎重选择VPN服务提供商和VPN设备。

  3.身份认证技术

  对于从外部拨号访问总部内部网的用户,由于使用公共电话网进行数据传输所带来的风险,必须更加严格控制其安全性。一种常见的做法是采用身份认证技术,对拨号用户的身份进行验证并记录完备的登录日志。较常用的身份认证技术,有Cisco公司提出的TACACS+以及业界标准的RADIUS。笔者在厦门海关外部网设计中,就选用了Cisco公司的CiscoSecure ACS V2.3软件进行RADIUS身份认证。

  外部网


  C.外部网安全

  海关的外部网建设,通常指与Internet的互联及与外部企业用户的互联两种。无论哪一种外部网,都普遍采用基于TCP/IP的Internet协议族。Internet协议族自身的开放性极大地方便了各种计算机的组网和互联,并直接推动了网络技术的迅猛发展。但是,由于在早期网络协议设计上对安全问题的忽视,以及Internet在使用和管理上的无政府状态,逐渐使Internet自身的安全受到威胁,黑客事件频频发生。

  对外部网安全的威胁主要表现在:非授权访问、冒充合法用户、破坏数据完整性、干扰系统正常运行、利用网络传播病毒、线路窃听等。

  外部网安全解决办法主要依靠防火墙技术、入侵检测技术和网络防病毒技术。在实际的外部网安全设计中,往往采取上述三种技术(即防火墙、入侵检测、网络防病毒)相结合的方法。笔者在厦门海关外部网设计中,就选用了NAI公司最新版本的三宿主自适应动态防火墙Gauntlet Active Firewall。该防火墙产品集成了Gauntlet Firewall、CyberCop Scanner、CyberCop Monitor、WebShield for Firewall等套件,将防火墙技术、入侵检测技术与网络防病毒技术融为一体,紧密结合,相得益彰,性价比比较高。

推荐日志 普通用户选用防火墙面面通

[ 2007-03-25 03:31:50 | 作者: sun ]
什么是防火墙?通常应用防火墙的目的有以下几方面:限制他人进入内部网络;过滤掉不安全的服务和非法用户;防止入侵者接近你的防御设施;限定人们访问特殊站点;为监视局域网安全提供方便。



个人防火墙一般具有以下功能:


1、数据包过滤


过滤技术(Ip Filtering o&#114; packet filtering) 的原理在于监视并过滤网络上流入流出的Ip包,拒绝发送可疑的包。


在互联网这样的信息包交换网络上,所有往来的信息都被分割成许许多多一定长度的信息包,包头信息中包括IP源地址、IP目标地址、内装协议(ICP、UDP、ICMP、或IP Tunnel)、TCP/UDP目标端口、ICMP消息类型、包的进入接口和出接口。当这些包被送上互联网时,防火墙会读取接收者的IP并选择一条物理上的线路发送出去,信息包可能以不同的路线抵达目的地,当所有的包抵达后会在目的地重新组装还原。包过滤式的防火墙会检查所有通过信息包里的IP地址,并按照系统管理员所给定的过滤规则过滤信息包。如果防火墙设定某一IP为危险的话,从这个地址而来的所有信息都会被防火墙屏蔽掉。


2、防火墙的安全规则


安全规则就是对你计算机所使用局域网、互联网的内制协议设置,从而达到系统的最佳安全状态。


个人防火墙软件中的安全规则方式可分为两种:


一种是定义好的安全规则


就是把安全规则定义成几种方案,一般分为低、中、高三种。这样不懂网络协议的用户,就可以根据自己的需要灵活的设置不同的安全方案。例如:ZoneAlarm防火墙.


还有一种用户可以自定义安全规则


也就是说,在你非常了解网络协议的情况下,你就可以根据自已所需的安全状态,单独设置某个协议。


3、事件日记


这是每个防火墙软件所不能少的主要的功能。记录着防火墙软件监听到发生的一切事件,比如入侵者的来源、协议、端口、时间等等。记录的事件是由防火墙的功能来决定的。


那么那一种防火墙最好呢?这是网友经常询问的问题。


我个人认为选用防火墙,不一定非要用最好的,因为个人防火墙主要是针对个人用户的实用性来制作的,除了以上几种功能外,还集成一些工具,比如说追踪主机名或IP地址、检测特洛伊木马、伪装等等。根据自己不同的需要来选用,在不断地学习中淘汰一些简单的防火墙。本人把用户大概分成五种:


1、不了解网络协议的用户,只是为了游览网页。你可以使用傻瓜式防火墙。例如:Intrusion Detector、Intruder Alert&#39; 99


2、如果你上网是为了聊天或者经常受到攻击的用户,那么你就可以选用:ProtectX、LockDown2000两个防火墙,它们都有追踪IP的功能。如果你受到攻击,立即可以追踪。


3、经常遭遇到扫描的用户,使用Internet Firewall 2000、AnalogX、NetAlert。这两个防火墙可以封锁或监视你的对外开放端口。


4、在局域网环境中上网的用户,那么防火墙必须支持NETBIOS设置功能。例如:AtGuard、Zone Alarm、conseal pc firewall、天网防火墙、BlackICE。


5、自己对网络协议运用自如的用户。Norton Internet Security 2000 V2.0 Personal Firewall与AtGuard防火墙都有非常详细的自定义网络协议。


这里说明一下,上面所说的五种用户分类,不是必须按照这样的分类使用的,只不过它们有那种分类的功能特点。比如说,Zone Alarm、天网防火墙,这两个防火墙也对普通用户提供了安全规则方案,不了解网络协议的用户也可以运用自如。

推荐日志 隐藏入侵踪迹技术讲座

[ 2007-03-25 03:31:33 | 作者: sun ]
第一章 理论篇

I. 概述
II. 思想认识(MENTAL)
III. 基础知识
IV. 高级技巧
V. 当你受到怀疑时...
VI. 被捕
VII. 有用的程序
VIII. 最后的话
I. 概述
----------------------------------------------------------------------

>> 译者注:本文是德国著名hacker组织"The Hacker&#39;s Choice"的96年写的一篇文章但今天读来仍颇有收获,就象他自己说的:"即使是一个很有经验的hacker也能从这里学到一些东西".在翻译的过程中对原文做了一些改动,也加入了一些自己的理解,
>> 不当之处,还请赐教.
warning3@hotmail.com

注意 : 本文分为两部分.
第一部分讲述了一些背景和理论知识.第二部分通过具体的实例教你一步一步了解该做什么和不该做什么.
如果你懒得看完全部文章,那就只读第二部分吧.它主要是写给那些Unix hack新手看的.

如果你把尽快得到最新的exploits当成最重要的事的话,那我要说-你错了.

>> 译者注:exploits可以理解为"漏洞",不过我并不想这么翻,翻过来总感觉怪怪的,所以我还是保留了原文.文中还有一些地方也是如此处理,不再一一注明

一旦警察没收了你的计算机、你的所有帐户都被取消、你的一切活动都被监视的时候,即便是最好的exploit对你又有什么用呢?我不想听那些辩解的话.不,最重要的事应该是不要被捕!这是每个hacker都应该明白的第一件事.因为在很多情况下,特别是当你首次hack一个由于饱受入侵之苦而开始对系统安全敏感的站点时,你的第一次hack也许就将成为你最后一次hack.

所以请仔细阅读所有章节!
即使是一个很有经验的hacker也能从中学到一些东西.

下面是各节的简介:
节 I - 你现在正在读的
节 II - 思想认识
1. 动机
2. 为什么你必须要谨慎(paranoid)
3. 怎样才能谨慎
4. 保持谨慎

节 III - 在你开始hack前应当知道的基本知识
1. 前言
2. 自身安全
3. 自己的帐户
4. log文件
5. 不要留下痕迹
6. 你应当避免的事
节 IV - 你该了解的高级技巧
1. 前言
2. 阻止任何跟踪
3. 找到并处理所有的log文件
4. 检查syslog设置和log文件
5. 检查安装的安全程序
6. 检查系统管理员
7. 怎样修正checksum检查软件
8. 注意某些用户的安全陷阱(诡计?)
9. 其他
节 V - 一旦你受到怀疑你该怎么做
节 VI - 当你被捕时该做的与不该做的
节 VII - 一些用于隐藏痕迹的程序的列表
节 VIII- 最后的话,作者想说的一些废话

请仔细阅读,开动脑筋.

II. 思想认识(MENTAL)

>> 译者注:这一节的目的主要是提醒你树立正确的"hack"观 ;)
----------------------------------------------------------------------

内容: 1. 动机
2. 为什么你必须要谨慎(paranoid)
3. 怎样才能谨慎
4. 保持谨慎
>> 译者注:paranoid的意思是"患偏执狂的",在这里可能是当
>> "小心谨慎"来讲吧.


* 1. 动机 *

不管做什么事,信念总是取得成功的一个关键.它是你的动力源泉,它激发你去奋斗,自我约束,小心谨慎而又面对现实,准确的估计风险,它也能让你去做你不喜欢做但又非常重要的事情(即使你现在就想去游泳).如果你不激励自己去编制重要工具,等候恰当的时机去攻击目标,那你永
远不能成为真正的hacker.

一个成功而又优秀的hacker必须满足这些要求.它就象健身和节食---如果你真正努力去做,你就能成功.

* 2. 为什么你必须要谨慎 *
当然,小心谨慎并不会让你的生活变得更幸福.然而如果你从不做最坏的打算,任何事情都能击倒你,让你失去平衡.你正在做的事会让你冒很大风险.而在你正常的生活中你并不需要担心警察,小偷什么的.但如果你从另一方面考虑,你要知道你正在给别人的生活带来麻烦和恶梦--他们很
想阻止你.尽管你不认为这是犯罪.但当警察迅速逮捕每个可能被牵扯的人时,你会发现一件很悲惨的事:你是有罪的除非你能证明你无罪!一旦你得到了一个hacker的"污名",你就永远不能将其去除.一旦你有了犯罪纪录,你将很难找到一份工作.特别是没有软件公司甚至没有与计算机有关的公司会聘用你,他们会害怕你的技术.你也许不得不移民...一旦跌倒了,能再爬起来的只是少数人.

要小心谨慎!要保护好你自己!记住你得到的一切都可能失去!绝不为做额外的反跟踪工作而感到愚蠢!绝不为如果别人嘲笑你太谨慎而烦心!决不要因为太懒或者厌倦而放弃修改log文件!一名hacker必须%100的完成他的"工作"!

* 3. 怎样才能小心谨慎 *

如果你读了上面的话并且你认为那是对的,那就容易了---你已经变得小心谨慎了但这必须要变成你生活中的一部分才行,当你总是考虑究竟是谁告诉你了那些事,考虑你的电话和email可能已被监视的时候,那它已经变成你生活的一部分了.

如果上面这些还不能帮你,那么考虑一下如果你被捕会发生什么.你的女友还会站在你这边吗?你想看到你父母为你流泪吗?你想丢掉饭碗或学业吗?

不要给这一切以发生的机会!

如果这还不能警醒你:离HACKING远点儿!!!对整个hacker社会和你的朋友来说,你都是个危险人物!

* 4. 保持谨慎 *
我希望现在你明白为什么小心谨慎的重要性了.
所以保持谨慎.一个错误或者一次偷懒都可能彻底毁掉你的生活和事业.在做一件事时应时刻记着你的动机是什么.

>> 译者注:这部分是让你知道你正在干什么及你的处境.如果你不想让你成为无聊记者津津乐道的话题---"某地破获重大黑客案...",那就多看看,多想想.要知道,自己是这种新闻的主角和看别人的新闻可完全不是一个感觉.所以要:谦虚谨慎,戒骄戒躁 :-)

III. 基础知识
----------------------------------------------------------------------
内容 :
1. 前言
2. 自身安全
3. 自己的帐户
4. log文件
5. 不要留下痕迹
6. 你应当避免的事

* 1. 前言 *

在你开始你的初次hack之前,你应当知道这些并且进行些练习.这些都是非常基本的,不知道这些你很快就会有麻烦了.即便是一名很有经验的hacker也能从中得到一些新的提示.

* 2. 自身安全 *

系统管理员读了你的email吗?你的电话被警察监听了吗?警察没收了你存有所有hacking数据的计算机吗?

如果你不接收可疑的email,不在电话里谈论hacking/phreaking的话题,在你的硬盘上也没有敏感和私人数据的话,那你不必担心上面那些情景.但那样你就并不是一个hacker.每个hacker和phreaker都与其他人保持联系并把他的数据保存在某个地方.

加密所有敏感数据!!!
在线硬盘加密程序是非常重要和有用的:
在internet上游很多好的免费硬盘加密程序,它们对你的操作系统来说是完全透明的.下面所列的几个软件都是经过测试的,是hacker&#39;s的首选工具:
- 如果你用MsDos,你可以使用SFS v1.17或者SecureDrive 1.4b
- 如果你用Amiga,你可以使用EnigmaII v1.5
- 如果你用Unix,你可以使用CFS v1.33

>> 译者注:在win9x下可以考虑emf,iprotect...

文件加密软件: 你可以使用任何一种加密软件,但它应该是使用一种众所周知的安全加密机制.绝对不要用那些被出口的加密程序,它们的有效密钥长度被缩短了!
- Triple DES
- IDEA
- Blowfish (32 rounds)
加密你的Email!
- PGP v2.6.x 是个不错的工具.
如果你想讨论重要的事情的话,加密你的电话.
- Nautilus v1.5a 是迄今最好的
当你连到一个unix系统时加密你的终端.
一些人可能正在sniffing或者监视你的电话线:
- SSH 是最安全的
- DES-Login 也不错

>> 译者注:- SSL 基于SSL的一些软件也可以一试

用强壮的不可猜测的,不在任何字典中的密码.它应当看起来象随机的但又容易记忆.如果密码长度可以比10个字符更长,那就用更长的.可以从书中抽取一句话,并略作修改.请将你的hacker朋友的电话号码加密两遍.如果你不加密,你应当从公用电话给他打电话.

>> 译者注:其实有个好记又难猜的密码并不难,例如考虑句子"I&#39;m a haxor!"可以从中抽>> 取几个单词组成I&#39;mhaxor,好象没有数字,呵呵,用"eleet"的hacker语言,haxor=h4x0r所以我们的口令可以是:I&#39;mh4x0r(我是hacker).这样的密码恐怕只能用暴力破解了.

如果你对hacking有了深入了解,你应当加密所有的东西!

为你的数据做个备份,当然要先加密,把它放在一个隐秘的地方,最好不要在家里.所以即使你因为失误,火灾或警察搜捕等原因丢失了数据,你还可以得到备份数据.

只有当你真的需要它们时才写出来,否则将它们放在一个机密文件或加密分区里更安全.一旦你不需要它们了,烧掉那些纸.你也可以用只有你自己知道的加密机制将它们写下来,但不要告诉任何人,也别太经常的使用它.也许它很容易被分析和破解。真正沉稳和谨慎的hackers应该考虑实施干扰方案.警察,间谍,其他hacker能监视你的举动.一个拥有先进设备的人可以获得他想要的任何东西:
计算机发射的电子脉冲可以从100米以外的距离被截获,可以显示你的监视器屏幕,监听你的私人谈话,确认键盘敲击时的高频信号等等...所以各种可能性总是存在的.成本低廉的应付方法就是采用电子脉冲干扰发射机,商店里就有卖的.如果你不想让任何人监视你,我认为这些还不够...

>> 译者注:不知道我们的商店里有没有卖的.;-)

* 3. 你自己的帐户 *
下面让我们谈谈你自己的帐户.它就是你在学校/公司/ISP那里得到的帐户,它总是与你的真实姓名联系在一起,所以在使用它时绝对不要违背下面的原则:

永远不要用你的真实帐户做任何非法或者惹人怀疑的事!永远不要试图从你的真实帐户telnet到任何被hacked主机去!当然可以用这个帐号订阅安全mailing lists.但任何与hacking有关的东西都必须加密或者立刻销毁.决不要在你帐号下保存hacking或security工具.尽量用POP3连到你的mailserver下载或者删除你的邮件(如果你对unix比较熟悉,还可以直接telnet到POP3端口执行下载或者删除命令).决不要泄漏你的真实email给你不信任的人,只把它给你信任的人,他们也
应当是比较注意安全问题的人,否则如果他们被捕,下一个就是你了(或许他们根本就是警察,而不是hacker.).与其他的hacker用email交流时必须要用PGP加密,因为系统管理员经常偷看用户目录,甚至读区别人的email!!其他的hacker也可能hack你们的站点并试图得到你的数据.

绝不要用你的帐号表明你对hacking感兴趣!对安全感兴趣可以,但不要再进一步了.

>> 译者注:与别人交流时可以申请免费信箱,最好是国外的,比如hotmail之类,登陆时注意最好
通过proxy.自己的真实信箱应当只用来进行一般的正常通信,与朋友/老师/同事...

* 4. LOG文件 *

有三个重要的log文件:
WTMP - 记录每次登录的信息,包括登陆/退出的时间,终端,登录主机ip
UTMP - 在线用户记录
LASTLOG - 记录用户上次是从哪里登录的
当然还有其他的log,它们将在"高级技巧"一节种讨论.每次通过telnet,ftp,rlogin,rsh
的登录都会被记录到这些文件中.如果你正在hacking,把自己从这些记录中删除就是很重要的了.否则他们会:
a) 准确的发现你什么时候在搞hacking活动
b) 发现你从那个站点过来
c) 知道你在线的时间有多长,以便计算你给他们造成的损失

绝对不要删除这些log文件!!!那等于通知管理员:"嗨,你的机器上有个hacker!".找一个好程序来修改这些log.ZAP(或ZAP2)经常被认为是最好的但事实上它并不是.它只是简单的用0来填充用户上次登陆的数据段.CERT已经发布了一个简单的程序用来检查这些全零数据项.所以这样也会很容易就让人知道现在有个hacker在活动,这样你所有的工作就没有意义了.ZAP的另外一个缺陷是当它找不到那些log文件时,它并不报告.所以在编译之前必须先检查一下路径!你应该使用能改变记录内容的程序(象cloark2.c)或者能真正删掉记录的程序(象clear)

>> 译者注: THC提供的cleara.c ,clearb.c是非常好用的清除工具.可以清除utmp/utmpx,wtmp/wtmpx,修复lastlog让其仍然显示该用户的上次登录信息(而不是你登录的信息).如果你发现你登录后没有显示上次登录信息,那很可能你的机器,可能已经被人hack了,当然,即使显示正确的信息也未必就没有被hack.;-)

一般来说要修改log你必须是root(有些老版本系统例外,它们将utmp/wtmp设成允许所有人可写)但如果你不能得到root权限---你该怎么做呢?你应该rlogin到你现在所处的主机,以便在lastlog种增加一个不是那么惹人怀疑的数据项,它将在该用户下次登录时被显示,如果他看到"上次从localhost登录"的信息时也许不会怀疑.


>> 译者注:这也是没有办法的办法,换了我,我就会怀疑.;)

很多unix系统的login命令有一个bug.当你登录以后再执行一遍login命令时,它将用你当前的终端重写UTMP中的login from段(它显示你是从哪里来的!)那么这些log文件缺省在什么地方呢?
这依赖于不同的Unix版本.
UTMP : /etc 或 /var/adm 或 /usr/adm 或 /usr/var/adm 或 /var/log
WTMP : /etc 或 /var/adm 或 /usr/adm 或 /usr/var/adm 或 /var/log
LASTLOG : /usr/var/adm 或 /usr/adm 或 /var/adm 或 /var/log
在一些旧unix版本中lastlog数据被写到$HOME/.lastlog

* 5. 不要留下痕迹 *
我曾经碰到很多hacker,他们把自己从log里删除了.但他们忘记删掉他们在机器中留下的其他一些东西:在/tmp和$HOME中的文件Shell 记录一些shell会保留一个history文件(依赖于环境设置)记录你执行的命令.这对hacker来说确实是件很糟糕的事.最好的选择就是当你登录以后先启动一个新shell,然后在你的$HOME中查找历史纪录.
历史记录文件:
sh : .sh_history
csh : .history
ksh : .sh_history
bash: .bash_history
zsh : .history

>> 译者注:.*history是我最喜欢看的文件之一,通过它你可以了解root或用户常干些什么, 从而得知他们的水平如何,如果他们只会执行"ls","pwd","cp"...那说明水平不过尔尔,无须太担心.不过如果你发现root喜欢"find / -type f -perm -04000 -exec ls -a
l {} \;"," "vim /var/adm/messages","ps -aux( -elf) ","netstat -an"....那你就要小心一点了。

备份文件 :
dead.letter, *.bak, *

在你离开前执行一下"ls -altr"看看你有没有留下什么不该留下的东西.你可以敲4个csh命令,它能让你离开时删掉这些历史文件,不留下任何痕迹.
mv .logout save.1
echo rm .history>.logout
echo rm .logout>>.logout
echo mv save.1 .logout>>.logout

>> 译者注:对于bash,有一个简单的办法就是执行一下"HISTFILE=",就是不设置bash的历史文件,这样就不会有讨厌的.bash_history了.(准确地说,是不会往$HOME/.bash_history里写了)
>> 或者退出的时候简单的敲kill -9 0 ,它会杀掉这次登录后产生的所有进程,bash也不会往.bash_history里写

* 6. 你应当避免的事 *
不要在不属于你的机器上crack口令.如果你在别人(比如说一所大学)的机器上破解口令,一旦root发现了你的进程,并且检查它.那么不仅你hacking的帐号保不住了,可能连你得到的那passwd文件也没了.那学校将会密切注视你的一举一动...所以得到口令文件后应该在自己的机器上破解.你并不需要破解太多的帐号,能破出几个就够了.如果你运行攻击/检测程序象ypx,iss,satan或其他的exploiting程序,应当先改名再执行它们.或者你可以修改源码改变它们在进程列表中显示的名字...


>> 译者注:这并不难,你只要在main()中将argv[]用你喜欢显示的名字替代就可以了比如argv[0] ="in.telnetd",argv[1]=""...(当然必须在程序已经从argv中读取了所需的参数之后).

如果某个细心的用户/root发现5个ypx程序在后台运行,他马上就会明白发生了什么.当然如果可能的话不要在命令行中输入参数.如果程序支持交互方式,象telnet.应当先敲"telnet",然后"o target.host.com"...这就不会在进程表中显示目标主机名.

>> 译者注:如果你用ftp,最好这样做:
>> $ ftp -n
>> $ ftp>o target.host
>> blahblah...(一些连接信息)
>> blahblah...(ftp server版本)
>> ftp>user xxx
>> ....

如果你hack了一个系统---不要在任何地方放suid shell!最好装一些后门象(ping,quota或者login),用fix来更正文件的atime和mtime.

>> 译者注: 放suid shell是很蠢的,非常容易被root发现.

IV. 高级技巧
----------------------------------------------------------------------

内容 : 1. 前言
2. 阻止任何跟踪
3. 找到并处理所有的log文件
4. 检查syslog设置和log文件
5. 检查安装的安全程序
6. 检查系统管理员
7. 怎样修正checksum检查软件
8. 注意某些用户的安全陷阱(诡计?)
9. 其他

* 1. 前言 *
一旦你装了第一个sniffer开始你的hack生涯,你就应该知道并使用这些技巧!请运用这些技巧---否则你的hack之旅就行将结束.

* 2. 阻止任何跟踪 *
有时候你的hacking活动会被人发现.那并不是什么大问题 - 你hacked一些站点可能会被关掉,但谁管它呢,赶紧离开就是了.但如果他们试图跟踪你的来路(通常是为了抓住你)的话那就很危险了!

这一节将告诉你他们跟踪你的各种可能的方法以及你该如何应对.

* 通常对系统管理员来说发现一个hacker是从哪里来的并不是什么问题:检查log记录(如果那个hacker真的那么蠢的话);看看hacker安装的sniffer的输出记录(也许里面也记下了他的连接)或者其他系统记帐软件(象loginlog等等);甚至可以用netstat,显示所有已经建立的网络连接--如果那个hacker正在线的话,那他就被发现了.这就是为什么你需要一个gateway server(网关).

* 什么是gateway server?
它是你所"拥有"的很多服务器中的一个,你已经得到了它的root权限.你需要root权限去清除wtmp/lastlog/utmp等系统记录或者其他一些记帐软件的log文件.除此之外你不在这台机器上做任何其他的事(它只是个中转站).你应当定期更换gateway server,可以每隔1,2个星期更换一次,然后至少一个月内不再使用原来的gateway server.这样他们就很难跟踪到你的hacking server.

* hackin server - 所有活动的出发点你从这些机器开始hacking.Telnet(或者更好的:remsh/rsh)到一个gateway server,

然后再到一个目标机器.你需要有root权限以修改log.你必须每隔2-4个星期就更换hacking server..

* 你的堡垒/拨号主机.
这是个临界点.一但他们能跟踪回你拨号进入的机器,你就有麻烦了.只要打个电话给警察,再进行一次通信线路跟踪,你的hack活动就会成为历史了,也许是你的未来.在堡垒主机上你不需要得到root权限.既然你只是通过modem拨入,那里没有什么必须修改的记录.你应该每天用一个不同的帐号拨号进入,尽量用那些很少使用的.你应该找到至少2个你能拨号进去堡垒主机,每隔1-2个
月更换一次.

>> 译者注:我对phreak不熟.我猜大部分的国内hacker还没什么本事能躲过电信局的跟踪.所以最好不要用别人的帐号上网,特别是那些很少上网的帐号,一旦他发现上网费用剧增,肯定会让电信局追查的,到时候你就大难临头了.如果你用那些上网频繁的人的帐号,他反倒不会注意,只会以为这个月上的太厉害了.:-)(这绝对没有鼓励你盗用别人帐号的意思,这等于盗窃,凭什么你
上网要别人交钱?就凭你会用john破几个口令吗?hacker的名声就是让这些打着hacker旗号的无耻之徒败坏的.对这种人就得抓!所以我对这样的phreaker没有什么好感,你要真有本事,就别嫁祸别人,而且还要让电信局查不出来.) 说多了,咱们言归正传.

注意: 如果你能每天拨入不同的系统(比如通过"蓝盒子"),那你就不需要那些hacking server了.
* 使用蓝盒子,这样即使他们跟踪到你的堡垒主机,也不能(至少是不能很容易地)追踪到你的电话...使用蓝盒子必须小心,德国和美国的电话公司有专门的监视系统来追踪使用蓝盒子的人...

使用一个中间系统来传送你的电话将会使跟踪更加困难, 但是同样由于你使用一个pbx或其他的什么东西, 仍使你处于被抓的危险中. 这取决于你.

注意在丹麦所有的电话数据均被记录!即使在你打完电话10年后,他们仍然能证明你曾登录过他们的拨号系统从事hack活动...

- 其他的
如果你想运行satan,iss,ypx,nfs文件句柄猜测程序..你应当使用一个专门的服务器来完成.不要用这个服务器telnet/rlogin到目标服务器,只是用它来进行检测.

有些程序可以bind到一个特殊端口,当一个指定到该端口的连接建立的时候,它自动打开一个连接连到另外一个服务器的某个端口(有些就模拟一个shell,你可以从这个socket daemon中"telnet"到其他机器).使用这种程序你不会被记录(防火墙log除外).有很多程序可以帮你完
成上述功能.

>> 译者注:这种程序我常用的有datapipe.c,telbounc.c,还是很好用的.它就象是个代理服务器,但是不会有记录.:)

如果可能的话,hacking server或者gateway server应该在国外!因为如果你的入侵被发现,当发现你来自国外的主机时,大多数网管都会放弃追查.即使是警察要通过不同的国家追踪你,这也至少可以拖延2-10个星期的时间...

#下面是hack过程的简图,也许对你有些帮助;-)

+-------+ ~---------------> +-------------+ +-----------+
|+-----+| > > | | | |
||本机 || --> > 安全拨号线路 > --> | 堡垒主机 | --> | hacki
ng |
|+-----+| > > | (至少有3个) | | server |
+-------+ ~---------------> +-------------+ +-----------+
|
|
v
+-----------------+ +--------+ +-----------+
| | | | | |
| 内部网络中的主机| ... <-- ... |目标主机| <-- | gateway | | | | | | server | +-----------------+ +--------+ +-----------+ * 3. 找到并处理所有的LOG文件 * 找到所有的logfiles是很重要的---即使他们被隐藏.要找到它们有两种可 能的方法: 1)找到所有打开的文件. 既然所有的log必须写到某个地方去,所以用可以用LSOF(LiSt Open Files)程序 去检查所有打开的文件,必要的话就得修改它们.>> 译者注:lsof由Vic Abell 编写,用来提供被进程打开的文件的信息,
>> 它的最新版本可以在ftp://vic.cc.purdue.edu/pub/tools/unix/lsof下找到.有趣的是,不久前有人发现lsof4.40以前的版本中存在buffer overflow问题,可以取得root权限.:-)


2) 搜索所有在你登录后有变化的文件在你登录后,执行"touch /tmp/check",然后可以干你的活.最后只要执行"find / -newer /tmp/check -print",并检查找到的文件,如果其中有记帐文件,就应该修改它.注意不是所有版本的find都支持 -newer 参数.你也可以用"find / -ctime 0
-print" 或者 "find / -cmin 0 -print"来查找它们.
>> 译者注:我更喜欢用-exec ls -l {} \;来代替-print,因为这可以列出比较详细的信息. 注意上述方法主要是针对系统记帐软件的,它可能会记录你执行的命令.对于只记录login信息的软件,它在你看到shell提示符以前就已经完成记录了.所以用这种检查是查不出来的.

检查你找到的所有的logfiles.它们一般在/usr/adm,/var/adm或者/var/log,/var/run
.
如果它们被记录到@loghost,那你可能就有点麻烦了.你需要hack那台loghost主机去修改log...

>> 译者注:一般单纯用作loghost的机器比较难hack,因为它往往关掉了几乎所有端口,并且只
允许从控制台登录.对于这样的机器,可以用DoS攻击使之瘫痪,从而失去log功能.(要hack往往比较难,要crash it则相对容易一些.;-)当然,本次登陆的记录仍然会被保存下来.

为了处理logs,你可以用"grep -v"或者用wc统计行数后,再用"tail -10 log"察看最后10行
,或者用编辑器vi,emcas.

>> 译者注:如果你从a.b.c来,你可以用grep -v "a.b.c" logfile>logtemp;mv logtemp logfile;来清除所有含有a.b.c的行.如果log文件比较大,你也可以用vim来编辑.注意这只能用来修改文本文件!!!对二进制文件的修改可能导致文件格式被破坏!!!

如果数据文件是二进制格式的,你应当首先查明它是由什么软件产生的,然后设法找到该软件的源码,分析记录项的结构,自己编程修改记录.(可以利用现成的程序加以修改,比如Zap,clear
cloak...).

如果系统安装了accounting软件.你可以用zhart写的acct-clener---它非常有效!

如果你必须修改wtmp,但系统又不能编译源程序也没有perl....你可以这样做,先uuencode
wtmp,然后运行vi,移动到最后一行,删除最后以"M"开头的4行...然后保存退出.uudecode
.然后最后5个wtmp记录项就被删除了.;-) 注意这只在SCO unix下有效,linux下是不行的.

>> 译者注:我没有验证这个,因为没有SCO服务器.如果你要这么做,记得要先做个wtmp的备份.

如果系统用wtmpx和utmpx,那你又有麻烦了..迄今我还不知道有哪个cleaner程序可以处理它们.你不得不自己编一个程序来完成工作.

>> 译者注:wtmpx和utmpx结构与wtmp和utmp类似,只要将清除utmp和wtmp的软件略加修改就可
>> 以了.而且现在已经不少现成的程序可以修改utmpx/wtmpx了.

* 4. 检查SYSLOG配置和记录 *
大部分程序都用syslog函数来记录它们需要的所有东西.因而检查syslogd的配置文件是很重要的.这个配置文件是/etc/syslog.conf - 我不会告诉你它的格式是什么/每一项是什么意思
,
自己去读它的man页.
对你来说重要的syslog类型是kern.*,auth.*和authpriv.*.看看它们被写到哪里了,如果写到文件里还可以修改.如果被转发到其他主机,你必须也要hack它们.如果消息被发给某个用户,tty或者控制台.你能耍点小花招发很多个假消息象"echo 17:04 12-05-85 kernelsendmail[243]: can&#39;t resolve bla.bla.com > /dev/console"(或其他你想flood的的设备),让它卷屏,以隐藏你引发的信息.这些log文件是非常非常重要的!检查它们!

* 5. 检查已经安装的安全程序 *
很多注重安全的站点都通过cron运行安全检查程序.crontabs通常在/var/spool/cron/crontabs.检查里面所有的文件,特别是"root"文件,检查它里面都运行了什么程序.用"crontab -l root"可以快速的检查root crontab的内容.

这些安全工具往往装在管理员的目录下比如~/bin.

这些检查软件可能是 tiger, cops, spi, tripwire, l5,binaudit, hobgoblin, s3 等等...

你必须检查它们都报告了些什么东西,看它们是否报告了一些显示出你入侵迹象的东西.如果是的话,你可以 - 更新软件的数据文件,是它们不再报告这种类型的消息.
- 可以重新编程或修改该软件使它们不再产生报告.
- 如果可能的话,删除你安装的后门或其他程序,并试着用其他的方法来完成。

* 6. 检查系统管理员 *
对你来说了解系统管理员采取了那些安全措施是非常重要的.因此你需要知道他们经常使用哪些
普通用户帐号.你可以检查root的.forward文件和alias内容.看看sulog文件,注意那些成功su成root的用户.检查group文件中的wheel和admin组(或者其他任何与管理员相关的组).你也可以
在passwd文件中查找admin,也许你又能找到一个管理员帐号.现在你应该已经知道这台机器上谁是管理员了.进入他们的目录(如果系统不允许root读所有的文件,用chid.c或者changeid.c将自己的uid变成该用户的),检查他们的.history/.sh_history/.bash_history文件看看他们经常执行什么命令.也应当检查他们的.profile/.login/.bash_profile文件看看里面都设置了什么alias,是否执行了什么自动安全检查或logging程序.也检查他们的~/bin目录!大多数情况下被编译的安全程序被放到那里面!当然也要看一下他们的每一个目录(ls -alR ~/).如果你找到任何与安全有关的东西,请读5小节以设法绕过它们的安全保护.

* 7. 怎样修正checksum检查软件 *
一些管理员真得很怕hacker所以装了一些软件来检查二进制文件.如果一个二进制文件被改动了,下次管理员做二进制检查的时候,它将被检测到.那么你怎么找到是否系统安装了这样的程序,又怎样修改它们以便你能植入你的木马程序呢?

注意有很多的二进制检查程序,而且要写一个也真是非常容易(15分钟就够了),你可以用一个
小的script完成这个工作.所以如果这样的软件被安装的话要找到它们是比较困难的.注意
有些常用安全检查程序也提供这样的检查.下面是一些应用得很广泛的软件:

软件名 标准路径 二进制文件名

tripwire : /usr/adm/tcheck, /usr/local/adm/tcheck : databases, tri
pwir
e
binaudit : /usr/local/adm/audit : auditscan
hobgoblin : ~user/bin : hobgoblin
raudit : ~user/bin : raudit.pl
l5 : 编译所在目录 : l5

你要明白有很多种可能!这软件或数据库甚至可能放在一个正常情况下不被mount的盘上或者在其他主机export的NFS分区上.也可能checksum数据库是储存在一个写保护的介质上的.各种可能性都有!但一般情况下你只要检查上述软件是否被安装就可以了,如果没有的话,你就可以改变某些二进制文件.如果你没有找到那些软件,但你又知道这是一个进行了完善安全保护的站点的话,你就不应该改变二进制文件!它们(二进制检查软件)肯定被藏在什么地方了.

如果你发现了这种软件被安装并且你可以修改它们(比如不是放在只读介质上,或者可以通过一些办法绕过限制 - 比如umount该盘然后重新mount成可写的)的话,你该怎么做呢?你有两种选择:首先你可以只检查软件的参数,然后对已经修改过的二进制文件执行一次"up&#100;ate"检查.比如用tripwire的话你可以执行" tripwire -up&#100;ate /bin/target ".第二种办法是你可以编辑要被检查的二进制文件名单 - 从中删除你改动过的二进制文件名.注意你也应当看看是不是连数据库文件自身也会被检查!如果是的话 - 先up&#100;ate再删除数据库文件名.

* 8. 注意某些用户的安全陷阱(诡计?) *
这种情况较少发生,这里提出来主要是为了讨论的更完全.一些用户(可能是管理员或者hacker)通常不象他自己的帐户被别人使用.所以他们有时候会在他们的启动文件里采取一点安全措施.
所以要检查所有的以"."开头的文件(.profile,.cshrc,.login,.logout 等等),看看他们执行了什么命令,记录了些什么东西,以及他们的搜索路径是怎么摄制的.如果某个目录(比如HOME/bin)出现在/bin的前面,你就应该检查一下那个目录的内容了...也许里面装了个程序"ls"或者"w",它会先记录被执行的时间然后再执行真正的程序也许还有些程序用来自动检查wtmp和lastlog文件是否被zap处理过,检查.rhosts,.Xauthority文件,或是否有sniffer正在运行...千万不要使用一个unix高手的帐号!

* 9. 其他 *
最后,在讨论受怀疑或被捕的话题之前,还有一些其他的事情值得引起注意.老的telnet client会export USER变量.一个了解这一点的系统管理员可以编辑telnetd,从而得到所有(通过telnet登录进来的)用户名.一旦他注意到你,他就可以很容易的得知你是从(远方主机的)哪个帐号hack进来的.新的client(客户端程序)已经解决了了这一问题 -但是一个聪明的管理员仍然可以得到其他的信息以鉴别用户:UID,MAIL,HOME变量,这些变量仍然被export,这就可以很容易得鉴别 hacker使用的是哪个帐户.因此在你进行telnet前,记得要改变USER,UID,MAIL和HOME变量,如果你正处在home目录下的话也许甚至要改变PWD变量.

在HP Unix(版本低于v10)中你可以建立隐藏目录.我不是说那些以"."开头的目录而是一些有特殊标志的目录.HP在v9版推出了它,但从v10版本以后就去除了(因为只有hacker才是用它 ;-).
如果你执行"chmod +H directory",则directory目录就不能用"ls -al"列出.为了看这个隐藏目录,你需要为ls增加 -H 参数,例如:"ls -alH".

无论什么时候,当你需要改变文件的日期时,记住你能用"touch"命令设置atime和mtime.你只能通过直接的硬盘读写来设置ctime.

如果你在一个重要系统中安装了sniffer,一定要加密sniffer的输出或者让sniffer通过icmp或者udp将所有被截获的数据发送到一个由你控制的外部主机.为什么要这样做?因为这样即使管理员发现了sniffer(通过cpm或其他检查sniffer存在的程序),他们也不能从sniffer log中得知哪些东西被sniff了,所以他也不能即使提醒正被你sniff的主机.

V. 当你被怀疑时...
----------------------------------------------------------------------
一旦你受到怀疑(被警察或是系统管理员)你应该采取些特别的行动是他们不能得到不利你的
证据.

注意 : 如果系统管理员认为你是个hacker,你就是有罪的直到你被证明是无辜的!这些管理员根本不理会什么法律(有时候我认为hacker与管理员的不同仅仅在于那台计算机属于管理员而已).当他们认为你是个hacker的时候,你就是有罪的,没有律师为你辩护.他们会监视你,你的邮件,文件,甚至记录你的键盘(如果他们够利害的话).当警察被牵扯进来的时候,你的电话线也可能被监听,搜捕行动也许跟着就来了.

如果你注意到你正受到怀疑,一定要保持低调!不要采取任何攻击性行动!最好是等上至少1到2个月,什么都不做.警告你的朋友不要给你发任何邮件,或者只发一些正常的/无害的邮件.如果你突然采用PGP加密邮件,这会提醒正在监视的警察和管理员---你发现他们的监视了.切断与
hacking有关的联系,写点儿文章或者编编程序,一直等到一切都过去.及主要加密你的敏感数
据,销毁所有记有帐号数据,电话号码等等的纸张.当警察搜捕你的时候,那些东西是他们要找的
最重要的东西.

VI. 被捕
----------------------------------------------------------------------

Note that this small chapter covers only the ethics and basics and
hasn&#39;t got any references to current laws - because they are different
for every country.

Now we talking about the stuff you should/shouldn&#39;t do once the feds
visited you. There are two *very* important things you have to do :
1) GET A LAWYER IMMEDEANTELY !
The lawyer should phone the judge and appeal against the search
warrant. This doesn&#39;t help much but may hinder them in their work.
The lawyer should tell you everything you need to know what the
feds are allowed to do and what not.
The lawyer should write a letter to the district attorney and/or
police to request the computers back as fast as possible because
they are urgently needed to do business etc.
As you can see it is very useful to have got a lawyer already
by hand instead of searching for one after the raid.
2) NEVER TALK TO THE COPS !
The feds can&#39;t promise you anything. If they tell you, you&#39;ll get
away if you talk, don&#39;t trust them! Only the district attorney
has got the power to do this. The cops just want to get all
information possible. So if you tell them anything they&#39;ll have
got more information from and against you.
You should *always* refuse to give evidence - tell them that you
will only talk with them via your lawyer.

Then you should make a plan with your lawyer how to get you out of this
shit and reduce the damage.
But please keep in mind : don&#39;t betray your friends. Don&#39;t tell them
any secrets. Don&#39;t blow up the scene.
If you do, that&#39;s a boomerang : the guys & scene will be very angry
and do revenge, and those guys who&#39;ll be caught because of your
evidence will also talk ... and give the cops more information about
*your* crimes!

Note also that once you are caught you get blamed for everything which
happened on that site. If you (or your lawyer) can show them that they
don&#39;t have got evidences against you for all those cases they might
have trouble to keep the picture of that "evil hacker" they&#39;ll try to
paint about you at the court. If you can even prove that you couldn&#39;t
do some of the crimes they accuse you for then your chances are even
better. When the judge sees that false accuses are made he&#39;ll suspect
that there could be more false ones and will become distrusted against
the bad prepared charges against you.

I get often asked if the feds/judge can force you to give up your
passwords for PGP, encrypted files and/or harddisks.
That&#39;s different for every country. Check out if they could force you
to open your locked safe.
If that&#39;s the case you should hide the fact that you are crypting your
data! Talk with your lawyer if it&#39;s better for you to stand against
the direction to give out the password - maybe they&#39;d get evidences
which could you get into jail for many years.

(For german guys : THC-MAG #4 will have got an article about the german
law, as far as it concerns hacking and phreaking - that article will
be of course checked by a lawyer to be correct. Note that #4 will only
discuss germany and hence will be in the german language.
But non-germans, keep ya head up, this will be the first and last german
only magazine release ;-)


>>译者注:这一节是讲述了如果被捕,应当做些什么.由于我们的法律和西方不同,所以我就不翻了.有兴趣的可以自己看一看.主要的两点就是:1.马上找到一个律师为你处理这一切.2.不要告诉警察任何东西,也不要出卖其他人.

VII. 有用的程序
----------------------------------------------------------------------

这里有一个你应该找到并使用的程序列表.不要给我发email问我在哪里找到它们 - 自己到
hacker世界中去找!我只列出了最好的log编辑程序(见III-4和IV-3).其他有趣的程序还有telnet重定向程序(见IV-2),但这种程序有很多,大部分只能在1-3种unix类型下编译,所以列表没什么用.

先节是以下几个术语:
改变 - 将logfile中的域改成你喜欢的任意内容
删除 - 删除你要求的记录项
编辑 - 真正的logfile编辑器.
重写 - 只用0字节来重写记录.
不要用这样的软件(e.g. zap) - 它能被检测到!
LOG 修改器

ah-1_0b.tar 改变记帐信息的记录
clear.c 删除utmp,wtmp,lastlog和wtmpx中的记录
cloak2.c 改变utmp,wtmp和lastlog中的记录.
invisible.c 用预设值重写utmp,wtmp和lastlog
所以它比zap更好.注意看,有好多inv*.c!
marryv11.c 编辑utmp, wtmp, lastlog 和 accounting 数据 - 最好的!
wzap.c 删除wtmp中的记录
wtmped.c 删除wtmp中的记录
zap.c 重写utmp, wtmp, lastlog - 不要用它!它会被检测到!

推荐日志 防止ASP木马在服务器上运行

[ 2007-03-25 03:31:11 | 作者: sun ]
如果您的服务器正在受ASP木马的困扰,那么希望这篇文章能帮您解决您所面临的问题。

  目前比较流行的ASP木马主要通过三种技术来进行对服务器的相关操作。

  一、使用FileSystemObject组件

  FileSystemObject可以对文件进行常规操作

  可以通过修改注册表,将此组件改名,来防止此类木马的危害。

  HKEY_CLASSES_ROOT/Scripting.FileSystemObject/改名为其它的名字,如:改为FileSystemObject_ChangeName

  自己以后调用的时候使用这个就可以正常调用此组件了

  也要将clsid值也改一下

  HKEY_CLASSES_ROOT/Scripting.FileSystemObject/CLSID/项目的值

  也可以将其删除,来防止此类木马的危害。

  注销此组件命令:RegSvr32 /u C:/WINNT/SYSTEM32/scrrun.dll

  禁止Guest用户使用scrrun.dll来防止调用此组件。

  使用命令:cacls C:/WINNT/system32/scrrun.dll /e /d guests

  二、使用WScript.Shell组件

  WScript.Shell可以调用系统内核运行DOS基本命令

  可以通过修改注册表,将此组件改名,来防止此类木马的危害。

  HKEY_CLASSES_ROOT/WScript.Shell/及HKEY_CLASSES_ROOT/WScript.Shell.1/改名为其它的名字,如:改为WScript.Shell_ChangeName或WScript.Shell.1_ChangeName

  自己以后调用的时候使用这个就可以正常调用此组件了

  也要将clsid值也改一下

  HKEY_CLASSES_ROOT/WScript.Shell/CLSID/项目的值
  HKEY_CLASSES_ROOT/WScript.Shell.1/CLSID/项目的值

  也可以将其删除,来防止此类木马的危害。

  三、使用Shell.Application组件

  Shell.Application可以调用系统内核运行DOS基本命令

  可以通过修改注册表,将此组件改名,来防止此类木马的危害。

  HKEY_CLASSES_ROOT/Shell.Application/
  及HKEY_CLASSES_ROOT/Shell.Application.1/
  改名为其它的名字,如:改为Shell.Application_ChangeName或Shell.Application.1_ChangeName

  自己以后调用的时候使用这个就可以正常调用此组件了

  也要将clsid值也改一下

  HKEY_CLASSES_ROOT/Shell.Application/CLSID/项目的值
  HKEY_CLASSES_ROOT/Shell.Application/CLSID/项目的值

  也可以将其删除,来防止此类木马的危害。

  禁止Guest用户使用shell32.dll来防止调用此组件。

  使用命令:cacls C:/WINNT/system32/shell32.dll /e /d guests
  注:操作均需要重新启动WEB服务后才会生效。

  四、调用Cmd.exe

  禁用Guests组用户调用cmd.exe
  cacls C:/WINNT/system32/Cmd.exe /e /d guests

  通过以上四步的设置基本可以防范目前比较流行的几种木马,但最有效的办法还是通过综合安全设置,将服务器、程序安全都达到一定标准,才可能将安全等级设置较高,防范更多非法入侵。