Hacker攻略 捕获Telnet登录口令的方法

2008-02-23 07:21:09来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

捕获telnet登录口令

telnet登录时口令部分不回显,只能抓取从client到server的报文才能获取明文口令。所以一般那些监视还原软件无法直接看到口令,看到的多半就是星号(*)。缺省情况下telnet登录时进入字符输入模式,而非行输入模式,此时基本上是客户端一有击键就立即向服务器发送字符,TCP数据区就一个字节。在不考虑IP选项、TCP选项介入的复杂情况下,整个物理帧长度14 20 20 1 = 55。

我是懒得升级,所以一直用Pwin98下的Sniffer Pro 2.6(就是deepin上传到spp那里的那个)和古老的NetXray。下面的举例以Sniffer Pro 2.6为准,更高版本基本类似 不想切换到2K下测试4.5版了。

Capture --> Define Filter... --> Profiles... --> New...

如果你已经有TCP模板或者更精确的模板,就选它们,没有的话,选择根据Default模板创建,起个相关点的名字,别什么test1、test2的就来了,我起名telnet_username_passwd。一路确定(Done),回到Define Filter对话框。

进入Advanced设置页,选中IP/TCP/TELNET。

Packet Size Packet Type Equal 59 只选中Normal Size = 59

进入Data Pattern设置页,Add Pattern,选择

Packet 46 2 Hex

数据区设置50 18

描述成"tcp头20字节、ack psh"(这里任意描述,但应该有意义)

进入Address设置页,设置根据IP地址过滤,设置"clientIp --> serverIp"的过滤模式。不要设置成双向或者"serverIp --> clientIp",否则干扰信息太多。

点击确定后这条"telnet_username_passwd"过滤规则就设置完了。什么意思?很直白,只捕获从客户端到服务器的、TCP数据区只有一个字节的、带ACK PSH标志的、不带IP选项和TCP选项的正常TELNET报文。

可能你有疑问,为什么设置Size = 59,而不是55。我也很想知道Sniffer Pro哪里吃错药了。以太网帧的确应该是55,可是如果加上4字节的CRC校验和,就是59了。 Sniffer Pro在decode显示中没有显示这个4字节CRC校验和,却在设置Packet Size的 地方包含了它,简直就是毛病。NetXray在decode显示中显示了4字节CRC校验和,在 设置Packet Size的地方并不包含它,也就是说,同样的规则如果换到NetXray那里,应该是Size = 55。显然我们习惯NetXray的这些地方,可惜sniffer pro丢弃了太多NetXray好的一面,这次又是一个例证。

顺便问一下,谁知道在Unix/Linux下编程的时候如何得到这4字节的CRC校验和,链路层编程收包得到的仅仅是以太网帧,没有CRC。

回到看口令的问题上来,设置了上述规则后,实际就可以看到用户名、口令以及登录后的击键了。干扰信息相当少,一眼就可以看出哪个是哪个。

如果要玩点玄的,比如Trigger,我们可以这样考虑问题。第一个有效包应该是59字节,前面的其他报文在做三次握手、TELNET协商,长度都不是59字节(可以抓包确认这个结论)。定义一条规则"telnet_username begin",对于这次的举例,实际就和 "telnet_username_passwd"一样,但是最好选择后者做模板单独重新定义一次,为什么?这个以后自然就会明白,至少可以让设置清晰、直观些。

最后一个有效包(就是说看到这个包后停止抓包)应该是什么呢?不能是60字节的0D 0A(对于微软平台的telnet)或者0D 00(Unix平台),因为用户名输入结束的时候就有 一次60字节的报文出现,如果选择这样的报文做结束报文,口令就抓不到了。考虑登 录成功后服务器都会向客户机发送"Last login:"一类的信息,同一个包中还包括登 录后的shell显示,这个包显然要比前后附近的包大很多(不是三四个字节的问题)。 我们以此包为结束触发报文。定义一条规则"telnet_passwd end",以 "telnet_username begin"为模板创建,修改两个地方,一个是"Size > 100",一个 是"clientIp

<-- serverIp"(反向,因为这个报文是从服务器到客户机的)。 



至此我们定义了三条规则,一个开始触发规则、一个持续抓包规则、一个结束触发规则。开始设置Trigger: 



Capture --> Trigger Setup...

四个复选框中只选中"Start Tigger"、"Stop Trigger"。因为以前没有设置过,无法从下拉列表中选择什么,只能分别定义触发器。以Start Trigger为例,进入Define, New一个新的触发器名字,起名"telnet_username begin"(不必和过滤规则一致,但 是保持一致比较清晰),右边三个复选框只选中最下面的"Event filter",那个下拉 列表里实际对应过滤规则,选中"telnet_username begin"过滤规则,确定。这里还可以设置什么时间开始触发,不过作为演示,简化这些可能。

Capture的下拉列表里也是对应的过滤规则,选中"telnet_username_passwd"过滤规则(持续抓包规则)。

"Stop Trigger"的定义类似"Start Trigger",这次选择"telnet_passwd end"过滤规则,起名"telnet_passwd end"。同样,演示中不考虑时间设置,简化操作。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:网管必读:寻找系统端口与进程间的关联

下一篇:通过查看路由器的端口状态解决网络故障