收藏本站 收藏本站
积木网首页 - 软件测试 - 常用手册 - 站长工具 - 技术社区
积木学院 > 黑客技术 > 入侵实例 > 正文

从入侵检测谈追踪入侵者

来源:互联摘选 日期:2006-08-22 12:33
 
============================================================================
作者:NetdreAm
日期:2002-8-23
电子邮件:dreAm@xGodcn.net
xGodcn(X Group of Dreams in China)一个纯粹的信息安全技术小组,追寻着我们自己的梦想。技术的学习和交流.探讨是我们走到一起的目的,能有超高的技术是我们追寻的最高荣耀,技术与我们的生活息息相关
xGodcn站点:http:\\www.xGodcn.net
xGodcn论坛:http:\\bbs.xgodcn.net
xGodcn IRC技术交流频道:
irc.sunnet.org:6667
频道:#梦幻小组
============================================================================

前言:
最近对入侵检测和追踪技术,病毒追踪,和数据恢复挺感兴趣。由于本人以前对这些也没做过详细的研究和学习,本文中有失误的地方,请各位仁兄指出。免得偶落个误人子弟的罪名.......

前提:
做好安全配置和做严密的安全审核策略,是给入侵检测到追踪入侵者,到提取证据的前提,起到成功与否的重要因数。良好的磁盘优化管理和使用,对数据恢复的可能性也起到很大的决定性。但对于一个没有一点基本的安全措施的主机进行入侵检测分析是毫无意义的,就像是你打开门,自己叫别人进来的一样!(对于安全配置和安全审核策略请参考其他文献,本文中就不做详细描述了)

追踪的开始
现在基本上中小型网络,都使用winnt,2K做为服务器(主机),微软的大小漏洞也层出不穷,被入侵可能性很大。对于发现入侵的主机,要采取保护,避免一些信息被丢失。

IIS日志分析:一个入侵者入侵一台主机时,常规会先收集主机的各种信息,其中包括通过扫描技术来判断主机是否存在这样或那样的漏洞或者弱点,CGI漏洞是入侵者比较常用的手段。在对主机扫描的时候,扫描程序会对对主机尝试一些畸形的url,对得到的回应来判断目标主机是否存在某种CGI漏洞,而IIS会把这些都记录在日志当中。
www服务的日志记录在
winsystem/system32/logfiles/w3svc1目录下 ,
FTP服务日志记录在
winsystem/system32/logfiles/msftpsvc1目录下
www日志中可以记录客户机IP地址 ,用户名 ,方式 ,URI资源 ,HTTP 状态 ,Win32 错误 ,用户代理 ,服务器IP地址 ,服务器端口。比如入侵者尝试Unicode漏洞,就会提交一个scripts/..%c1%1c../winnt/system32/cmd.exe?/c+dir的url,在IIS日志中就会记录下面的信息:
00:00:00 xxx.xxx.xxx.xxx GET /scripts/..../winnt/system32cmd.exe /c+dir 200
这就表示一个入侵者在00:00:00(格林威治时间+8个小时=北京时间),在xxx.xxx.xxx.xxx(客户端IP地址)使用Unicode漏洞入侵主机(200=正确返回值)。由于IIS使用时间的的长短和站点的流量,可能导致日志文件很大,甚至多少G,手工分析,根本是不可能的事情。现在只有借助于其他日志分析工具。比如用WebTrends Enterprise Suite,这是一个很强大的日志分析工具(详细的使用介绍请查看_blank href=http://www.isfocus.net/wendang/WebTrends%20Enterprise%20Suite.pdf>http://www.isfocus.net/wendang/WebTrends%20Enterprise%20Suite.pdf)和等等一些日志分析工具(在这里就不做详细的介绍了),假如手上没有日志分析工具,可以用系统自带的find.exe,他是一个简单的文本过滤器。c:\find "查询的字符" ex010318.log(其详细的使用方法可以查看系统帮助)。


安全日志分析:安全日志的分析,我们可以看到所有审核事件的记录,对追踪入侵者,有着很大的帮助,下面我们来看一个帐户登陆事件的记录:

日期: 2002-8-25
时间:15:49
类别:帐户登陆
类型:审核失败
计算机:1-3KIDM8CTJ0JBE
登录到帐户: Administrator
登录的用户: MICROSOFT_AUTHENTICATION_PACKAGE_V1_0
从工作站: 1-3KIDM8CTJ0JBE
未成功。错误代码是: 3221225578

这是一个审核失败的记录,上面我们可以很清楚的看出,在2002-8-25日15点49有人在1-3KIDM8CTJ0JBE
(计算机名)使用administrator帐户,试探密码,登陆到1-3KIDM8CTJ0JBE(计算机名)没有成功。

下面我们来看一个Terminal Services(终端服务)的帐户登陆事件的记录:

日期: 2002-8-25
时间:15:50
计算机:1-3KIDM8CTJ0JBE
会话从 winstation 中断连接:
用户名: administrator
域: Refdom
登录 ID: (0x0,0x20758D9)
会话名称: Unknown
客户端名: NETDREAM
客户端地址: xxx.xxx.xxx.xxx

由上我们可以看出在2002-8-25日15点50分,有人从xxx.xxx.xxx.xxx(IP地址)用administrator帐户连接到1-3KIDM8CTJ0JBE(计算机名 )的Terminal Services,连接中断了

事件日志分析:事件日志记录这所有用户在系统上包括硬件的使用的各种活动,由此我们可以看到入侵者在系统上做了些什么,下面我们来看一个使用拨号连接的日志

日期: 2002-8-25
时间:15:30
计算机:1-3KIDM8CTJ0JBE
用户 guest 用设备 COM3 与 拨号连接 成功地建立了连接。

我们可以看出在2002日的15点30分钟guest用户使用COM3进行了拨号连接

应用程序日志分析:由应用程序日志分析我们可以看到一些用户使用应用程序发生的事件,由此我们也 可以分析入侵者的一些活动来了解他的动机和目的。这里我们就不做详细的讲解了,大致上的面的日志 描述方式相同。

其他日志分析:很多安全软件或者应用软件都带有自己的日志记录,比如_blank">防火墙(可以参考[_blank">防火墙记录解读_blank href=http://211.91.20.161:88/article/go.asp?id=230>http://211.91.20.161:88/article/go.asp?id=230),或者IDS入侵检测系统的日志,还有常使用的Serv-U的日志记录等等.....都对我们很重要,有助于我们发现入侵者,和了解他做了些什么,和来自什么地方。

上面我们介绍了各种日志文件的分析,日志文件的分析是很重要的环节,日志文件的分析要采取收集信息到确定信息,和从新对确定目标分析,比如我们在某日志中发现可疑现象和事件,记下这个时间发生的时间,然后筛选出所有各种日志在这同一时间段内所有的记录,从而综合分析或确定入侵者是怎么闯入的,来自什么地方。目的是什么。对日志要进行一步一步的筛选。
有时候入侵者为了不留下什么线索,会删除一些已知道的日志文件(比如系安全日志,IIS日志等等其他日志文件),碰到这样的情况,我们就可以采用数据恢复技术,来还原数据和日志文件,WIN下的数据恢复工具,比如Recover,这是一个很简单的数据恢复工具,在删除后,硬盘没有写入数据的情况下,可以恢复被删除的文件,因为日志文件被删除是入侵者的最后的动作,一般的情况下是不会再做什么的,所以发现被入侵的主机后,要立即采取保护,不要做任何的操作,等待安全人员的到来。数据恢复工具还有很多(在这里就不一一做介绍了),软件的使用,请参考软件使用说明。对于在现有的技术条件下无法恢复的数据,应该立即送往磁盘生产厂家,请求厂家与以帮助和技术支持。
有时候碰到主机正在入侵,可以用netstat -na命令,查看主机的所有连接和远程的客户端地址,然后可以进一步的使用端口和进程的映射工具,来查看可疑端口正在使用什么程序。

对于拒绝服务攻击的追踪

这几年,不段的有一些大型站点相继招到大规模的拒绝服务攻击。拒绝服务攻击方法的种类也是层出不穷,大致分为ping洪水(或分布式),udp洪水(或分布式),Smurf(广播攻击),Slashdot effect(WEB压力攻击),syn Flood ,drdos(反射式拒绝服务攻击)
拒绝服务攻击可以分为两大类,(拒绝服务攻击)和(分布式拒绝服务攻击)
对于简单的拒绝服务攻击的追踪源地址的可操作性很大:

| 攻 | | 服 |
| | 攻击数据包 | |
| 击 | ---------------------------—> | 务 |
| | ———————————————> | |
| 者 | | 器 |
| | | |

从上图我们可以看出,查看简单的_blank">防火墙记录和其他记录就可以直接得到攻击者的来源

除上述后两者以外,其他分布式的拒绝服务攻击追踪的可操作性也很大:

——————————————————————
攻 击 者
——————————————————————
| | |
| | |
—————————————————————
攻击端 攻击端 N个攻击端
——————————————————————
|数
|据
|包
——————————————————————
服 务 器
-------------------------------------------

从上图的分析可以看出,我们通过_blank">防火墙或者一些协议分析攻击就可以得到攻击端的地址,然后通过映射攻击端上的端口和进程,来得到相关攻击程序和攻击者的连接,这样一级一级往上访,最终得到攻击的最终来源。

而后两者拒绝服务攻击的追踪可能性,都比较低,在syn包发送会更改数据包头,伪造IP地址,追踪攻击的来源比较困难。(详细的攻击内容请参_blank href=http://www.isfocus.net/wendang/drdos.pdf>http://www.isfocus.net/wendang/drdos.pdf)
—————————————————————
攻 击 者
—————————————————————
|伪造被攻击目标地址的
|syn包
|
—————————————————————
在一个C段类滚动
——————————————————————
|回应的
|syn/ack包
|
——————————————————————
服 务 器
——————————————————————

由上可以看出,被追踪的可能性很低,但也不是绝对的没办法。经过配置路由,可以及时的发现伪造地址的syn包。通过路由的信息,追踪到攻击者。在攻击一个站点时,攻击者会先对进行dns解析目标的域名,针对这点,可以通过在攻击开始的这个时间段内查找dns解析记录(请参考[分析dns日志_blank href=http://www.fanqiang.com/a6/b5/20011011/1000001436.html>http://www.fanqiang.com/a6/b5/20011011/1000001436.html),但记录所有的dns解析,会需要很大的地方。但也不失为一种办法。网络上有很多记录dns解析和分析syn flood的工具,比如ngrep就是一个不错的东西,但这个只是在linux环境下通过编译使用。
ngrep
http://www.packetfactory.net/ngrep/
libpcap
ftp://ftp.ee.lbl.gov/libpcap.tar.Z
下载回来后进行编译,把DNS_SERVER_IP改为你的dns地址
Modified ngrep.c source code

/* this code is available for download from_blank href=http://www.wiretrip.net/na/ngrep.c>http://www.wiretrip.net/na/ngrep.c */
/*
* $Id: ngrep.c,v 1.35 1999/10/13 16:44:16 jpr5 Exp $
*
*/
/* TFN detection code added by Rain Forest Puppy / rfp@wiretrip.net
and Night Axis / na@wiretrip.net */

/********* TFN detection defines *******************************/

/* how many DNS and ICMP requests to track */
#define DNS_REQUEST_MAX 5000
#define ICMP_REQUEST_MAX 1000

/* flood threshold is matches per 10 seconds */
#define FLOOD_THRESHOLD 20

/* IP of your DNS server */
#define DNS_SERVER_IP "10.9.100.8"

/* TFN syn uses ttl between 200-255. Assuming less than 50 hops,
flag stuff with ttl > TTL_THRESHOLD (other critera are used
as well) */
#define TTL_THRESHOLD 150

/**************************************************************/

#include
#include
#include
#ifdef LINUX
#include
#endif
#if defined(BSD)

如果攻击者使用ping来解析地址,现在的大部分_blank">防火墙都会对ping做出反应和记录,通过查找分析攻击开始的一段时间之内的ping记录,来追踪攻击者的来源。

路由器日志分析:默认的路由器配置,是没有任何可疑活动的日志记录的,只有对路由进行配置,用另外一台主机来存放日志记录
在CISCO路由器上:
  
在CISCO路由器上:
router(config)# logging faclity syslog
  router(config)# logging trap informational
  router(config)# logging [服务器名]
  在日志服务器上:
  I.在/etc/syslog.conf中加入一行:
  *.info /var/log/router.log
  II.生成文件日志文件:
  touch /var/log/router.log
  III.重起syslogd进程:
  kill -HUP `cat /var/run/syslogd.pid`

*nix袭用的日志分析:

apache日志分析:apache的日志文件是${prefix}/logs/目录下的access.log,大致的记录内
容和IIS的差不多,在这里就不做详细的描述了

unix的日志大部分放在/var/adm目录下,linux的日志放在/var/log下,主要的日志文件有messages,比如这是一个登陆失败时间的记录
Apr 29 22:05:45 game PAM_pwdb[29509]: (login) session opened for user ncx by (uid=0

很多的*nix系统下的日志分析工具,你可以在这里找_blank href=http://www.securityfocus.com/templates/tools_category.html?category=2&>http://www.securityfocus.com/templates/tools_category.html?category=2&;platform=&path=[%20auditing%20][%2-0log%20analysis%20]

在*NIX下碰到入侵者删除日志文件的情况,可以使用TCT进行数据恢复(详细的使用方法请参_blank href=http://www.fanqiang.com/a5/b6/20010909/0705001259.html>http://www.fanqiang.com/a5/b6/20010909/0705001259.html)

对于黑客工具的日志分析:在抓住入侵者后,为进一步的调查取证,可以从他所使用的黑客工具的日志记录得到更多的详细信息,很多黑客工具,比如扫描器都会留下日志记录(比如流光等等.......),在这里就不做一一的详细描述了,日志文件的储存可以参考黑客工具的使用帮助和网络上流传的一些资料。

网络流量的分析:通过对网络流量的分析,可以发现异常的数据流量,来监测攻击行为也是一种可操作新很强的方法,通过对网络流量和对截获数据的分析,可以观察出很多攻击行为。(详细情况请参_blank href=http://www.fanqiang.com/a3/b5/20010911/1200011273.html>http://www.fanqiang.com/a3/b5/20010911/1200011273.html)


蜜罐行动:

由被动变为主动,主动去勾引入侵者上钩,然后跟踪他的一切活动,设下一系列的陷阱,和伪造的漏洞(根本没有的漏洞),让入侵者自己往里面跳。
详细的技术和介绍请参考:
_blank href=http://project.honeynet.org>http://project.honeynet.org
_blank href=http://www.xfocus.org/honeynet/>http://www.xfocus.org/honeynet/

推荐阅读

 

热点信息

 
强悍的草根IT技术社区,这里应该有您想要的!
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号