荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: bstone (我是混蛋,一无是处!), 信区: Security
标  题: NetXray使用说明(2000.3.1版)
发信站: BBS 荔园晨风站 (Mon Sep 11 13:37:18 2000), 站内信件

标题:NetXray使用说明之(1)

1.1.1.1----2.2.2.2----3.3.3.3----4.4.4.4 这是一个ShareHub连接下的局域网
              |
              |
           5.5.5.5 这是一个8080端口上的http/ftp proxy
              |
              |
           Internet

启动Capture,进入Capture Setting,选择Profiles-->New,
以Default为模板,起名叫proxy,选择ok-->Done,
设置过滤所有目标IP是5.5.5.5的报文,即Any---->5.5.5.5
开始抓包,同时从本机使用http proxy,然后就可以停止抓包。
选中一个目标IP是5.5.5.5的报文,按鼠标右键,选择"编辑显示过滤",
选择"数据模式",选择Add Pattern,到TCP层选中8080目标端口,
用鼠标选择"设置数据",起名"目标端口8080"。回去选择"应用显示
过滤"。以后用proxy规则过滤将只过滤目标IP是5.5.5.5、目标端口
是8080的报文。要是对协议分析熟悉,根本不用写这么多,以后
要问NetXray的使用说明,请直奔主题,否则回答起来实在罗嗦。
关键是有些人太懒惰,不乐意自己实践。

标题:NetXray使用说明之(2)

如何指定源端口、目标端口?

1. 注意Data Pattern和Address是逻辑与的关系
2. 进入Data Pattern设置页
   比如你想设置这样一个过滤规则,源端口是2323或者目标端口是2323
   的IP包,先选中第一行,用Toggle AND/OR调整成OR,因为你的逻辑表达式
   的最外层是 OR
3. 选择Add Pattern,在弹出的对话框里设置

   Packet 34 2 Hex
   从顶头开始填写 09 13,因为十进制的2323对应十六进制的0x0913,而IP包
   使用网络字节顺序,高字节在低地址。
   起名任意,比如源端口2323,确定

   再次选择Add Pattern
   Packet 36 2 Hex 从顶头开始填写 09 13
   起名任意,比如目标端口2323,确定

   于是最外层的OR下有两个叶子,分别对应两个Pattern。
4. 还有很多变化,但都和这个基本例子差不多,你的过滤规则可以非常复杂。
   最外层的OR表示它下面的所有叶子之间都是OR的关系,所以我建议当你企图
   建立一个非常复杂的规则的时候先写出逻辑表达式再来操作,以免不必要的
   重复劳动。

标题:NetXray使用说明之(3)

如何抓ftp/pop3口令明文?

NetXray所谓的高级协议过滤事实上就是端口过滤,用(2)中介绍的方法指定源端口
目标端口均过滤0x00 0x17,就可以达到和指定telnet过滤一样的效果。NetXray
认为telnet就是23端口,所以如果想捕捉一个非标准telnetd的通信,必须自己
指定端口过滤。此外Pwin98下services文件的修改不影响NetXray认为telnet就是
端口23。

每次指定捕捉telnet协议,但显示的时候可能会发现有些包没有标记成telnet,而
是tcp,为什么?因为这些标记成tcp的包没有telnet数据区,虽然在完整的物理帧
中有数据,但根据IP报头中的 ntohs( ip->tot_len ) ,对于IP报文来说没有
telnet数据区。物理帧中为什么有?可能是考虑"填充",我不知道是数据链路层从
内核返回的时候带上来的"填充",还是对端发送的时候就已经"填充",在linux下用
sock_packet抓包也存在同样的问题,一般情况下recvfrom返回的字节数减去各个报
头长度得到数据区长度,但出现"填充"时就不是这样了,所以处理IP协议族时,一
定要用 ntohs( ip->tot_len ) ,我写linuxkiller时才认真注意到这个问题。那么
用NetXray时,不要看第三栏,那里是完整的物理帧,有很多干扰信息,应该看第二
栏的数据区。

如果是分析telnet协议并还原屏幕显示,只需要抓从server到client的回显数据即
可,因为口令不回显,这种过滤规则下抓不到口令明文。在linux下编程实现时需要
考虑95个可打印字符、汉字以及32个控制字符的显示过滤问题。如果想抓telnet的
口令明文,需要抓client到server的数据。Pred写的Sniff监听别人的BBS登录就象
看动画,但看不到口令,应该是只抓从server到client的回显数据。

nethackii可以抓pop3/ftp/telnet的口令,对于前两者很容易实现,因为有PASS关
键字可以鉴别,后者稍微麻烦些,需要重组。值得一提的是foxmail的邮件监视器,
简直就是定时发送口令明文,用NetXray抓从client到server包,指定过滤PASS关键
字,非常清楚。下面简单说一下这个设置:

先指定IP过滤规则,应该只指定 any <--> any,或者干脆不指定IP地址,以最大
可能地捕捉口令。
然后增加一个过滤模式,Packet 54 4 Hex 0x50 41 53 53
再增加一个过滤模式,Packet 54 4 Hex 0x70 61 73 73
两者是or模式,后者是因为这种关键字在网络传输中大小写不敏感,比如
cuteftp发送的是pass。剩下的就是等口令来了。注意,不必指定过滤特定高级协
议,直接指定过滤IP协议族就可以了,用这种办法ftp/pop3口令是很容易看清楚的。
因为许多ftp/pop3的口令可以telnet 23,所以......

标题:NetXray使用说明之(4)

unix/linux下执行clear命令究竟发送了什么字符串到终端才导致清屏效果出现,
用NetXray捕捉server到client的回显数据,发现如下字符串:
1B 5B 48 1B 5B 4A
可以用fprintf输出这些字符到屏幕上,结果就是导致清屏效果。

对于UDP报文的源端口/目标端口过滤基本上和TCP报文的设置一样,不过这次换种方
式指定:
Protocol 20 2 Hex 源端口
Protocol 22 2 Hex 目标端口
这些都是在没有使用IP选项的情况下指定,如果使用了IP选项就需要做相应改变。

标题:NetXray使用说明之(5)

这里的使用说明可以用于sniffer pro 2.6,因为这两个东西实际是一个公司的。
虽然很多人告诉我sniffer pro比netxray强大,但是我个人觉得在协议分析方面
netxray比sniffer pro要方便,虽然支持的协议少了点,但是在设置过滤规则和
应用过滤规则等小操作上,显然sniffer pro没有吸取netxray的精华,这些小操
作平时很难遇到,但真正做协议分析指定一些复杂的过滤规则的时候就会碰上。

今天我们介绍的是如何抓取RPC报文,下面给出的办法仅仅是种尝试而已。

因为RPC Server使用动态端口,所以你无法进行常规的端口过滤设置,如果一定
要设置可能需要尝试,具体例子请参看<< RPC/XDR/NFS系列之----NFS/Mount协议 >>

这里给一种不是很科学的办法:

1. 指定进行IP过滤,设置Any <--> RPC Server IP
2. 指定对TCP以及UDP协议进行过滤,因为RPC Server可能的底层支持协议包括二者。
3. 进入Data Pattern设置页,用Toggle AND/OR调整成OR,因为你的逻辑表达式
   的最外层是 OR
4. 选择Add Pattern,在弹出的对话框里设置

   Protocol 60 8 Hex 00 00 00 00 00 00 00 02
   起名TCP RPC CALL

5. 同4的步骤,依次选择Add Pattern,在弹出的对话框里设置

   Protocol 60 4 Hex 00 00 00 01
   起名TCP RPC REPLY

   Protocol 32 8 Hex 00 00 00 00 00 00 00 02
   起名UDP RPC CALL

   Protocol 32 4 Hex 00 00 00 01
   起名UDP RPC REPLY

这里给的办法仅仅代表一种思路,如果你发现并没有抓住某个特定RPC SERVER
的报文,可以自行调整过滤规则。要理解这个过滤规则,需要RPC本身的知识,
可以参看<< RPC/XDR/NFS系列 >>。

我曾经想设置远程程序号的过滤规则,但发现RPC REPLY报文中没有固定字段对
应远程程序号,只好放弃。如果你只想抓RPC CALL报文,可以考虑这个思路。


--
☆ 来源:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: bbs@192.168.28.103]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店