Hacker攻略 捕获Telnet登录口令的方法
2008-02-23 07:21:09来源:互联网 阅读 ()
捕获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
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
