扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:论坛整理 来源:ZDNet网络安全 2007年12月23日
关键字: telnet命令 opentelnet linux telnet telnet入侵 telnet 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。
回到看口令的问题上来,设置了上述规则后,实际就可以看到用户名、口令以及登录后的击键了。干扰信息相当少,一眼就可以看出哪个是哪个。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者