`
huobengluantiao8
  • 浏览: 1061396 次
文章分类
社区版块
存档分类
最新评论

网络入侵检测初步探测方法

 
阅读更多

  经过精心配置的Win2000服务器可以防御90%以上的入侵和渗透,但是,系统安全是一个连续的过程,随着新漏洞的出现和服务器应用的变化,系统的安全状况也在不断变化着;同时由于攻防是矛盾的统一体,道消魔长和魔消道长也在不断的转换中,因此,再高明的系统管理员也不能保证一台正在提供服务的服务器长时间绝对不被入侵。

  所以,安全配置服务器并不是安全工作的结束,相反却是漫长乏味的安全工作的开始,本文我们将初步探讨Win2000服务器入侵检测的初步技巧,希望能帮助您长期维护服务器的安全。

  入侵的检测主要还是根据应用来进行,提供了相应的服务就应该有相应的检测分析系统来进行保护,对于一般的主机来说,主要应该注意以下几个方面:

  1.基于80端口入侵的检测

  WWW服务大概是最常见的服务之一了,而且由于这个服务面对广大用户,服务的流量和复杂度都很高,所以针对这个服务的漏洞和入侵技巧也最多。对于NT来说,IIS一直是系统管理员比较头疼的一部分,不过好在IIS自带的日志功能从某种程度上可以成为入侵检测的得力帮手。IIS自带的日志文件默认存放在System32/LogFiles目录下,一般是按24小时滚动的,在IIS管理器中可以对它进行详细的配置。

  我们假设一台WEB服务器,开放了WWW服务,你是这台服务器的系统管理员,已经小心地配置了IIS,使用W3C扩展的日志格式,并至少记录了时间(Time)、客户端IP(Client IP)、方法(Method)、URI资源(URI Stem)、URI查询(URI Query),协议状态(Protocol Status),我们用最近比较[/size]流行的Unicode漏洞来进行分析:打开IE的窗口,在地址栏输入:127.0.0.1/scripts/..%c1% 1c../winnt/system32/cmd.exe?/c+dir默认的情况下你可以看到目录列表,让我们来看看IIS的日志都记录了些什么,打开Ex010318.log(Ex代表W3C扩展格式,后面的一串数字代表日志的记录日期):07:42:58 127.0.0.1 GET /scripts/../../winnt/system32/cmd.exe /c+dir 200上面这行日志表示在格林威治时间07:42:58(就是北京时间23:42:58),有一个家伙(入侵者)从127.0.0.1的IP在你的机器上利用Unicode漏洞(%c1%1c被解码为“/”,实际的情况会因为Windows版本的不同而有略微的差别)运行了cmd.exe,参数是/c dir,运行结果成功(HTTP 200代表正确返回)。

  大多数情况下,IIS的日志会忠实地记录它接收到的任何请求(也有特殊的不被IIS记录的攻击,这个我们以后再讨论)。但是,IIS的日志动辄数十兆、流量大的网站甚至数十G,人工检查几乎没有可能,唯一的选择就是使用日志分析软件,用任何语言编写一个日志分析软件(其实就是文本过滤器)都非常简单。

  告诉大家一个简单的方法,比方说你想知道有没有人从80端口上试图取得你的Global.asa文件,可以使用以下的命令:find “Global.asa” ex010318.log /i。这个命令使用的是NT自带的find.exe工具,可以轻松的从文本文件中找到你想过滤的字符串,“Global.asa”是需要查询的字符串,ex010318.log是待过滤的文本文件,/i代表忽略大小写。因为我无意把这篇文章写成微软的Help文档,所以关于这个命令的其他参数以及它的增强版FindStr.exe的用法请去查看Win2000的帮助文件。

  无论是基于日志分析软件或者是Find命令,你都可以建立一张敏感字符串列表,包含已有的IIS漏洞(比如“+.htr”)以及未来将要出现的漏洞可能会调用的资源(比如Global.asa或者cmd.exe),通过过滤这张不断更新的字符串表,一定可以尽早了解入侵者的行动。

 需要提醒的是,使用任何日志分析软件都会占用一定的系统资源,因此,对于IIS日志分析这样低优先级的任务,放在夜里空闲时自动执行会比较合适,如果再写一段脚本把过滤后的可疑文本发送给系统管理员,那就更加完美了。同时,如果敏感字符串表较大,过滤策略复杂,我建议还是用C写一个专用程序会比较合算。

  2.基于安全日志的检测

  通过基于IIS日志的入侵监测,我们能提前知道窥伺者的行踪(如果你处理失当,窥伺者随时会变成入侵者),但是IIS日志不是万能的,它在某种情况下甚至不能记录来自80端口的入侵,根据我对IIS日志系统的分析,IIS只有在一个请求完成后才会写入日志,换言之,如果一个请求中途失败,日志文件中是不会有它的踪影的(这里的中途失败并不是指发生HTTP400错误这样的情况,而是从TCP层上没有完成HTTP请求,例如在POST大量数据时异常中断),对于入侵者来说,就有可能绕过日志系统完成大量的活动。

  而且,对于非80 Only的主机,入侵者也可以从其它的服务进入服务器,因此,建立一套完整的安全监测系统是非常必要的。

  Win2000自带了相当强大的安全日志系统,从用户登录到特权的使用都有非常详细的记录,可惜的是,默认安装下安全审核是关闭的,以至于一些主机被黑后根本没法追踪入侵者。所以,我们要做的第一步是在管理工具-本地安全策略-本地策略-审核策略中打开必要的审核,一般来说,登录事件与账户管理是我们最关心的事件,同时打开成功和失败审核非常必要,其他的审核也要打开失败审核,这样可以使得入侵者步步维艰,一不小心就会露出马脚。仅仅打开安全审核并没有完全解决问题,如果没有很好的配置安全日志的大小及覆盖方式,一个老练的入侵者就能够通过洪水般的伪造入侵请求覆盖掉他真正的行踪。通常情况下,将安全日志的大小指定为50MB并且只允许覆盖7天前的日志可以避免上述情况的出现。

  除了安全日志,系统日志和应用程序日志也是非常好的辅助监测工具,一般来说,入侵者除了在安全日志中留下痕迹(如果他拿到了Admin权限,那么他一定会去清除痕迹的),在系统和应用程序日志中也会留下蛛丝马迹,作为系统管理员,要有不放过任何异常的态度,这样入侵者就很难隐藏他们的行踪。

  3.文件访问日志与关键文件保护

  除了系统默认的安全审核外,对于关键的文件,我们还要加设文件访问日志,记录对它们的访问。

  文件访问有很多的选项:访问、修改、执行、新建、属性更改……一般来说,关注访问和修改就能起到很大的监视作用。

  例如,如果我们监视了系统目录的修改、创建,甚至部分重要文件的访问(例如cmd.exe,net.exe,system32目录),那么,入侵者就很难在不引起我们注意的情况下安放后门。要注意的是,监视的关键文件和项目不能太多,否则不仅增加系统负担,还会扰乱日常的日志监测工作。关键文件不仅仅指的是系统文件,还包括有可能对系统管理员和其他用户构成危害的任何文件,例如系统管理员的配置、桌面文件等等,这些都是有可能被用来窃取系统管理员资料和密码的。

  4.进程监控

  进程监控技术是追踪木马后门的另一个有力武器,90%以上的木马和后门是以进程的形式存在的。作为系统管理员,了解服务器上运行的每个进程是职责之一(否则不要说安全,连系统优化都没有办法做)。做一份每台服务器运行进程的列表非常必要,能帮助管理员一眼就发现入侵进程,异常的用户进程或者异常的资源占用都有可能是非法进程。除了进程外,dll也是危险的东西,例如把原本是exe类型的木马改写为dll后,使用rundll32运行就比较具有迷惑性。

  5.注册表校验


  一般来说,木马或者后门都会利用注册表来再次运行自己,所以,校验注册表来发现入侵也是常用的手法之一。一般来说,如果一个入侵者只懂得使用流行的木马,那么由于普通木马只能写入特定的几个键值(比如Run、Runonce等等),查找起来是相对容易的,但是对于可以自己编写或改写木马的人来说,注册表的任何地方都可以藏身,靠手工查找就没有可能了。应对的方法是监控注册表的任何改动,这样改写注册表的木马就没有办法遁形了。监控注册表的软件非常多,很多追查木马的软件都带有这样的功能,一个监控软件加上定期对注册表进行备份,万一注册表被非授权修改,系统管理员也能在最短的时间内恢复。

  6.端口监控

  虽然说不使用端口的木马已经出现,但是大部分的后门和木马还是使用TCP连接的,监控端口的状况对于由于种种原因不能封锁端口的主机来说就是非常重要的了。对于系统管理员来说,了解自己服务器上开放的端口甚至比对进程的监控更加重要,常常使用netstat查看服务器的端口状况是一个良好的习惯,但是并不能24小时这样做,而且NT的安全日志有一个缺陷,喜欢记录机器名而不是IP,如果你既没有防火墙又没有入侵检测软件,倒是可以用脚本来进行IP日志记录的,看着这个命令:netstat -n -p tcp 10>>Netstat.log,这个命令每10秒钟自动查看一次TCP的连接状况,基于这个命令我们做一个Netlog.bat文件:time /t>>Netstat.log Netstat -n -p tcp 10>>Netstat.log。这个脚本将会自动记录时间和TCP连接状态,需要注意的是:如果网站访问量比较大,这样的操作是需要消耗一定的CPU时间的,而且日志文件将越来越大,所以请慎之又慎。

  一旦发现异常的端口,可以使用特殊的程序来关联端口、可执行文件和进程(如inzider就有这样的功能,它可以发现服务器监听的端口并找出与该端口关联的文件,inzider可以从http://www.nttoolbox.com下载),这样无论是使用TCP还是UDP的木马都无处藏身。
  7.终端服务的日志监控

  单独将终端服务(Terminal Service)的日志监控分列出来是有原因的,微软Win2000服务器版中自带的终端服务Terminal Service是一个基于远程桌面协议(RDP)的工具,它的速度非常快,也很稳定,可以成为一个很好的远程管理软件,但是因为这个软件功能强大而且只受到密码的保护,所以也非常的危险,一旦入侵者拥有了管理员密码,就能够像本机一样操作远程服务器。虽然很多人都在使用终端服务来进行远程管理,但是,并不是人人都知道如何对终端服务进行审核。大多数的终端服务器上并没有打开终端登录的日志。其实打开日志审核是很容易的,在管理工具中打开远程控制服务配置(Terminal Service Configration),点击“连接”,右击你想配置的RDP服务(比如RDP-TCP Microsoft RDP 5.0),选中书签“权限”,点击左下角的“高级”,看见上面那个“审核”了么?我们来加入一个Everyone组,这代表所有的用户,然后审核它的“连接”、“断开”、“注销”的成功和“登录”的成功和失败就足够了。审核太多了反而不好,这个审核是记录在安全日志中的,可以从“管理工具”→“日志查看器”中查看。现在什么人什么时候登录我都一清二楚了,可是美中不足的是:这个破烂玩艺居然不记录客户端的IP(只能查看在线用户的IP),而是华而不实地记录什么机器名,倒!要是别人起个PIG的机器名你只好受他的嘲弄了,不知道微软是怎么想的,看来还是不能完全依赖微软呀,我们自己来吧,写个程序,一切搞定,你会C么?不会?VB呢?也不会?Delphi?……什么?你什么编程语言都不会?我倒,毕竟系统管理员不是程序员呀,别急别急,我给你想办法,我们来建立一个bat文件,叫做TSLog.bat。这个文件用来记录登录者的IP,内容如下:time /t >>TSLog.log netstat -n -p tcp   find “:3389”>>TSLog.logstart Explorer。我来解释一下这个文件的含义:第一行是记录用户登录的时间,time /t的意思是直接返回系统时间(如果不加/t,系统会等待你输入新的时间),然后我们用追加符号“>>”把这个时间记入TSLog.log作为日志的时间字段;第二行是记录用户的IP地址,netstat是用来显示当前网络连接状况的命令,-n表示显示IP和端口而不是域名、协议,-ptcp是只显示tcp协议,然后我们用管道符号“ ”把这个命令的结果输出给find命令,从输出结果中查找包含“3389”的行(这就是我们要的客户的IP所在的行,如果你更改了终端服务的端口,这个数值也要作相应的更改)。最后我们同样把这个结果重定向到日志文件TSLog.log中去,于是在TSLog.log文件中,记录格式如下: 22:40 TCP 192.168.12.28:3389

  192.168.10.123:4903 ESTABLISHED 22:54 TCP 192.168.12.28:338
 192.168.12.29:1039 ESTABLISHED也就是说只要这个TSLog.bat文件一运行,所有连在3389端口上的IP都会被记录,那么如何让这个批处理文件自动运行呢?我们知道,终端服务允许我们为用户自定义起始的程序,在终端服务配置中,我们覆盖用户的登录脚本设置并指定TSLog.bat为用户登录时需要打开的脚本,这样每个用户登录后都必须执行这个脚本,因为默认的脚本(相当于shell环境)是Explorer(资源管理器),所以我在TSLog.bat的最后一行加上了启动Explorer的命令start Explorer。如果不加这一行命令,用户是没有办法进入桌面的!当然,如果你只需要给用户特定的shell,例如:cmd.exe或者word.exe你也可以把start Explorer替换成任意的shell。这个脚本也可以有其他的写法,作为系统管理员,你完全可以自由发挥你的想象力、自由利用自己的资源,例如,写一个脚本把每个登录用户的IP发送到自己的信箱,对于重要的服务器也是一个很好的方法。正常情况下一般的用户没有查看终端服务设置的权限,所以他不会知道你对登录进行了IP审核,只要把TSLog.bat文件和TSLog.log文件放在比较隐蔽的目录里就足够了。不过,需要注意的是这只是一个简单的终端服务日志策略,并没有太多的安全保障措施和权限机制。如果服务器有更高的安全要求,那还是需要通过编程或购买入侵监测软件来完成的。

  8.陷阱技术

  早期的陷阱技术只是一个伪装的端口服务用来监测扫描,随着“矛”和“盾”的不断升级,现在的陷阱服务或者陷阱主机已经越来越完善,越来越像真正的服务,不仅能截获半开式扫描,还能伪装服务器一端的回应并记录入侵者的行为,从而帮助判断入侵者的身份。我本人对于陷阱技术并不是非常感兴趣,一来从技术人员角度来说,低调行事更符合安全的原则;二来陷阱主机反而成为入侵者跳板的情况并不仅仅出现在小说中,在现实生活中也屡见不鲜。如果架设了陷阱反而被用来入侵,那真是偷鸡不成了蚀把米。记得CoolFire说过一句话,可以用来作为对陷阱技术介绍的一个总结:在不了解情况时,不要随便进入别人的系统,因为你永远不能事先知道系统管理员是真的白痴或者是伪装成白痴的天才……

  入侵监测的初步介绍就到这里,在实际运用中,系统管理员对基础知识掌握的情况直接关系到他的安全敏感度,只有身经百战知识丰富,仔细小心的系统管理员才能从一点点的蛛丝马迹中发现入侵者的影子,未雨绸缪,阻止入侵的行动。

分享到:
评论

相关推荐

    网络安全——主机安全.pptx

    主机安全 入侵检测系统 入侵检测系统的分类: 入侵检测系统可以按不同的方法进行分类,它们包括体系结构、同步性、数据来源、检测技术、响应方式、时效性等分类方法。 其中,按检测技术、数据来源、体系结构及时效...

    网络攻防入门初步

    反攻击技术,又称为入侵检测技术,其核心在于有效地截获并分析网络信息,以便及时发现并响应潜在的攻击行为。主要通过两种途径实现: 1. **网络侦听**:利用专业工具(如Sniffer、Vpacket等)捕获网络上的所有...

    初步认识脚本入侵技术

    在网络安全上下文中,脚本可以是用于扫描网络、探测漏洞或实施攻击的工具。常见的脚本语言包括Python、Perl、Bash和JavaScript等。 脚本入侵的核心在于利用这些脚本来寻找并利用系统的安全漏洞。这可能包括SQL注入...

    使用Arduino的入侵检测系统-项目开发

    这个项目旨在教你如何利用Arduino的灵活性和易用性,创建一个简单的但功能强大的入侵检测网络。 ### 一、项目概述 1. **目标**: 利用Arduino搭建一个实时监控并预警的入侵检测系统,当检测到异常活动时,能够发出...

    用流光扫描主机漏洞

    这种扫描过程可以帮助用户及时发现并修复网络系统中的安全问题,防止黑客入侵。 首先,了解流光的基本操作是至关重要的。在启动流光之前,你需要明确扫描的目标,这可以是一个IP地址范围或一个特定的域名。通过输入...

    网络嗅探器的设计与实现

    首先分析网络嗅探器,研究数据包在网络上的传播形式,网络嗅探器的工作原理,对于目前普遍的网络嗅探器来说,大多数采用的是VC++技术开发,同时利用了Winsock的技术实现了网络入侵检测的功能,是一款基于编程技术的...

    《信息安全技术》7.网络安全扫描.doc

    Connect Scan是建立完整的TCP连接来检测端口是否开放,而SYN Scan只发送SYN包来探测,这样可以避免被防火墙或IDS(入侵检测系统)察觉。 【实验步骤与思考】 在实验中,学生需使用ping命令对内部试验网和互联网上...

    网络攻击的常见方法及应对策略.docx

    其次,加强防火墙和入侵检测系统,防止未经授权的访问和数据泄露。此外,限制不必要的服务和端口开放,降低被攻击的风险。对于网页浏览,启用浏览器的安全设置,禁止未知脚本和ActiveX控件的自动执行。最后,定期...

    网络端口扫描器2007

    这种技术广泛用于网络安全审计、漏洞发现和入侵检测。 网络端口扫描器2007,作为一个2007年的产品,可能采用了J2ME(Java Micro Edition)技术,这使得该软件具有跨平台的特性,能够在多种移动设备上运行。J2ME ...

    站台端部入侵防护系统的研究.docx

    近年来,电子防护技术不断发展,如红外探测、雷达检测、激光扫描等,但这些早期系统往往无法有效区分工作人员,导致误报率较高。 刘祥等人提出的系统结合红外探测器和视频联动,彭良勇的方案利用雷达探测与视频,而...

    ASP漏洞+SQL注入的入侵方法总结.doc

    ### ASP漏洞+SQL注入的入侵方法总结 #### 一、概述 本文主要针对配备了防火墙的主机进行入侵攻击策略的总结。目标是在主机A上找到突破口,并利用ASP漏洞与SQL注入技术实现攻击。 #### 二、扫描与初步信息获取 1. *...

    电信设备-双模块红外微波移动探测装置.zip

    双模块红外微波移动探测装置的工作流程大致如下:首先,红外传感器持续扫描其覆盖区域,当有物体进入其视线并导致温度变化时,会触发初步报警。随后,微波模块接收到这个信号,通过分析微波反射信号的频率变化,确认...

    无线传感器网络技术试题.pdf

    31. **主动反击能力**:不包括恢复能力,包括入侵检测、隔离和消灭入侵者。 32. **物理层攻击**:隔离和消灭入侵者能力。 33. **IEEE802.15.4标准应用**:物理层和介质访问控制层。 34. **可用频段**:不包括6GHz...

    菜鸟学入侵之dos命令讲解

    3. **端口扫描**:虽然DOS下的端口扫描功能有限,但通过一些简单的命令组合,可以实现基本的端口探测,例如使用`telnet`命令尝试连接目标端口,以检测其开放情况。 4. **文件隐藏与恢复**:黑客可能利用DOS命令隐藏...

    检测技术与转换课程设计(红外线报警系统)

    - **威慑作用**: 系统由红外探测和报警两部分组成,当检测到入侵者时,能即时发出高分贝警报,起到威慑盗贼的作用。 - **安全保障**: 该装置能够敏感地监测周围环境,保护财产和人身安全,减轻治安压力,确保人们...

    以太网中网络扫描原理与检测

    网络扫描是网络入侵的前奏,攻击者通过扫描收集信息,选择合适的攻击策略。因此,及时监测和识别网络扫描行为对于预防网络攻击至关重要。通过陷阱机和其他监控技术,可以有效地定位和防止恶意扫描,保护网络系统的...

    135端口的入侵教程,很搞的教材,对于学习挺实用的。

    1. **漏洞扫描**:黑客首先会使用扫描工具检测目标网络中的开放端口,特别是135端口,以确定是否有机会进行攻击。 2. **弱点探测**:一旦发现135端口开放,黑客会尝试识别系统中可能存在的漏洞,这可能涉及RPC服务...

    网络端口扫描器ScanPort

    3. **入侵检测**:异常的端口扫描活动可能是黑客正在进行侦察,监控这种行为有助于早期发现威胁。 4. **合规检查**:许多行业和法规要求对公开网络进行定期的安全审核,端口扫描是其中的重要环节。 四、网络攻防中...

    边缘计算平台上的落砂检测与控制.pptx

    为此,平台需要采用诸如数据加密、访问控制以及入侵检测等机制来保障数据安全。 - **开放性和互操作性**:边缘计算平台应支持开放标准,使得开发者能够轻松地集成第三方应用程序和服务,进而扩展平台功能。同时,...

Global site tag (gtag.js) - Google Analytics